:root{--navy-950:#06192b;--navy-900:#0a2947;--navy-800:#103a62;--blue-700:#155b93;--blue-600:#1e6ca8;--blue-100:#e8f1f7;--blue-050:#f3f8fb;--page:#f3f6f8;--surface:#fff;--border:#d5e0e7;--border-dark:#b8c9d4;--text:#10273b;--muted:#607487;--success:#0b7b5c;--shadow:0 18px 45px #0d2d4917}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.02em;line-height:1.15}
.shell{width:min(1240px,100% - 48px);margin:0 auto}
.skip-link{z-index:100;color:var(--navy-900);border:2px solid var(--blue-600);background:#fff;padding:12px 16px;position:fixed;top:-100px;left:20px}
.skip-link:focus{top:16px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #f1c94b}
.service-bar{background:var(--navy-950);color:#bcd0df;letter-spacing:.025em;font-size:12px}
.service-bar-inner{justify-content:space-between;align-items:center;gap:20px;min-height:34px;display:flex}
.service-actions{align-items:center;gap:17px;display:flex}
.service-status{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}
.service-status i{background:#45bf91;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #45bf911f}
.admin-login{color:#e3edf4;letter-spacing:.04em;border:1px solid #bcd0df6b;border-radius:3px;justify-content:center;align-items:center;min-height:25px;padding:0 11px;font-size:11px;font-weight:700;display:inline-flex}
.admin-login:hover{color:#fff;border-color:#fff}
.admin-access{position:relative}
.admin-account summary{color:#e3edf4;cursor:pointer;border:1px solid #bcd0df6b;border-radius:3px;align-items:center;gap:6px;min-height:25px;padding:0 10px;font-size:11px;font-weight:700;list-style:none;display:inline-flex}
.admin-account summary::-webkit-details-marker{display:none}
.admin-account summary:after{content:"▾";color:#8fb5cd;font-size:9px}
.admin-account nav{z-index:50;border:1px solid var(--border);background:#fff;width:205px;padding:7px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 32px #041b2d33}
.admin-account nav:before{content:"";border-left:1px solid var(--border);border-top:1px solid var(--border);background:#fff;width:10px;height:10px;position:absolute;top:-6px;right:18px;transform:rotate(45deg)}
.admin-account nav a{color:var(--navy-900);padding:9px 10px;font-size:12px;font-weight:700;display:block;position:relative}
.admin-account nav a:hover{background:var(--blue-050);color:var(--blue-700)}
.admin-account nav a:last-child{border-top:1px solid var(--border);color:var(--muted);margin-top:4px}
.portal-header{border-bottom:1px solid var(--border);z-index:20;background:#fff;position:relative}
.header-primary{justify-content:space-between;align-items:center;gap:30px;min-height:112px;display:flex}
.portal-brand,.footer-brand{align-items:center;gap:14px;display:inline-flex}
.portal-mark{background:var(--navy-900);border:4px solid var(--blue-100);color:#f2c243;border-radius:50%;flex:none;place-items:center;width:50px;height:50px;font:800 24px/1 Segoe UI Symbol,sans-serif;display:grid}
.portal-brand>span:last-child,.footer-brand>span:last-child{flex-direction:column;display:flex}
.portal-brand strong,.footer-brand strong{letter-spacing:.12em;color:var(--navy-900);font-size:20px}
.portal-brand small,.footer-brand small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-size:11px}
.header-phone{text-align:right;flex-direction:column;align-items:flex-end;display:flex}
.header-phone span{color:var(--muted);margin-bottom:2px;font-size:12px}
.header-phone a{color:var(--navy-900);letter-spacing:.005em;font-size:clamp(25px,2.5vw,34px);font-weight:800;line-height:1.1}
.header-phone a:hover{color:var(--blue-600)}
.nav-band{background:var(--navy-900);color:#fff}
.nav-inner{justify-content:space-between;align-items:stretch;gap:24px;min-height:58px;display:flex}
.main-nav{align-items:stretch;display:flex}
.main-nav a{color:#d5e4ee;align-items:center;padding:0 17px;font-size:14px;font-weight:600;display:flex;position:relative}
.main-nav a:first-child{padding-left:0;padding-right:20px}
.main-nav a:hover{color:#fff}
.main-nav a.active:after{content:"";background:#5eaddf;height:4px;position:absolute;bottom:0;left:16px;right:16px}
.main-nav a:first-child.active:after{left:0}
.nav-cta{color:var(--navy-900);background:#fff;border:1px solid #ffffffb3;flex:none;align-self:center;padding:10px 16px;font-size:13px;font-weight:700}
.nav-cta:hover{background:var(--blue-100)}
.mobile-menu{width:100%;display:none}
.mobile-menu summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:58px;font-weight:700;list-style:none;display:flex}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu nav{color:var(--navy-900);border:1px solid var(--border);box-shadow:var(--shadow);background:#fff}
.mobile-menu nav a{border-bottom:1px solid var(--border);padding:13px 16px;display:block}
.home-hero{background-color:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.home-hero:after{content:"";opacity:.12;background-image:linear-gradient(#fff6 1px,#0000 1px),linear-gradient(90deg,#fff6 1px,#0000 1px);background-size:50px 50px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000);mask-image:linear-gradient(90deg,#0000,#000)}
.home-hero-inner{z-index:1;grid-template-columns:minmax(0,1.5fr) minmax(340px,.75fr);align-items:center;gap:76px;min-height:550px;padding-top:64px;padding-bottom:64px;display:grid;position:relative}
.hero-label,.kicker{color:var(--blue-600);letter-spacing:.16em;text-transform:uppercase;margin-bottom:13px;font-size:12px;font-weight:800}
.hero-label{color:#7cc0e9}
.hero-label:before,.kicker:before{content:"";background:currentColor;width:26px;height:2px;margin:0 10px 3px 0;display:inline-block}
.home-hero h1{letter-spacing:-.035em;max-width:830px;margin-bottom:24px;font-size:clamp(40px,5vw,66px);font-weight:750}
.hero-lead{color:#d6e4ee;max-width:760px;margin-bottom:31px;font-size:19px;line-height:1.6}
.hero-actions{flex-wrap:wrap;gap:12px;display:flex}
.button{cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;min-height:50px;padding:13px 20px;font-size:14px;font-weight:750;transition:background .18s,color .18s,border .18s,transform .18s;display:inline-flex}
.button:hover{transform:translateY(-1px)}
.button-primary{color:#fff;background:var(--blue-600);border-color:var(--blue-600)}
.button-primary:hover{background:#155b91}
.button-outline{color:#fff;background:0 0;border-color:#ffffff80}
.button-outline:hover{color:var(--navy-900);background:#fff;border-color:#fff}
.button-dark{color:#fff;background:var(--navy-900);border-color:var(--navy-900)}
.button-light{color:var(--navy-900);background:#fff}
.hero-phone-card{color:var(--text);background:#fff;border-top:6px solid #5eaddf;padding:30px 30px 24px;box-shadow:0 28px 60px #0000003d}
.hero-phone-caption{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:12px;display:block}
.hero-phone-card>a{color:var(--navy-900);letter-spacing:-.02em;white-space:nowrap;margin-bottom:16px;font-size:clamp(27px,2.5vw,37px);font-weight:850;display:block}
.hero-phone-card p{color:var(--muted);font-size:14px}
.hero-phone-hours{border-top:1px solid var(--border);justify-content:space-between;gap:16px;padding-top:17px;font-size:13px;display:flex}
.hero-phone-hours span{color:var(--muted)}
.quick-facts{border-bottom:1px solid var(--border);background:#fff}
.quick-facts-grid{grid-template-columns:repeat(4,1fr);display:grid}
.quick-facts-grid>div{border-left:1px solid var(--border);flex-direction:column;justify-content:center;min-height:120px;padding:27px 28px;display:flex}
.quick-facts-grid>div:last-child{border-right:1px solid var(--border)}
.quick-facts strong{color:var(--navy-900);font-size:21px}
.quick-facts span{color:var(--muted);margin-top:4px;font-size:13px}
.home-entry{border-bottom:1px solid var(--border);background:#eaf1f6;padding:26px 0}
.home-entry-grid{background:#fff;border:1px solid #cbd9e2;grid-template-columns:320px 1fr;display:grid;box-shadow:0 14px 35px #0e2d4514}
.entry-intro{background:var(--navy-900);color:#fff;padding:29px 30px}
.entry-intro>p{color:#84c5ec;letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:800}
.entry-intro h2{margin-bottom:12px;font-size:25px}
.entry-intro>span{color:#bcd1df;font-size:13px}
.entry-options{grid-template-columns:repeat(3,1fr);display:grid}
.entry-options>a{border-right:1px solid var(--border);grid-template-columns:30px 1fr 24px;align-items:center;gap:10px;min-width:0;padding:25px 22px;transition:background .18s,color .18s;display:grid}
.entry-options>a:last-child{border-right:0}
.entry-options>a:hover{background:var(--blue-050)}
.entry-options>a>span{color:var(--blue-600);align-self:start;font-size:11px;font-weight:800}
.entry-options h3{color:var(--navy-900);margin-bottom:8px;font-size:17px}
.entry-options p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}
.entry-options b{color:var(--blue-600);font-size:22px;font-weight:400}
.content-section{background:#fff;padding:90px 0}
.content-section.section-muted{background:var(--page)}
.section-head{grid-template-columns:1.3fr .7fr;align-items:end;gap:50px;margin:45px 0 34px;display:grid}
.section-head.compact{margin-top:0}
.section-head h2,.decision-grid h2,.two-column-info h2,.family-grid h2,.form-panel h2{color:var(--navy-900);margin-bottom:0;font-size:clamp(30px,3vw,44px)}
.section-head>p{color:var(--muted);margin-bottom:3px}
.accuracy-notice{background:var(--blue-050);border:1px solid #cbdfea;border-left:4px solid var(--blue-600);align-items:flex-start;gap:15px;padding:18px 20px;display:flex}
.accuracy-notice>span{background:var(--blue-600);color:#fff;border-radius:50%;flex:0 0 24px;place-items:center;height:24px;font:800 14px/1 Georgia,serif;display:grid}
.accuracy-notice p{color:#365b75;margin:0;font-size:13px}
.service-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}
.service-card{border:1px solid var(--border);background:#fff;flex-direction:column;min-height:270px;padding:28px;transition:border .18s,box-shadow .18s,transform .18s;display:flex}
.service-card:hover{box-shadow:var(--shadow);border-color:#87b6d4;transform:translateY(-3px)}
.service-card>span,.benefit-grid article>span{color:var(--blue-600);letter-spacing:.12em;font:800 12px/1.2 Segoe UI,sans-serif}
.service-card h3{color:var(--navy-900);margin:35px 0 13px;font-size:22px}
.service-card p{color:var(--muted);font-size:14px}
.service-card b{color:var(--blue-700);margin-top:auto;font-size:13px}
.service-card b i{margin-left:5px;font-style:normal}
.portal-principles{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}
.portal-principles article{border:1px solid var(--border);background:#fff;min-height:245px;padding:28px}
.portal-principles span{color:var(--blue-600);letter-spacing:.12em;font-size:11px;font-weight:800}
.portal-principles h3{color:var(--navy-900);margin:40px 0 13px;font-size:20px}
.portal-principles p{color:var(--muted);margin:0;font-size:14px}
.comparison-section{border-top:1px solid var(--border)}
.comparison-table-wrap{border:1px solid var(--border);overflow-x:auto}
.comparison-table{border-collapse:collapse;background:#fff;width:100%;min-width:850px}
.comparison-table th,.comparison-table td{text-align:left;vertical-align:top;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:19px 21px}
.comparison-table tr:last-child th,.comparison-table tr:last-child td{border-bottom:0}
.comparison-table th:last-child,.comparison-table td:last-child{border-right:0}
.comparison-table thead th{background:var(--navy-900);color:#fff;font-size:13px}
.comparison-table thead th:first-child{width:18%}
.comparison-table tbody th{color:var(--navy-900);font-size:14px}
.comparison-table tbody td{color:var(--muted);font-size:14px}
.comparison-table tbody td:last-child{background:var(--blue-050);color:#385a72}
.advantages-section{border-top:1px solid var(--border)}
.advantages-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}
.advantages-grid>a{background:var(--blue-050);border:1px solid #d5e4ed;flex-direction:column;min-height:255px;padding:28px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}
.advantages-grid>a:hover{box-shadow:var(--shadow);border-color:#8eb8d2;transform:translateY(-3px)}
.advantages-grid span{background:var(--blue-700);color:#fff;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid}
.advantages-grid h3{color:var(--navy-900);margin:30px 0 11px;font-size:21px}
.advantages-grid p{color:var(--muted);margin-bottom:20px;font-size:14px}
.advantages-grid b{color:var(--blue-700);margin-top:auto;font-size:13px}
.start-route-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}
.start-route-grid article{border:1px solid var(--border);background:#fff;flex-direction:column;min-height:260px;padding:30px;display:flex}
.start-route-grid>article>span{color:var(--blue-600);font-size:11px;font-weight:800}
.start-route-grid h3{color:var(--navy-900);margin:34px 0 12px;font-size:22px}
.start-route-grid p{color:var(--muted);font-size:14px}
.start-route-grid a{color:var(--blue-700);margin-top:auto;font-size:13px;font-weight:750}
.use-portal-grid{grid-template-columns:.75fr 1.25fr;align-items:start;gap:80px;display:grid}
.use-portal-grid h2{color:var(--navy-900);margin-bottom:18px;font-size:clamp(30px,3vw,44px)}
.portal-steps{border-top:1px solid var(--border-dark);margin:0;padding:0;list-style:none}
.portal-steps li{border-bottom:1px solid var(--border);grid-template-columns:50px 1fr;gap:20px;padding:22px 0;display:grid}
.portal-steps>li>b{color:var(--blue-600);font-size:12px}
.portal-steps h3{color:var(--navy-900);margin-bottom:7px;font-size:18px}
.portal-steps p{color:var(--muted);margin:0;font-size:14px}
.scope-section{background:var(--navy-900);color:#fff}
.scope-section .kicker{color:#8ec6e8}
.scope-section .section-head h2{color:#fff}
.scope-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}
.scope-grid article{border:1px solid #ffffff2e;padding:34px}
.scope-positive{background:#ffffff14}
.scope-neutral{background:#05162559}
.scope-grid h3{color:#fff;margin-bottom:22px;font-size:23px}
.scope-grid ul{margin:0;padding:0;list-style:none}
.scope-grid li{color:#c9dce7;border-top:1px solid #ffffff1f;padding:11px 0 11px 28px;position:relative}
.scope-grid li:before{content:"";background:#63b7e6;width:7px;height:7px;position:absolute;top:19px;left:2px}
.text-link{color:var(--blue-700);align-self:end;font-size:14px;font-weight:750}
.stage-overview{border:1px solid var(--border);background:#fff}
.stage-row{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr;gap:28px;padding:29px 35px;display:grid}
.stage-row:last-child{border:0}
.stage-row>strong{color:#9bb4c5;font-size:28px}
.stage-row h3{color:var(--navy-900);margin-bottom:8px;font-size:19px}
.stage-row p{color:var(--muted);margin:0;font-size:14px}
.decision-grid,.family-grid{grid-template-columns:.75fr 1.25fr;align-items:start;gap:80px;display:grid}
.large-text{color:var(--muted);font-size:18px;line-height:1.7}
.check-panel{background:var(--blue-050);border:1px solid #d4e3ec;padding:35px}
.check-list{margin:0 0 28px;padding:0;list-style:none}
.check-list li{border-bottom:1px solid #d5e3eb;padding:12px 0 12px 34px;position:relative}
.check-list li:before{content:"✓";color:var(--success);font-weight:900;position:absolute;top:12px;left:0}
.check-list li:last-child{border-bottom:0}
.breadcrumbs{min-height:58px;color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}
.breadcrumbs>span{gap:10px;display:inline-flex}
.breadcrumbs b{color:#a7b7c3;font-weight:400}
.breadcrumbs a:hover{color:var(--blue-700)}
.page-hero{background:var(--navy-900);color:#fff;border-bottom:5px solid #559fd0}
.page-hero-inner{grid-template-columns:1fr 370px;align-items:center;gap:70px;min-height:330px;padding-top:55px;padding-bottom:55px;display:grid}
.page-hero h1{max-width:850px;margin-bottom:20px;font-size:clamp(38px,4.5vw,58px)}
.page-hero-inner>div>p:last-child{color:#d1e0eb;max-width:780px;margin-bottom:0;font-size:17px}
.page-help{background:#ffffff12;border:1px solid #ffffff2e;padding:23px 25px}
.page-help span,.page-help small{color:#b9cfdd;font-size:12px;display:block}
.page-help a{color:#fff;white-space:nowrap;margin:8px 0;font-size:28px;font-weight:850;display:block}
.page-help small{line-height:1.45}
.table-wrap{border:1px solid var(--border);overflow-x:auto}
.data-table{border-collapse:collapse;background:#fff;width:100%;min-width:790px}
.data-table th,.data-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:20px 22px}
.data-table tr:last-child th,.data-table tr:last-child td{border-bottom:0}
.data-table th:last-child,.data-table td:last-child{border-right:0}
.data-table thead th{background:var(--navy-900);color:#fff;letter-spacing:.025em;font-size:13px}
.data-table tbody th{width:28%;color:var(--navy-900);font-size:15px}
.data-table td{color:var(--muted);font-size:14px}
.verification-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}
.verification-grid article,.info-cards article{border-top:3px solid var(--blue-600);background:#fff;padding:28px;box-shadow:0 8px 25px #0f314c0f}
.verification-grid span{color:#8ca9bc;font-size:12px;font-weight:800}
.verification-grid h3,.info-cards h3{color:var(--navy-900);margin:25px 0 12px;font-size:19px}
.verification-grid p,.info-cards p{color:var(--muted);margin:0;font-size:14px}
.payment-highlight{border:1px solid var(--border);background:#fff;grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px;margin-bottom:28px;padding:40px;display:grid}
.payment-highlight-value{border-right:1px solid var(--border);padding-right:45px}
.payment-highlight-value>span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700;display:block}
.payment-highlight-value strong{color:var(--navy-900);letter-spacing:-.045em;margin:8px 0 12px;font-size:clamp(45px,5vw,68px);line-height:1;display:block}
.payment-highlight-value p{color:var(--muted);margin:0;font-size:13px}
.payment-highlight h2{color:var(--navy-900);margin-bottom:22px;font-size:29px}
.compact-steps{margin:0;padding:0;list-style:none}
.compact-steps li{border-top:1px solid var(--border);grid-template-columns:28px 1fr;gap:12px;padding:9px 0;font-size:13px;display:grid}
.compact-steps b{color:var(--blue-600)}
.allowance-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}
.allowance-grid>div{background:#fff;min-height:125px;padding:22px}
.allowance-grid span{color:var(--blue-600);font-size:11px;font-weight:800}
.allowance-grid p{color:var(--navy-900);margin:20px 0 0;font-size:14px;font-weight:700}
.two-column-info{grid-template-columns:.8fr 1.2fr;align-items:start;gap:80px;display:grid}
.document-list{border-top:1px solid var(--border-dark);margin:0;padding:0;list-style:none}
.document-list li{border-bottom:1px solid var(--border);padding:18px 20px 18px 35px;position:relative}
.document-list li:before{content:"";background:var(--blue-600);width:8px;height:8px;position:absolute;top:25px;left:6px}
.question-list{border-top:1px solid var(--border-dark)}
.question-list>div{border-bottom:1px solid var(--border);grid-template-columns:185px 1fr;gap:28px;padding:18px 0;display:grid}
.question-list strong{color:var(--navy-900)}
.question-list p{color:var(--muted);margin:0}
.process-layout{grid-template-columns:1fr 320px;align-items:start;gap:60px;display:grid}
.process-timeline{border-left:2px solid #bfd3df;margin-left:25px}
.process-timeline article{grid-template-columns:56px 1fr;gap:25px;margin-left:-29px;padding-bottom:55px;display:grid;position:relative}
.process-timeline article:last-child{padding-bottom:0}
.timeline-number{background:var(--navy-900);color:#fff;border:6px solid #fff;place-items:center;width:56px;height:56px;font-weight:800;display:grid;box-shadow:0 0 0 1px #c2d5e0}
.process-timeline h2{color:var(--navy-900);margin-bottom:12px;font-size:27px}
.process-timeline article>div:last-child>p:not(.step-label):not(.step-result){color:var(--muted)}
.step-label{color:var(--blue-700);letter-spacing:.12em;text-transform:uppercase;margin:2px 0 8px;font-size:11px;font-weight:800}
.step-result{background:var(--blue-050);border-left:3px solid #8db9d4;margin:18px 0 0;padding:13px 16px;font-size:13px}
.sticky-note{background:var(--navy-900);color:#fff;padding:28px;position:sticky;top:25px}
.sticky-note h3{font-size:22px}
.sticky-note ul{color:#d1e0e9;padding-left:20px}
.sticky-note p{color:#abc4d4;border-top:1px solid #fff3;margin:22px 0 0;padding-top:18px;font-size:12px}
.check-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:30px;display:grid}
.check-grid>div{background:#fff;min-height:125px;padding:23px}
.check-grid strong{color:var(--blue-600);font-size:12px}
.check-grid p{color:var(--navy-900);margin:20px 0 0;font-weight:700}
.document-columns{grid-template-columns:1fr 1fr;gap:30px;display:grid}
.document-columns>article{border:1px solid var(--border);padding:34px}
.column-heading{align-items:flex-start;gap:18px;margin-bottom:28px;display:flex}
.column-heading>span{background:var(--blue-100);height:46px;color:var(--blue-700);flex:0 0 46px;place-items:center;font-weight:800;display:grid}
.column-heading .kicker{margin-bottom:5px}
.column-heading .kicker:before{display:none}
.column-heading h2{color:var(--navy-900);margin:0;font-size:28px}
.numbered-list{margin:0;padding:0;list-style:none}
.numbered-list li{border-top:1px solid var(--border);grid-template-columns:35px 1fr;gap:10px;padding:15px 0;display:grid}
.numbered-list b{color:#94adbd;font-size:12px}
.numbered-list span{font-size:14px}
.info-cards.three{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}
.info-cards h3{margin-top:0}
.assessment-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}
.assessment-grid article{border:1px solid var(--border);background:#fff;grid-template-columns:45px 1fr;gap:20px;padding:27px;display:grid}
.assessment-grid article>span{color:var(--blue-600);font-size:12px;font-weight:800}
.assessment-grid h3{color:var(--navy-900);margin-bottom:9px;font-size:19px}
.assessment-grid p{color:var(--muted);margin:0;font-size:14px}
.benefit-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}
.benefit-grid article{background:#fff;min-height:245px;padding:28px}
.benefit-grid h3{color:var(--navy-900);margin:45px 0 13px;font-size:21px}
.benefit-grid p{color:var(--muted);margin:0;font-size:14px}
.benefit-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}
.benefit-stats article{border:1px solid var(--border);border-top:4px solid var(--blue-600);background:#fff;padding:30px}
.benefit-stats strong{color:var(--navy-900);font-size:clamp(30px,3.5vw,45px);line-height:1.1;display:block}
.benefit-stats h3{color:var(--blue-700);margin:8px 0 20px;font-size:16px}
.benefit-stats p{color:var(--muted);margin:0;font-size:13px}
.support-details-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}
.support-details-grid article{border:1px solid var(--border);padding:35px}
.support-details-grid h2{color:var(--navy-900);margin-bottom:15px;font-size:30px}
.support-details-grid article>p:not(.kicker){color:var(--muted)}
.support-details-grid ul{margin:25px 0 0;padding:0;list-style:none}
.support-details-grid li{border-top:1px solid var(--border);padding:10px 0 10px 27px;font-size:14px;position:relative}
.support-details-grid li:before{content:"";background:var(--blue-600);width:7px;height:7px;position:absolute;top:18px;left:3px}
.ordered-steps{counter-reset:ordered;margin:0;padding:0;list-style:none}
.ordered-steps li{border-top:1px solid var(--border);grid-template-columns:185px 1fr;gap:25px;padding:18px 0;display:grid}
.ordered-steps li:last-child{border-bottom:1px solid var(--border)}
.ordered-steps b{color:var(--navy-900)}
.ordered-steps span{color:var(--muted)}
.faq-layout{grid-template-columns:1fr 330px;align-items:start;gap:45px;display:grid}
.faq-portal{border-top:1px solid var(--border-dark)}
.faq-portal details{border-bottom:1px solid var(--border-dark);background:#fff}
.faq-portal summary{cursor:pointer;grid-template-columns:46px 1fr 25px;align-items:center;gap:18px;min-height:90px;padding:15px 20px;list-style:none;display:grid}
.faq-portal summary::-webkit-details-marker{display:none}
.faq-portal summary span{color:#8ba6b7;font-size:12px;font-weight:800}
.faq-portal summary strong{color:var(--navy-900);font-size:18px}
.faq-portal summary i{color:var(--blue-600);font-size:26px;font-style:normal;font-weight:300;transition:transform .2s}
.faq-portal details[open] summary i{transform:rotate(45deg)}
.faq-portal details>div{color:var(--muted);padding:0 65px 25px 84px}
.faq-portal details>div p{margin:0}
.question-aside{background:var(--blue-050);border:1px solid #d4e3ec;padding:30px}
.question-aside h2{color:var(--navy-900);font-size:28px}
.question-aside>p:not(.kicker){color:var(--muted)}
.question-aside .button{width:100%;margin:10px 0 18px}
.question-aside small{color:var(--muted);display:block}
.contact-page-grid{grid-template-columns:.75fr 1.25fr;align-items:start;gap:35px;display:grid}
.contact-cards{gap:12px;display:grid}
.contact-cards article{border:1px solid var(--border);background:#fff;padding:26px}
.contact-cards article.primary-contact{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}
.contact-cards article>span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:700;display:block}
.contact-cards .primary-contact>span{color:#a9c4d6}
.contact-cards article>a{color:var(--navy-900);font-size:25px;font-weight:800}
.contact-cards .primary-contact>a{color:#fff;white-space:nowrap;font-size:clamp(28px,3vw,38px)}
.contact-cards article p{color:var(--muted);margin:12px 0 0;font-size:13px}
.contact-cards .primary-contact p{color:#c9dce8}
.contact-note{background:var(--blue-050);border-left:4px solid var(--blue-600);padding:25px}
.contact-note h3{color:var(--navy-900)}
.contact-note ul{color:var(--muted);margin-bottom:0;padding-left:20px}
.form-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;padding:38px}
.form-panel>p:not(.kicker){color:var(--muted)}
.form-panel form{grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;display:grid}
.form-panel label{color:var(--navy-900);gap:7px;font-size:13px;font-weight:700;display:grid}
.form-panel label>span,.wide-field>span{color:var(--muted);font-weight:400}
.form-panel input,.form-panel select,.form-panel textarea{border:1px solid var(--border-dark);width:100%;color:var(--text);background:#fff;border-radius:0;padding:13px 14px}
.form-panel input,.form-panel select{min-height:49px}
.form-panel textarea{resize:vertical}
.form-panel input:focus,.form-panel select:focus,.form-panel textarea:focus{border-color:var(--blue-600)}
.form-panel .wide-field,.form-panel .consent,.form-panel .form-status,.form-panel .form-call{grid-column:1/-1}
.form-panel .consent{grid-template-columns:18px 1fr;align-items:start;display:grid}
.form-panel .consent input{height:18px;min-height:18px;accent-color:var(--blue-600);margin:2px 0 0}
.form-panel button{justify-self:start}
.form-panel button:disabled{opacity:.65;cursor:wait}
.form-status{background:var(--blue-050);border-left:3px solid var(--blue-600);margin:0;padding:12px 14px;font-size:13px}
.form-call{color:var(--blue-700);align-self:center;font-size:13px;font-weight:700}
.privacy-section{background:var(--blue-050);border-top:1px solid #d4e3ec;padding:35px 0}
.privacy-section h2{color:var(--navy-900);margin-bottom:8px;font-size:21px}
.privacy-section p{max-width:950px;color:var(--muted);margin:0;font-size:13px}
.consultation-topics{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}
.consultation-topics>div{background:#fff;align-items:center;gap:18px;min-height:105px;padding:22px;display:flex}
.consultation-topics b{color:var(--blue-600);font-size:11px}
.consultation-topics span{color:var(--navy-900);font-weight:700}
.response-steps{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}
.response-steps article{border:1px solid var(--border);background:#fff;padding:28px}
.response-steps strong{color:var(--blue-600);font-size:12px}
.response-steps h3{color:var(--navy-900);margin:28px 0 10px;font-size:20px}
.response-steps p{color:var(--muted);margin:0;font-size:14px}
.contact-band{background:var(--blue-700);color:#fff;padding:58px 0}
.contact-band-inner{grid-template-columns:1fr auto;align-items:center;gap:70px;display:grid}
.kicker.light{color:#bde1f5}
.contact-band h2{margin-bottom:12px;font-size:clamp(28px,3vw,40px)}
.contact-band p:not(.kicker){color:#d7eaf5;max-width:720px;margin:0}
.contact-band-actions{align-items:center;gap:15px;display:flex}
.large-call{flex-direction:column;align-items:flex-end;display:flex}
.large-call span{color:#c4dfef;font-size:11px}
.large-call strong{color:#fff;white-space:nowrap;font-size:24px}
.portal-footer{background:var(--navy-950);color:#b7c9d7}
.footer-grid{grid-template-columns:1.3fr .65fr .8fr;gap:90px;padding-top:60px;padding-bottom:45px;display:grid}
.footer-brand .portal-mark{border:3px solid #27455e;width:42px;height:42px;font-size:22px}
.footer-brand strong{color:#fff;font-size:16px}
.footer-brand small{color:#8ca5b8}
.footer-about p{max-width:430px;margin:25px 0 0;font-size:13px}
.footer-nav,.footer-contacts{flex-direction:column;gap:9px;font-size:13px;display:flex}
.footer-nav h3,.footer-contacts h3{color:#fff;margin-bottom:8px;font-size:14px}
.footer-nav a:hover,.footer-contacts a:hover{color:#fff}
.footer-contacts a:first-of-type{color:#fff;font-size:18px;font-weight:750}
.footer-contacts span{color:#7893a7;margin-top:6px;font-size:11px}
.footer-disclaimer{border-top:1px solid #1b3850;border-bottom:1px solid #1b3850;gap:13px;padding-top:22px;padding-bottom:22px;display:flex}
.footer-disclaimer>span{border:1px solid #5c778c;border-radius:50%;flex:0 0 20px;place-items:center;height:20px;font-size:11px;display:grid}
.footer-disclaimer p{color:#7893a7;margin:0;font-size:11px}
.footer-bottom{color:#6e899d;justify-content:space-between;align-items:center;gap:20px;min-height:70px;font-size:11px;display:flex}
.footer-bottom>div{gap:12px;display:flex}
.mobile-call{display:none}
@media (max-width:1080px){.main-nav{display:none}
.mobile-menu{display:block}
.nav-inner{position:relative}
.mobile-menu nav{z-index:10;position:absolute;top:58px;left:0;right:0}
.nav-cta{margin-left:20px}
.home-hero-inner{grid-template-columns:1fr 330px;gap:40px}
.home-entry-grid{grid-template-columns:275px 1fr}
.entry-options>a{grid-template-columns:24px 1fr;padding:22px 16px}
.entry-options b{display:none}
.service-grid,.benefit-grid,.portal-principles,.advantages-grid,.verification-grid{grid-template-columns:repeat(2,1fr)}
.contact-band-inner{grid-template-columns:1fr;gap:30px}
.contact-band-actions{justify-content:flex-start}
.large-call{align-items:flex-start}
.footer-grid{gap:45px}
}

/* Keep the section-header grid geometry while removing auxiliary captions. */
.section-head > p {
  visibility: hidden;
}
@media (max-width:820px){.shell{width:min(100% - 32px,1240px)}
.header-primary{min-height:92px}
.portal-brand strong{font-size:17px}
.portal-brand small{display:none}
.portal-mark{width:44px;height:44px;font-size:23px}
.header-phone span{display:none}
.header-phone a{font-size:22px}
.home-hero-inner,.page-hero-inner{grid-template-columns:1fr;gap:35px}
.home-entry-grid{grid-template-columns:1fr}
.entry-intro{padding:25px}
.home-hero-inner{min-height:0;padding-top:58px;padding-bottom:58px}
.page-hero-inner{min-height:0;padding:45px 0}
.page-help{max-width:390px}
.quick-facts-grid{grid-template-columns:repeat(2,1fr)}
.quick-facts-grid>div:nth-child(3){border-top:1px solid var(--border)}
.quick-facts-grid>div:nth-child(4){border-top:1px solid var(--border);border-right:1px solid var(--border)}
.section-head,.decision-grid,.family-grid,.two-column-info,.document-columns,.process-layout,.faq-layout,.contact-page-grid,.use-portal-grid{grid-template-columns:1fr;gap:35px}
.payment-highlight,.support-details-grid{grid-template-columns:1fr;gap:30px}
.payment-highlight-value{border-right:0;border-bottom:1px solid var(--border);padding-bottom:28px;padding-right:0}
.allowance-grid{grid-template-columns:repeat(2,1fr)}
.assessment-grid,.benefit-stats{grid-template-columns:1fr}
.consultation-topics{grid-template-columns:repeat(2,1fr)}
.response-steps{grid-template-columns:1fr}
.section-head{align-items:start}
.sticky-note{position:static}
.info-cards.three,.check-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-about{grid-column:1/-1}
}
@media (max-width:580px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.shell{width:min(100% - 24px,1240px)}
.service-bar-inner>span:first-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.service-status{display:none}
.header-primary{gap:10px;min-height:80px}
.portal-brand{gap:8px}
.portal-mark{border-width:3px;width:38px;height:38px;font-size:20px}
.portal-brand strong{letter-spacing:.08em;font-size:13px}
.header-phone a{font-size:17px}
.nav-cta{display:none}
.home-hero h1{font-size:38px}
.hero-lead{font-size:16px}
.hero-actions,.hero-actions .button{width:100%}
.hero-phone-card{padding:23px 20px}
.hero-phone-card>a{font-size:27px}
.quick-facts-grid{grid-template-columns:1fr}
.home-entry{padding:12px 0}
.entry-options{grid-template-columns:1fr}
.entry-options>a{border-right:0;border-bottom:1px solid var(--border);grid-template-columns:30px 1fr 20px;min-height:105px;padding:20px}
.entry-options>a:last-child{border-bottom:0}
.entry-options b{display:block}
.quick-facts-grid>div{border-right:1px solid var(--border);border-top:1px solid var(--border);min-height:90px;padding:18px}
.quick-facts-grid>div:first-child{border-top:0}
.content-section{padding:62px 0}
.section-head{margin:35px 0 25px}
.section-head h2,.decision-grid h2,.two-column-info h2,.family-grid h2,.form-panel h2{font-size:30px}
.service-grid,.benefit-grid,.verification-grid,.info-cards.three,.check-grid,.allowance-grid,.consultation-topics,.portal-principles,.advantages-grid,.start-route-grid,.scope-grid{grid-template-columns:1fr}
.service-card{min-height:235px}
.stage-row{grid-template-columns:55px 1fr;gap:12px;padding:24px 18px}
.stage-row>strong{font-size:22px}
.check-panel,.document-columns>article,.form-panel{padding:24px 20px}
.page-hero h1{font-size:36px}
.page-help a{font-size:25px}
.payment-highlight{padding:26px 20px}
.question-list>div,.ordered-steps li{grid-template-columns:1fr;gap:5px}
.process-timeline{margin-left:18px}
.process-timeline article{grid-template-columns:45px 1fr;gap:16px;margin-left:-24px}
.timeline-number{border-width:5px;width:45px;height:45px}
.faq-portal summary{grid-template-columns:30px 1fr 20px;gap:10px;padding:14px 10px}
.faq-portal summary strong{font-size:16px}
.faq-portal details>div{padding:0 30px 22px 50px;font-size:14px}
.contact-cards .primary-contact>a{font-size:26px}
.form-panel form{grid-template-columns:1fr}
.form-panel input,.form-panel select,.form-panel textarea{font-size:16px}
.form-panel .wide-field,.form-panel .consent,.form-panel .form-status,.form-panel .form-call{grid-column:auto}
.contact-band-actions{flex-direction:column;align-items:stretch}
.large-call{align-items:flex-start}
.contact-band-actions .button{width:100%}
.footer-grid{grid-template-columns:1fr;gap:35px}
.footer-about{grid-column:auto}
.footer-bottom{flex-direction:column;justify-content:center;align-items:flex-start;padding:18px 0}
.footer-bottom>div{flex-wrap:wrap}
.mobile-call{z-index:60;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border-dark);background:#fff;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 25px #08233a26}
.mobile-call a{min-height:64px;color:var(--navy-900);justify-content:center;align-items:center;gap:12px;display:flex}
.mobile-call span{color:var(--blue-700);text-transform:uppercase;font-size:11px;font-weight:800}
.mobile-call strong{font-size:20px}
}
@media (max-width:400px){.service-bar-inner>span:first-child{display:none}
.service-bar-inner{justify-content:flex-end}
.service-actions{gap:8px}
.admin-login,.admin-account summary{min-height:30px}
.admin-account nav{width:min(240px,100vw - 24px);position:fixed;top:40px;right:12px}
.portal-mark{width:35px;height:35px}
.portal-brand strong{max-width:112px;font-size:11px;line-height:1.2}
.header-phone a{font-size:15px}
}

/* Государственный герб РФ: фирменные знаки и контактные акценты. */
.portal-mark {
  background-color: transparent;
  background-image: url("/icon-192.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  border: 0;
  border-radius: 0;
  color: transparent;
  font-size: 0;
  overflow: hidden;
}

.contact-cards .primary-contact {
  overflow: hidden;
  position: relative;
}

.contact-cards .primary-contact::after {
  background: url("/icon-192.png") center / contain no-repeat;
  bottom: 12px;
  content: "";
  height: 86px;
  opacity: .14;
  pointer-events: none;
  position: absolute;
  right: 18px;
  width: 74px;
}

.contact-cards .primary-contact > * {
  position: relative;
  z-index: 1;
}

.footer-contacts h3 {
  align-items: center;
  display: flex;
  gap: 8px;
}

.footer-contacts h3::before {
  background: url("/icon-192.png") center / contain no-repeat;
  content: "";
  flex: none;
  height: 22px;
  width: 19px;
}

/* Главный экран: доброжелательный образ военнослужащего. */
@media (min-width: 821px) {
  .home-hero-inner::before {
    background: url("/soldier-svo.webp") bottom center / contain no-repeat;
    bottom: 0;
    content: "";
    filter: drop-shadow(0 24px 30px rgba(0, 0, 0, .34));
    height: 520px;
    pointer-events: none;
    position: absolute;
    right: 210px;
    width: 340px;
    z-index: 0;
  }

  .hero-copy,
  .hero-phone-card {
    position: relative;
    z-index: 2;
  }
}

@media (min-width: 821px) and (max-width: 1080px) {
  .home-hero-inner::before {
    height: 520px;
    right: 145px;
    width: 330px;
  }
}

@media (max-width: 820px) {
  .hero-copy::after {
    background: url("/soldier-svo.webp") bottom center / contain no-repeat;
    content: "";
    display: block;
    filter: drop-shadow(0 18px 24px rgba(0, 0, 0, .3));
    height: clamp(260px, 50vw, 340px);
    margin: 24px auto -20px;
    pointer-events: none;
    width: clamp(160px, 35vw, 220px);
  }
}

/* Mobile application-like polish. Desktop styles remain unchanged. */
@media (max-width: 580px) {
  html {
    scroll-padding-top: 132px;
  }

  body {
    -webkit-tap-highlight-color: rgba(36, 127, 185, .16);
    background: #f3f6f9;
    padding-bottom: calc(84px + env(safe-area-inset-bottom));
  }

  .shell {
    width: min(100% - 32px, 1240px);
  }

  .portal-header {
    box-shadow: 0 8px 28px rgba(4, 27, 45, .13);
    position: sticky;
    top: 0;
    z-index: 55;
  }

  .header-primary {
    gap: 8px;
    min-height: 70px;
  }

  .portal-brand,
  .header-phone a {
    min-height: 44px;
  }

  .portal-brand {
    gap: 9px;
  }

  .portal-mark {
    height: 36px;
    width: 32px;
  }

  .portal-brand strong {
    font-size: 12px;
    letter-spacing: .065em;
    line-height: 1.22;
    max-width: 150px;
  }

  .header-phone a {
    align-items: center;
    background: var(--blue-050);
    border: 1px solid #d4e3ec;
    border-radius: 999px;
    display: flex;
    font-size: 15px;
    padding: 0 11px;
    white-space: nowrap;
  }

  .nav-inner,
  .mobile-menu summary {
    min-height: 52px;
  }

  .mobile-menu summary {
    font-size: 14px;
  }

  .mobile-menu summary span {
    font-size: 20px;
  }

  .mobile-menu nav {
    border-radius: 0 0 16px 16px;
    box-shadow: 0 20px 38px rgba(4, 27, 45, .22);
    overflow: hidden;
    top: 52px;
  }

  .mobile-menu nav a {
    align-items: center;
    display: flex;
    min-height: 52px;
    padding: 13px 18px;
  }

  .breadcrumbs {
    min-height: 48px;
    overflow-x: auto;
    scrollbar-width: none;
    white-space: nowrap;
  }

  .breadcrumbs::-webkit-scrollbar {
    display: none;
  }

  .home-hero-inner {
    gap: 24px;
    padding-bottom: 38px;
    padding-top: 38px;
  }

  .home-hero h1 {
    font-size: 34px;
    line-height: 1.08;
    margin-bottom: 18px;
  }

  .hero-lead {
    font-size: 16px;
    line-height: 1.58;
    margin-bottom: 22px;
  }

  .hero-actions {
    gap: 10px;
  }

  .button {
    border-radius: 12px;
    min-height: 52px;
  }

  .hero-copy::after {
    height: 220px;
    margin: 18px auto -24px;
    width: 170px;
  }

  .hero-phone-card {
    display: none;
  }

  .page-hero {
    border-bottom-width: 4px;
  }

  .page-hero-inner {
    gap: 24px;
    padding-bottom: 34px;
    padding-top: 34px;
  }

  .page-hero h1 {
    font-size: 34px;
    line-height: 1.1;
    margin-bottom: 16px;
  }

  .page-hero p:not(.kicker),
  .hero-phone-card p,
  .page-help p {
    font-size: 15px;
    line-height: 1.58;
  }

  .page-help {
    border-radius: 14px;
    padding: 22px;
  }

  .page-help a {
    font-size: 23px;
    min-height: 44px;
  }

  .quick-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .quick-facts-grid > div {
    border-right: 1px solid var(--border) !important;
    border-top: 1px solid var(--border) !important;
    min-height: 104px;
    padding: 18px 14px;
  }

  .quick-facts-grid > div:nth-child(-n + 2) {
    border-top: 0 !important;
  }

  .quick-facts-grid > div:nth-child(even) {
    border-right: 0 !important;
  }

  .home-entry {
    padding: 16px 0;
  }

  .home-entry-grid {
    border-radius: 16px;
    box-shadow: 0 12px 34px rgba(4, 27, 45, .1);
    overflow: hidden;
  }

  .entry-options > a {
    min-height: 96px;
  }

  .content-section {
    padding: 44px 0;
  }

  .section-head {
    gap: 0;
    margin: 0 0 24px;
  }

  .section-head > p {
    display: none;
  }

  .section-head h2,
  .decision-grid h2,
  .two-column-info h2,
  .family-grid h2,
  .form-panel h2 {
    font-size: 28px;
    line-height: 1.15;
  }

  .service-grid,
  .advantages-grid {
    grid-auto-columns: minmax(288px, 84vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    margin-right: -16px;
    overflow-x: auto;
    padding-bottom: 12px;
    padding-right: 16px;
    scroll-padding-left: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .service-grid::-webkit-scrollbar,
  .advantages-grid::-webkit-scrollbar {
    display: none;
  }

  .service-grid > *,
  .advantages-grid > * {
    scroll-snap-align: start;
  }

  .service-card,
  .advantages-grid article {
    border-radius: 15px;
    box-shadow: 0 8px 26px rgba(4, 27, 45, .09);
    min-height: 232px;
    overflow: hidden;
  }

  .service-card p,
  .advantages-grid p,
  .start-route-grid p,
  .portal-principles p,
  .verification-grid p,
  .info-cards p,
  .assessment-grid p,
  .benefit-grid p,
  .benefit-stats p,
  .response-steps p,
  .contact-cards p,
  .portal-steps p {
    font-size: 15px;
    line-height: 1.58;
  }

  .portal-principles,
  .benefit-grid,
  .advantages-grid,
  .consultation-topics {
    background: transparent;
    border: 0;
    gap: 12px;
  }

  .portal-principles article,
  .benefit-grid article,
  .verification-grid article,
  .info-cards article,
  .assessment-grid article,
  .benefit-stats article,
  .support-details-grid article,
  .check-panel,
  .document-columns > article,
  .question-aside,
  .contact-cards article,
  .form-panel,
  .response-steps article,
  .contact-note,
  .payment-highlight {
    border-radius: 14px;
    overflow: hidden;
  }

  .start-route-grid article > a,
  .portal-steps a,
  .contact-cards article > a,
  .footer-nav a,
  .footer-contacts a,
  .footer-bottom a {
    align-items: center;
    display: flex;
    min-height: 44px;
  }

  .faq-portal details {
    border: 1px solid var(--border);
    border-radius: 12px;
    margin-bottom: 10px;
    overflow: hidden;
  }

  .faq-portal summary {
    min-height: 64px;
  }

  .form-panel input,
  .form-panel select,
  .form-panel textarea {
    border-radius: 10px;
  }

  .contact-band {
    padding: 44px 0;
  }

  .footer-grid {
    gap: 24px;
    padding-bottom: 32px;
    padding-top: 44px;
  }

  .footer-disclaimer {
    padding-bottom: 18px;
    padding-top: 18px;
  }

  .mobile-call {
    background: #fff;
    border: 1px solid var(--border-dark);
    border-radius: 16px;
    bottom: max(10px, env(safe-area-inset-bottom));
    box-shadow: 0 12px 32px rgba(4, 27, 45, .25);
    left: 12px;
    overflow: hidden;
    padding-bottom: 0;
    right: 12px;
  }

  .mobile-call a {
    min-height: 58px;
  }

  .mobile-call strong {
    font-size: 19px;
  }
}

@media (max-width: 350px) {
  .header-phone a {
    font-size: 0;
    justify-content: center;
    padding: 0;
    width: 44px;
  }

  .header-phone a::before {
    content: "☎";
    font-size: 20px;
  }

  .portal-brand strong {
    max-width: 142px;
  }
}

/* Mobile refinement: one fixed call action and an integrated hero portrait. */
.form-panel#written-request {
  scroll-margin-top: 0;
}

@media (max-width: 580px) {
  .header-phone {
    display: none;
  }

  .header-primary {
    justify-content: center;
    min-height: 64px;
  }

  .portal-brand {
    justify-content: center;
  }

  .portal-brand strong {
    font-size: 13px;
    max-width: none;
  }

  .portal-mark {
    height: 38px;
    width: 34px;
  }

  .home-hero-inner {
    padding-bottom: 32px;
  }

  .hero-copy::after {
    background-color: rgba(255, 255, 255, .045);
    background-image:
      url("/soldier-svo.webp"),
      radial-gradient(circle at 78% 48%, rgba(124, 192, 233, .28) 0 68px, transparent 69px),
      linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(94, 173, 223, .06));
    background-position: right 18px top -14px, right 14px center, center;
    background-repeat: no-repeat;
    background-size: 180px auto, 180px 180px, cover;
    border: 1px solid rgba(124, 192, 233, .28);
    border-radius: 18px;
    box-shadow: inset 4px 0 0 rgba(94, 173, 223, .72), 0 18px 36px rgba(0, 0, 0, .18);
    filter: none;
    height: 168px;
    margin: 22px 0 0;
    overflow: hidden;
    width: 100%;
  }

  .form-panel#written-request {
    scroll-margin-top: 0;
  }

  .form-panel#written-request:target {
    border-color: rgba(36, 127, 185, .7);
    box-shadow: 0 0 0 3px rgba(36, 127, 185, .14), 0 14px 38px rgba(4, 27, 45, .12);
  }
}

@media (max-width: 350px) {
  .page-hero-inner > *,
  .page-help,
  .process-timeline,
  .process-timeline article,
  .process-timeline article > div {
    min-width: 0;
  }

  .page-hero h1 {
    font-size: 32px;
    overflow-wrap: anywhere;
  }

  .process-timeline article {
    gap: 12px;
    grid-template-columns: 40px minmax(0, 1fr);
    margin-left: -20px;
    width: calc(100% + 20px);
  }

  .timeline-number {
    border-width: 4px;
    height: 40px;
    width: 40px;
  }

  .process-timeline h2,
  .process-timeline p {
    overflow-wrap: anywhere;
  }
}

/* Mobile hero refinement: keep the portrait in the background, not in layout. */
@media (max-width: 580px) {
  .home-hero {
    overflow: hidden;
  }

  .hero-copy {
    isolation: isolate;
    position: relative;
  }

  .hero-copy > * {
    position: relative;
    z-index: 1;
  }

  .hero-copy::after {
    background-color: transparent;
    background-image:
      radial-gradient(circle at 54% 36%, rgba(124, 192, 233, .22) 0 76px, transparent 77px),
      url("/soldier-svo.webp");
    background-position: center, right top;
    background-repeat: no-repeat;
    background-size: 250px 250px, 190px auto;
    border: 0;
    border-radius: 0;
    bottom: -80px;
    box-shadow: none;
    filter: saturate(.72) contrast(.96);
    height: 310px;
    margin: 0;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .62) 30%, #000 58%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .62) 30%, #000 58%);
    opacity: .28;
    pointer-events: none;
    position: absolute;
    right: -44px;
    width: 230px;
    z-index: 0;
  }
}
