:root{--bg:#fff;--soft:#f3f9fe;--sky:#dff2fe;--ink:#1f4e79;--body:#3a4d5f;--muted:#566b7f;--line:#d6e6f2;--primary:#1a6fd1;--primary-dark:#1f4e79;--navy:#1f4e79;--cta:#d9650b;--cta-dark:#b85208;--green:#1b7a4b;--red:#d63a35;--violet:#6741b5;--good:#176239;--good-bg:#def3e6;--mid:#7a5400;--mid-bg:#fbedc8;--bad:#962d20;--bad-bg:#fae3df;--shadow:0 18px 44px -24px rgba(31,78,121,.45);--radius:18px}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--bg);color:var(--body);font:17px/1.65 'Atkinson Hyperlegible',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{color:var(--ink);font-weight:700;letter-spacing:-.015em;line-height:1.16}
h1{font-size:clamp(2.2rem,5.6vw,3.7rem);margin:.25em 0 .25em;letter-spacing:-.025em}
h2{font-size:clamp(1.6rem,3.2vw,2.25rem);margin:2em 0 .5em}
h3{font-size:1.18rem;margin:1.4em 0 .25em}
a{color:var(--primary);text-underline-offset:2px}a:hover{color:var(--primary-dark)}
.wrap{max-width:1160px;margin:auto;padding:0 16px}
.prose{max-width:760px}
:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
/* Header */
.top{background:#fff;border-bottom:1px solid var(--line)}
.top .wrap{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center;justify-content:space-between;padding-top:10px;padding-bottom:6px}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);text-decoration:none;font-weight:700;font-size:1.12rem}
.top nav{display:flex;flex-wrap:wrap;gap:0 4px}
.top nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--ink);font-size:.95rem;text-decoration:none;border-bottom:3px solid transparent}
.top nav a:hover{color:var(--primary);border-bottom-color:var(--primary)}
/* Hero */
.hero-band{position:relative;color:var(--body);background:linear-gradient(180deg,#bfe6fd,#e6f5ff 70%,#fff);padding-bottom:40px}
.hero-band::before{content:"";position:absolute;inset:0;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M52 30h16v22h22v16H68v22H52V68H30V52h22z' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E")}
.hero{position:relative;max-width:860px;margin:auto;padding:44px 16px 0;text-align:center}
.hero .crumbs{padding:0 0 8px}
.eyebrow{display:inline-block;margin:0;padding:4px 14px;border-radius:99px;background:var(--primary);color:#fff;font-size:.82rem;font-weight:700}

.lede{font-size:1.2rem;margin:.2em auto .9em;max-width:690px}
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;margin:0 0 26px}
.pills li{padding:5px 14px;background:#fff;border:1px solid var(--line);border-radius:99px;font-size:.9rem;color:var(--ink)}
.pills li::before{content:"✓";margin-right:6px;font-weight:700;color:var(--green)}
.card{background:#fff;color:var(--body);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);text-align:left}
.note{margin:16px 0 0;font-size:.88rem}
/* Form */
form h2{margin:0 0 2px;font-size:1.5rem}
.fgrid{display:grid;gap:0 18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
form label{display:block;font-size:.92rem;font-weight:700;color:var(--ink);margin:13px 0 4px}
.hint{font-weight:400;color:var(--muted)}
select,input{width:100%;min-height:50px;padding:8px 12px;font:inherit;color:var(--ink);background:#fff;border:1.5px solid #9fb3c8;border-radius:10px}
select:focus,input:focus{border-color:var(--primary)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}
button{width:100%;min-height:56px;margin-top:20px;background:var(--cta);color:#fff;border:0;border-radius:12px;font-weight:700;font-size:1.2rem;font-family:inherit;cursor:pointer;transition:background .15s}
button:hover{background:var(--cta-dark)}
.result{margin-top:18px;padding:16px;background:var(--soft);border-radius:12px}
.result:focus{outline:none}
.badge{display:inline-block;margin:0;padding:3px 13px;border-radius:99px;font-weight:700}
.likely{color:var(--good);background:var(--good-bg)}.possible{color:var(--mid);background:var(--mid-bg)}.unlikely{color:var(--bad);background:var(--bad-bg)}
dl{display:grid;gap:6px;margin:12px 0}dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}dt{font-size:.92rem;color:var(--muted)}dd{margin:0;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.fine{font-size:.87rem;color:var(--muted)}
/* Full-width sections */
.sec{margin-inline:calc(50% - 50vw);padding:60px 0}
.sec.alt{background:var(--soft)}
.in{max-width:1160px;margin:auto;padding:0 16px}
.sec h2{margin:0 0 .5em}
.sec .in>h2{text-align:center}
.sec .in>h2+p{text-align:center;max-width:720px;margin-inline:auto}
.sec .in>p{max-width:820px}
.sec-split{display:grid;gap:36px;align-items:start;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.sec-split{grid-template-columns:1.15fr 1fr;gap:56px}.sec-img{position:sticky;top:20px}}
.sec-img img{border-radius:var(--radius);box-shadow:var(--shadow)}
.sec ul:not(.grid):not(.states):not(.stats):not(.progs),.sec ol{list-style:none;padding:0;margin:18px 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.sec ul:not(.grid):not(.states):not(.stats):not(.progs)>li{position:relative;padding:14px 16px 14px 44px;background:#fff;border:1px solid var(--line);border-radius:12px}
.sec ul:not(.grid):not(.states):not(.stats):not(.progs)>li::before{content:"✓";position:absolute;left:14px;top:13px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:var(--good-bg);color:var(--good);font-weight:700;font-size:.85rem}
.sec ol{counter-reset:s}
.sec ol>li{counter-increment:s;position:relative;padding:50px 18px 16px;background:#fff;border:1px solid var(--line);border-radius:12px}
.sec ol>li::before{content:counter(s);position:absolute;left:16px;top:14px;width:30px;height:30px;line-height:30px;text-align:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:700}
.cards{display:grid;gap:16px;margin:20px 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr))}
.c{padding:20px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:12px}
.c h3{margin:0 0 6px}.c p{margin:0;font-size:.97rem}
.cards .c:nth-child(3n+2){border-top-color:var(--green)}.cards .c:nth-child(3n){border-top-color:var(--cta)}
.stats{list-style:none;padding:0;margin:22px 0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.stats li{padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;text-align:center}
.stats strong{display:block;color:var(--primary);font-size:1.3rem;line-height:1.25}
.stats span{font-size:.9rem;color:var(--muted)}
.faq{display:grid;gap:10px;grid-template-columns:minmax(0,1fr);align-items:start}
@media(min-width:860px){.faq{grid-template-columns:1fr 1fr}}
details{border:1px solid var(--line);border-radius:12px;padding:0 16px;background:#fff}
summary{cursor:pointer;font-weight:700;color:var(--ink);padding:13px 0;min-height:44px}
details p{margin:0 0 14px}
/* Program cards */
.rule{display:inline-block;padding-bottom:6px;border-bottom:4px solid var(--primary)}
.center{text-align:center;padding-top:44px}.center h2{margin:0}
.progs{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);list-style:none;padding:0;margin:28px 0 8px}
@media(min-width:620px){.progs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:940px){.progs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.prog{display:flex;flex-direction:column;align-items:flex-start;padding:24px;background:#fff;border:3px solid var(--c);border-radius:6px;transition:transform .15s,box-shadow .15s}
.prog:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.prog h3{margin:0 0 6px;font-size:1.35rem}.prog p{margin:0 0 18px;flex:1}
.btn{display:inline-flex;align-items:center;min-height:46px;padding:8px 18px;background:var(--c,var(--primary));color:#fff!important;border-radius:8px;font-weight:700;text-decoration:none}
.btn::after{content:" →";white-space:pre}.btn:hover{filter:brightness(.9)}
.split{display:grid;gap:32px;align-items:center;grid-template-columns:minmax(0,1fr);padding:56px 0}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr;gap:56px}}
.split h2{margin-top:0}.split img{border-radius:var(--radius);box-shadow:var(--shadow)}
.ticks{list-style:none;padding:0}.ticks li{padding:4px 0 4px 28px;position:relative}.ticks li::before{content:"✓";position:absolute;left:4px;color:var(--green);font-weight:700}
/* Tables */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:16px 0;background:#fff}
.tall{max-height:520px;overflow-y:auto}
table{border-collapse:collapse;width:100%;font-size:.95rem;font-variant-numeric:tabular-nums;background:#fff}
th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:right}th:first-child,td:first-child{text-align:left}tr:last-child td{border-bottom:0}
th{background:var(--navy);color:#fff;font-weight:700;position:sticky;top:0}
tbody tr:nth-child(even){background:var(--soft)}
.states{columns:2;padding:0;list-style:none}@media(min-width:700px){.states{columns:4}}.states li{padding:5px 0}
/* Guide tiles */
.grid{display:grid;gap:20px;grid-template-columns:minmax(0,1fr);padding:0;list-style:none}
@media(min-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;height:100%;transition:transform .15s,box-shadow .15s}
.tile a{display:block;color:inherit;text-decoration:none;height:100%}
.tile:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tile h3{margin:14px 16px 4px;font-size:1.12rem}.tile p{margin:0 16px 16px;font-size:.93rem;color:var(--muted)}
/* Articles */
.art{display:grid;gap:40px;grid-template-columns:minmax(0,1fr)}
@media(min-width:960px){.art{grid-template-columns:minmax(0,1fr) 300px}aside{position:sticky;top:20px;align-self:start;margin-top:60px}}
.side{padding:20px;margin-bottom:16px;background:var(--soft);border-radius:14px}
.side h2{margin:0 0 6px;font-size:1.15rem}.side ul{padding:0;list-style:none;margin:0 0 8px}.side li{padding:4px 0}
.art-img{border-radius:14px;margin:18px 0}
.answer{background:var(--sky);border-left:5px solid var(--primary);padding:16px 20px;border-radius:0 12px 12px 0;color:var(--ink);font-size:1.08rem}
.cta{background:var(--primary-dark);color:#fff;padding:24px;border-radius:14px;margin:28px 0}
.cta a{color:#fff;font-weight:700}
.crumbs{font-size:.87rem;color:var(--muted);padding-top:18px}
/* Footer */
.foot{margin-top:0;background:var(--navy);color:#d3e0ec;padding:44px 0;font-size:.92rem}
.foot a{color:#fff}
.foot h3{color:#fff;font-size:1.02rem;margin:0 0 8px}
.foot-grid{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:800px){.foot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.foot ul{list-style:none;margin:0;padding:0}.foot li{padding:3px 0}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Inner page hero */
.page-band{padding-bottom:0}
.page-hero{position:relative;display:grid;gap:28px;align-items:center;grid-template-columns:minmax(0,1fr);padding-top:14px;padding-bottom:34px}
@media(min-width:860px){.page-hero{grid-template-columns:1.25fr 1fr;gap:48px;padding-bottom:44px}}
.page-hero h1{font-size:clamp(2rem,4.4vw,3rem)}
.page-hero .lede{margin:0 0 8px;text-align:left}
.page-img{border-radius:var(--radius);box-shadow:var(--shadow);border:5px solid #fff}
.stamp{margin:0;display:inline-block;padding:3px 12px;background:#fff;border-radius:99px;font-size:.85rem;color:var(--ink)}
/* Article layout */
.art{display:grid;gap:44px;grid-template-columns:minmax(0,1fr);padding-top:36px}
@media(min-width:960px){.art{grid-template-columns:minmax(0,1fr) 320px}aside{position:static;margin-top:0}}
article>h2,.art article h2{position:relative;padding-left:16px;margin:1.7em 0 .5em;font-size:clamp(1.4rem,2.6vw,1.8rem)}
.art article h2::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:5px;border-radius:3px;background:var(--cta)}
.art article ul,.art article ol{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.art article ul>li{position:relative;padding:12px 14px 12px 42px;background:var(--soft);border-radius:10px}
.art article ul>li::before{content:"✓";position:absolute;left:12px;top:11px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;background:var(--good-bg);color:var(--good);font-weight:700;font-size:.85rem}
.art article ol{counter-reset:s}
.art article ol>li{counter-increment:s;position:relative;padding:12px 14px 12px 50px;background:var(--soft);border-radius:10px}
.art article ol>li::before{content:counter(s);position:absolute;left:12px;top:11px;width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:700}
aside .side{border:1px solid var(--line);background:#fff}
aside .accent{background:var(--sky);border-color:#bfe6fd}
aside .side li{border-bottom:1px solid var(--line);padding:7px 0}aside .side li:last-child{border:0}
aside .side a:not(.btn){text-decoration:none}
/* Designed text blocks */
.ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:12px;border-radius:12px;background:var(--sky);color:var(--primary)}
.bento{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.b{padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 24px -18px rgba(31,78,121,.5);transition:transform .15s}
.b:hover{transform:translateY(-3px)}
.sec .b h2{font-size:1.3rem;text-align:left}.b p:last-child{margin-bottom:0}
.feature{display:grid;gap:18px 44px;padding:32px;background:linear-gradient(135deg,var(--sky),#fff);border:1px solid #cfe9fa;border-radius:var(--radius);grid-template-columns:minmax(0,1fr)}
@media(min-width:800px){.feature{grid-template-columns:1fr 1.7fr;padding:44px}}
.sec .feature h2{text-align:left;margin:0}.feature p{margin:0 0 12px}.feature p:last-child{margin:0}
.sec .in>h2+p:has(+p){text-align:left}
.sec .in>p{margin-inline:auto}
.band{background:var(--primary-dark);padding:30px 0}
.band-in{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;color:#fff}
.band-in strong{display:block;font-size:1.35rem}
.btn.light{background:var(--cta)}
@media(prefers-reduced-motion:reduce){.b:hover,.tile:hover,.prog:hover{transform:none}}

/* Footer */
.foot{margin-top:56px;padding:0 0 26px;background:var(--navy);color:#d9e6f1}
.foot-cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:26px 30px;background:#fff;color:var(--body);border-radius:var(--radius);box-shadow:var(--shadow);transform:translateY(-36px)}
.foot-cta strong{display:block;color:var(--ink);font-size:1.3rem}
.foot-main{display:grid;gap:30px;grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:28px}
.foot-brand{grid-column:1/-1}
@media(min-width:860px){.foot-main{grid-template-columns:1.6fr 1fr 1fr 1fr}.foot-brand{grid-column:auto}}
.foot .brand{color:#fff}.foot-brand p{margin:10px 0 14px}
.foot-tags{display:flex;flex-wrap:wrap;gap:6px}.foot .foot-tags li{padding:3px 11px;border:1px solid rgba(255,255,255,.35);border-radius:99px;font-size:.82rem}
.foot li a,.foot-states a{text-decoration:none}.foot li a:hover,.foot-states a:hover{text-decoration:underline;color:#fff}
.foot-states{padding:18px 0;border-top:1px solid rgba(255,255,255,.2)}
.foot-states p{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}
.foot-legal{padding-top:16px;border-top:1px solid rgba(255,255,255,.2);font-size:.85rem}.foot-legal p{margin:0 0 6px}
.foot a.btn{color:#fff}

/* Footer call to action */
.foot{margin-top:0;padding-top:36px}
.foot-cta{transform:none;background:var(--sky);box-shadow:none;margin-bottom:36px}
/* Main menu */
.top{position:relative;z-index:20}
.top .wrap{position:relative;padding-bottom:10px}
.menu,.drop ul{list-style:none;margin:0;padding:0}
.menu>li>a:not(.btn){display:inline-flex;align-items:center;min-height:46px;padding:0 11px;color:var(--ink);font-weight:700;font-size:.97rem;text-decoration:none}
.menu>li>a:not(.btn):hover{color:var(--primary)}
.dd>a::after{content:"";margin-left:7px;border:5px solid transparent;border-top-color:currentColor;border-bottom:0}
.drop a{display:block;padding:7px 10px;border-radius:7px;color:var(--ink);text-decoration:none;font-size:.94rem}
.drop a:hover{background:var(--sky);color:var(--primary-dark)}
.drop strong{display:block;padding:4px 10px;color:var(--cta-dark);font-size:.86rem}
.apply .btn{--c:var(--cta);min-height:44px;margin-left:8px}.apply .btn::after{content:none}
.menu-btn{width:auto;min-height:44px;margin:0;padding:0 16px;background:var(--primary);font-size:1rem;border-radius:8px}
.menu-btn:hover{background:var(--primary-dark)}
@media(max-width:1099px){
.top nav{flex-basis:100%;display:block}.top.closed nav{display:none}
.menu{padding:6px 0}.drop{padding:0 0 8px 12px}.mega-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.apply .btn{margin:8px 0 0;width:100%;justify-content:center}}
@media(min-width:1100px){
.menu-btn{display:none}.menu{display:flex;align-items:center}
.dd{position:relative}.dd.mega{position:static}
.drop{display:none;position:absolute;left:0;top:100%;min-width:300px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.dd:hover>.drop,.dd:focus-within>.drop{display:block}
.mega>.drop{left:16px;right:16px}
.mega-grid{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.mega-grid a{padding:6px 10px;font-size:.9rem}}
@media(max-width:480px){.top .brand{font-size:.9rem;gap:7px}.top .brand svg{width:30px;height:30px}.menu-btn{padding:0 11px}.top .wrap{flex-wrap:wrap;column-gap:6px}}
.foot-mail a{overflow-wrap:anywhere;font-weight:700}
.art .feature{padding:24px;margin-bottom:12px}.art article .feature h2{margin:0;padding:0}.art article .feature h2::before{content:none}
.top .brand img{width:38px;height:38px}@media(max-width:480px){.top .brand img{width:30px;height:30px}}
.top .brand{white-space:nowrap}
@media(min-width:1100px){.top .wrap{flex-wrap:nowrap}.top .brand{font-size:1.02rem}.top nav{flex-wrap:nowrap}.menu{white-space:nowrap}.menu>li>a:not(.btn){padding:0 9px;font-size:.93rem}.apply .btn{margin-left:6px;padding:8px 14px}.drop{white-space:normal}.mega>.drop{left:50%;right:auto;width:min(1160px,calc(100vw - 32px));transform:translateX(-50%)}}
@media(min-width:1100px){.drop::before{content:"";position:absolute;left:0;right:0;top:-26px;height:26px}}
