:root{color-scheme:light;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b85230;outline-offset:4px}a{color:var(--green)}[hidden]{display:none!important}.header{max-width:1400px;margin:auto;padding:25px 5%;display:flex;align-items:center;gap:32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;font-size:23px;letter-spacing:-1px;font-weight:750}.brand-dot{color:var(--accent)}nav{display:flex;gap:8px;margin:auto}.nav-button,.about-button,.quiet,.text-link{background:none;border:0;color:var(--muted);padding:12px;font-size:14px}.nav-button.active{background:#e9eee3;color:var(--green);border-radius:8px}.about-button{color:var(--green);padding-right:0}.about-button span{margin-left:12px}main{max-width:1280px;padding:0 36px;margin:auto}.hero{padding:52px 0 36px;position:relative}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:750;display:flex;align-items:center;gap:9px;margin:0 0 18px}.status-dot{width:6px;height:6px;border-radius:50%;background:#65873e}h1{font-size:clamp(32px,3.7vw,49px);line-height:1.16;letter-spacing:-1.9px;font-weight:550;margin:0 0 19px}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.5px;color:#527050}.hero-copy{font-size:15px;line-height:1.75;color:var(--muted);margin:0}.hero-notes{display:flex;gap:26px;margin-top:21px;font-size:12px}.hero-notes>span{display:flex;align-items:center;gap:7px}.hero-notes>span>span{color:#5c7842}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 302px;gap:25px;align-items:start;padding-bottom:48px}.conversation{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 14px #213b3403}.conversation-head{padding:20px 27px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.avatar{background:var(--green);color:var(--lime);width:37px;height:37px;border-radius:12px;display:grid;place-items:center;font-family:Georgia,serif;font-size:24px}.conversation-head strong{display:block;font-size:13px}.conversation-head div>span{display:block;font-size:11px;color:var(--muted);margin-top:5px}.conversation-head .quiet{margin-left:auto;font-size:11px;padding:8px}.question-area{padding:28px 30px 30px;min-height:295px}.step{font-size:10px;color:var(--accent);letter-spacing:1.2px;text-transform:uppercase;font-weight:700;margin:0 0 10px}.question-area h2{font-size:25px;line-height:1.3;font-weight:550;letter-spacing:-.6px;margin:0 0 10px}.question-help{font-size:13px;color:var(--muted);line-height:1.65;max-width:620px;margin:0 0 22px}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0 24px}.option{border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;gap:10px;text-align:left;min-height:47px;padding:12px 14px;font-size:13px;transition:background .15s,border-color .15s}.option:hover{border-color:#89a06a;background:#f6f8ef}.option[aria-pressed=true]{background:var(--pale);border-color:#64834c;color:var(--green)}.option-mark{margin-left:auto;display:grid;place-items:center;border:1px solid #c6d1bd;border-radius:50%;width:17px;height:17px;min-width:17px;font-size:11px;color:transparent}.option[aria-pressed=true] .option-mark{background:var(--green);color:#fff;border-color:var(--green)}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid transparent;padding:13px 19px;border-radius:9px;font-size:13px;font-weight:600;min-height:44px;text-decoration:none}.primary{background:var(--green);color:#fff}.primary:hover:not(:disabled){background:#285448}.secondary{background:transparent;border-color:#9fae8b;color:var(--green)}.secondary:hover:not(:disabled){background:#e2edce}.actions .quiet{font-size:12px;padding:10px 3px}.skip{margin-left:auto}.conversation-foot{display:flex;gap:9px;align-items:center;padding:17px 27px;border-top:1px solid var(--line);background:#fbfcf8;font-size:11px;color:var(--muted);line-height:1.5}.conversation-foot>span:first-child{font-size:18px}.summary-card{border-radius:var(--radius);padding:26px;background:#eaf0de;border:1px solid #dce6ca}.summary-card .eyebrow{color:#5f7550}.summary-card h2{font-size:23px;font-weight:550;letter-spacing:-.6px;margin:0 0 12px}.summary-card p:not(.eyebrow){font-size:13px;line-height:1.65;color:#566b4b}.summary-stats{display:flex;margin:26px 0;gap:27px}.summary-stats>div+div{border-left:1px solid #c9d6b8;padding-left:26px}.summary-stats strong{display:block;font-size:31px;font-weight:500;letter-spacing:-1px}.summary-stats span{display:block;font-size:10px;line-height:1.6;margin-top:5px}.summary-card .button{width:100%;gap:10px;font-size:12px;padding:12px 9px}.small,.summary-card p.small{font-size:11px;line-height:1.7;color:var(--muted)}.summary-card .small{margin-bottom:0}.coverage-card{display:flex;gap:13px;padding:26px 9px}.coverage-icon{font-size:28px;color:#769461}.coverage-card h3{font-size:13px;margin:2px 0 8px;font-weight:650}.coverage-card p{font-size:12px;line-height:1.75;color:var(--muted);margin:0}.text-link{font-size:12px;padding:12px 0 0;text-decoration:underline;text-underline-offset:4px;color:var(--green)}.history{display:flex;gap:8px;flex-wrap:wrap;padding:17px 28px 0}.history:empty{display:none}.answer-chip{border:1px solid #dde3d7;background:#f5f7ef;color:#4c6354;border-radius:7px;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:8px 10px;font-size:11px}.history-caption{width:100%;font-size:10px;color:var(--muted);margin:0 0 3px}.number-wrap{display:flex;align-items:center;gap:10px;margin:25px 0;max-width:320px}.number-wrap input{width:100%;font-size:27px;padding:14px;border:1px solid #a9b79b;border-radius:10px;color:var(--green);background:#fcfdf9}.number-wrap span{font-size:14px;color:var(--muted)}.select-answer{margin:12px 0 24px;min-width:100%;max-width:100%}select,input[type=search]{border:1px solid #cdd7c5;background:white;border-radius:8px;padding:13px;color:var(--ink);max-width:100%}.question-source{margin-top:19px;font-size:11px;color:var(--muted);line-height:1.6}.question-source summary{cursor:pointer;list-style-position:outside;margin-left:14px}.question-source a{display:block;margin-top:7px}.error{color:#8c3427;background:#fff3ed;padding:14px;border-radius:8px;font-size:13px;line-height:1.6}.error:empty{display:none}.loading{color:var(--muted);font-size:14px;line-height:1.6}.results-section{padding:24px 0 54px;border-top:1px solid var(--line);scroll-margin-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-heading h2{font-size:30px;font-weight:500;letter-spacing:-.9px;margin:0}.section-heading .eyebrow{margin-bottom:10px}.section-copy{font-size:13px;color:var(--muted);line-height:1.7;max-width:760px;margin:17px 0 24px}.result-tabs{display:flex;gap:8px;flex-wrap:wrap}.result-tabs button{border:1px solid var(--line);background:transparent;padding:10px 14px;border-radius:8px;font-size:12px;color:var(--muted)}.result-tabs button.active{background:var(--green);color:white;border-color:var(--green)}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.aid-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px}.card-meta{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:var(--muted);line-height:1.6}.aid-card h3{font-size:18px;line-height:1.4;font-weight:550;letter-spacing:-.3px;margin:13px 0}.aid-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 13px}.badge{font-size:10px;display:inline-block;padding:5px 8px;border-radius:5px;background:#f0f3e8;color:#4b6040;align-self:flex-start;margin-bottom:12px}.badge.warning{background:#f9ebe1;color:#995136}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:13px;font-size:10px;color:var(--muted)}.card-foot button{background:none;border:0;color:var(--green);padding:4px 0;font-size:12px;text-align:left;min-height:32px}.catalog-hero{padding:55px 0 25px}.catalog-hero p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.8;max-width:720px}.filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:end}.filters .search-field{grid-column:span 2}.filters>div{min-width:0}.filters select{min-width:0}.filters label{display:block;font-size:11px;margin-bottom:8px;color:var(--muted)}.filters input,.filters select{width:100%;font-size:13px;min-height:46px}.filters .button{height:46px}#catalog-list{margin-bottom:55px}#catalog-count{font-size:12px;color:var(--muted);margin-top:26px}.empty{grid-column:1/-1;padding:32px;border:1px dashed #cdd5c5;border-radius:14px;color:var(--muted);font-size:14px;line-height:1.7}.skip-link{position:absolute;top:-100px;left:20px;padding:15px;background:white;z-index:10}.skip-link:focus{top:10px}footer{max-width:1208px;border-top:1px solid var(--line);margin:15px auto 0;padding:24px 0;display:flex;align-items:center;gap:25px;font-size:10px;color:var(--muted)}footer>span:first-child{font-size:17px;font-weight:650;color:var(--ink);letter-spacing:-.7px}footer>span:last-child{margin-left:auto}dialog{width:min(730px,calc(100% - 32px));max-height:90dvh;border:1px solid var(--line);border-radius:20px;padding:27px 33px;color:var(--ink);box-shadow:0 25px 90px #173e3533}dialog::backdrop{background:#152b2566;backdrop-filter:blur(4px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head .eyebrow{margin:0}.icon-button{background:#eff3e8;color:var(--green);border:0;width:35px;height:35px;border-radius:50%;font-size:24px}.dialog-head+div>h2{font-size:27px;font-weight:550;line-height:1.3;letter-spacing:-.7px;margin:24px 0 15px}dialog p,dialog li{font-size:13px;line-height:1.8}dialog h3{font-size:15px;margin:25px 0 10px}dialog ul{padding-left:21px}dialog li{margin-bottom:9px}dialog .detail-rule{border-left:3px solid #b7c99a;padding-left:13px;margin:18px 0}dialog .detail-rule.fail{border-color:#bc704b}dialog .detail-rule p{margin:6px 0}dialog .sources a{display:block;margin:9px 0;font-size:12px;overflow-wrap:anywhere}.noscript{padding:30px}.done-mark{display:grid;place-items:center;background:var(--pale);border-radius:50%;width:46px;height:46px;font-size:23px;margin-bottom:17px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.hero{padding-top:65px}.workspace{gap:30px}}
@media(max-width:1000px){main{padding:0 26px}.header{padding:22px 26px}.workspace{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.question-area{padding:25px}.summary-card{padding:22px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{margin:15px 26px 0}.filters{grid-template-columns:1.5fr 1fr}.header{gap:14px}.brand{font-size:20px}.about-button{font-size:12px}.nav-button{font-size:12px}.hero h1{font-size:42px}}
@media(max-width:720px){.header{padding:17px 20px;flex-wrap:wrap;gap:15px}.brand{font-size:22px}.brand img{width:32px;height:32px}.header nav{order:3;width:100%;margin:0;border-top:1px solid var(--line);padding-top:11px}.nav-button{flex:1}.about-button{margin-left:auto}.hero{padding:34px 0 27px}.hero h1{font-size:34px;letter-spacing:-1.2px}.hero h1 em{letter-spacing:-1px}.hero-copy{font-size:13px}.hero-copy br{display:none}.hero-notes{gap:14px;font-size:10px}.workspace{display:block}.sidebar{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.summary-card{padding:20px}.summary-card h2{font-size:19px}.summary-stats{margin:16px 0;gap:18px}.summary-stats>div+div{padding-left:18px}.summary-stats strong{font-size:26px}.summary-card .button{font-size:11px;gap:7px}.coverage-card{padding:13px 0;display:block}.coverage-card h3{margin-top:10px}.coverage-card p{font-size:11px}.coverage-icon{font-size:23px}.conversation-head{padding:18px}.conversation-head .quiet{max-width:85px;text-align:right}.conversation-head div>span{font-size:10px}.question-area{padding:23px 20px}.question-area h2{font-size:23px}.question-help{font-size:12px}.option-grid{gap:8px}.option{font-size:12px;padding:12px 10px;gap:6px}.conversation-foot{padding:15px 20px;font-size:10px}.history{padding:15px 20px 0}.actions{gap:10px}.actions .button{font-size:12px}.actions .quiet{font-size:11px}.cards-grid{grid-template-columns:1fr}.section-heading{align-items:start}.section-heading h2{font-size:26px}.section-heading>.quiet{font-size:11px;max-width:100px}.filters{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.filters .button{grid-column:1/-1}main{padding:0 18px}.catalog-hero{padding-top:34px}footer{margin:0 18px;flex-wrap:wrap;gap:5px 15px;padding:24px 0}footer p{order:3;width:100%;line-height:1.7}footer>span:last-child{font-size:9px}dialog{padding:20px}.eyebrow{font-size:9px}.result-tabs button{padding:10px;font-size:11px}}
@media(max-width:500px){.sidebar{display:block}.summary-card{padding:23px}.summary-card h2{font-size:23px}.summary-stats{gap:30px}.summary-stats>div+div{padding-left:30px}.summary-stats strong{font-size:30px}.coverage-card{display:flex;padding:24px 5px;gap:13px}.coverage-card h3{margin-top:3px}.coverage-card p{font-size:12px}.coverage-icon{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.scope-option{padding:16px 27px 0;font-size:12px;color:var(--muted);line-height:1.6}.scope-option label{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.scope-option input{accent-color:var(--green);margin-top:4px;flex-shrink:0}.scope-option .small{margin:5px 0 0 25px}.number-wrap input{min-width:0}.number-wrap span{flex-shrink:0;max-width:95px;line-height:1.4}

/* Conversation-first layout. The catalogue remains a secondary way to explore. */
:root{background:var(--bg)}
body{background:radial-gradient(ellipse 80% 260px at 50% 735px,#bfd9cc55,transparent),linear-gradient(90deg,#79968509 1px,transparent 1px),linear-gradient(#79968509 1px,transparent 1px);background-size:auto,72px 72px,72px 72px;min-height:100dvh}
.header{max-width:1200px;padding:20px 28px;border-bottom:0;gap:32px;height:82px}.brand{font-size:23px;letter-spacing:-.9px}.brand-dot{color:var(--green)}.brand img{width:31px;height:31px}.header nav{margin:0 0 0 auto}.nav-button{color:#56605a;padding:10px;font-size:13px}.nav-button.active{background:transparent;color:var(--ink)}.about-button{border:1px solid var(--line);border-radius:8px;padding:11px 15px;font-size:12px;background:#ffffff80}.about-button span{margin-left:5px}
main{max-width:1200px;padding:0 28px}.hero{text-align:center;padding:79px 0 22px}.hero .eyebrow{justify-content:center;font-size:10px;letter-spacing:1.6px;color:#61746a;margin-bottom:28px}.status-dot{background:#217653}.hero h1{font-size:clamp(38px,5.3vw,74px);line-height:1.09;letter-spacing:-3.6px;font-weight:680;margin:0 0 25px}.hero h1 em{font:inherit;font-style:normal;color:var(--green);letter-spacing:inherit}.hero-copy{font-size:17px;line-height:1.7;color:#59645e;max-width:640px;margin:auto}.hero-notes{justify-content:center;font-size:11px;gap:24px;margin-top:25px;color:#68766e}.hero-notes span+span::before{content:'·';margin-right:15px;color:#93aa9c}.independent-note{font-size:11px;color:#748079;margin:13px auto 0;line-height:1.7;max-width:600px}
.launcher{max-width:730px;margin:38px auto 0;padding:19px 20px 16px;text-align:left;border:1px solid #dfebe3;background:#fff;border-radius:19px;box-shadow:0 14px 50px #274c3a0c}.launcher:focus-within{border-color:#8bb5a0;box-shadow:0 14px 50px #274c3a13}.launcher textarea{font:inherit;font-size:15px;color:var(--ink);line-height:1.5;border:0;background:transparent;resize:vertical;width:100%;min-height:52px;max-height:130px;padding:0;outline:none}.launcher textarea::placeholder{color:#78847d}.launcher-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-5px}.launcher-bottom>span{color:#8a958e;font-size:11px}.send-button{border:0;width:39px;height:39px;flex-shrink:0;border-radius:50%;background:var(--green);color:#fff;font-size:25px;line-height:1}.send-button:hover{background:#185c40}.topic-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;border-top:1px solid #f1f4f2;padding-top:13px}.topic-chips button{background:#fafcfb;color:#59665d;border:1px solid #e0e7e2;border-radius:20px;padding:8px 13px;font-size:11px;min-height:35px}.topic-chips button:hover{border-color:#80aa92;background:#f1f7f3}#start-guided{display:block;margin:10px auto 0;font-size:11px;text-decoration:none;padding:9px;color:#6b7a71}#start-guided:hover{color:var(--green);text-decoration:underline}
.discovery{text-align:center;padding:30px 0 42px}.discovery>p:first-child{font-size:12px;color:#78877c;margin-bottom:16px}.discovery>div{display:flex;justify-content:center;gap:27px;flex-wrap:wrap}.discovery a{font-size:12px;text-decoration:none;color:#426f56}.discovery a:hover{text-decoration:underline}.discovery .small{margin:19px 0 0;font-size:10px}
.workspace{display:block;max-width:800px;margin:28px auto 0;padding-bottom:25px}.conversation{box-shadow:0 12px 45px #1f4c3508;border-color:#e1e9e3;border-radius:20px}.conversation-head{border-bottom:0;padding:23px 27px}.conversation-head strong{font-size:14px}.avatar{font-family:inherit;color:white;background:var(--green);width:34px;height:34px;border-radius:11px;font-size:21px;font-weight:600}.conversation-head div>span{font-size:11px}.opening-message{background:#edf5ef;border-radius:16px 16px 4px 16px;max-width:85%;width:fit-content;margin:0 27px 18px auto;padding:13px 17px;line-height:1.6;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.chat-settings{margin:0 27px;color:var(--muted);font-size:11px;padding-bottom:12px}.chat-settings>summary,.history-details>summary{cursor:pointer;min-height:28px;padding:7px 0}.scope-option{padding:8px 0 0}.scope-option .small{font-size:10px}.history-details{margin:0 27px;color:#6b7c70;font-size:11px;border-top:1px solid #f0f3f0;padding-top:6px}.history-details>summary span{margin-left:6px;font-variant-numeric:tabular-nums}.history{padding:8px 0 0}.history-caption{display:none}.answer-chip{border-radius:20px;background:#f7faf8}.question-area{padding:22px 27px 29px;min-height:0}.step{font-size:9px;letter-spacing:.8px;color:#718278}.question-area h2{font-size:25px;line-height:1.35;font-weight:600;letter-spacing:-.7px}.question-help{font-size:13px;max-width:650px}.option{font-size:13px;border-radius:12px;min-height:48px}.option-grid{gap:8px;margin-top:18px}.option[aria-pressed=true]{background:#edf6ef;border-color:#84b496}.option-mark{border-color:#cfddd3}.conversation-foot{background:#fbfdfb;border-top:1px solid #eef2ee;font-size:10px;padding:14px 27px}.sidebar{display:block;margin-top:14px}.summary-card{border:0;background:transparent;padding:4px 5px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.summary-card h2,.summary-card #summary-copy,.summary-card p.small{display:none}.summary-stats{margin:0;display:block;flex:1}.summary-stats>div{display:flex;align-items:baseline;gap:6px}.summary-stats strong{font-size:15px;font-weight:600;letter-spacing:0}.summary-stats span{font-size:11px;margin:0}.summary-card .button{width:auto;padding:9px 12px;min-height:36px;font-size:11px;gap:8px;border-color:#bdcfc2}.coverage-card{display:none}footer{max-width:1144px;margin:10px auto 0;padding:25px 0;font-size:10px}footer a{font-size:11px;color:#607968;text-decoration:none}.detail-rule .text-link{display:block;padding:3px 0}.results-section{border-top:0}.card-foot a{font-size:11px}.guide{max-width:850px;margin:48px auto 70px}.guide h1{font-size:clamp(30px,4vw,48px);letter-spacing:-1.6px;font-weight:650;line-height:1.16}.guide h2{font-size:22px;margin:36px 0 13px;letter-spacing:-.5px}.guide p,.guide li{font-size:15px;line-height:1.85;color:#526158}.guide li{margin:10px 0}.guide a{overflow-wrap:anywhere}.guide .guide-lead{font-size:18px;line-height:1.65}.guide .guide-note{background:#eef5f0;border:1px solid #dae7de;border-radius:15px;padding:20px;margin:25px 0}.guide .guide-note p{margin:0;font-size:13px}.guide .button{margin:8px 0}.guide .official-link{display:inline-block;margin:14px 0}.guide .source-list a{font-size:13px}.guide .breadcrumbs{font-size:12px;margin-bottom:30px}.guide .guide-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.guide-list li{margin:0;padding:20px;background:white;border:1px solid var(--line);border-radius:14px}.guide-list a{font-weight:600;text-decoration:none}.guide-list p{font-size:12px;margin-bottom:0}.guide .small{font-size:12px}.guide .metadata{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
@media(max-width:720px){.header{height:auto;min-height:75px;padding:19px 20px;gap:14px;flex-wrap:nowrap}.header nav{order:0;width:auto;border:0;padding:0;gap:0;margin-left:auto}.header #nav-assistant{display:none}.header #nav-catalog{font-size:11px;padding:8px 0}.about-button{display:none}.brand{font-size:21px}.hero{padding:48px 0 15px}.hero h1{font-size:45px;letter-spacing:-2.3px;line-height:1.12}.hero .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:23px}.hero-copy{font-size:14px;line-height:1.8;max-width:410px}.hero-copy br{display:none}main{padding:0 20px}.launcher{margin-top:28px;padding:16px;border-radius:17px}.launcher textarea{font-size:14px;min-height:65px}.topic-chips{gap:6px}.topic-chips button{font-size:10px;padding:7px 10px}.launcher-bottom>span{font-size:10px}.hero-notes{gap:10px;font-size:9px;flex-wrap:wrap}.hero-notes span+span::before{margin-right:4px}.independent-note{font-size:10px;max-width:330px}.discovery{padding:24px 8px 30px}.discovery>div{gap:15px 20px}.discovery a{font-size:11px}.workspace{margin-top:15px}.conversation-head{padding:18px}.chat-settings,.history-details{margin-left:18px;margin-right:18px}.opening-message{margin-right:18px;padding:12px 14px;font-size:13px}.question-area{padding:20px 18px 25px}.question-area h2{font-size:23px}.question-help{font-size:12px}.option{font-size:12px;padding:12px 10px}.conversation-foot{padding:12px 18px}.summary-card{padding:4px}.summary-stats strong{font-size:14px}.summary-stats span{font-size:10px}.summary-card .button{font-size:10px;padding:8px}.sidebar{margin-top:10px}footer{margin:0 20px;padding:22px 0;gap:12px}footer>span:last-child{font-size:9px}footer p{margin:0;font-size:9px}.guide{margin-top:28px}.guide h1{font-size:34px;letter-spacing:-1.4px}.guide .guide-list{grid-template-columns:1fr}.guide p,.guide li{font-size:14px}.guide .guide-lead{font-size:16px}}
@media(max-width:360px){main{padding:0 14px}.header{padding:16px 14px}.hero h1{font-size:37px}.hero-notes{gap:8px;font-size:8px}.topic-chips button{font-size:9px}.hero{padding-top:35px}.brand{font-size:19px}}
.launcher textarea:focus-visible{outline:2px solid #91b8a2;outline-offset:5px;border-radius:4px}
@media(max-width:720px){.header #nav-assistant:not([aria-current]){display:block;font-size:11px;padding:8px 0}.header #nav-catalog[aria-current]{display:none}}

@media(max-width:650px){.filters .search-field{grid-column:auto}.filters{grid-template-columns:minmax(0,1fr)}}
.amount-context{margin:0 27px 12px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:#f4f8f5}.amount-context p{font-size:12px;line-height:1.6;margin:0}.amount-context .quiet{font-size:11px;padding:8px 0 0;color:var(--green)}.aid-card .amount-action{margin-top:10px;text-align:left}.amount-card{min-width:0}.reference-block{padding:14px 0;border-top:1px solid var(--line)}.reference-kind{font-weight:600;color:var(--green)!important}.reference-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:7px 0;font-size:12px;line-height:1.5}.reference-line span{min-width:0}.reference-line strong{white-space:nowrap;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.amount-checks{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding:10px 0;overflow-wrap:anywhere}.amount-checks summary{cursor:pointer;line-height:1.6}.amount-check{padding:10px 0;border-bottom:1px solid var(--line)}.amount-check p{font-size:11px;margin:5px 0}.amount-pending{padding:12px;background:#f4f7f3;border-radius:10px}.amount-card .text-link{font-size:11px;text-align:left}.amount-card .small{font-size:11px}.amount-card .amount-action{font-size:11px}
@media(max-width:720px){.amount-context{margin-left:18px;margin-right:18px}.reference-line{flex-wrap:wrap;gap:4px}.reference-line span{flex-basis:100%}}
.coordination-panel.amount-checks{padding:20px;margin:0;border:1px solid var(--line);font-size:13px}.coordination-panel summary{font-size:14px;font-weight:650}.coordination-panel .amount-check{padding:16px 0}.coordination-panel .amount-check p{font-size:13px;line-height:1.65;margin:8px 0}.coordination-panel .text-link{display:block;padding:0;margin:8px 0;font-size:13px;line-height:1.6}.coordination-panel .amount-check:last-child{border-bottom:0;padding-bottom:0}
.catalog-library-link{padding:16px 0}.catalog-library-link a{font-weight:600}.catalog-library-link span{display:block;font-size:13px;line-height:1.6;margin-top:6px;color:var(--muted)}.reference-library.guide{max-width:1000px}.reference-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}.reference-filters .search-field{grid-column:1/-1}.reference-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.5}.reference-checkbox input{width:auto}.reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reference-list .aid-card h2{font-size:19px;line-height:1.45;margin:12px 0}.reference-list .aid-card h2 a{text-decoration:none}.reference-list .small{font-size:13px}.reference-pagination{display:flex;gap:12px;margin:28px 0}.reference-library h1,.reference-library h2,.reference-library a{overflow-wrap:anywhere}
@media(max-width:720px){.reference-filters,.reference-list{grid-template-columns:minmax(0,1fr)}.reference-filters .search-field{grid-column:1}.reference-library .notice{font-size:13px}.reference-library.guide{padding-top:25px}}
.reference-library{overflow-wrap:anywhere}
.reference-document{border-top:1px solid var(--line);padding:16px 0}.reference-document h3{font-size:18px;line-height:1.5}.reference-document .small{font-size:12px}
.aid-quickfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.aid-fact{background:#f3f7f4;border:1px solid var(--line);border-radius:12px;padding:13px;min-width:0;overflow-wrap:anywhere}.aid-fact span,.aid-fact strong,.aid-fact small{display:block}.aid-fact span{font-size:11px;color:var(--muted);margin-bottom:5px}.aid-fact strong{font-size:14px;line-height:1.45}.aid-fact small{font-size:11px;color:var(--muted);line-height:1.5;margin-top:6px}.aid-benefit{font-size:16px;line-height:1.65}.aid-topic{border:1px solid var(--line);border-radius:12px;background:#fff;margin:10px 0}.aid-topic>summary{cursor:pointer;font-size:14px;font-weight:600;padding:15px 17px;line-height:1.4}.aid-topic>summary h2{display:inline;font:inherit;margin:0}.aid-topic[open]>summary{border-bottom:1px solid var(--line)}.aid-topic-content{padding:5px 17px 15px;overflow-wrap:anywhere}.aid-topic-content a{display:inline-block;margin:6px 0}.aid-review-note{color:var(--muted);font-size:12px;margin:14px 0}.aid-review-note>summary{cursor:pointer}.aid-orientation-note{line-height:1.6;color:var(--muted);margin-top:20px}.aid-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0 20px}.guide.compact-aid{margin-top:25px;max-width:850px}.compact-aid h1{font-size:clamp(25px,3.5vw,40px);line-height:1.14;letter-spacing:-1.4px;margin-bottom:14px}.compact-aid .metadata{font-size:11px;gap:7px 14px;margin-bottom:14px}.compact-aid .aid-snapshot h2{font-size:13px;margin:0 0 8px;color:var(--muted)}.compact-aid .aid-benefit{margin:0 0 12px;font-size:15px;line-height:1.65}.compact-aid .aid-support-kind{font-size:12px;margin:8px 0;color:var(--muted)}.compact-aid .aid-actions .official-link{margin:0;font-size:12px}.compact-aid .aid-topic h2{font-size:14px;margin:0}.compact-aid .aid-topic p,.compact-aid .aid-topic li{font-size:14px}.compact-aid .aid-topic h2:not(summary h2){font-size:16px;margin-top:16px}#dialog-title{font-size:clamp(23px,3vw,30px);line-height:1.18;letter-spacing:-.8px}#dialog-content .aid-benefit{font-size:14px}#dialog-content .aid-quickfacts{margin:12px 0}#dialog-content .aid-fact strong{font-size:12px}#dialog-content>.button{margin:10px 0}#dialog-content .aid-topic-content h3{font-size:15px}.aid-topic summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:720px){.compact-aid .breadcrumbs{margin-bottom:15px}.compact-aid .aid-quickfacts{gap:8px}.compact-aid .aid-fact{padding:11px}.compact-aid .aid-fact strong{font-size:12px}.compact-aid .aid-actions .button{font-size:12px;padding:12px}.compact-aid .aid-topic>summary{padding:13px 14px}.aid-topic-content{padding:4px 14px 12px}}
@media(max-width:720px){.reference-header{flex-wrap:wrap;gap:12px;justify-content:space-between}.reference-header nav{margin:0;min-width:0;flex-wrap:wrap;gap:8px}.reference-filters .reference-checkbox{display:flex}}
@media(max-width:720px){.header nav[aria-label="Principal"]{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:6px}.header nav[aria-label="Principal"] .button{font-size:11px;padding:10px 13px}}
.home-discovery{max-width:1060px;margin:25px auto 0;padding:24px 0 52px;text-align:left}
.home-discovery>p.eyebrow{font-size:10px;color:#68766e;letter-spacing:1.7px;margin:0 0 10px}
.home-discovery h2{font-size:clamp(24px,3vw,32px);letter-spacing:-1px;margin:0 0 25px;font-weight:650}
.home-discovery .needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-discovery a.need-card{display:flex;align-items:flex-start;gap:13px;min-height:127px;padding:22px 18px;background:#ffffffd9;border:1px solid #e0e8e2;border-radius:16px;color:var(--ink);text-decoration:none;transition:border-color .15s,background .15s}
.home-discovery a.need-card:hover{border-color:#8fb4a1;background:#fff;text-decoration:none}
.home-discovery a.need-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.need-card>span:nth-child(2){min-width:0;flex:1}
.need-card strong{display:block;font-size:15px;font-weight:650;margin:1px 0 7px}
.need-card strong+span{display:block;font-size:12px;line-height:1.6;color:#68766e}
.need-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border-radius:11px;background:#eaf2ec;color:var(--green)}
.need-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.need-arrow{font-size:15px;color:#789588;margin:1px 0 0}
.home-discovery .discovery-footer{display:flex;justify-content:space-between;gap:15px;margin-top:23px}
.home-discovery .discovery-footer a{font-size:12px;font-weight:550}
.home-discovery .small{font-size:11px;line-height:1.6;margin-top:14px;color:#748079}
@media(max-width:820px){.home-discovery .needs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.home-discovery{margin-top:15px}.home-discovery .needs-grid{gap:10px}.home-discovery a.need-card{min-height:150px;padding:16px 13px;gap:10px;flex-wrap:wrap}.need-card>span:nth-child(2){flex-basis:calc(100% - 45px)}.need-arrow{display:none}.need-card strong{font-size:13px}.need-card strong+span{font-size:11px}.need-icon{width:29px;height:29px;flex-basis:29px;border-radius:9px}.need-icon svg{width:18px;height:18px}.home-discovery .discovery-footer{flex-direction:column;gap:13px}}
/* Small, persistent provenance note for the disposable local catalogue view. */
.local-copy-note { width: 100%; font-size: .75rem; color: #65736c; }
.ad-slot-container[hidden] { display: none !important; }
.ad-slot-container { margin: 24px 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: #fafbfa; text-align: center; overflow: hidden; }
.ad-slot-label { display: block; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.ad-slot-box { min-height: 280px; display: flex; align-items: center; justify-content: center; }
.ad-slot-box .adsbygoogle { display: block; width: 100%; }
.aid-next-reads { margin: 16px 0 8px; padding: 12px 15px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbf9; overflow-wrap: anywhere; }
.aid-next-reads p { margin: 0; line-height: 1.65; }


/* Canonical tokens for the assistant and every server-rendered guide. */
html:root {
  --radius: 20px;
  --lime: #dcebc3;
  --paper: #ffffff;
  --accent: var(--green);
  --pale: #edf3ed;
  --green: #0b5d46;
  --line: color-mix(in srgb, var(--ink) 8%, transparent);
  --muted: #596b62;
  --ink: #182f28;
  --bg: #f7f6f2;
  
  
  --green-deep: #084735;
  
  --line-active: color-mix(in srgb, var(--green) 32%, transparent);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --shadow-card: 0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent), 0 18px 40px -18px color-mix(in srgb, var(--ink) 8%, transparent);
  --shadow-hover: 0 2px 6px color-mix(in srgb, var(--ink) 6%, transparent), 0 26px 54px -20px color-mix(in srgb, var(--green) 20%, transparent);
}

/* Production editorial surfaces share the established civic palette. */
html:root {
  --border-subtle: 1px solid color-mix(in srgb, var(--ink) 8%, transparent);
  --border-focus: 1px solid color-mix(in srgb, var(--green) 36%, transparent);
  --shadow-ambient: 0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent), 0 20px 44px -18px color-mix(in srgb, var(--ink) 8%, transparent);
  --shadow-elevated: 0 4px 12px color-mix(in srgb, var(--ink) 6%, transparent), 0 28px 56px -20px color-mix(in srgb, var(--green) 22%, transparent);
}
/* Guided start: six everyday needs, then the complete canonical topic list. */
.community-chooser label{display:block;font-size:14px;font-weight:600;margin:0 0 7px}.community-chooser select{width:100%;min-height:46px;background:#fff;border:1px solid #a9beae;border-radius:10px;padding:10px 12px;color:var(--ink);font:inherit;font-size:14px}.community-hint{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0 16px}.need-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.need-option{display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid #c6d4c8;border-radius:12px;padding:12px;background:#fff;color:var(--ink);min-height:72px;font:inherit;cursor:pointer}.need-option strong{font-size:15px;font-weight:600;line-height:1.3}.need-option small{font-size:12px;color:var(--muted);line-height:1.35}.need-option[aria-pressed=true]{background:#e7f2e9;border-color:#286446;box-shadow:inset 0 0 0 1px #286446}.all-topics{margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.all-topics>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;color:var(--green)}.all-topics .option-grid{margin-top:12px}.workspace[data-stage=interests] .chat-settings,.workspace[data-stage=interests] .history-details,.workspace[data-stage=interests] .ai-availability,.workspace[data-stage=interests] .sidebar{display:none}.workspace[data-stage=interests] .step{display:none}.workspace[data-stage=interests] .question-help{margin-bottom:16px}.workspace[data-stage=interests] .actions{margin-top:16px}.workspace[data-stage=interests] .actions .primary{flex:1}.results-scope{padding:18px 20px;border:1px solid #d4e0d6;border-radius:14px;margin:18px 0 22px;background:#f8fbf8;max-width:800px}.results-scope .community-chooser{max-width:480px}.results-scope .community-hint{margin-bottom:10px}.scope-explanation{font-size:13px;line-height:1.6;margin:10px 0}.results-scope .small{font-size:12px;line-height:1.6;margin-bottom:0}.need-option:focus-visible,.all-topics>summary:focus-visible,.community-chooser select:focus-visible{outline:3px solid #25794e;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.need-option{transition:background .16s,border-color .16s,box-shadow .16s}.need-option:hover{border-color:#5b8368;background:#f0f6ef}}
@media(max-width:768px){.workspace[data-stage=interests] .conversation-head{padding:14px 16px}.workspace[data-stage=interests] .question-area{padding:8px 16px 16px}.workspace[data-stage=interests] .question-area h2{font-size:24px;line-height:1.2;margin:10px 0}.workspace[data-stage=interests] .question-help{font-size:13px;line-height:1.5;margin:0 0 14px}.workspace[data-stage=interests] .need-option{padding:10px;min-height:66px}.workspace[data-stage=interests] .need-option strong{font-size:14px}.workspace[data-stage=interests] .need-option small{font-size:11px}.workspace[data-stage=interests] .actions{gap:10px;flex-wrap:wrap}.workspace[data-stage=interests] .actions .primary{min-height:46px;font-size:14px}.workspace[data-stage=interests] .actions .skip{font-size:12px}.workspace[data-stage=interests] .conversation-foot{font-size:11px}.results-scope{padding:14px}.community-hint{font-size:11px}.all-topics .option-grid{grid-template-columns:1fr}}
.community-chooser select{margin:0}.need-option{line-height:1.3}.need-option small{font-weight:400}
@media(max-width:768px){.workspace[data-stage=interests] .conversation-head .avatar,.workspace[data-stage=interests] .conversation-head div>span{display:none}.workspace[data-stage=interests] .conversation-head strong{font-size:12px}.workspace[data-stage=interests] .conversation-head .quiet{max-width:none;font-size:11px}.workspace[data-stage=interests] .question-help{font-size:12px;line-height:1.45}.workspace[data-stage=interests] .community-chooser label{font-size:13px}.workspace[data-stage=interests] .need-option{min-height:66px}.workspace[data-stage=interests] .need-option small{font-size:11px;line-height:1.3}}
.scope-details{border-top:1px solid var(--line);padding-top:5px;margin-top:8px}.scope-details>summary{font-size:12px;min-height:36px;padding:8px 0;cursor:pointer;color:var(--green)}.scope-details p{font-size:12px;line-height:1.6}.results-scope .scope-explanation{margin:9px 0 2px}.need-intro{margin-bottom:16px}#results-section,.conversation{scroll-margin-top:120px}
@media(max-width:768px){#results-section,.conversation{scroll-margin-top:130px}.workspace[data-stage=interests] .question-area h2{font-size:23px}.workspace[data-stage=interests] .need-intro{font-size:13px;line-height:1.4;margin-bottom:14px}}

/* The evaluator owns the amounts; the mobile summary keeps fees and cash apart. */
.scholarship-overview{margin:1rem 0;padding:1.2rem;border:1px solid var(--line,#d9e4dc);border-radius:20px;background:var(--mint,#edf6f0);color:var(--ink,#172d24)}
.scholarship-overview h4{margin:.4rem 0;font-size:1rem;font-weight:600}
.scholarship-overview .scholarship-amount{margin:.25rem 0;font-size:clamp(2rem,7vw,2.8rem);font-weight:750;line-height:1.15;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.scholarship-separate{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line,#d9e4dc)}
.scholarship-separate p,.scholarship-variable{font-size:.9rem;line-height:1.6}
.scholarship-variable{margin:.8rem 0 0}
.scholarship-breakdown>.reference-block{margin:.5rem 0 0}
@media(max-width:768px){.scholarship-overview{padding:1rem;border-radius:16px}.scholarship-overview p{overflow-wrap:anywhere}.scholarship-breakdown>summary{min-height:44px;align-content:center}}
.amount-route{margin:1rem 0;padding:1rem;border:1px solid var(--line,#d9e4dc);border-radius:16px;background:#f5f8f5}
.amount-route h4{margin:0 0 .5rem;font-size:1rem}.amount-route p{font-size:.9rem;line-height:1.6}.amount-route .button{white-space:normal;text-align:center;min-height:44px}
.need-selection{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--pale)}
.need-selection p{flex:1;margin:0;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.need-selection .quiet{flex:none;min-height:44px;padding:8px;font-size:12px;color:var(--green)}
@media(max-width:390px){.need-selection{align-items:stretch;flex-direction:column;gap:0}.need-selection .quiet{align-self:flex-start;padding-left:0}}
.need-alternatives{margin:10px 0}.need-alternatives>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px;color:var(--green)}.need-alternatives .need-options{margin-top:8px}

/* Shared visual system for the assistant, catalogue, guides and coverage. */
:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
}
html { scroll-behavior: smooth; scroll-padding-top: 25px; }
body { background: var(--bg); line-height: 1.5; }
button, input, select, textarea { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
a { text-underline-offset: 4px; }
button, input, select, textarea, a { touch-action: manipulation; }
:focus-visible { outline: 3px solid #a55c2f; outline-offset: 4px; }
button:disabled { cursor: wait; }
main { max-width: 1200px; padding: 0 32px; }
.header {
  max-width: 1280px; min-height: 88px; height: auto; padding: 22px 40px;
  gap: 32px; border: 0; position: relative; z-index: 2;
}
.brand { font-size: 24px; font-weight: 720; letter-spacing: -1.15px; color: var(--ink); }
.brand img { width: 30px; height: 30px; }
.brand-dot { color: var(--green); }
.header nav { margin: 0 0 0 auto; display: flex; align-items: center; gap: 12px; }
.header .nav-button { padding: 8px 11px; font-size: 13px; text-decoration: none; color: var(--muted); border-radius: 6px; }
.header .nav-button:hover { color: var(--green); background: #edf2e9; }
.header #nav-assistant { display: block; }
.header .nav-button.active { background: none; color: var(--green); }
.header #about { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; border: 1px solid var(--line); border-radius: 8px; padding: 10px 14px; }
.about-button span { margin: 0; }
.eyebrow, .overline { font-size: 10px; font-weight: 650; letter-spacing: 1.5px; line-height: 1.6; }
.overline { display: block; color: var(--muted); }
h1, h2, h3 { text-wrap: balance; }
h2 { font-size: clamp(26px, 3.1vw, 36px); line-height: 1.2; font-weight: 570; letter-spacing: -1.3px; }
h1 em, h2 em { font-family: Georgia, "Times New Roman", serif; font-weight: 400; color: var(--green); }
.button { border-radius: 9px; padding: 13px 21px; font-size: 13px; min-height: 46px; gap: 26px; }
.primary { background: var(--green); color: white; }
.primary:hover:not(:disabled) { background: #19583f; }
.secondary { border-color: #b8cdb9; }
.text-link { font-size: 13px; text-decoration: none; color: var(--green); }
.small { font-size: 12px; line-height: 1.7; color: var(--muted); }
.home-page {
  background: radial-gradient(ellipse 750px 380px at 50% 450px, #e8eedf88, transparent),
    linear-gradient(#78937f08 1px, transparent 1px),
    linear-gradient(90deg, #78937f08 1px, transparent 1px), var(--bg);
  background-size: auto, 72px 72px, 72px 72px, auto;
}
.home-page .hero { text-align: center; padding: 65px 0 38px; isolation: isolate; }
.hero .eyebrow { justify-content: center; gap: 9px; color: #55745d; letter-spacing: 1.4px; margin: 0 0 24px; font-size: 10px; }
.status-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--green); flex-shrink: 0; }
.hero h1 { font-size: clamp(45px, 5.9vw, 76px); line-height: 1.05; letter-spacing: -3.7px; font-weight: 600; margin: 0 0 24px; }
.hero h1 em { display: inline-block; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-style: italic; font-size: 1.04em; letter-spacing: -3.6px; line-height: 1.16; }
.hero-copy { color: var(--muted); line-height: 1.8; font-size: 16px; max-width: 580px; margin: auto; }
.launcher {
  width: 100%; max-width: 710px; margin: 30px auto 0; background: #ffffffed;
  padding: 21px 23px 16px; border: 1px solid #dce5d9; border-radius: 18px;
  box-shadow: 0 8px 18px #24432705, 0 26px 80px #24432709;
  text-align: left; transition: border-color .2s, box-shadow .2s;
}
.launcher:focus-within { border-color: #83a58a; box-shadow: 0 0 0 3px #e5edde, 0 24px 70px #2443270a; }
.launcher>label { display: block; color: var(--ink); font-size: 13px; font-weight: 600; margin-bottom: 9px; }
.launcher textarea { width: 100%; resize: none; min-height: 52px; border: 0; padding: 0; background: transparent; font-size: 15px; line-height: 1.7; color: var(--ink); }
.launcher textarea::placeholder { color: #7d887d; opacity: 1; }
.launcher textarea:focus-visible { outline: none; }
.launcher-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 5px 0 15px; }
.launcher-bottom>span { color: var(--muted); font-size: 11px; }
.send-button { display: grid; place-items: center; border: 0; border-radius: 50%; width: 37px; height: 37px; background: var(--green); color: white; flex-shrink: 0; padding: 0; }
.send-button:hover:not(:disabled) { background: #19583f; transform: translateY(-1px); }
.send-button svg { width: 21px; height: 21px; stroke: currentColor; stroke-width: 1.7; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.topic-chips { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 14px; border-top: 1px solid #edf0e9; }
.topic-chips button { font-size: 11px; color: #536c5a; background: #fafcf7; border: 1px solid #e0e7da; border-radius: 7px; padding: 6px 11px; transition: background .2s; }
.topic-chips button:hover { background: #edf4e6; border-color: #b2c8a7; }
.hero-notes { display: flex; justify-content: center; gap: 22px; margin-top: 22px; font-size: 11px; color: #536c5a; }
.hero-notes>span { display: inline; }
.hero-notes>span+span:before { content: none; }
.hero #start-guided { font-size: 12px; margin-top: 12px; padding: 8px; text-decoration: none; }
.assistant-mode { font-size: 10px; margin: 6px 0 0; color: #66766b; }
.independent-note { margin: 16px auto 0; font-size: 10px; max-width: 650px; line-height: 1.7; color: var(--muted); }
.coverage-strip { display: grid; grid-template-columns: 1fr 1.2fr 1.5fr; gap: 25px; align-items: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 27px 20px; margin: 10px 0 0; }
.coverage-strip>div { display: flex; align-items: center; gap: 12px; }
.coverage-strip strong { font-size: 30px; letter-spacing: -1.3px; line-height: 1.1; font-weight: 580; white-space: nowrap; }
.coverage-strip span { color: var(--muted); font-size: 11px; max-width: 150px; }
.coverage-strip>a { justify-self: end; display: grid; gap: 5px; font-size: 11px; text-decoration: none; }
.coverage-strip>a>span { max-width: none; }
.coverage-strip .live-label { color: var(--green); font-weight: 600; display: flex; align-items: center; gap: 8px; }
.home-discovery { margin: 0; max-width: none; padding: 68px 0; text-align: left; }
.home-discovery h2 { font-size: clamp(25px, 3vw, 35px); margin: 9px 0 29px; font-weight: 570; }
.home-discovery>p.eyebrow { margin: 0; font-size: 10px; }
.home-discovery .needs-grid { gap: 13px; grid-template-columns: repeat(3,minmax(0,1fr)); display: grid; }
.home-discovery a.need-card { min-height: 132px; padding: 24px 20px; gap: 14px; border-radius: 12px; background: #fffffff0; border-color: var(--line); align-items: flex-start; transition: transform .2s, border-color .2s, box-shadow .2s; }
.home-discovery a.need-card:hover { transform: translateY(-3px); border-color: #98b796; box-shadow: 0 8px 20px #28462e08; }
.need-card strong { font-size: 15px; margin: 0 0 7px; }
.need-card strong+span { line-height: 1.65; color: var(--muted); font-size: 12px; }
.need-icon { background: #f0f5e9; color: #39754b; border-radius: 10px; width: 34px; height: 34px; flex-basis: 34px; }
.need-icon svg { stroke-width: 1.4; }
.home-discovery .discovery-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 25px; }
.home-discovery .discovery-footer a { color: var(--green); font-size: 12px; text-decoration: none; }
.home-discovery .small { margin-bottom: 0; }
.how-section { background: #edf2e6; border: 1px solid #e2e9d9; border-radius: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 65px; padding: 49px; margin-bottom: 70px; }
.how-heading h2 { margin: 12px 0 18px; }
.how-heading>p:not(.eyebrow) { color: #5f715f; font-size: 14px; line-height: 1.8; max-width: 310px; margin-bottom: 25px; }
.how-steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 24px; align-content: center; }
.how-steps li { display: flex; align-items: flex-start; gap: 20px; }
.how-steps li>span { font-size: 12px; color: var(--muted); padding-top: 3px; font-variant-numeric: tabular-nums; }
.how-steps h3 { font-size: 15px; margin: 0 0 7px; font-weight: 600; letter-spacing: -.2px; }
.how-steps p { font-size: 12px; line-height: 1.8; color: #5f715f; margin: 0; }
.section-heading { display: flex; align-items: end; gap: 20px; justify-content: space-between; margin-bottom: 28px; }
.section-heading .eyebrow { margin: 0 0 10px; }
.section-heading h2 { margin: 0; }
.featured-section { padding-bottom: 60px; }
.featured-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.featured-card { display: flex; flex-direction: column; padding: 26px; background: white; border: 1px solid var(--line); border-radius: 13px; text-decoration: none; color: var(--ink); transition: border-color .2s,transform .2s; }
.featured-card:hover { border-color: #8caf8b; transform: translateY(-3px); }
.featured-card .overline { font-size: 9px; color: var(--green); letter-spacing: 1px; }
.featured-card h3 { font-size: 20px; font-weight: 550; letter-spacing: -.6px; line-height: 1.35; margin: 16px 0 12px; }
.featured-card p { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 0 0 23px; }
.featured-link { display: flex; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; border-top: 1px solid #edf0e9; font-size: 11px; color: var(--green); }
.faq-section { display: grid; grid-template-columns: 1fr 1.7fr; gap: 60px; border-top: 1px solid var(--line); padding: 60px 0; }
.faq-section h2 { margin: 12px 0 20px; }
.faq-section .text-link { padding: 0; font-size: 12px; }
.faq-list details { border-bottom: 1px solid var(--line); padding: 0; }
.faq-list summary { cursor: pointer; font-size: 14px; font-weight: 550; padding: 19px 28px 19px 0; list-style: none; position: relative; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; right: 4px; font-size: 20px; top: 14px; color: var(--green); font-weight: 400; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list p { font-size: 13px; line-height: 1.85; color: var(--muted); margin: 0 25px 20px 0; }
.closing-cta { text-align: center; padding: 45px 25px 60px; background: radial-gradient(ellipse 65% 85% at 50% 70%,#e4edd8,transparent); }
.closing-mark { font-size: 33px; font-family: Georgia,serif; color: var(--green); }
.closing-cta h2 { font-size: clamp(32px, 4vw, 45px); line-height: 1.2; margin: 16px 0 26px; letter-spacing: -1.7px; }
.closing-cta p { font-size: 11px; color: var(--muted); margin-top: 16px; }
.site-footer { max-width: 1200px; margin: 0 auto; padding: 30px 32px 23px; border-top: 1px solid var(--line); display: flex; align-items: start; flex-wrap: wrap; justify-content: space-between; gap: 23px; }
.site-footer .brand { font-size: 21px; }
.footer-brand p { color: var(--muted); font-size: 11px; margin: 5px 0 0; }
.site-footer nav { margin: 7px 0 0; display: flex; gap: 24px; flex-wrap: wrap; }
.site-footer nav a { text-decoration: none; font-size: 11px; color: var(--muted); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; width: 100%; border-top: 1px solid var(--line); padding-top: 18px; }
.footer-bottom p, .footer-bottom span { font-size: 10px; color: var(--muted); margin: 0; }
.local-copy-note { font-size: 10px; line-height: 1.65; padding: 0; margin: 0; color: var(--muted); }
.assistant-open .home-support, .catalog-open .home-support { display: none; }
.home-page .workspace { max-width: 1080px; margin: 40px auto; display: grid; grid-template-columns: minmax(0,1fr) 275px; gap: 23px; align-items: start; padding-bottom: 30px; }
.conversation { background: white; border-radius: 16px; border-color: var(--line); box-shadow: 0 12px 40px #24432705; }
.conversation-head { padding: 22px 25px; border-bottom: 1px solid #edf0e9; }
.avatar { border-radius: 11px; color: #e4efd1; }
.conversation-head strong { font-size: 14px; }
.conversation-head .quiet { font-size: 11px; color: var(--green); }
.question-area { min-height: 280px; padding: 28px; }
.question-area h2 { font-size: 26px; line-height: 1.3; letter-spacing: -.8px; }
.question-help { font-size: 13px; }
.option { min-height: 50px; border-radius: 10px; background: #fff; font-size: 13px; line-height: 1.5; }
.option:hover { border-color: #96b18c; background: #f8fbf3; }
.option[aria-pressed=true] { background: #edf4e5; border-color: #7b9e70; }
.option-mark { flex-shrink: 0; }
.conversation-foot { background: #f8faf5; padding: 17px 24px; font-size: 10px; line-height: 1.7; }
.sidebar { display: grid; gap: 16px; position: sticky; top: 25px; margin: 0; }
.summary-card { border-radius: 14px; padding: 24px; background: #edf3e3; border: 1px solid #dde7ce; }
.summary-card h2 { font-size: 24px; letter-spacing: -.7px; }
.summary-card h2, .summary-card p, .summary-card p:not(.eyebrow) { display: block; }
.summary-card #summary-copy { display: block; }
.summary-stats strong { font-size: 38px; font-weight: 500; }
.summary-card .button { font-size: 12px; padding: 12px 13px; width: 100%; gap: 10px; }
.summary-card .small { font-size: 10px; }
.coverage-card { background: transparent; border: 1px solid var(--line); border-radius: 13px; padding: 18px; display: block; }
.coverage-card h3 { font-size: 13px; margin: 0 0 9px; }
.coverage-card p { font-size: 11px; line-height: 1.7; }
.coverage-icon { display: none; }
.history-details { border-top: 1px solid #edf0e9; border-bottom: 1px solid #edf0e9; }
.opening-message { margin: 14px 24px; padding: 13px 16px; background: #f1f5ec; border-radius: 11px; font-size: 13px; }
.results-section { margin-top: 15px; padding-bottom: 55px; }
.aid-card { border-radius: 13px; border: 1px solid var(--line); padding: 24px; box-shadow: none; background: #fff; }
.aid-card h3 { font-size: 19px; letter-spacing: -.4px; line-height: 1.4; }
.aid-card p { font-size: 13px; line-height: 1.75; }
.badge { border-radius: 5px; padding: 5px 8px; background: #eef4e7; color: #426441; font-size: 10px; line-height: 1.5; }
.badge.warning { background: #faf0df; color: #765222; }
.card-meta, .card-foot { font-size: 10px; line-height: 1.65; }
.card-foot button { color: var(--green); font-size: 12px; }
.catalog-hero { padding: 52px 0 28px; max-width: 750px; }
.catalog-hero h1 { font-size: clamp(38px,5vw,55px); letter-spacing: -2px; font-weight: 570; }
.catalog-hero p { font-size: 14px; line-height: 1.8; color: var(--muted); }
.filters { background: white; border: 1px solid var(--line); padding: 23px; border-radius: 14px; gap: 18px; }
input, select { min-height: 43px; border-radius: 7px; background: #fff; border: 1px solid #cfd9ce; padding: 10px 12px; color: var(--ink); }
.filters label { font-size: 11px; font-weight: 550; }
.filters { grid-template-columns: minmax(0,1fr) auto; align-items: end; }
.filters .search-field { grid-column: 1; }
.advanced-filters { grid-column: 1/-1; border-top: 1px solid var(--line); padding-top: 13px; }
.advanced-filters summary, .catalog-more summary { font-size: 12px; color: var(--green); cursor: pointer; }
.advanced-filter-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; margin-top: 20px; }
.advanced-filter-grid label { display: block; margin-bottom: 7px; }
.advanced-filter-grid select { width: 100%; }
.catalog-more { margin: 0 0 23px; padding: 15px 18px; border: 1px solid var(--line); border-radius: 10px; background: #f3f7ed; }
.catalog-more p { font-size: 12px; color: var(--muted); line-height: 1.8; }
.guide { margin: 20px auto 60px; padding: 25px 0; }
.guide>h1 { font-size: clamp(33px,4vw,49px); line-height: 1.14; letter-spacing: -1.8px; font-weight: 570; }
.guide-lead { font-size: 16px; line-height: 1.8; color: var(--muted); }
.breadcrumbs { font-size: 11px; margin-bottom: 23px; }
.guide-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; list-style: none; padding: 0; }
.guide-list li { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 20px 24px; margin: 0; }
.guide-list li>a { font-size: 16px; text-decoration: none; font-weight: 570; }
.guide-list li p { font-size: 13px; line-height: 1.8; color: var(--muted); margin: 9px 0 0; }
.guide-note, .notice { background: #eef3e7; border-color: #dce5d3; border-radius: 10px; font-size: 13px; line-height: 1.8; padding: 16px 20px; }
.compact-aid { background: transparent; }
.aid-fact { background: #f1f5ea; border-color: #dfe7d7; border-radius: 11px; padding: 17px; }
.aid-topic { border-radius: 10px; border-color: var(--line); }
.aid-topic>summary { padding: 17px 19px; font-size: 14px; }
.aid-topic-content { line-height: 1.8; padding: 6px 19px 17px; }
dialog { border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 24px 90px #172c2933; max-height: 90dvh; }
dialog::backdrop { background: #11231c70; backdrop-filter: blur(3px); }
.dialog-head { align-items: center; }
.public-coverage-page main { max-width: 1136px; padding-bottom: 60px; }
.coverage-intro { padding: 52px 0 36px; }
.coverage-intro h1 { font-size: clamp(45px,6vw,68px); line-height: 1.05; letter-spacing: -3px; margin-bottom: 23px; font-weight: 570; }
.coverage-intro .guide-lead { max-width: 580px; }
.coverage-national { background: #edf3e5; padding: 28px 32px; border: 1px solid #dce7cf; border-radius: 16px; display: flex; gap: 35px; justify-content: space-between; align-items: center; }
.coverage-national h2 { font-size: 28px; margin: 10px 0; }
.coverage-national p { max-width: 740px; color: #5e705c; font-size: 13px; line-height: 1.8; margin-bottom: 0; }
.coverage-status { white-space: nowrap; font-size: 11px; background: #fff9; padding: 8px 12px; border: 1px solid #d9e3cf; border-radius: 30px; color: var(--green); }
.public-metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 23px 0; }
.public-metric-grid article { background: white; border: 1px solid var(--line); border-radius: 13px; padding: 26px; }
.public-metric-grid strong { font-weight: 500; font-size: 50px; letter-spacing: -2px; display: block; margin: 12px 0; color: var(--green); }
.public-metric-grid h2 { font-size: 16px; letter-spacing: -.3px; }
.public-metric-grid p { color: var(--muted); line-height: 1.8; font-size: 12px; }
.coverage-source-note { padding: 24px 0; border-bottom: 1px solid var(--line); }
.coverage-source-note h2 { font-size: 28px; }
.coverage-source-note p, .territory-section>p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.territory-section { padding: 40px 0; }
.territory-section .section-heading { margin-bottom: 18px; }
.territory-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 35px; padding: 0; }
.territory-list li { display: flex; gap: 15px; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 14px 0; font-size: 13px; }
.territory-list strong { font-size: 12px; color: var(--green); font-weight: 550; white-space: nowrap; }
.weekly-note { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 26px 30px; border: 1px solid var(--line); background: white; border-radius: 13px; margin: 10px 0 24px; }
.weekly-note h2 { font-size: 23px; margin: 12px 0; }
.weekly-note p { font-size: 12px; line-height: 1.8; color: var(--muted); }
.weekly-note .button { flex-shrink: 0; }
.student-page main { max-width: 1136px; padding-bottom: 55px; }
.student-intro { padding: 50px 0 35px; }
.student-intro h1 { font-size: clamp(44px,5.5vw,64px); line-height: 1.08; letter-spacing: -2.6px; margin: 18px 0 22px; font-weight: 570; }
.student-intro .guide-lead { max-width: 690px; }
.student-start { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; margin: 25px 0 0; }
.student-routing { padding: 24px 28px; background: #eef4e5; border: 1px solid #dce7d0; border-radius: 14px; }
.student-routing>strong { font-size: 18px; letter-spacing: -.4px; }
.student-routing p { font-size: 13px; color: #576d52; line-height: 1.8; margin: 12px 0 0; }
.student-group { margin: 43px 0; }
.student-group>h2 { font-size: 28px; margin: 0 0 23px; }
.student-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.student-alias { font-size: 12px; font-weight: 600; color: var(--green); margin: 14px 0 0; }
.student-card .student-alias+h3 { margin-top: 8px; }
.student-deadline { font-size: 10px; line-height: 1.7; color: #6d674f; margin: auto 0 15px; }
.student-card .featured-link { margin-top: 0; }
/* Motion is visual only. Counters retain their real text for assistive technology. */
.coverage-progress { margin: 0 0 64px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; padding: 40px; border: 1px solid #dce7d3; border-radius: 20px; background: #f0f5e8; overflow: hidden; position: relative; }
.coverage-progress::before { content: ''; position: absolute; width: 280px; height: 280px; right: -90px; top: -150px; border-radius: 50%; background: #d8e8c580; filter: blur(20px);  pointer-events: none; }
.coverage-progress h2 { margin: 10px 0 16px; font-size: 32px; }
.coverage-progress p { color: #5d7057; font-size: 13px; line-height: 1.8; }
.coverage-progress .text-link { padding: 0; font-size: 12px; }
.progress-visual { display: flex; align-items: center; gap: 26px; position: relative; }
.coverage-orbit { width: 156px; height: 156px; flex-shrink: 0; position: relative; display: grid; place-items: center; }
.coverage-orbit svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.orbit-track { stroke: #d9e4ce; stroke-width: 6; fill: none; }
.orbit-progress { stroke: #32744b; stroke-width: 6; fill: none; stroke-linecap: round; stroke-dashoffset: 0; }
.motion-ready .orbit-progress { stroke-dashoffset: 100; }
.motion-ready.motion-active .orbit-progress { animation: orbit-reveal 1.7s cubic-bezier(.3,.1,.2,1) forwards; }
.orbit-label { position: absolute; text-align: center; }
.orbit-label strong { display: block; font-size: 36px; line-height: 1.2; font-weight: 550; letter-spacing: -1.8px; color: var(--green); }
.orbit-label span { display: block; font-size: 10px; line-height: 1.5; color: #5d7057; margin-top: 3px; }
.progress-copy { max-width: 210px; }
.progress-copy strong { font-size: 15px; line-height: 1.5; font-weight: 570; display: block; }
.progress-copy p { font-size: 11px; line-height: 1.8; margin: 8px 0 0; }
.target-line { margin-top: 20px; padding-top: 16px; border-top: 1px solid #d8e3cd; font-size: 11px; color: #50664d; }
.target-line strong { font-size: 13px; color: var(--green); }
.status-dot { animation: none; }
.home-page .hero { animation: enter .7s ease-out both; }
.reveal { animation: enter .65s ease-out both; }
@keyframes enter { from { opacity: .3; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes orbit-reveal { to { stroke-dashoffset: 0; } }
@keyframes status-breathe { 0%,100% { box-shadow: 0 0 0 0 #23745420; } 50% { box-shadow: 0 0 0 5px #23745408; } }
@keyframes drift { from { transform: translate(-20px,10px); } to { transform: translate(20px,60px); } }
@media (max-width: 960px) {
  .header { padding: 22px 28px; gap: 16px; }
  .header nav { gap: 2px; }
  .header #about { display: none; }
  .hero h1 { font-size: 65px; }
  .how-section { padding: 36px; gap: 35px; }
  .home-page .workspace { grid-template-columns: minmax(0,1fr) 245px; gap: 16px; }
  .coverage-strip { gap: 18px; padding-left: 0; padding-right: 0; }
  .coverage-strip>div { gap: 9px; }
  .coverage-strip strong { font-size: 27px; }
  .coverage-progress { padding: 30px; gap: 26px; }
  .progress-visual { gap: 17px; }
  .coverage-orbit { width: 130px; height: 130px; }
}
@media (max-width: 720px) {
  main { padding: 0 20px; }
  .header { min-height: 76px; padding: 19px 20px; flex-wrap: wrap; gap: 10px 14px; }
  .header .brand { font-size: 21px; gap: 8px; }
  .header .brand img { width: 27px; height: 27px; }
  .header nav, .header nav[aria-label=Principal] { order: 0; width: auto; border: 0; margin: 0 0 0 auto; padding: 0; gap: 0; flex-wrap: wrap; }
  .header .nav-button { font-size: 11px; padding: 8px; }
  .header #nav-assistant { display: none; }
  .header #nav-assistant:not([aria-current]) { display: block; padding: 8px; font-size: 11px; }
  .header #nav-catalog[aria-current] { display: none; }
  .header nav>a[href='/cobertura'] { display: none; }
  .header nav .button { font-size: 11px; padding: 10px 12px; min-height: 40px; }
  .home-page .hero { padding: 45px 0 30px; }
  .hero .eyebrow { font-size: 9px; margin-bottom: 23px; letter-spacing: 1px; }
  .hero h1 { font-size: clamp(40px,7.8vw,57px); letter-spacing: -2.4px; line-height: 1.1; margin-bottom: 20px; }
  .hero h1 em { letter-spacing: -2.2px; }
  .hero-copy { font-size: 14px; max-width: 440px; }
  .hero-copy br { display: none; }
  .launcher { margin-top: 27px; padding: 18px 17px 15px; border-radius: 14px; }
  .launcher textarea { font-size: 16px; min-height: 60px; }
  .topic-chips { gap: 6px; }
  .topic-chips button { font-size: 10px; padding: 6px 9px; }
  .hero-notes { gap: 12px; font-size: 10px; flex-wrap: wrap; margin-top: 20px; }
  .assistant-mode { font-size: 9px; margin-top: 6px; }
  .independent-note { max-width: 340px; font-size: 9px; margin-top: 15px; }
  .coverage-strip { grid-template-columns: 1fr 1fr; gap: 20px 12px; padding: 23px 0; margin-top: 0; }
  .coverage-strip>div { align-items: flex-start; flex-direction: column; gap: 6px; }
  .coverage-strip strong { font-size: 28px; }
  .coverage-strip span { font-size: 10px; max-width: none; }
  .coverage-strip>a { justify-self: start; grid-column: 1/-1; display: flex; gap: 15px; flex-wrap: wrap; }
  .home-discovery { padding: 44px 0; }
  .home-discovery h2 { font-size: 27px; line-height: 1.2; margin-bottom: 22px; }
  .home-discovery .needs-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .home-discovery a.need-card { padding: 18px 15px; min-height: 147px; flex-direction: column; gap: 12px; border-radius: 11px; position: relative; }
  .need-card>span:nth-child(2) { flex: auto; }
  .need-card strong { font-size: 14px; }
  .need-card strong+span { font-size: 11px; }
  .need-arrow { display: block; position: absolute; top: 19px; right: 16px; }
  .need-icon { width: 31px; height: 31px; flex-basis: 31px; }
  .home-discovery .discovery-footer { flex-direction: column; margin-top: 20px; gap: 12px; }
  .how-section { grid-template-columns: 1fr; padding: 27px; gap: 32px; margin-bottom: 45px; border-radius: 15px; }
  .how-heading h2 { font-size: 29px; }
  .how-heading>p:not(.eyebrow) { max-width: none; font-size: 13px; }
  .how-steps { gap: 23px; }
  .how-steps li { gap: 16px; }
  .how-steps h3 { font-size: 14px; }
  .featured-section { padding-bottom: 40px; }
  .featured-section .section-heading { align-items: start; gap: 10px; }
  .featured-section .section-heading h2 { font-size: 27px; }
  .section-heading .text-link { flex-shrink: 0; padding: 0; font-size: 11px; }
  .featured-grid { grid-template-columns: 1fr; gap: 12px; }
  .featured-card { padding: 23px; }
  .featured-card h3 { margin: 11px 0; font-size: 21px; }
  .featured-card p { margin-bottom: 18px; }
  .faq-section { grid-template-columns: 1fr; gap: 24px; padding: 40px 0; }
  .faq-section h2 { font-size: 29px; margin-bottom: 15px; }
  .faq-list summary { font-size: 13px; padding-top: 17px; padding-bottom: 17px; }
  .faq-list p { font-size: 12px; }
  .closing-cta { padding: 25px 0 45px; }
  .closing-cta h2 { font-size: 34px; letter-spacing: -1.2px; }
  .site-footer { padding: 25px 20px; gap: 20px; }
  .site-footer nav { gap: 14px 20px; width: 100%; margin: 0; }
  .footer-bottom { flex-direction: column; gap: 10px; padding-top: 15px; }
  .home-page .workspace { margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
  .conversation, .sidebar { width: 100%; }
  .sidebar { display: grid; grid-template-columns: 1fr; position: static; }
  .summary-card { padding: 22px; }
  .summary-stats { display: flex; }
  .coverage-card { padding: 18px 22px; }
  .question-area { padding: 24px 20px; }
  .question-area h2 { font-size: 25px; }
  .conversation-head { padding: 20px; }
  .conversation-head .quiet { margin-left: auto; }
  .option-grid { grid-template-columns: 1fr; }
  .conversation-foot { padding: 15px 20px; }
  .cards-grid { grid-template-columns: 1fr; }
  .aid-card { padding: 22px; }
  .catalog-hero { padding: 32px 0 20px; }
  .catalog-hero h1 { font-size: 41px; }
  .catalog-hero p { font-size: 13px; }
  .filters { padding: 19px; grid-template-columns: 1fr; gap: 16px; }
  .filters .search-field { grid-column: auto; }
  .advanced-filter-grid { grid-template-columns: 1fr; }
  .guide-list { grid-template-columns: 1fr; }
  .guide { margin-top: 10px; padding-top: 20px; }
  .guide>h1 { font-size: 34px; }
  .guide-list li { padding: 20px; }
  .guide-list li>a { font-size: 15px; }
  dialog { max-width: calc(100vw - 24px); padding: 22px; border-radius: 14px; }
  .public-coverage-page main { padding: 0 20px 40px; }
  .student-intro { padding: 30px 0 25px; }
  .student-intro h1 { font-size: 40px; letter-spacing: -1.8px; }
  .student-intro .guide-lead { font-size: 14px; }
  .student-start { gap: 16px; margin-top: 20px; }
  .student-routing { padding: 23px; }
  .student-routing p { font-size: 12px; }
  .student-group { margin: 33px 0; }
  .student-group>h2 { font-size: 25px; }
  .student-grid { grid-template-columns: 1fr; gap: 12px; }
  .coverage-intro { padding-top: 32px; }
  .coverage-intro h1 { font-size: 48px; letter-spacing: -2px; }
  .coverage-national { padding: 23px; flex-direction: column; align-items: start; gap: 20px; }
  .coverage-national h2 { font-size: 26px; }
  .public-metric-grid { grid-template-columns: 1fr; gap: 12px; }
  .public-metric-grid article { padding: 23px; }
  .public-metric-grid strong { margin: 9px 0; }
  .territory-list { grid-template-columns: 1fr; }
  .territory-list li { font-size: 12px; }
  .weekly-note { padding: 24px; flex-direction: column; align-items: start; gap: 15px; }
  .weekly-note h2 { font-size: 23px; }
  .coverage-progress { grid-template-columns: 1fr; padding: 26px; gap: 24px; margin-bottom: 44px; border-radius: 15px; }
  .coverage-progress h2 { font-size: 29px; }
  .progress-visual { justify-content: center; gap: 22px; }
  .coverage-orbit { width: 136px; height: 136px; }
  .progress-copy strong { font-size: 14px; }
  .progress-copy p { font-size: 11px; }
}
@media (max-width: 370px) {
  main { padding: 0 15px; }
  .header { padding: 17px 15px; }
  .header .brand { font-size: 20px; }
  .hero h1 { font-size: 37px; letter-spacing: -1.8px; }
  .hero-notes { gap: 8px; font-size: 9px; }
  .coverage-progress { padding: 21px; }
  .progress-visual { gap: 16px; }
  .coverage-orbit { width: 115px; height: 115px; }
  .orbit-label strong { font-size: 29px; }
  .progress-copy strong { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .orbit-progress { stroke-dashoffset: 0; }
}

/* One visual language, with motion that explains interaction and preserves layout. */
/* Native cross-document snapshots can reject during rapid navigation/resize.
   A CSS entrance keeps real links, quick previews and reduced motion reliable. */
@view-transition { navigation: none; }
html.motion-ready body:not(.home-page)>main { animation: page-arrive .22s var(--ease-out-expo) backwards; }
@keyframes page-arrive { from { transform: translateY(8px); } }
@keyframes sheet-arrive { from { opacity: 0; transform: translateY(30px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes soft-pop { 0% { transform: scale(.94); } 70% { transform: scale(1.02); } 100% { transform: none; } }
@keyframes toast-arrive { from { opacity: 0; transform: translate(-50%,15px); } to { opacity: 1; transform: translate(-50%,0); } }
.header { gap: 20px; }
.brand { gap: 11px; }
.brand img { width: 35px; height: 35px; border-radius: 11px; box-shadow: 0 2px 6px #224e2820; transition: transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s; }
.brand:hover img { transform: rotate(-7deg) scale(1.07); box-shadow: 0 6px 15px #224e2820; }
.header nav { gap: 5px; }
.header .nav-button { font-size: 12px; padding: 10px; border-radius: 9px; }
.header .nav-button.active { background: #eaf0e2; color: #245c3d; }
.header #about { display: none; }
.saved-nav { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #d6e2cf; color: #35653f; border-radius: 10px; background: #f0f5e9; padding: 9px 11px; min-height: 40px; font-size: 11px; cursor: pointer; }
.saved-nav:hover { background: #e7efdb; }
.saved-nav svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.saved-count { display: grid; place-items: center; min-width: 20px; height: 20px; font-size: 10px; background: white; border-radius: 50%; font-variant-numeric: tabular-nums; }
.hero .eyebrow { letter-spacing: 1.6px; }
.hero h1 { letter-spacing: -3.9px; }
.hero { position: relative; }
.hero::before { content: ''; position: absolute; width: 320px; height: 320px; top: 70px; left: calc(50% - 160px); background: radial-gradient(circle,#dce9c934,transparent 70%); border-radius: 50%; z-index: -1; pointer-events: none; }
.launcher { border-radius: 22px; box-shadow: 0 10px 30px #2e4b2508,0 40px 100px #2e4b2508; }
.launcher label { font-weight: 550; }
.launcher .send-button { border-radius: 12px; width: 42px; height: 42px; background: #28734f; transition: transform .2s,background .2s; }
.send-button:hover:not(:disabled) { transform: translateY(-2px) rotate(-3deg); }
.send-button:active:not(:disabled) { transform: scale(.94); }
.topic-chips { gap: 8px; }
.topic-chips button { border-radius: 20px; padding: 8px 13px; min-height: 35px; background: #f8fbf4; transition: background .2s,transform .2s,border-color .2s; }
.topic-chips button:hover { transform: translateY(-2px); }
.topic-chips button:active { transform: scale(.96); }
.button,.nav-button,.quiet,.text-link,.save-aid { transition: transform .2s,background .2s,border-color .2s,box-shadow .2s; }
.button:hover { box-shadow: 0 6px 17px #234c2b0d; }
.button:active,.save-aid:active { transform: scale(.97); }
.coverage-strip { margin-top: 3px; margin-bottom: 33px; }
.coverage-progress { border-radius: 22px; margin-bottom: 5px; }
.coverage-progress .target-line { line-height: 1.8; }
.coverage-orbit { background: #ffffff45; border-radius: 50%; }
.progress-copy strong { font-size: 16px; }
.home-discovery { padding-top: 54px; }
.home-discovery .needs-grid { gap: 15px; }
.home-discovery a.need-card { border-radius: 16px; padding: 24px; min-height: 137px; position: relative; overflow: hidden; }
.home-discovery a.need-card::after { content: ''; position: absolute; inset: auto -10px -40px auto; width: 100px; height: 100px; background: #eaf1df; border-radius: 50%; opacity: 0; transform: scale(.4); transition: opacity .3s,transform .4s; pointer-events: none; z-index: -1; }
.home-discovery a.need-card:hover { background: #fbfdf8; transform: translateY(-4px); }
.home-discovery a.need-card:hover .need-icon { transform: rotate(-7deg) scale(1.09); background: #e4edce; }
.need-icon { width: 38px; height: 38px; flex-basis: 38px; border-radius: 13px; transition: transform .3s,background .3s; }
.need-arrow { display: none; }
.how-section { border-radius: 22px; background: #edf2e4; }
.how-steps li>span { background: #ffffff85; border: 1px solid #e0e8d4; width: 32px; height: 32px; flex-shrink: 0; padding: 0; display: grid; place-items: center; border-radius: 50%; font-size: 10px; }
.featured-card { border-radius: 16px; padding: 26px; }
.featured-card:hover { background: #fcfef8; box-shadow: 0 9px 24px #30542a08; }
.featured-link { font-weight: 550; }
.aid-card { position: relative; display: flex; flex-direction: column; border-radius: 16px; padding: 25px; transition: border-color .25s,transform .25s,box-shadow .25s; }
.aid-card:hover { border-color: #a2bd98; transform: translateY(-3px); box-shadow: 0 10px 26px #204b2908; }
.aid-card .card-meta { color: #687b64; font-size: 10px; line-height: 1.8; }
.aid-card h3 { font-size: 20px; font-weight: 560; margin-top: 13px; }
.aid-card>p { font-size: 13px; line-height: 1.8; }
.aid-card>.badge { align-self: flex-start; margin: 3px 0; }
.aid-card .card-foot { margin-top: auto; padding-top: 20px; }
.card-foot button { font-weight: 600; min-height: 36px; }
.save-aid { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #d3dfcb; border-radius: 9px; background: #f6f9ef; color: #38613b; padding: 10px 14px; min-height: 41px; font-size: 12px; font-weight: 550; cursor: pointer; }
.save-aid::before { content: none; }
.save-aid:hover { background: #eaf2dd; border-color: #9cba8c; }
.save-aid.is-saved { background: #e5efd9; border-color: #adc69c; color: #2a6639; }
.save-aid.is-saved::before { content: none; }
.aid-card>.save-aid { align-self: flex-start; margin-top: 15px; }
.aid-card>.amount-action { margin-top: 8px; font-size: 12px; }
.cards-grid { gap: 18px; }
.guide-list li { border-radius: 14px; transition: border-color .2s,background .2s; }
.guide-list li:hover { border-color: #a6bc9e; background: #fcfef8; }
.guide-list li>a { display: inline-block; font-size: 17px; line-height: 1.45; }
.compact-aid { max-width: 850px; }
.compact-aid .aid-snapshot { padding: 24px; border: 1px solid #dae5d1; background: #f1f6e8; border-radius: 18px; margin: 20px 0; }
.compact-aid .aid-snapshot h2 { color: #5a7451; font-size: 11px; text-transform: uppercase; letter-spacing: 1.3px; }
.compact-aid .aid-benefit { font-size: 16px; line-height: 1.85; }
.compact-aid .aid-quickfacts { margin-bottom: 0; }
.compact-aid .aid-fact { background: #ffffff99; border-color: #e0e8d7; }
.aid-topic>summary { padding: 19px 20px; }
.aid-topic[open] { background: #fefefb; }
.aid-topic-content { line-height: 1.9; }
.student-routing { border-radius: 18px; }
.student-card .student-alias { font-size: 11px; border-radius: 5px; }
.student-card .student-deadline { font-weight: 550; padding: 8px 0 0; }
.student-card .student-audience,.student-card .student-edition { display: block; font-size: 12px; line-height: 1.85; color: var(--muted); margin-top: 8px; }
.conversation { border-radius: 21px; }
.conversation-head { background: #fcfdf9; border-radius: 21px 21px 0 0; }
.avatar { background: #e8efdf; color: #24673e; font-family: Georgia,serif; }
.option { border-radius: 12px; transition: border-color .2s,background .2s,transform .2s; }
.option-copy { flex: 1; min-width: 0; text-align: left; }
.option-label,.option-explanation { display: block; overflow-wrap: anywhere; }
.option-explanation { margin-top: 4px; color: #53654f; font-size: 12px; line-height: 1.5; font-weight: 400; }
.number-format-hint,.number-value-preview { margin: 8px 0; font-size: 12px; line-height: 1.6; color: #53654f; }
.number-value-preview:empty { display: none; }
.number-value-preview { font-weight: 600; font-variant-numeric: tabular-nums; }
.option:hover { transform: translateY(-1px); }
.option[aria-pressed=true] { border-color: #86a777; background: #edf4e3; animation: soft-pop .25s ease-out; }
.question-area { animation: field-arrive .3s ease-out both; }
@keyframes field-arrive { from { opacity: .4; transform: translateY(7px); } to { opacity: 1; transform: none; } }
.programme-context { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 14px 20px; margin: 15px 20px 0; border-radius: 11px; background: #eef4e5; border: 1px solid #dce7d0; }
.programme-context>span { font-size: 12px; line-height: 1.6; }
.programme-context .quiet { padding: 6px; font-size: 11px; white-space: nowrap; }
.history-details summary,.chat-settings summary { font-size: 11px; }
.aid-sheet {
  width: min(760px,calc(100vw - 38px)); max-width: 760px; max-height: 92dvh;
  border: 1px solid #dce4d6; border-radius: 23px; padding: 0; color: var(--ink);
  background: #fcfdf9; box-shadow: 0 30px 120px #142c2440; overscroll-behavior: contain;
}
.aid-sheet[open] { animation: sheet-arrive .32s cubic-bezier(.2,.7,.2,1) both; }
.aid-sheet::backdrop { background: #17302670; backdrop-filter: blur(7px); }
.sheet-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 28px; border-bottom: 1px solid #e2e9dd; background: #fcfdf9ed; position: sticky; top: 0; z-index: 2; backdrop-filter: blur(8px); }
.sheet-brand { font-size: 15px; font-weight: 650; letter-spacing: -.5px; color: #416c48; }
.sheet-close { display: inline-flex; align-items: center; justify-content: center; background: white; border: 1px solid #d7e2cf; border-radius: 20px; font-size: 11px; padding: 7px 13px; min-height: 34px; color: #4e6650; cursor: pointer; }
.sheet-close::after { content: none; }
.preview-aid { min-height: 44px; padding: 10px 13px; border: 1px solid #cad8ce; border-radius: 10px; background: #fff; color: var(--green); font-size: 13px; line-height: 1.5; cursor: pointer; }
.preview-aid:hover { background: #f0f6ef; border-color: #8eaf99; }
.rescue-actions .save-aid { min-height: 44px; padding: 10px 14px; }
.deadline-list>.ad-slot-container,.student-page main>.ad-slot-container { margin: 45px 0; }
.sheet-body { padding: 30px 34px 36px; }
.sheet-body>.overline { margin: 0 0 12px; color: #527849; font-size: 9px; }
.sheet-title { font-size: clamp(25px,3vw,34px); font-weight: 560; letter-spacing: -1px; line-height: 1.18; margin: 0 0 17px; overflow-wrap: anywhere; }
.brief-kind { font-size: 12px; line-height: 1.8; color: #65725e; margin: 0 0 18px; }
.brief-repayment { background: #faf0da; color: #775620; font-size: 12px; font-weight: 600; padding: 11px 14px; border-radius: 8px; margin: 0 0 16px; }
.brief-benefit { padding: 22px; background: #edf4e2; border: 1px solid #dce7cf; border-radius: 14px; margin-bottom: 16px; }
.brief-benefit h3 { font-size: 10px; color: #5e7b4b; letter-spacing: 1.4px; text-transform: uppercase; font-weight: 650; margin: 0 0 11px; }
.brief-benefit p { font-size: 16px; line-height: 1.8; margin: 0; color: #2f4e30; }
.brief-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.brief-facts>div { border: 1px solid #e0e7da; border-radius: 10px; padding: 15px 17px; background: white; }
.brief-facts span { display: block; font-size: 10px; color: #6b7a62; margin-bottom: 6px; }
.brief-facts strong { display: block; font-size: 13px; line-height: 1.7; font-weight: 550; }
.benefit-item { border-top: 1px solid #e2eada; padding: 17px 0; }
.benefit-item-label { display: block; font-size: 12px; line-height: 1.7; color: #677b5c; margin-bottom: 7px; }
.benefit-item>strong { display: block; color: #355f3c; font-size: 17px; line-height: 1.65; font-weight: 600; }
.benefit-item>p { margin: 7px 0; }
.benefit-item>small { display: block; font-size: 12px; line-height: 1.8; color: var(--muted); }
.benefit-item>a { display: block; font-size: 10px; margin-top: 7px; }
.brief-facts small { display: block; font-size: 11px; line-height: 1.85; color: #68765f; margin-top: 9px; }
.brief-facts .glance-edition,.aid-fact .glance-edition { display: inline-block; padding: 3px 8px; background: #eff4e8; border-radius: 5px; font-size: 10px; color: #58764c; }
.brief-start,.compact-aid .aid-start { border: 1px solid #dae4d2; border-radius: 13px; padding: 21px 23px; background: #fffefa; margin: 17px 0 12px; }
.brief-start h3,.compact-aid .aid-start h2 { font-size: 15px; line-height: 1.7; color: #355d38; font-weight: 600; margin: 0 0 10px; }
.brief-start p,.compact-aid .aid-start p { font-size: 13px; line-height: 1.85; margin: 10px 0; overflow-wrap: anywhere; }
.brief-start .brief-next-note,.compact-aid .aid-next-note { color: #68775d; font-size: 12px; padding-left: 12px; border-left: 2px solid #c4d5b6; }
.brief-start .brief-agency,.compact-aid .aid-start .aid-agency { font-size: 12px; color: var(--muted); margin: 14px 0; }
.brief-start>.button,.compact-aid .aid-start>.button { font-size: 12px; min-height: 42px; padding: 11px 16px; }
.brief-orientation { font-size: 10px; color: #7e8b72; line-height: 1.8; margin-bottom: 18px; }
.compact-aid>.aid-quickfacts { margin: 0 0 18px; }
.compact-aid>.aid-quickfacts .aid-fact { background: #fffefa; border: 1px solid #e0e7da; border-radius: 11px; padding: 18px; }
.compact-aid>.aid-quickfacts .aid-fact small { line-height: 1.85; margin-top: 9px; }
.brief-facts+.small { font-size: 10px; margin: 12px 0 17px; }
.brief-actions { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 25px; }
.brief-actions .button,.brief-actions .save-aid { min-height: 43px; font-size: 12px; padding: 11px 16px; }
.brief-topic { border: 1px solid #dfe7d8; border-radius: 12px; background: white; margin: 10px 0; overflow: hidden; }
.brief-topic>summary { padding: 18px 41px 18px 18px; font-size: 14px; font-weight: 550; cursor: pointer; list-style: none; position: relative; }
.brief-topic>summary::-webkit-details-marker { display: none; }
.brief-topic>summary::after { content: '+'; position: absolute; right: 18px; font-size: 20px; color: #598349; top: 13px; transition: transform .2s; }
.brief-topic[open]>summary::after { transform: rotate(45deg); }
.brief-topic[open]>summary { border-bottom: 1px solid #e7edde; background: #f9fbf4; }
.brief-topic-body { padding: 9px 20px 18px; }
.brief-topic-body p,.brief-topic-body li { font-size: 13px; line-height: 1.9; overflow-wrap: anywhere; }
.brief-topic-body .small { font-size: 11px; }
.brief-checklist { list-style: none; padding: 0; margin: 9px 0 10px; }
.brief-checklist li { padding: 13px 0 13px 25px; position: relative; border-bottom: 1px solid #edf1e7; }
.brief-checklist li::before { content: ''; position: absolute; left: 0; top: 23px; width: 7px; height: 7px; border: 1.5px solid #8ca77b; border-radius: 50%; }
.brief-checklist li:last-child { border-bottom: 0; }
.brief-source-link { display: block; font-size: 10px; color: #5d7953; margin: 6px 0; }
.brief-steps { padding-left: 21px; counter-reset: none; }
.brief-steps li { padding: 10px 0 10px 6px; }
.brief-steps li::marker { color: #548248; font-size: 12px; font-weight: 600; }
.brief-steps strong { font-size: 13px; font-weight: 600; }
.brief-steps p { color: #63715c; margin: 7px 0 0; }
.brief-sources { list-style: none; padding: 0; margin-top: 0; }
.brief-sources li { padding: 10px 0; border-bottom: 1px solid #edf1e7; }
.brief-sources a { font-size: 12px; }
.brief-call { padding: 13px 0; border-bottom: 1px solid #e5ebdf; }
.brief-call:last-child { border: 0; }
.brief-call strong { font-size: 13px; display: block; margin-bottom: 9px; }
.brief-call p { margin: 8px 0; }
.brief-call .badge { display: inline-block; }
.brief-provenance { color: #6d7f60; font-size: 10px; line-height: 1.8; text-align: center; margin: 22px 0 0; }
.brief-glossary dt { font-size: 12px; font-weight: 600; color: #3c6335; text-transform: capitalize; margin: 16px 0 5px; }
.brief-glossary dd { margin: 0; font-size: 12px; color: #627358; line-height: 1.8; }
.scroll-reveal { opacity: .2; transform: translateY(15px); transition: opacity .55s ease-out,transform .55s ease-out; }
.scroll-reveal.is-visible { opacity: 1; transform: none; }
.scroll-reveal.reveal-delay-1 { transition-delay: .06s; }
.scroll-reveal.reveal-delay-2 { transition-delay: .12s; }
.brief-rule { border-top: 1px solid #e7edde; padding: 15px 0 5px; }
.brief-rule strong { font-size: 12px; color: #416936; }
.brief-rule p { font-size: 12px; margin: 7px 0; }
.ui-toast { position: fixed; bottom: 26px; left: 50%; transform: translateX(-50%); max-width: min(540px,calc(100vw - 36px)); width: max-content; background: #234d37; color: #f6f8ec; border: 1px solid #447158; border-radius: 13px; padding: 15px 22px; z-index: 1000; box-shadow: 0 10px 40px #16321f25; font-size: 12px; line-height: 1.7; animation: toast-arrive .25s ease-out; pointer-events: none; }
.saved-privacy { font-size: 11px; line-height: 1.8; color: #65765d; background: #edf3e6; border-radius: 9px; padding: 12px 15px; }
.saved-empty { text-align: center; padding: 32px 15px 20px; }
.saved-empty-mark { display: inline-grid; place-items: center; font-size: 40px; color: #568441; background: #edf3e3; width: 85px; height: 85px; border-radius: 50%; margin: 0 0 18px; }
.saved-empty h3 { font-size: 23px; font-weight: 550; letter-spacing: -.5px; margin: 0 0 14px; }
.saved-empty p { font-size: 13px; color: #6d7b63; margin: 0 auto 23px; max-width: 330px; line-height: 1.8; }
.saved-list { margin: 25px 0; }
.saved-item { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding: 20px 0; border-bottom: 1px solid #e0e7d8; }
.saved-title { display: block; background: none; border: 0; color: #255838; font-size: 16px; font-weight: 560; text-align: left; padding: 0; line-height: 1.5; cursor: pointer; }
.saved-title:hover { text-decoration: underline; text-underline-offset: 4px; }
.saved-item p { color: #66745e; font-size: 12px; line-height: 1.7; margin: 8px 0 0; }
.saved-item .small { font-size: 10px; }
.saved-remove { border: 0; background: none; padding: 5px; font-size: 11px; color: #84664b; min-height: 36px; }
.saved-controls { display: flex; gap: 10px; flex-wrap: wrap; }
.saved-controls .button { font-size: 11px; }
.deadlines-page { padding-top: 48px; padding-bottom: 65px; max-width: 1060px; }
.deadlines-page h1 { font-size: clamp(40px,5.5vw,64px); font-weight: 560; line-height: 1.1; letter-spacing: -2.7px; }
.deadlines-page .guide-lead { max-width: 690px; font-size: 15px; }
.deadlines-page .notice { font-size: 12px; margin: 25px 0 30px; }
.deadline-list { display: grid; gap: 13px; }
.deadline-card { display: grid; grid-template-columns: 135px minmax(0,1fr) auto; gap: 25px; align-items: center; padding: 22px; border: 1px solid #dce5d3; border-radius: 15px; background: white; }
.deadline-date { padding: 17px 12px; border-radius: 11px; background: #edf3e4; }
.deadline-date span { display: block; font-size: 12px; text-transform: uppercase; color: var(--muted); letter-spacing: 1px; margin-bottom: 6px; }
.deadline-date strong { font-size: 16px; line-height: 1.5; color: #3d6b39; font-weight: 550; }
.deadline-card h2 { font-size: 19px; line-height: 1.45; letter-spacing: -.5px; margin: 9px 0 5px; }
.deadline-card h2 a { color: var(--ink); text-decoration: none; }
.deadline-card h2 a:hover { color: var(--green); }
.deadline-card p { font-size: 11px; color: #6a795f; margin: 8px 0 0; }
.deadline-card .overline { font-size: 9px; }
.empty-state { padding: 35px; border: 1px solid #e0e7d8; background: white; border-radius: 16px; }
.empty-state h2 { font-size: 25px; }
.empty-state p { font-size: 13px; line-height: 1.8; color: #61725a; }
.field-transition { animation: field-arrive .3s ease-out; }
.reference-pagination a { border-radius: 9px; }
@media(max-width:1000px) {
  .saved-label { display: none; }
  .header nav { gap: 2px; }
  .header .nav-button { padding: 9px 8px; }
  .deadline-card { gap: 18px; grid-template-columns: 115px minmax(0,1fr); }
  .deadline-card .save-aid { grid-column: 2; justify-self: start; }
}
@media(max-width:720px) {
  .header { gap: 15px; padding-top: 16px; padding-bottom: 15px; }
  .header .brand { font-size: 22px; }
  .header .brand img { width: 31px; height: 31px; }
  .header nav,.header nav[aria-label=Principal] { width: 100%; order: 2; justify-content: space-between; margin: 0; gap: 8px; }
  .header .nav-button { padding: 8px 7px; font-size: 11px; }
  .header .saved-nav { margin-left: auto; padding: 7px 11px; min-height: 36px; gap: 7px; }
  .header .saved-label { display: inline; font-size: 11px; }
  .header #nav-catalog { padding: 8px 6px; }
  .home-page .hero { padding-top: 31px; }
  .hero h1 { letter-spacing: -2.2px; }
  .hero .eyebrow { font-size: 8px; margin-bottom: 20px; }
  .launcher { padding: 19px; border-radius: 19px; }
  .topic-chips { gap: 6px; }
  .topic-chips button { padding: 7px 10px; font-size: 10px; min-height: 34px; }
  .hero-notes { gap: 8px 12px; font-size: 10px; }
  .coverage-strip { margin-bottom: 24px; }
  .coverage-progress { border-radius: 19px; }
  .home-discovery { padding-top: 39px; }
  .home-discovery a.need-card { padding: 20px 16px; border-radius: 15px; }
  .need-icon { width: 35px; height: 35px; flex-basis: 35px; border-radius: 12px; }
  .aid-card { padding: 23px; }
  .aid-card h3 { font-size: 20px; }
  .aid-card .save-aid { padding: 9px 13px; font-size: 11px; }
  .aid-sheet { width: calc(100vw - 14px); max-width: none; max-height: 94dvh; border-radius: 21px 21px 0 0; margin: auto 7px 0; }
  .sheet-toolbar { padding: 15px 20px; }
  .sheet-body { padding: 25px 22px 33px; }
  .sheet-title { font-size: 28px; line-height: 1.2; letter-spacing: -.8px; }
  .sheet-brand { font-size: 14px; }
  .brief-kind { font-size: 11px; }
  .brief-benefit { padding: 20px; border-radius: 13px; }
  .brief-benefit p { font-size: 15px; }
  .brief-facts { gap: 9px; }
  .brief-facts>div { padding: 14px; }
  .brief-facts strong { font-size: 12px; }
  .brief-actions { gap: 9px; }
  .brief-actions .button,.brief-actions .save-aid { font-size: 11px; padding: 11px 13px; }
  .brief-topic>summary { font-size: 13px; padding: 17px 37px 17px 16px; }
  .brief-topic-body { padding: 8px 17px 15px; }
  .brief-topic-body p,.brief-topic-body li { font-size: 12px; }
  .brief-checklist li { padding-left: 20px; }
  .brief-call strong { font-size: 12px; }
  .saved-empty { padding-top: 23px; }
  .saved-empty h3 { font-size: 22px; }
  .saved-title { font-size: 15px; }
  .saved-controls { flex-direction: column; align-items: stretch; }
  .programme-context { padding: 13px 15px; margin: 13px 16px 0; flex-wrap: wrap; gap: 5px; }
  .programme-context>span { font-size: 11px; }
  .deadlines-page { padding-top: 30px; }
  .deadlines-page h1 { font-size: 43px; letter-spacing: -1.9px; }
  .deadlines-page .guide-lead { font-size: 14px; }
  .deadlines-page .notice { font-size: 11px; }
  .deadline-card { grid-template-columns: 1fr; padding: 21px; gap: 14px; }
  .deadline-date { display: flex; align-items: center; gap: 12px; padding: 10px 14px; justify-self: start; }
  .deadline-date span { margin: 0; font-size: 12px; }
  .deadline-date strong { font-size: 13px; }
  .deadline-card h2 { font-size: 19px; }
  .deadline-card .save-aid { grid-column: 1; margin-top: 3px; }
  .compact-aid .aid-snapshot { padding: 21px; }
  .compact-aid .aid-benefit { font-size: 15px; }
}
@media(max-width:540px) {
  .brief-facts,.compact-aid>.aid-quickfacts { grid-template-columns: 1fr; }
  .brief-start,.compact-aid .aid-start { padding: 18px; }
}
@media(max-width:370px) {
  .header .saved-label { display: none; }
  .header .brand { font-size: 21px; }
  .sheet-body { padding: 22px 18px 30px; }
  .sheet-title { font-size: 25px; }
  .brief-facts { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  @view-transition { navigation: none; }
  ::view-transition-old(root),::view-transition-new(root),::view-transition-group(root) { animation: none !important; }
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Journey refinement. Content is readable before JavaScript and between steps. */
html { overflow-x: clip; scroll-padding-top: 120px; }
body { background: radial-gradient(ellipse at 50% 420px, #e6eee65c, transparent 650px), #fbfaf7; color: var(--ink); }
body.home-page { background: radial-gradient(ellipse at 50% 420px, #dce9df5c, transparent 620px), linear-gradient(90deg,#182f2804 1px,transparent 1px), linear-gradient(#182f2804 1px,transparent 1px), #f7f6f2; background-size: auto,80px 80px,80px 80px,auto; }
.header { position: sticky; top: 0; z-index: 30; min-height: 80px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, #fbfaf7 86%, transparent); backdrop-filter: blur(16px) saturate(160%); -webkit-backdrop-filter: blur(16px) saturate(160%); }
.header .brand { color: var(--ink); }
.header .nav-button { color: var(--muted); min-height: 40px; }
.header .nav-button.active,.header .nav-button:hover { color: var(--green); background: var(--pale); }
.header .saved-nav { color: var(--green); background: #fff; border-color: var(--line); box-shadow: var(--shadow-card); }
.header .saved-nav:hover { border-color: var(--line-active); background: var(--pale); }
.hero { padding-top: 58px; }
.hero h1 { font-size: clamp(40px,5.6vw,78px); line-height: 1.08; letter-spacing: -.03em; color: var(--ink); }
.hero h1 em { color: var(--green); }
.hero .eyebrow { display: inline-flex; border: 1px solid var(--line); border-radius: 100px; background: #ffffff8c; padding: 7px 12px; font-size: 9px; letter-spacing: .1em; margin-bottom: 23px; }
.hero .lead { max-width: 620px; font-size: 16px; line-height: 1.75; color: var(--muted); }
.home-catalog-link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; margin-top: 12px; font-size: 14px; font-weight: 600; color: var(--green); text-underline-offset: 4px; }
.home-catalog-link:hover { text-decoration-thickness: 2px; }
.launcher-status { min-height: 20px; margin: 6px 0 0; font-size: 13px; color: var(--muted); }
.status-dot { background: var(--green); }
.launcher.composer { max-width: 710px; border: 1px solid var(--line); border-radius: 24px; padding: 23px; margin-top: 30px; background: var(--paper); box-shadow: var(--shadow-card),0 36px 80px -45px #0b5d462b; transition: border-color .25s var(--ease-soft),box-shadow .3s var(--ease-soft); }
.launcher.composer:focus-within { border-color: var(--line-active); box-shadow: 0 0 0 4px #0b5d4608,var(--shadow-hover); }
.composer label { color: var(--ink); font-size: 13px; }
.composer textarea { margin-top: 12px; font-size: 16px; min-height: 58px; resize: vertical; }
.composer textarea::placeholder { color: #65766d; }
.composer .send-button { background: var(--green); border-radius: 14px; box-shadow: 0 4px 10px #0b5d4614; transition: transform .25s var(--ease-spring),background-color .2s; }
.composer .send-button:hover:not(:disabled) { transform: translateY(-2px) scale(1.04); background: var(--green-deep); }
.composer .send-button:active:not(:disabled) { transform: scale(.95); }
.topic-chips .chip { font-size: 11px; border-color: var(--line); background: #fbfcfa; color: var(--muted); min-height: 38px; transition: transform .25s var(--ease-spring),border-color .2s,background-color .2s; }
.topic-chips .chip:hover { border-color: var(--line-active); color: var(--green); background: var(--pale); transform: translateY(-2px); }
.hero-notes { color: var(--muted); }
.hero-notes span+span::before { color: #6f8175; }
#start-guided { font-size: 12px; color: var(--green); min-height: 40px; }
.assistant-mode,.independent-note { color: var(--muted); }
.button,.save-aid,.nav-button,.quiet,.text-link { transition: transform .23s var(--ease-spring),border-color .23s var(--ease-soft),background-color .23s var(--ease-soft),box-shadow .23s var(--ease-soft); }
.button.primary { background: var(--green); color: #fff; }
.button.primary:hover { background: var(--green-deep); transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.button.secondary { background: #fff; border-color: var(--line-active); color: var(--green); }
.button.secondary:hover { background: var(--pale); transform: translateY(-2px); }
.button:active,.save-aid:active { transform: scale(.98); }
:focus-visible { outline: 3px solid #9b6b22; outline-offset: 4px; }
.need-card,.featured-card,.aid-card,.conversation,.summary-card,.aid-topic,.guide-list li { border: 1px solid var(--line); box-shadow: var(--shadow-card); background: var(--paper); }
.need-card,.featured-card,.aid-card,.guide-list li { transition: transform .3s var(--ease-out-expo),border-color .25s,box-shadow .3s var(--ease-soft); }
.need-card:hover,.featured-card:hover,.aid-card:hover,.guide-list li:hover { border-color: var(--line-active); box-shadow: var(--shadow-hover); transform: translateY(-3px); }
.workspace { max-width: 940px; margin-top: 32px; }
.conversation-head { background: #fbfcf9; }
.avatar { color: var(--green); background: var(--pale); }
.question-area { animation: none; }
.question-area h2 { letter-spacing: -.03em; font-size: clamp(23px,3vw,29px); line-height: 1.25; }
.option.option-btn { border-color: var(--line); background: #fff; min-height: 52px; font-size: 13px; border-radius: 14px; transition: transform .22s var(--ease-spring),border-color .2s,background-color .2s,box-shadow .2s; }
.option.option-btn:hover { transform: translateY(-2px); border-color: var(--line-active); box-shadow: var(--shadow-card); background: #f7faf7; }
.option.option-btn:active { transform: scale(.98); }
.option.option-btn[aria-pressed=true] { border-color: var(--green); background: #edf5f0; color: var(--green); animation: none; }
.option-mark { width: 20px; height: 20px; min-width: 20px; transition: transform .25s var(--ease-spring),background-color .2s,border-color .2s; }
.option[aria-pressed=true] .option-mark { transform: scale(1.08); background: var(--green); border-color: var(--green); }
.sidebar .summary-card { padding: 18px 22px; border-radius: 17px; gap: 18px; }
.summary-stats strong,#answered-count { display: inline-block; min-inline-size: 2ch; font-variant-numeric: tabular-nums; }
.summary-stats strong { color: var(--green); font-size: 23px; }
.summary-stats span { color: var(--muted); }
.results-section { scroll-margin-top: 125px; }
.result-tabs { gap: 8px; flex-wrap: wrap; }
.result-tabs button { border-radius: 100px; border: 1px solid var(--line); background: #fff; color: var(--muted); }
.result-tabs button[aria-pressed=true] { background: var(--green); color: #fff; border-color: var(--green); }
.aid-card { border-radius: 21px; padding: 24px; min-width: 0; overflow-wrap: anywhere; }
.aid-card h3 { font-size: 21px; line-height: 1.28; letter-spacing: -.025em; }
.aid-card .badge { align-self: flex-start; line-height: 1.5; border-radius: 8px; font-size: 10px; padding: 6px 9px; margin-bottom: 8px; background: var(--pale); color: var(--green); }
.aid-card .badge.warning,.badge.warning,.notice { background: #fbf4e7; color: #78541e; border-color: #e9dabd; }
.card-benefit { margin: 12px 0 16px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: #f5f8f3; }
.card-benefit-label { display: block; color: var(--green); font-size: 10px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.card-benefit p { font-size: 13px; line-height: 1.7; margin: 7px 0 0; color: var(--ink); }
.aid-card .card-match-reason { font-size: 11px; margin: 0 0 16px; color: var(--muted); }
.aid-card .card-foot { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin-top: auto; padding-top: 16px; }
.aid-card .card-foot button { font-size: 12px; text-align: center; min-height: 44px; text-decoration: none; }
.aid-card .card-foot>span { font-size: 11px; line-height: 1.6; color: var(--muted); }
.aid-card>.save-aid { margin-top: 12px; align-self: flex-start; }
.scope-pill,.aid-kicker { letter-spacing: .08em; border: 1px solid var(--line); border-radius: 100px; padding: 6px 10px; color: var(--green); background: var(--pale); }
.guide.compact-aid { max-width: 940px; margin-top: 28px; }
.compact-aid h1 { font-size: clamp(28px,3.5vw,42px); line-height: 1.1; letter-spacing: -.03em; max-width: 880px; }
.compact-aid .metadata { gap: 8px; }
.compact-aid .metadata>span { padding: 4px 9px; border: 1px solid var(--line); border-radius: 100px; background: #fff; }
.compact-aid .breadcrumbs { margin-bottom: 22px; }
.compact-aid .aid-review-date { color: var(--muted); margin-bottom: 13px; }
.compact-aid .aid-snapshot { background: #edf4ed; border: 1px solid var(--line-active); padding: 22px 25px; border-radius: 20px; margin: 16px 0 12px; box-shadow: var(--shadow-card); }
.compact-aid .aid-snapshot h2 { font-size: 10px; letter-spacing: .1em; color: var(--green); }
.compact-aid .aid-snapshot .aid-benefit { font-size: 16px; line-height: 1.65; color: var(--ink); margin: 8px 0 0; }
.compact-aid>.aid-quickfacts { gap: 12px; margin: 12px 0; }
.compact-aid .aid-fact { padding: 17px 20px; border-color: var(--line); border-radius: 16px; background: #fff; }
.compact-aid .aid-fact>span { color: var(--green); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.compact-aid .aid-fact strong { font-size: 14px; line-height: 1.5; color: var(--ink); }
.compact-aid .aid-fact small { color: var(--muted); font-size: 11px; line-height: 1.6; }
.compact-aid>.aid-actions { gap: 10px; margin: 16px 0 22px; }
.compact-aid>.aid-actions .button,.compact-aid>.aid-actions .save-aid { min-height: 44px; font-size: 12px; margin: 0; }
.aid-topic { border-radius: 15px; transition: border-color .25s,background-color .25s,box-shadow .25s; }
.aid-topic:hover,.aid-topic:focus-within { border-color: var(--line-active); }
.aid-topic>summary { position: relative; list-style: none; padding: 19px 47px 19px 20px; color: var(--ink); }
.aid-topic>summary::-webkit-details-marker { display: none; }
.aid-topic>summary::after { content: '+'; position: absolute; right: 20px; top: 14px; font-size: 23px; color: var(--green); transition: transform .25s var(--ease-spring); }
.aid-topic[open]>summary::after { content: '−'; transform: none; }
.aid-topic[open] { background: #fff; border-color: var(--line-active); }
.aid-topic[open]>.aid-topic-content { animation: detail-enter .22s var(--ease-out-expo) backwards; }
.aid-next-reads { margin: 32px 0; padding: 25px; background: #f0f4ec; border: 1px solid var(--line); border-radius: 22px; }
.aid-next-reads>h2 { margin: 8px 0 20px; font-size: clamp(22px,3vw,28px); line-height: 1.15; letter-spacing: -.03em; }
.aid-next-reads>.overline { color: var(--green); font-size: 10px; letter-spacing: .1em; margin: 0; }
.aid-next-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.aid-next-card { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; color: var(--ink); text-decoration: none; min-width: 0; box-shadow: var(--shadow-card); transition: transform .3s var(--ease-out-expo),border-color .2s,box-shadow .3s; }
.aid-next-card>span { color: var(--muted); font-size: 10px; }
.aid-next-card>strong { font-size: 15px; line-height: 1.4; font-weight: 600; }
.aid-next-card>svg { width: 21px; height: 21px; margin-top: auto; color: var(--green); transition: transform .25s var(--ease-out-expo); }
.aid-next-card:hover,.aid-next-card:focus-visible { transform: translateY(-3px); border-color: var(--line-active); box-shadow: var(--shadow-hover); }
.aid-next-card:hover>svg { transform: translateX(3px); }
.ad-slot-container { min-height: 280px; margin: 48px 0; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: #f7f6f2; }
.ad-slot-box { min-height: 280px; }
.ad-slot-label { color: var(--muted); font-size: 10px; letter-spacing: .08em; }
.aid-sheet[open],#detail-dialog[open] { animation: dialog-enter .34s var(--ease-out-expo) backwards; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 24px 100px -20px #102b2852; }
.aid-sheet::backdrop,#detail-dialog::backdrop { background: #102b2859; backdrop-filter: blur(8px); }
.sheet-toolbar { background: #fbfaf7; border-color: var(--line); }
.sheet-title { color: var(--ink); letter-spacing: -.03em; line-height: 1.12; }
.brief-benefit { border-color: var(--line-active); background: #edf4ed; border-radius: 18px; }
.brief-benefit h3 { color: var(--green); }
.brief-facts>div { border-color: var(--line); background: #fff; }
.brief-actions .aid-public-link { width: 100%; justify-content: space-between; padding: 15px 18px; box-shadow: var(--shadow-card); }
.aid-public-link::after { content: '+'; font-size: 20px; transition: transform .25s var(--ease-spring); }
.aid-public-link:hover::after { transform: rotate(90deg); }
.saved-privacy { color: var(--muted); background: var(--pale); }
/* Higher specificity keeps the explorer's structural CSS, with these surfaces. */
.aid-explorer .explore-filters,.aid-explorer .explore-card { border-color: var(--line); background: #fff; box-shadow: var(--shadow-card); }
.aid-explorer .explore-card { border-radius: 20px; transition: transform .3s var(--ease-out-expo),border-color .25s,box-shadow .3s; }
.aid-explorer .explore-card:hover { border-color: var(--line-active); box-shadow: var(--shadow-hover); }
.aid-explorer .explore-card h3 { letter-spacing: -.025em; line-height: 1.3; }
.aid-explorer .explore-card h3 a { color: var(--ink); }
.aid-explorer .explore-benefit { color: var(--ink); }
.aid-explorer .explore-group-nav a { color: var(--green); background: var(--pale); border-color: var(--line); }
.aid-explorer .explore-chip { color: var(--green); background: var(--pale); border-color: var(--line-active); }

/* Paint the title immediately: opening motion never fades the LCP candidate. */
@keyframes paper-enter { from { transform: translateY(16px) scale(.99); } to { transform: none; } }
@keyframes journey-enter { from { opacity: .7; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes item-enter { from { opacity: .65; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes metric-pulse { 45% { transform: scale(1.08); } }
@keyframes detail-enter { from { opacity: .75; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes dialog-enter { from { opacity: 0; transform: translateY(10px) scale(.97); } to { opacity: 1; transform: none; } }
html.motion-ready .home-page>.header { animation: paper-enter .4s var(--ease-out-expo) backwards; }
html.motion-ready .hero>.eyebrow,html.motion-ready .hero>h1,html.motion-ready .hero>.lead { animation: paper-enter .35s var(--ease-out-expo) .055s backwards; }
html.motion-ready .hero>.composer { animation: paper-enter .3s var(--ease-out-expo) .11s backwards; }
html.motion-ready .topic-chips>.chip { animation: item-enter .18s var(--ease-out-expo) .165s backwards; }
html.motion-ready .topic-chips>.chip:nth-child(2) { animation-delay: .22s; }
html.motion-ready .topic-chips>.chip:nth-child(3) { animation-delay: .275s; }
html.motion-ready .topic-chips>.chip:nth-child(4) { animation-delay: .33s; }
.motion-enter { animation: journey-enter .3s var(--ease-out-expo) backwards; }
#answered-count.motion-enter,#partial-count.motion-enter { animation: metric-pulse .3s var(--ease-spring); }
.motion-enter .option-btn,.motion-enter>.aid-card,.motion-enter .explore-card { animation: item-enter .25s var(--ease-out-expo) backwards; }
.motion-enter .option-btn:nth-child(8n+2),.motion-enter>.aid-card:nth-child(6n+2),.motion-enter .explore-card:nth-child(6n+2) { animation-delay: .035s; }
.motion-enter .option-btn:nth-child(8n+3),.motion-enter>.aid-card:nth-child(6n+3),.motion-enter .explore-card:nth-child(6n+3) { animation-delay: .07s; }
.motion-enter .option-btn:nth-child(8n+4),.motion-enter>.aid-card:nth-child(6n+4),.motion-enter .explore-card:nth-child(6n+4) { animation-delay: .105s; }
.motion-enter .option-btn:nth-child(8n+5),.motion-enter>.aid-card:nth-child(6n+5),.motion-enter .explore-card:nth-child(6n+5) { animation-delay: .14s; }
.motion-enter .option-btn:nth-child(8n+6),.motion-enter>.aid-card:nth-child(6n+6),.motion-enter .explore-card:nth-child(6n+6) { animation-delay: .175s; }
.motion-enter .option-btn:nth-child(8n+7) { animation-delay: .21s; }
.motion-enter .option-btn:nth-child(8n+8) { animation-delay: .245s; }
/* CSS-only SSR entries use transforms only, so no-JS content is always legible. */
.compact-aid>h1,.compact-aid>.aid-snapshot,.compact-aid>.aid-quickfacts,.compact-aid>.aid-actions { animation: paper-enter .35s var(--ease-out-expo) backwards; }
.compact-aid>.aid-snapshot { animation-delay: .055s; }
.compact-aid>.aid-quickfacts { animation-delay: .11s; }
.compact-aid>.aid-actions { animation-delay: .165s; }
.scroll-reveal,.scroll-reveal.is-visible { opacity: 1; transform: none; }

@media(min-width:1000px) {
  .workspace { display: grid; grid-template-columns: minmax(0,1fr) 245px; align-items: start; gap: 20px; }
  .workspace .sidebar { position: sticky; top: 110px; margin: 0; }
  .sidebar .summary-card { display: block; padding: 24px; }
  .sidebar .summary-card h2 { display: block; font-size: 19px; line-height: 1.25; letter-spacing: -.025em; margin: 0 0 10px; }
  .sidebar .summary-card #summary-copy { display: block; color: var(--muted); font-size: 12px; line-height: 1.7; }
  .sidebar .summary-stats { margin: 22px 0; }
  .sidebar .summary-stats>div { display: block; }
  .sidebar .summary-stats strong { font-size: 36px; }
  .sidebar .summary-stats span { display: block; font-size: 11px; }
  .sidebar .summary-card .button { width: 100%; }
  .sidebar .summary-card p.small { display: block; font-size: 10px; line-height: 1.6; margin-top: 12px; }
}
@media(max-width:767px) {
  html { scroll-padding-top: 155px; }
  .header { padding: 14px 20px; gap: 12px; flex-wrap: wrap; }
  .header nav,.header nav[aria-label=Principal] { gap: 4px; flex-wrap: wrap; }
  .header .nav-button { font-size: 12px; min-height: 44px; padding: 8px 6px; }
  .hero { padding-top: 34px; }
  .hero h1 { font-size: clamp(36px,7.8vw,54px); letter-spacing: -.03em; }
  .hero .lead { font-size: 14px; }
  .launcher.composer { padding: 19px; border-radius: 20px; }
  .composer textarea { font-size: 16px; }
  .topic-chips .chip { font-size: 12px; padding: 8px 12px; }
  .hero-notes { gap: 7px 12px; flex-wrap: wrap; font-size: 12px; }
  .summary-card { flex-wrap: wrap; }
  .summary-card .button { font-size: 11px; }
  .aid-card { padding: 21px; }
  .compact-aid>.aid-actions { align-items: stretch; }
  .compact-aid .aid-snapshot { padding: 20px; }
  .aid-next-grid { grid-template-columns: 1fr; }
  .aid-next-reads { padding: 20px; }
  .aid-next-card { display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: 7px 12px; padding: 17px; }
  .aid-next-card>span,.aid-next-card>strong { grid-column: 1; }
  .aid-next-card>svg { grid-column: 2; grid-row: 1/3; align-self: center; margin: 0; }
  .aid-sheet[open],#detail-dialog[open] { border-radius: 20px; }
  .ad-slot-container { margin: 40px 0; padding: 12px; }
}
@media(max-width:380px) {
  .header { padding-inline: 14px; }
  .header .brand { font-size: 20px; gap: 8px; }
  .header .nav-button { padding-inline: 5px; font-size: 12px; }
  .hero .eyebrow { font-size: 8px; letter-spacing: .08em; }
  .hero h1 { font-size: 37px; }
  .topic-chips .chip { font-size: 12px; }
  .sidebar .summary-card { padding: 16px; }
  .compact-aid>.aid-actions .button,.compact-aid>.aid-actions .save-aid { width: 100%; }
  .option-grid { grid-template-columns: minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .motion-enter,.scroll-reveal,.option-btn:hover,.aid-card:hover,.need-card:hover,.featured-card:hover,.aid-next-card:hover,.aid-next-card:hover>svg,.button:hover,.topic-chips .chip:hover,.composer .send-button:hover,.option[aria-pressed=true] .option-mark { transform: none !important; }
  .scroll-reveal { opacity: 1; }
}
/* Disable the older full-hero fade; the shorter block choreography replaces it. */
.home-page .hero { animation: none; }
.reveal { animation: paper-enter .35s var(--ease-out-expo) backwards; }
.coverage-progress .orbit-progress { animation: none; stroke-dashoffset: 0; }
@media(prefers-reduced-motion:reduce) {
  .brand:hover img,.home-discovery a.need-card:hover,.home-discovery a.need-card:hover .need-icon,.guide-list li:hover,.aid-next-card:focus-visible,.aid-public-link:hover::after,.button:active,.save-aid:active,.topic-chips button:active,.send-button:active:not(:disabled),.option.option-btn:active { transform: none !important; }
}

/* Context after the summary: provenance, alternatives and useful next reads. */
.guide h1,.guide h2 { letter-spacing: -.03em; }
.aid-trust-bar { display: grid; grid-template-columns: 1.2fr 1.4fr 1fr; gap: 16px; border: var(--border-subtle); border-radius: 16px; padding: 19px 21px; background: #fff; margin: 20px 0; }
.aid-trust-bar>div { min-width: 0; }
.aid-trust-bar span,.aid-trust-bar strong,.aid-trust-bar small { display: block; }
.aid-trust-bar span { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--green); margin-bottom: 7px; }
.aid-trust-bar strong { font-size: 11px; line-height: 1.65; font-weight: 550; overflow-wrap: anywhere; }
.aid-trust-bar small { font-size: 10px; color: var(--muted); margin-top: 5px; line-height: 1.6; }
.guide .aid-trust-bar>p { grid-column: 1/-1; font-size: 10px; line-height: 1.65; color: var(--muted); margin: 0; padding-top: 12px; border-top: var(--border-subtle); }
.aid-rescue-banner { padding: 25px; background: #f8f2e7; border: 1px solid #e5d7b8; border-radius: 21px; margin: 22px 0; }
.aid-rescue-banner .overline { color: #7a5b22; letter-spacing: .1em; font-size: 9px; margin: 0; }
.aid-rescue-banner>h2 { font-size: 23px; line-height: 1.25; margin: 10px 0; color: var(--ink); }
.guide .aid-rescue-banner>p:not(.overline) { font-size: 12px; line-height: 1.8; }
.aid-rescue-banner ul { list-style: none; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0; margin: 18px 0; }
.guide .aid-rescue-banner li { margin: 0; font-size: 12px; padding: 15px; border: 1px solid #e5d7b8; background: #fffdf9; border-radius: 12px; line-height: 1.65; }
.aid-rescue-banner li a { font-weight: 600; text-decoration: none; }
.aid-rescue-banner li span { display: block; margin-top: 9px; color: var(--muted); font-size: 10px; }
.rescue-actions,.category-intro nav,.aid-multiplier-card nav { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 10px 18px; }
.rescue-actions a,.category-intro nav a,.aid-multiplier-card nav a { min-height: 38px; display: inline-flex; align-items: center; font-size: 12px; line-height: 1.5; text-underline-offset: 5px; }
.category-intro { max-width: 900px; margin: 25px 0 32px; padding: 23px 25px; border: var(--border-subtle); border-radius: 18px; background: #ffffffc9; }
.guide .category-intro>p { font-size: 14px; line-height: 1.8; margin: 0 0 12px; }
.guide .category-intro>p.small { font-size: 12px; color: var(--muted); }
.aid-bundle-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin-top: 20px; }
.guide .aid-bundle-card { min-width: 0; box-shadow: var(--shadow-ambient); padding: 19px; }
.guide .aid-bundle-card:hover { box-shadow: var(--shadow-elevated); }
.aid-bundle-card .aid-kicker { align-self: flex-start; font-size: 8px; line-height: 1.6; letter-spacing: .1em; padding: 4px 8px; }
.aid-bundle-card>strong { font-size: 16px; line-height: 1.4; }
.guide .aid-bundle-card>p { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 0; }
.aid-bundle-card>small { display: block; margin-top: auto; font-size: 10px; color: var(--muted); line-height: 1.7; }
.aid-bundle-card .related-cta { font-size: 11px; color: var(--green); font-weight: 600; padding-top: 12px; border-top: var(--border-subtle); }
.related-cta>span { display: inline-block; transition: transform .25s var(--ease-out-expo); }
.aid-bundle-card:hover .related-cta>span { transform: translateX(3px); }
.aid-multiplier-card { padding: 28px; border: var(--border-subtle); border-radius: 22px; background: #fff; margin: 28px 0; box-shadow: var(--shadow-ambient); }
.aid-multiplier-card .overline { color: var(--green); font-size: 9px; letter-spacing: .1em; margin: 0; }
.aid-multiplier-card>h2 { font-size: 26px; line-height: 1.2; margin: 10px 0 18px; }
.aid-multiplier-card ol { padding-left: 21px; margin: 0 0 16px; }
.guide .aid-multiplier-card li { padding-left: 6px; font-size: 13px; line-height: 1.85; color: var(--muted); }
.guide .aid-multiplier-card li::marker { color: var(--green); font-weight: 650; }
.partner-placement { margin-top: 20px; padding-top: 20px; border-top: var(--border-subtle); }
.partner-placement>span { display: inline-block; border: var(--border-subtle); border-radius: 100px; padding: 4px 9px; font-size: 9px; color: var(--muted); }
.guide .partner-placement>p,.guide .editorial-sources { font-size: 11px; line-height: 1.8; color: var(--muted); }
.partner-placement .button { font-size: 12px; margin: 4px 0 0; }
.transparency-links { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; }
.transparency-links a { font-size: 11px; line-height: 1.7; color: var(--green); padding: 8px 0; }
.site-footer .transparency-links { grid-column: 1/-1; justify-content: flex-start; margin-top: 16px; }
.aid-card .card-foot>.aid-public-link { font-size: 12px; line-height: 1.5; padding: 12px; text-align: left; }
.aid-card .aid-public-link::after { display: none; }
.result-rescue { grid-column: 1/-1; border: var(--border-subtle); border-radius: 18px; padding: 24px; background: #f0f4ec; }
.result-rescue h3 { font-size: 22px; margin: 0 0 12px; }
.result-rescue p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.ad-slot-container { margin: 28px 0; min-height: 280px; }
.aid-actions+.ad-slot-container { margin-top: 40px; }
.ad-slot-box { min-height: 280px; }
.documentary-guide .documentary-note { margin: 20px 0; }
html.motion-ready .hero>.eyebrow,html.motion-ready .hero>h1,html.motion-ready .hero>.lead { animation-delay: .05s; }
html.motion-ready .hero>.composer { animation-delay: .1s; }
html.motion-ready .topic-chips>.chip:nth-child(1) { animation-delay: .15s; }
html.motion-ready .topic-chips>.chip:nth-child(2) { animation-delay: .2s; }
html.motion-ready .topic-chips>.chip:nth-child(3) { animation-delay: .25s; }
html.motion-ready .topic-chips>.chip:nth-child(4) { animation-delay: .3s; }
html.motion-ready .topic-chips>.chip:nth-child(5) { animation-delay: .35s; }
html.motion-ready .topic-chips>.chip:nth-child(6) { animation-delay: .4s; }
.need-card.motion-enter:nth-child(6n+2) { animation-delay: .05s; }
.need-card.motion-enter:nth-child(6n+3) { animation-delay: .1s; }
.need-card.motion-enter:nth-child(6n+4) { animation-delay: .15s; }
.need-card.motion-enter:nth-child(6n+5) { animation-delay: .2s; }
.need-card.motion-enter:nth-child(6n+6) { animation-delay: .25s; }
@media(max-width:767px) {
  .aid-trust-bar { grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px; }
  .aid-trust-bar>div:first-child { grid-column: 1/-1; }
  .aid-bundle-grid { grid-template-columns: minmax(0,1fr); }
  .guide .aid-bundle-card { display: flex; padding: 20px; }
  .aid-bundle-card>strong { font-size: 18px; }
  .aid-rescue-banner { padding: 20px; }
  .aid-rescue-banner ul { grid-template-columns: minmax(0,1fr); }
  .aid-multiplier-card { padding: 22px; }
  .aid-multiplier-card>h2 { font-size: 23px; }
  .category-intro { padding: 19px; }
  .transparency-links { width: 100%; gap: 4px 16px; }
  .aid-trust-bar strong { overflow-wrap: anywhere; }
}
@media(prefers-reduced-motion:reduce) {
  .aid-bundle-card:hover .related-cta>span { transform: none; }
}
.aid-multiplier-card:focus-within,.aid-trust-bar:focus-within,.aid-bundle-card:hover,.aid-bundle-card:focus-visible,.category-intro:focus-within { border: var(--border-focus); }

/* Plain language is an explanation, never a replacement for the source rule. */
.plain-hint { margin: 18px 0; padding: 17px 19px; border: 1px solid #c7ddcf; border-radius: 15px; background: #eff6f0; color: #274938; }
.plain-hint .plain-hint-label { display: flex; gap: 9px; align-items: baseline; margin: 0 0 8px; }
.plain-hint p { font-size: 14px; line-height: 1.65; margin: 8px 0 0; overflow-wrap: anywhere; }
.plain-hint strong { font-weight: 650; }
.plain-hint-more { margin-top: 12px; padding-top: 10px; border-top: 1px solid #ccded0; }
.conversation-guidance { margin: -4px 0 18px; color: var(--muted); border-bottom: var(--border-subtle); overflow-wrap: anywhere; }
.conversation-guidance>summary { min-height: 44px; padding: 10px 0; cursor: pointer; color: var(--green); font-size: 14px; line-height: 1.65; }
.conversation-guidance>p { margin: 0 0 12px; max-width: 64ch; font-size: 14px; line-height: 1.8; }
.question-explanation { margin: -8px 0 22px; border-bottom: var(--border-subtle); }
.question-explanation>summary,.plain-hint-more>summary { cursor: pointer; min-height: 44px; padding: 11px 0; font-size: 14px; line-height: 1.55; color: var(--green); }
.question-explanation>.question-help { font-size: 14px; line-height: 1.85; margin: 4px 0 18px; white-space: pre-line; overflow-wrap: anywhere; }
.question-explanation>summary:focus-visible,.plain-hint-more>summary:focus-visible { outline: 3px solid #b85230; outline-offset: 3px; border-radius: 4px; }
.quick-zero-btn { width: 100%; min-height: 52px; border: 1px solid #95b3a0; border-radius: 13px; padding: 14px 18px; color: #234e38; background: #eff7ef; text-align: left; font-size: 15px; line-height: 1.55; font-weight: 600; transition: background-color .2s,border-color .2s; }
.quick-zero-btn:hover:not(:disabled) { background: #dfeddf; border-color: #537f60; }
.quick-zero-note { margin: 10px 0 18px; font-size: 13px; line-height: 1.65; color: var(--muted); }
.question-area .number-wrap input { min-width: 0; }
.question-area .number-wrap>span { flex-shrink: 0; max-width: 44%; overflow-wrap: anywhere; font-size: 13px; }
.mobile-results-bar { display: none; }
.quick-reading { margin: 22px 0; }
.quick-reading ol { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; list-style: none; padding: 0; margin: 0; }
.guide .quick-reading li { margin: 0; padding: 0; min-width: 0; }
.quick-reading li>a,.quick-reading-directory li { display: flex; align-items: flex-start; gap: 10px; padding: 15px; border: var(--border-subtle); border-radius: 14px; background: #fff; text-decoration: none; color: var(--ink); height: 100%; }
.quick-reading li>a:hover { border: var(--border-focus); background: #f4f8f2; }
.quick-reading li>a>span:last-child,.quick-reading-directory li>div { min-width: 0; }
.quick-step-number { flex: 0 0 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; color: var(--green); background: var(--pale); font-size: 12px; font-weight: 650; }
.quick-reading strong { display: block; font-size: 13px; line-height: 1.5; font-weight: 600; }
.quick-reading small,.guide .quick-reading p { display: block; font-size: 12px; line-height: 1.65; color: var(--muted); margin: 6px 0 0; }
.quick-reading-directory { margin: 20px 0 28px; }
.guide .quick-reading-directory li { display: flex; padding: 17px; }
#que-te-dan,#quien-puede-pedirlo,#como-solicitarlo { scroll-margin-top: 130px; }
.aid-card .card-benefit>.card-benefit-note,.brief-benefit>.brief-benefit-note,.guide .aid-snapshot>.aid-benefit-note { font-size: 12px; line-height: 1.65; margin: 13px 0 0; color: #496253; }
.card-reading-facts { margin: 0 0 18px; display: grid; gap: 12px; }
.card-reading-facts>div { padding: 13px 15px; border: var(--border-subtle); border-radius: 13px; background: #fbfcf9; }
.card-reading-facts dt { font-size: 12px; font-weight: 650; margin-bottom: 7px; color: var(--green); }
.card-reading-facts dd { margin: 0; font-size: 13px; line-height: 1.7; color: var(--ink); overflow-wrap: anywhere; }
.card-reading-facts strong { font-weight: 600; }
.card-reading-facts small { display: block; color: var(--muted); font-size: 12px; line-height: 1.65; margin-top: 6px; }
.card-reading-deadline[data-status=cerrada],.card-reading-deadline[data-status=regimen_transitorio] { border-color: #e2d1ac; background: #fcf7ec; }
.card-reading-deadline[data-status=abierta],.card-reading-deadline[data-status=permanente] { background: #f0f6ef; border-color: #c5d9c6; }
.aid-card .card-foot>.primary { color: #fff; }
.aid-card .card-foot>.secondary { color: var(--green); background: #fff; text-align: center; }
.results-journey-note { font-size: 13px; line-height: 1.75; color: var(--muted); max-width: 760px; margin: 12px 0 23px; }
.amount-card { scroll-margin-top: 140px; }
.amount-card .amount-reading-note { font-size: 13px; line-height: 1.75; padding: 15px; border: var(--border-subtle); border-radius: 13px; background: #f0f6ef; margin: 8px 0 18px; }
.brief-personal-status { padding: 19px; border: 1px solid #c4d8ca; background: #f5f9f3; border-radius: 15px; margin: 16px 0 20px; }
.brief-personal-status h3 { font-size: 17px; line-height: 1.4; margin: 0 0 10px; letter-spacing: -.015em; }
.brief-personal-status p { margin: 0 0 14px; font-size: 14px; line-height: 1.75; color: var(--muted); }
.brief-personal-status>.button { font-size: 14px; min-height: 48px; }
.brief-link-note { flex-basis: 100%; font-size: 12px; line-height: 1.65; color: var(--muted); margin: 0; }
.brief-jump-nav { display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 8px; margin: 0 0 20px; }
.brief-jump { border: var(--border-subtle); background: #fff; color: var(--green); border-radius: 11px; min-height: 46px; padding: 11px 8px; font-size: 13px; line-height: 1.5; font-weight: 600; }
.brief-jump:hover { background: #edf4ed; border: var(--border-focus); }
.brief-benefit,.brief-deadline,.brief-start { scroll-margin-top: 82px; }
.brief-start .brief-topic { margin: 18px 0; background: #fff; }
.aid-preparation { padding: 0 16px; margin: 18px 0; background: #fff; border: var(--border-subtle); border-radius: 12px; }
.aid-preparation>summary { min-height: 48px; cursor: pointer; font-size: 14px; line-height: 1.65; padding: 13px 0; color: var(--green); }
.guide .aid-preparation>p { font-size: 14px; line-height: 1.85; margin: 0 0 16px; overflow-wrap: anywhere; }
.sheet-toolbar .sheet-close { min-height: 44px; font-size: 13px; padding: 10px 14px; }
.brief-actions .button:focus-visible,.aid-preparation>summary:focus-visible { outline: 3px solid #b85230; outline-offset: 3px; }
@media(max-width:768px) {
  .aid-card .card-foot>.button,.brief-actions .aid-public-link { min-height: 48px; font-size: 14px; line-height: 1.55; }
  .brief-actions .aid-public-link { justify-content: center; text-align: center; }
  .brief-personal-status { padding: 17px; }
  .brief-personal-status>.button { width: 100%; }
  body.mobile-results-visible { padding-bottom: calc(128px + env(safe-area-inset-bottom,0px)); }
  .mobile-results-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; position: fixed; z-index: 80; inset: auto 0 0; padding: 14px 20px calc(14px + env(safe-area-inset-bottom,0px)); border-top: 1px solid #b8cbbd; background: #fcfefb; box-shadow: 0 -8px 30px #193a2412; }
  .mobile-results-bar .mobile-results-copy { margin: 0; flex: 1 1 180px; }
  .mobile-results-copy strong { display: block; font-size: 14px; color: var(--ink); }
  .mobile-results-copy span { display: block; font-size: 12px; line-height: 1.5; margin-top: 3px; color: var(--muted); }
  .mobile-results-bar #show-results { min-height: 48px; flex: 1 1 210px; color: #fff; background: var(--green); border-color: var(--green); padding: 13px 16px; font-size: 14px; line-height: 1.45; }
  body.mobile-answer-editing .mobile-results-bar,body:has(dialog[open]) .mobile-results-bar { display: none; }
  .plain-hint { padding: 15px; }
  .quick-reading li>a { display: block; padding: 12px 9px; }
  .quick-reading li>a .quick-step-number { margin-bottom: 8px; width: 26px; }
  .quick-reading strong { font-size: 12px; }
  .quick-reading li>a small { display: none; }
  .quick-reading-directory ol { grid-template-columns: minmax(0,1fr); }
  #que-te-dan,#quien-puede-pedirlo,#como-solicitarlo { scroll-margin-top: 165px; }
}
/* Optional text interpretation, separate from the authoritative question. */
.ai-availability { margin: 1.4rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line, #dce4dd); color: var(--muted, #59675f); font-size: .84rem; line-height: 1.6; }
.ai-composer { margin-top: 1.5rem; padding: 1.1rem 1.25rem; border: 1px solid #cbded3; border-radius: 18px; background: #f4f8f4; min-width: 0; }
.ai-composer > summary { font-weight: 650; color: #214c3d; cursor: pointer; min-height: 32px; }
.ai-privacy { font-size: .86rem; line-height: 1.65; color: #4e6157; margin: .8rem 0 .35rem; }
.ai-composer > .text-link { display: inline-flex; min-height: 40px; align-items: center; }
.ai-answer-form { display: grid; gap: .75rem; margin-top: .7rem; min-width: 0; }
.ai-answer-form > label { font-size: .9rem; font-weight: 600; }
.ai-answer-form .ai-consent { display: flex; align-items: flex-start; gap: .7rem; font-weight: 400; line-height: 1.6; cursor: pointer; }
.ai-consent input { width: 20px; height: 20px; min-width: 20px; margin-top: .15rem; accent-color: #245b44; }
.ai-answer-form textarea { box-sizing: border-box; width: 100%; min-height: 90px; resize: vertical; padding: .85rem 1rem; border: 1px solid #bdcfc3; border-radius: 12px; background: #fff; color: #1d332a; font: inherit; font-size: 1rem; line-height: 1.6; }
.ai-answer-form textarea:disabled { background: #edf1ed; color: #67786b; }
.ai-answer-form > .button { justify-self: start; min-height: 46px; }
.ai-answer-output:not(:empty) { margin-top: 1rem; }
.ai-proposal { padding: 1rem; border: 1px solid #bfd8c8; border-radius: 14px; background: #fff; }
.ai-proposal h3 { margin: 0 0 .5rem; font-size: 1.08rem; }
.ai-proposal-value { margin: .7rem 0; color: #214e3b; font-size: 1.2rem; font-weight: 650; overflow-wrap: anywhere; }
.ai-proposal .actions { margin-bottom: 0; }
@media (max-width: 768px) {
  .ai-composer { padding: 1rem; }
  .ai-answer-form > .button, .ai-proposal .actions > .button { width: 100%; justify-content: center; }
  .ai-proposal .actions { display: grid; gap: .5rem; }
  .ai-composer > summary { min-height: 44px; }
}

/* Source-led reading, with the essential sections already open in SSR. */
.aid-sheet-header { margin-bottom: 18px; }
.aid-verification-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 9px 16px; padding: 12px 0; font-size: 12px; line-height: 1.65; color: var(--muted); }
.aid-verification-strip a { color: var(--green); text-underline-offset: 3px; }
.verification-status { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border-radius: 8px; background: var(--pale); color: var(--green); font-weight: 650; }
.verification-status::before { content: ''; width: 6px; height: 6px; border: 2px solid currentColor; border-radius: 50%; }
.aid-verification-strip .warning { margin: 0; }
.aid-requirements .aid-topic-content>ul { padding-left: 22px; }
.aid-requirements .aid-topic-content>ul>li { padding: 5px 0 5px 4px; }
.aid-requirements .aid-topic-content>ul>li::marker { content: '✓  '; color: var(--green); }
#fuentes-oficiales { scroll-margin-top: 130px; }
.aid-benefit-breakdown[open] { border-color: var(--line-active); }
.benefit-filter-bar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 16px; margin: 16px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--paper, #f7f6f2); }
.benefit-filter-bar label,.benefit-filter-count { grid-column: 1 / -1; font-size: 13px; line-height: 1.6; }
.benefit-filter-input { width: 100%; min-width: 0; min-height: 44px; font-size: 16px; scroll-margin-top: 160px; }
.benefit-filter-reset { min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); }
.benefit-filter-count { color: var(--muted); }
.benefit-filter-bar[hidden],.benefit-item[hidden],.benefit-filter-empty[hidden] { display: none !important; }
@media (max-width: 480px) {
  .benefit-filter-bar { grid-template-columns: minmax(0,1fr); padding: 12px; }
  .benefit-filter-reset { justify-self: start; }
}
.aid-faq { margin: 26px 0; padding-top: 22px; border-top: 1px solid var(--line); }
.aid-faq>h2 { font-size: 22px; }
.aid-faq>details { border-bottom: 1px solid var(--line); padding: 13px 0; }
.aid-faq summary { cursor: pointer; font-size: 14px; font-weight: 600; line-height: 1.6; }
.aid-faq details>p { font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.hub-summary { margin: 24px 0; }
.hub-stats-bar { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--line); border-radius: 15px; overflow: hidden; background: var(--line); }
.hub-stats-bar>div { display: flex; flex-direction: column-reverse; gap: 5px; background: var(--paper); padding: 19px; }
.hub-stats-bar dt { font-size: 12px; color: var(--muted); }
.hub-stats-bar dd { margin: 0; font-size: 30px; line-height: 1.2; font-weight: 650; font-variant-numeric: tabular-nums; color: var(--green); }
.hub-crosslinks { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; }
.hub-crosslinks a { text-decoration: none; }
.brief-actions.aid-actions { margin-block: 18px; }
.aid-full-sheet-footer { margin-block: 14px; white-space: normal; }
.saved-controls { flex-wrap: wrap; }
@media(max-width:768px) {
  .aid-verification-strip { gap: 8px 12px; font-size: 11px; }
  .aid-verification-strip a { min-height: 36px; display: inline-flex; align-items: center; }
  .hub-stats-bar>div { padding: 13px 10px; }
  .hub-stats-bar dd { font-size: 25px; }
  .hub-stats-bar dt { font-size: 11px; line-height: 1.5; }
  .brief-actions .aid-public-link { width: 100%; white-space: normal; text-align: center; }
}
@media(max-width:420px) {
  .header .saved-label { display: none; }
  .header .saved-nav { margin-left: 0; gap: 5px; padding-inline: 8px; }
  .header nav,.header nav[aria-label=Principal] { flex-wrap: nowrap; gap: 4px; justify-content: space-between; }
}

/* Deadline wording stays visible; colour is an additional cue, never the only one. */
.compact-aid>.aid-quickfacts .aid-fact[data-deadline-tone] { border-inline-start-width: 4px; }
.compact-aid>.aid-quickfacts .aid-fact[data-deadline-tone=open] { border-inline-start-color: var(--green); background: #f2f7f2; }
.compact-aid>.aid-quickfacts .aid-fact[data-deadline-tone=pending] { border-inline-start-color: #bb914e; background: #fbf8f0; }
.compact-aid>.aid-quickfacts .aid-fact[data-deadline-tone=closed] { border-inline-start-color: #a7afa8; }
.aid-card .card-foot { display: grid; gap: 10px; }
.aid-card .card-foot>.button { width: 100%; min-height: 44px; white-space: normal; justify-content: center; text-align: center; }
@media(max-width:768px) {
  .topic-chips .chip { min-height: 44px; }
}

/* Shared catalogue for the chat, community hubs and topic pages. */
.guide.explore-page { max-width: 1130px; margin-inline: auto; }
.guide.explore-page { padding-top: 36px; }
.guide.explore-page>h1 { max-width: 850px; font-size: clamp(35px,5vw,57px); letter-spacing: -2.1px; line-height: 1.09; margin-bottom: 22px; }
.guide.explore-page>h1 em,.catalog-hero h1 em { color: #36724e; font-family: Georgia,serif; font-weight: 400; }
.explore-page>.guide-lead { max-width: 740px; font-size: 15px; line-height: 1.9; }
.aid-explorer { --explore-line: #dce5d5; margin: 30px 0; }
.explore-filters { border: 1px solid var(--explore-line); border-radius: 19px; padding: 25px; background: #fffefa; box-shadow: 0 8px 30px #2d4f2505; }
.explore-main-filters { display: grid; grid-template-columns: 1.1fr 1fr 1fr; gap: 18px; }
.explore-field { min-width: 0; }
.explore-field label { display: block; font-size: 12px; font-weight: 600; color: #3d563d; margin-bottom: 9px; }
.explore-field select,.explore-field input { width: 100%; box-sizing: border-box; border: 1px solid #d9e2d0; background: #fcfdf9; border-radius: 10px; padding: 12px; min-height: 46px; font: inherit; font-size: 16px; color: #344c36; }
.explore-field select { padding-right: 27px; text-overflow: ellipsis; }
.explore-field input::placeholder { color: var(--muted); }
.explore-field select:focus,.explore-field input:focus { outline: 2px solid #6c9564; outline-offset: 2px; }
.explore-search-row { display: flex; align-items: flex-end; gap: 15px; margin-top: 21px; }
.explore-search-row>.explore-field { flex: 1; }
.explore-search-row>.button { min-height: 46px; font-size: 12px; white-space: nowrap; padding-inline: 23px; }
.explore-scope-note { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #63745c; line-height: 1.8; margin: 14px 0 0; }
.explore-scope-note span { color: #62844e; font-size: 18px; }
.explore-advanced { margin-top: 16px; padding-top: 14px; border-top: 1px solid #edf1e7; }
.explore-advanced>summary { cursor: pointer; color: #56764a; font-size: 12px; }
.explore-extra-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-top: 18px; }
.explore-check { display: flex; align-items: center; gap: 8px; grid-column: 1/-1; font-size: 12px; color: #617157; }
.explore-check input { accent-color: #36724e; width: 16px; height: 16px; flex: 0 0 16px; }
.explore-current { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; min-height: 30px; margin: 17px 0 21px; }
.explore-chip { display: inline-flex; align-items: center; gap: 12px; background: #edf3e4; border: 1px solid #d4e2c7; color: #476c3d; padding: 7px 11px; border-radius: 20px; font-size: 12px; cursor: pointer; max-width: 100%; overflow-wrap: anywhere; }
.explore-chip span { font-size: 16px; line-height: 1; }
.explore-current .quiet { font-size: 12px; }
.explore-context { font-size: 12px; color: #69775e; line-height: 1.9; border-left: 3px solid #bdd0ac; padding: 2px 0 2px 15px; max-width: 900px; }
.explore-context summary { color: #648054; font-size: 12px; cursor: pointer; }
.explore-context>p { margin: 10px 0 0; }
.explore-context strong { font-weight: 600; color: #4d6743; }
.explore-routing { border: 1px solid #dbe6ce; background: #f0f5e8; border-radius: 13px; padding: 13px 17px; margin-top: 17px; color: #5e7951; }
.explore-routing summary { font-size: 12px; line-height: 1.8; cursor: pointer; }
.explore-routing strong { font-size: 13px; font-weight: 550; }
.explore-routing p { font-size: 12px; line-height: 1.9; margin: 8px 0; }
.explore-routing a { font-size: 12px; }
.explore-toolbar { display: flex; gap: 15px; justify-content: space-between; align-items: center; margin: 33px 0 28px; }
.explore-toolbar>p { font-size: 12px; color: #526b47; margin: 0; }
.explore-toolbar [data-explore-count] { scroll-margin-top: 25px; }
.explore-view { display: inline-flex; border: 1px solid #d6e1cc; border-radius: 9px; padding: 3px; background: #f6f9f0; }
.explore-view button { border: 0; background: transparent; color: var(--muted); padding: 7px 12px; border-radius: 6px; font-size: 12px; cursor: pointer; }
.explore-view button[aria-pressed=true] { color: #38613b; background: white; box-shadow: 0 1px 5px #28462114; }
.explore-group { margin: 0 0 41px; padding-top: 10px; scroll-margin-top: 35px; }
.explore-group h2 { scroll-margin-top: 25px; }
.explore-group-nav { display: flex; flex-wrap: wrap; gap: 10px; margin: -9px 0 27px; }
.explore-group-nav a { display: inline-flex; align-items: center; gap: 14px; color: #537548; background: #f0f5e8; border: 1px solid #d9e5cc; padding: 10px 12px; border-radius: 10px; font-size: 12px; text-decoration: none; }
.explore-group-nav a:hover { background: #e8f0df; border-color: #abc599; }
.explore-group-nav strong { display: grid; place-items: center; min-width: 24px; min-height: 23px; padding: 0 3px; background: white; border-radius: 6px; font-size: 12px; font-weight: 550; }
.explore-group-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 21px; }
.explore-group-heading .overline { font-size: 12px; letter-spacing: 1.5px; color: var(--muted); margin: 0 0 10px; }
.explore-group-heading h2 { font-size: clamp(23px,3vw,30px); font-weight: 550; letter-spacing: -.8px; margin: 0 0 10px; color: #30472f; }
.explore-group-heading p:not(.overline) { font-size: 12px; color: var(--muted); max-width: 670px; line-height: 1.85; margin: 0; }
.group-total { font-size: 12px; font-variant-numeric: tabular-nums; background: #edf3e4; border: 1px solid #dae5ce; padding: 7px 11px; border-radius: 20px; white-space: nowrap; color: var(--muted); }
.explore-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.explore-card { min-width: 0; display: flex; flex-direction: column; padding: 25px; border: 1px solid #dce5d4; border-radius: 16px; background: #fffefa; transition: transform .25s,border-color .25s,box-shadow .25s; }
.explore-card:hover { transform: translateY(-3px); border-color: #abc09c; box-shadow: 0 9px 26px #34562b08; }
.explore-overview { flex: 1; min-width: 0; }
.explore-controls { min-width: 0; }
.explore-card-meta { display: flex; flex-wrap: wrap; gap: 5px 13px; color: var(--muted); font-size: 12px; letter-spacing: .5px; text-transform: uppercase; line-height: 1.8; }
.explore-card-meta>span+span::before { content: ''; width: 3px; height: 3px; background: #b5c5aa; border-radius: 50%; display: inline-block; vertical-align: middle; margin-right: 10px; }
.explore-card h3 { font-size: 21px; line-height: 1.4; margin: 13px 0 8px; font-weight: 550; letter-spacing: -.4px; overflow-wrap: anywhere; }
.explore-card h3 a { display: block; color: #314a32; text-decoration: none; }
.explore-card h3 a:hover { color: #24734b; }
.explore-card .explore-kind { color: var(--muted); font-size: 12px; line-height: 1.8; margin: 0 0 17px; }
.glance-label { display: block; color: var(--muted); font-size: 12px; line-height: 1.6; font-weight: 600; margin-bottom: 7px; }
.explore-offer { padding: 16px 18px; background: #f0f5e8; border: 1px solid #e0e9d5; border-radius: 11px; margin-bottom: 19px; }
.explore-card .explore-benefit { font-size: 13px; line-height: 1.85; color: #3e5d37; margin: 0; overflow-wrap: anywhere; }
.explore-breakdown-hint { display: block; margin-top: 10px; padding-top: 9px; border-top: 1px solid #dce6d6; font-size: 12px; font-weight: 600; line-height: 1.6; color: var(--green); }
.explore-card .explore-target { font-size: 12px; line-height: 1.8; color: #4e6744; margin: 0 0 7px; }
.explore-target>span { color: var(--muted); }
.explore-card .explore-condition { font-size: 12px; line-height: 1.85; color: var(--muted); margin: 0 0 20px; overflow-wrap: anywhere; }
.explore-card .explore-agency { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 0 0 14px; }
.explore-deadline { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; margin: auto 0 17px; }
.explore-deadline>.glance-label { flex-basis: 100%; margin: 0; }
.deadline-pill { display: inline-block; border-radius: 6px; padding: 5px 8px; font-size: 12px; line-height: 1.7; background: #eff2eb; color: var(--muted); }
.deadline-pill.open { background: #e5f0dc; color: #467139; }
.deadline-pill.pending { background: #f7f0df; color: #8d7546; }
.explore-date { color: #415e38; font-size: 12px; font-weight: 550; line-height: 1.7; }
.explore-edition,.explore-deadline-note { flex-basis: 100%; color: var(--muted); font-size: 12px; line-height: 1.8; }
.explore-how { margin: 0 0 18px; padding-top: 13px; border-top: 1px solid #e5ecde; font-size: 12px; line-height: 1.85; color: #65775b; }
.explore-how summary { cursor: pointer; font-weight: 550; color: #4a7140; }
.explore-card .explore-how p { font-size: 12px; line-height: 1.85; margin: 10px 0; overflow-wrap: anywhere; }
.explore-how a { color: #326b45; text-underline-offset: 3px; }
.explore-repayment { display: inline-block; align-self: flex-start; background: #f8ecd4; color: #715323; padding: 5px 9px; border-radius: 6px; font-size: 12px; margin: -6px 0 12px; }
.explore-card-actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 15px; border-top: 1px solid #edf1e8; }
.explore-card-actions .button,.explore-card-actions .save-aid { font-size: 12px; min-height: 38px; padding: 9px 13px; }
.explore-card-actions>.primary { flex-basis: 100%; justify-content: center; min-height: 44px; }
.explore-card-actions>.preview-aid,.explore-card-actions>.save-aid { flex: 1 1 auto; min-height: 44px; }
.explore-card .explore-evidence { margin: 14px 0 0; font-size: 12px; color: var(--muted); line-height: 1.8; }
.explore-group-footer { display: flex; gap: 15px; justify-content: space-between; align-items: center; margin-top: 17px; }
.explore-group-footer>span { font-size: 12px; color: var(--muted); }
.explore-more { font-size: 12px; }
.explore-more[aria-disabled=true] { pointer-events: none; opacity: .5; }
[data-explore-results][aria-busy=true] { opacity: .55; transition: opacity .15s; pointer-events: none; }
.explore-empty { border: 1px dashed #cddbc1; background: #f4f8ee; border-radius: 15px; padding: 28px; }
.explore-empty h3 { font-size: 16px; margin: 0 0 9px; font-weight: 550; }
.explore-empty p { font-size: 12px; line-height: 1.9; color: var(--muted); margin: 0; }
.explore-error { background: #fcf1e4; color: #826039; font-size: 12px; padding: 15px; border-radius: 10px; line-height: 1.9; }
.explore-directory { border: 1px solid #dae3d2; border-radius: 15px; margin-top: 30px; background: #f6f9f1; }
.explore-directory>summary { font-size: 13px; color: #5b754d; padding: 20px; cursor: pointer; }
.explore-directory>div { padding: 0 24px 24px; }
.explore-directory h3 { font-size: 12px; font-weight: 550; color: var(--muted); margin: 20px 0 15px; }
.region-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.region-directory a { display: flex; flex-direction: column; gap: 5px; min-height: 36px; padding: 13px; background: #fffefa; border: 1px solid #dfe8d6; border-radius: 9px; text-decoration: none; color: #4c7144; font-size: 12px; }
.region-directory a:hover { border-color: #a6bf95; background: white; }
.region-directory small { font-size: 12px; color: var(--muted); }
.topic-directory { display: flex; flex-wrap: wrap; gap: 8px; }
.topic-directory a { padding: 8px 11px; border: 1px solid #dfe7d7; border-radius: 16px; color: var(--muted); background: #fffefa; font-size: 12px; text-decoration: none; }
.explore-completeness { line-height: 1.9; margin-top: 25px; color: var(--muted); }
[data-layout=list] .explore-cards { grid-template-columns: 1fr; }
[data-layout=list] .explore-card { display: grid; grid-template-columns: minmax(0,1fr) 255px; column-gap: 27px; padding: 22px 25px; align-items: start; }
[data-layout=list] .explore-card>.explore-overview { grid-column: 1; grid-row: 1; }
[data-layout=list] .explore-card>.explore-controls { grid-column: 2; grid-row: 1; }
[data-layout=list] .explore-card h3 { font-size: 18px; }
[data-layout=list] .explore-card .explore-benefit { margin: 0; }
[data-layout=list] .explore-card .explore-card-actions { padding-top: 14px; }
[data-layout=list] .explore-card .explore-evidence { grid-column: 1/-1; }
.result-scope-group { grid-column: 1/-1; margin: 17px 0 0; padding-top: 16px; border-top: 1px solid #dce5d5; }
.result-scope-group h3 { font-size: 19px; font-weight: 550; margin: 0 0 7px; color: #4d7144; }
.result-scope-group p { font-size: 12px; color: var(--muted); line-height: 1.8; margin: 0; }
@media(max-width:750px) {
  .explore-main-filters { grid-template-columns: 1fr 1fr; gap: 17px 13px; }
  .explore-main-filters>.explore-field:first-child { grid-column: 1/-1; }
  .explore-filters { padding: 21px; }
  .explore-cards { gap: 13px; }
  .explore-card { padding: 21px; }
  .explore-card h3 { font-size: 19px; }
  .region-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-layout=list] .explore-card { grid-template-columns: minmax(0,1fr) 190px; gap: 0 15px; }
}
@media(max-width:540px) {
  .guide.explore-page { padding: 31px 0; }
  .guide.explore-page>h1 { font-size: 35px; letter-spacing: -1.4px; }
  .explore-filters { padding: 19px 16px; border-radius: 15px; }
  .explore-main-filters { grid-template-columns: minmax(0,1fr); gap: 17px 12px; }
  .explore-field label { font-size: 12px; line-height: 1.7; margin-bottom: 7px; }
  .explore-field select,.explore-field input { font-size: 16px; padding: 10px; min-height: 44px; }
  .explore-search-row { flex-direction: column; align-items: stretch; gap: 12px; }
  .explore-search-row>.button { min-height: 42px; }
  .explore-scope-note { font-size: 12px; align-items: flex-start; gap: 7px; }
  .explore-scope-note span { margin-top: 2px; }
  .explore-extra-fields { grid-template-columns: 1fr; gap: 16px; }
  .explore-check { font-size: 12px; line-height: 1.9; }
  .explore-toolbar { margin: 27px 0 25px; gap: 10px; }
  .explore-toolbar>p { font-size: 12px; line-height: 1.8; }
  .explore-view button { font-size: 12px; padding: 7px 9px; }
  .explore-context { font-size: 12px; padding-left: 12px; }
  .explore-cards { grid-template-columns: 1fr; }
  .explore-card { padding: 23px 21px; }
  .explore-group-heading { gap: 12px; }
  .explore-group-heading h2 { font-size: 24px; }
  .explore-group-heading p:not(.overline) { font-size: 12px; }
  .group-total { padding: 6px 9px; font-size: 12px; }
  [data-layout=list] .explore-card { display: flex; align-items: stretch; padding: 20px; }
  [data-layout=list] .explore-card .explore-benefit { font-size: 12px; }
  [data-layout=list] .explore-card .explore-card-actions { align-self: stretch; }
  .explore-directory>div { padding: 0 15px 20px; }
  .region-directory a { padding: 11px; font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) { .explore-card { transition: none; }.explore-card:hover { transform: none; } }

/* Benefit is the first scanning target; figures retain all their conditions. */
.explore-offer.aid-card-fact-benefit { background: var(--pale); border-color: var(--line); border-left: 3px solid var(--green); }
.aid-card-fact-benefit .explore-benefit { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }
/* The complete index is server-rendered; disclosure controls need no script. */
.hub-complete-index{margin-block:2.5rem;padding-block:1.5rem;border-top:1px solid var(--line,#d6dfd3);overflow-wrap:anywhere}
.hub-complete-index>h2{font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.25}
.hub-index-group{border:1px solid var(--line,#d6dfd3);border-radius:16px;margin-block:.65rem;background:var(--surface,#fffdf7)}
.hub-index-group>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem;cursor:pointer;font-weight:650;min-height:48px;overflow-wrap:anywhere}
.hub-index-group>summary span{flex:0 0 auto;background:var(--pale);color:var(--green);padding:2px 10px;border-radius:999px;font-weight:600;font-size:.88rem;white-space:nowrap}
.hub-index-group>summary span::after{content:' +';padding-inline-start:.35rem}
.hub-index-group[open]>summary span::after{content:' −'}
.hub-index-group>ul{list-style:none;margin:0;padding:0 1rem 1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}
.hub-index-group li{padding-block:.9rem;border-top:1px solid var(--line,#d6dfd3);min-width:0}
.hub-index-group li>a{display:block;line-height:1.45;min-height:44px;padding-block:.3rem;font-weight:600}
.hub-index-context{display:block;font-size:.88rem;line-height:1.5;color:var(--muted,#526257)}
.hub-index-context.is-open{color:var(--green);font-weight:600}
.hub-index-context.is-contextual{color:#785920}
.hub-index-context.is-closed{color:var(--muted,#526257)}
.metadata>a{color:inherit;text-underline-offset:.2em}
@media(max-width:768px){.hub-index-group>ul{grid-template-columns:minmax(0,1fr)}.hub-index-group>summary{padding:.85rem}.hub-index-group>summary span{font-size:.8rem}}

/* A tu alcance · capa visual y de uso. Se carga la última y solo sobrescribe presentación. */

/* ───────── Identidad: papel cálido, bosque, terracota ───────── */
html:root{
  --bg:#fbf7ef;--paper:#fff;--ink:#1c2b25;--green:#0f5a43;--green-d:#0a3f2f;--muted:#52645a;
  --terra:#a93f1a;--terra-soft:#fbe9df;--sun:#f5c451;--sun-soft:#fdf1cf;--sky:#1f5f7a;--sky-soft:#e3f0f5;--leaf-soft:#e8f1e4;
  --line:#e4ddcc;--pale:#eef3e8;--radius:16px;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --card-shadow:0 1px 0 #00000008,0 14px 30px -20px #3a2d17aa;
}
html{scroll-behavior:smooth}
html body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 1px 1px,#1c2b2512 1px,transparent 0);background-size:26px 26px}
html body h1,html body h2,html body h3{font-family:var(--display);letter-spacing:-.012em;font-weight:700;color:var(--ink)}
html body h1 em,html body h2 em{font-family:var(--display);font-style:italic;font-weight:600;color:var(--terra)}
html body :focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:4px}
html body .small,html body small{color:var(--muted)}
html body .small{font-size:14px;line-height:1.6}
html body p,html body li{max-width:72ch}
html body .eyebrow,html body .overline{font-family:inherit;font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--terra)}
html body .status-dot{background:var(--terra)}
html body a{text-underline-offset:3px}
html body .button{border-radius:12px;font-weight:700;font-size:15px;min-height:48px;padding:12px 22px;gap:10px;transition:transform .15s,box-shadow .15s,background .15s}
html body .button.primary,html body .primary{background:var(--green);color:#fff;box-shadow:0 8px 18px -10px #0f5a43}
html body .button.primary:hover:not(:disabled){background:var(--green-d);transform:translateY(-1px)}
html body .button.secondary{background:#fff;border:2px solid var(--green);color:var(--green)}
html body .button.secondary:hover{background:var(--leaf-soft)}
html body .button.ghost{background:transparent;border:2px solid var(--line);color:var(--ink)}
html body .button.ghost:hover{border-color:var(--green);color:var(--green)}

/* ───────── Cabecera fija y navegación ───────── */
html body .header{position:sticky;top:0;z-index:40;background:#fbf7efeb;backdrop-filter:saturate(1.4) blur(10px);
  max-width:none;width:100%;padding:12px max(24px,calc((100vw - 1200px)/2 + 28px));min-height:68px;height:auto;border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
html body .header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 8px 24px -20px #1c2b25}
html body .brand{font-family:var(--display);font-size:25px;letter-spacing:-.02em;font-weight:700}
html body .header .nav-button{font-size:15px;font-weight:600;color:var(--ink);padding:9px 12px;border-radius:10px;position:relative}
html body .header .nav-button::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;background:var(--terra);transform:scaleX(0);transform-origin:left;transition:transform .2s}
html body .header .nav-button:hover,html body .header .nav-button.active{background:transparent;color:var(--green)}
html body .header .nav-button:hover::after,html body .header .nav-button.active::after{transform:scaleX(1)}
html body .header .button.primary{min-height:42px;padding:8px 18px}
html body .saved-nav{border:2px solid var(--line);border-radius:12px;background:#fff;min-height:44px;font-weight:700;color:var(--ink)}
html body .saved-count{background:var(--sun);color:#3a2b00;border-radius:999px;font-weight:800;min-width:24px;text-align:center}
.saved-nav.bump .saved-count{animation:bump .4s}
@keyframes bump{40%{transform:scale(1.35)}}

/* ───────── Portada ───────── */
html body.home-page .hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start;text-align:left;
  max-width:1200px;margin:0 auto;padding:48px 0 36px}
html body .hero-text .eyebrow{justify-content:flex-start;margin:0 0 18px;display:flex}
html body .hero h1{font-size:clamp(36px,4.4vw,56px);line-height:1.04;margin:0 0 20px;text-align:left;letter-spacing:-.015em}
html body .hero h1 em{display:inline;font-size:1em;letter-spacing:-.01em;line-height:inherit;color:var(--terra);font-style:italic;font-weight:600}
html body .hero .hero-text .eyebrow{display:inline-flex;align-items:center;gap:8px;width:auto;border:0;background:none;box-shadow:none;padding:0;font-size:12px;letter-spacing:.12em;margin:0 0 18px;color:var(--terra)}
html body .hero .hero-copy{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:#33453c;margin:0 0 26px;max-width:34ch}
html body .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 28px}
html body .hero-art{margin-top:6px}
html body .hero-art svg{width:100%;max-width:520px;height:auto;display:block}
html body .hero-panel{position:relative}
html body .hero-panel .launcher{max-width:none;margin:0;padding:22px;border:2px solid var(--ink);border-radius:20px;background:#fff;box-shadow:8px 8px 0 var(--green)}
html body .hero-panel .launcher label{font-family:var(--display);font-size:20px;font-weight:700;display:block;margin-bottom:10px}
html body .hero-panel .launcher textarea{font-size:17px;line-height:1.5;min-height:92px;border-radius:12px}
html body .launcher textarea::placeholder{color:#5f6f66}
html body .hero-panel .launcher-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;color:var(--muted);margin-top:8px}
html body .hero-panel .launcher .send-button{width:auto;height:auto;min-height:50px;padding:12px 20px;border-radius:12px;background:var(--terra);color:#fff;display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:16px;opacity:1;box-shadow:none;flex-shrink:0;white-space:nowrap}
html body .hero-panel .launcher .send-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
html body .hero-panel .launcher .send-button:hover:not(:disabled){background:#8b3213;transform:translateY(-1px)}
html body .hero-panel .launcher .send-button:disabled{background:#ece6d6;color:#4a5850;box-shadow:inset 0 0 0 2px #d9d1bb;cursor:not-allowed}
html body .topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
html body .topic-chips .chip{border:2px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;font-size:14px;font-weight:600;padding:9px 15px;min-height:44px;transition:all .15s}
html body .topic-chips .chip:hover{border-color:var(--green);background:var(--leaf-soft);color:var(--green-d);transform:translateY(-1px)}
html body .hero-notes{display:flex;flex-wrap:wrap;gap:8px 18px;margin:18px 2px 8px;font-size:14px;color:#33453c;justify-content:flex-start}
html body .hero-notes span::before{content:"";display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--green);margin-right:7px}
html body #start-guided{font-size:16px;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:4px;padding:10px 2px;min-height:44px}
html body .assistant-mode,html body .independent-note{font-size:13px;color:var(--muted);margin:6px 2px}

/* Cifras reales del catálogo */
html body .coverage-strip{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:0;border:2px solid var(--ink);border-radius:20px;background:#fff;overflow:hidden;padding:0;max-width:1200px;margin:0 auto 64px}
html body .coverage-strip>*{padding:22px 26px;border-right:2px solid var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;text-align:left}
html body .coverage-strip>*:last-child{border-right:0;background:var(--sun-soft);text-decoration:none;color:var(--ink)}
html body .coverage-strip strong{font-family:var(--display);font-size:clamp(34px,4vw,50px);line-height:1;color:var(--green);letter-spacing:-.02em}
html body .coverage-strip span{font-size:15px;color:#33453c}

/* Secciones */
html body .home-support{max-width:1200px;margin:0 auto 72px}
html body .section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
html body .section-heading h2,html body .home-support>h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1;margin:6px 0 0}
html body .section-heading .text-link{font-weight:700;font-size:15px;color:var(--green);text-decoration:underline}
html body .home-discovery .eyebrow,html body .featured-section .eyebrow,html body .faq-section .eyebrow{color:var(--terra)}
html body .home-discovery h2{margin:6px 0 24px}
html body .section-lede{font-size:17px;color:#33453c;margin:0 0 22px}
html body .needs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
html body .need-card{display:flex;align-items:center;gap:16px;background:#fff;border:2px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}
html body .need-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:5px 5px 0 var(--green)}
html body .need-card strong{font-family:var(--display);font-size:20px}
html body .need-card span span{display:block;font-size:15px;color:var(--muted);margin-top:2px}
html body .need-icon{flex:none;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--leaf-soft)}
html body .need-icon svg{width:26px;height:26px;fill:none;stroke:var(--green);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html body .need-card:nth-child(2) .need-icon{background:var(--sky-soft)}html body .need-card:nth-child(2) .need-icon svg{stroke:var(--sky)}
html body .need-card:nth-child(1) .need-icon,html body .need-card:nth-child(4) .need-icon{background:var(--terra-soft)}html body .need-card:nth-child(1) .need-icon svg,html body .need-card:nth-child(4) .need-icon svg{stroke:var(--terra)}
html body .need-card:nth-child(6) .need-icon{background:var(--sun-soft)}html body .need-card:nth-child(6) .need-icon svg{stroke:#8a5a00}
html body .discovery-footer{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:20px}
html body .discovery-footer a{font-weight:700;color:var(--green)}

/* Comunidades */
html body .community-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}
@media(max-width:720px){html body .community-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}html body .community-card{padding:14px}html body .community-card strong{font-size:18px}}
html body .community-grid li{max-width:none;min-width:0;overflow-wrap:anywhere}
html body .community-card{display:flex;flex-direction:column;gap:3px;height:100%;background:#fff;border:2px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--ink);position:relative;transition:transform .18s,border-color .18s,box-shadow .18s}
html body .community-card::after{content:""}
html body .community-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:4px 4px 0 var(--sun)}
html body .community-card:hover::after{opacity:1;transform:none}
html body .community-kind{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
html body .community-card strong{font-family:var(--display);font-size:20px;line-height:1.2}
html body .community-count{font-size:14px;color:var(--muted)}
html body .community-count b{font-family:var(--display);font-size:18px;color:var(--green)}
html body .community-grid li:first-child .community-card{background:var(--green);border-color:var(--green);color:#fff}
html body .community-grid li:first-child .community-kind,html body .community-grid li:first-child .community-count,html body .community-grid li:first-child .community-count b{color:#e5f2ea}
html body .community-grid li:first-child .community-card::after{color:var(--sun)}

/* Plazos próximos (portada) */
html body .soon-list{list-style:none;margin:16px 0 10px;padding:0;display:grid;gap:10px}
html body .soon-list li{max-width:none}
html body .soon-item{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center;background:#fff;border:2px solid var(--line);border-radius:14px;padding:14px 20px;text-decoration:none;color:var(--ink);transition:border-color .18s,transform .18s}
html body .soon-item:hover{border-color:var(--ink);transform:translateX(3px)}
html body .soon-when{display:flex;flex-direction:column;border-left:5px solid var(--terra);padding-left:12px}
html body .soon-label{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}
html body .soon-when time{font-family:var(--display);font-size:20px;font-weight:700}
html body .soon-body strong{font-family:var(--display);font-size:19px;display:block}

/* Cómo funciona / destacados / FAQ / cierre */
html body .how-section{display:block;background:var(--leaf-soft);border:0;border-radius:28px;padding:40px}
html body .how-heading{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:12px 32px}
html body .how-heading p{max-width:44ch;margin:0}
html body .how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;padding:0;margin:26px 0 0}
html body .how-steps li{display:block;background:#fff;border:2px solid var(--line);border-radius:18px;padding:24px;max-width:none}
html body .how-steps li>span{display:block;width:auto;height:auto;background:none;border:0;border-radius:0;font-family:var(--display);font-size:46px;line-height:1;color:var(--terra);font-weight:700}
html body .how-steps h3{font-size:21px;margin:12px 0 6px}
html body .featured-card{border:2px solid var(--line);border-radius:18px;background:#fff;transition:transform .18s,box-shadow .18s,border-color .18s}
html body .featured-card:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:5px 5px 0 var(--leaf-soft)}
html body .featured-card h3{font-size:21px}
html body .featured-card p{font-size:15px;line-height:1.55;color:#33453c}
html body .featured-card .overline{font-size:12px;color:var(--terra)}
html body .featured-card>span:last-child{font-size:14px;font-weight:700;color:var(--green)}
html body .faq-list details{background:#fff;border:2px solid var(--line);border-radius:14px;margin-bottom:10px;padding:4px 18px}
html body .faq-list summary{font-family:var(--display);font-weight:700;font-size:18px;padding:14px 0;cursor:pointer;min-height:44px}
html body .faq-list details[open]{border-color:var(--ink)}
html body .closing-cta{background:var(--green);color:#fff;border-radius:28px;padding:56px 32px;text-align:center;position:relative;overflow:hidden}
html body .closing-cta::before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:var(--sun);right:-80px;top:-100px;opacity:.9}
html body .closing-cta h2,html body .closing-cta p{color:#fff;position:relative;margin-left:auto;margin-right:auto}
html body .closing-cta h2 em{color:var(--sun)}
html body .closing-cta .button{position:relative;background:var(--sun);color:#2a2000;box-shadow:none}
html body .closing-mark{display:none}
html body .site-footer{border-top:2px solid var(--ink);margin-top:40px;padding-top:32px}

/* ───────── Catálogo y fichas en tarjeta ───────── */
html body{--topic:var(--green)}
html body .explore-context>summary{color:var(--muted)}
html body .explore-advanced>summary{min-height:44px;display:flex;align-items:center}
html body .history-details,html body .step{color:var(--muted)}
[data-topic=vivienda]{--topic:#a93f1a}[data-topic=estudios]{--topic:#1f5f7a}[data-topic=familia]{--topic:#8a4f7d}
[data-topic=ingresos]{--topic:#0f5a43}[data-topic=empleo]{--topic:#5b6f1e}[data-topic=autonomos]{--topic:#8a5a00}
[data-topic=fiscal]{--topic:#4a5d8f}[data-topic=salud]{--topic:#b0364a}[data-topic=cultura]{--topic:#7a5c1f}
html body .explore-card{background:#fff;border:2px solid var(--line);border-top:6px solid var(--topic);border-radius:16px;box-shadow:var(--card-shadow);transition:transform .18s,box-shadow .18s,border-color .18s}
html body .explore-card:hover{transform:translateY(-3px);border-color:var(--ink);border-top-color:var(--topic);box-shadow:6px 6px 0 #1c2b2514}
html body .explore-card h3{font-size:21px;line-height:1.2}
html body .explore-card h3 a{color:var(--ink);text-decoration:none;background:linear-gradient(var(--topic),var(--topic)) 0 100%/0 2px no-repeat;transition:background-size .25s}
html body .explore-card h3 a:hover{background-size:100% 2px}
html body .explore-card-meta{font-size:13px;font-weight:700;color:var(--topic)}
html body .explore-card-meta span+span::before{content:"·";margin:0 6px;color:var(--muted)}
html body .explore-benefit{font-size:16px;line-height:1.5;color:var(--ink)}
html body mark.money{background:linear-gradient(transparent 58%,#f5c45199 58%);color:inherit;font-weight:800;padding:0 2px;white-space:nowrap}
html body .glance-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
html body .deadline-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;font-size:13px;font-weight:700;padding:5px 12px}
html body .deadline-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
html body .deadline-pill.open{background:#dff0e5;color:#0a4a37}
html body .deadline-pill.pending{background:var(--sun-soft);color:#6b4a00}
html body .deadline-pill.closed{background:#ebe8e0;color:#4a4a44}
.urgency{display:inline-block;margin-left:8px;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:800;letter-spacing:.02em}
.urgency[data-level=today],.urgency[data-level=tomorrow]{background:var(--terra);color:#fff;animation:pulse 2.2s 3}
.urgency[data-level=week]{background:#ffd9c7;color:#6e2208}
.urgency[data-level=month]{background:var(--sun-soft);color:#6b4a00}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 #a93f1a66}50%{box-shadow:0 0 0 7px #a93f1a00}}
html body .explore-card-actions .button.primary{min-height:44px}
html body .explore-card-actions button{border-radius:10px;border:2px solid var(--line);background:#fff;font-weight:600;min-height:44px;padding:0 14px}
html body .explore-card-actions button:hover{border-color:var(--green);color:var(--green)}
html body .save-aid.saved,html body .save-aid[aria-pressed=true]{background:var(--sun);border-color:var(--sun);color:#2a2000}

/* Ficha */
html body .compact-aid h1{font-size:clamp(30px,3.6vw,44px);line-height:1.1;margin:10px 0 14px}
html body .compact-aid .metadata{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
html body .compact-aid .metadata a,html body .compact-aid .metadata span{display:inline-block;background:var(--leaf-soft);color:#0a4a37;text-decoration:none;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:600}
html body .compact-aid .metadata a:hover{background:var(--green);color:#fff}
html body .aid-fact span:first-child{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}
html body .aid-fact small{font-size:14px;line-height:1.6;color:#33453c}
html body .catalog-hero h1 em,html body .guide h1 em,html body main h1 em{color:var(--terra)}
html body .aid-verification-strip .verification-status{background:var(--leaf-soft);color:#0a4a37;border-radius:999px;font-weight:700;padding:5px 12px}
html body .aid-snapshot{background:#fff;border:2px solid var(--ink);border-left:10px solid var(--green);border-radius:18px;padding:24px 28px;box-shadow:6px 6px 0 var(--leaf-soft)}
html body .aid-snapshot h2{font-family:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra);margin:0 0 8px}
html body .aid-amount{font-family:var(--display);font-weight:700;font-size:clamp(44px,7vw,72px);line-height:1;color:var(--green);letter-spacing:-.02em;margin:0 0 10px}
html body .aid-amount small{font-size:.38em;font-weight:600;color:var(--muted);margin-left:8px;letter-spacing:0}
html body .aid-benefit{font-size:18px;line-height:1.6;color:var(--ink)}
html body .aid-quickfacts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
html body .aid-fact{background:#fff;border:2px solid var(--line);border-radius:16px;padding:18px 20px}
html body .aid-fact strong{font-family:var(--display);font-size:22px}
html body .aid-fact[data-deadline-tone=open]{border-color:#7fb89a;background:#f1f9f3}
html body .aid-fact[data-deadline-tone=pending]{border-color:#e0bf63;background:var(--sun-soft)}
html body .aid-fact[data-deadline-tone=closed]{background:#f1eee6}
html body .aid-fact[data-urgency=today],html body .aid-fact[data-urgency=tomorrow],html body .aid-fact[data-urgency=week]{border-color:var(--terra);background:var(--terra-soft)}
html body .aid-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}
html body .aid-actions .aid-apply{min-height:54px;font-size:17px;padding:14px 26px;background:var(--terra);box-shadow:5px 5px 0 var(--ink);color:#fff}
html body .aid-actions .aid-apply:hover:not(:disabled){background:#8b3213;transform:translate(-1px,-1px);box-shadow:7px 7px 0 var(--ink)}
html body .aid-actions .aid-apply::after{content:"↗";font-weight:800}
html body .aid-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
html body .aid-tools button,html body .aid-tools a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:2px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none;cursor:pointer}
html body .aid-tools button:hover,html body .aid-tools a:hover{border-color:var(--green);color:var(--green)}
html body .aid-tools svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html body .aid-tools [aria-pressed=true]{background:var(--sky-soft);border-color:var(--sky);color:var(--sky)}
html body .quick-reading{position:sticky;top:68px;z-index:20;background:var(--bg);padding:8px 0}
html body .quick-reading ol{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0}
html body .quick-reading li{max-width:none}
html body .quick-reading a{display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:999px;background:#fff;padding:8px 16px 8px 8px;text-decoration:none;color:var(--ink);font-size:15px;min-height:44px}
html body .quick-reading a small{display:none}
html body .quick-reading .quick-step-number{width:28px;height:28px;border-radius:50%;background:var(--leaf-soft);color:var(--green);display:grid;place-items:center;font-weight:800;font-size:14px}
html body .quick-reading a[aria-current=true]{background:var(--green);border-color:var(--green);color:#fff}
html body .quick-reading a[aria-current=true] .quick-step-number{background:var(--sun);color:#2a2000}
html body .aid-trust-bar{background:var(--sky-soft);border:2px solid #b4d3df;border-radius:16px}
html body details.aid-topic{background:#fff;border:2px solid var(--line);border-radius:16px;padding:6px 20px}
html body details.aid-topic>summary h2{font-size:22px;margin:10px 0}
html body .benefit-item strong{font-family:var(--display);font-size:24px;color:var(--green)}

/* Plazos */
html body .deadlines-page{display:flex;flex-direction:column}
html body .deadlines-page>.notice{order:3;font-size:14px;background:var(--sun-soft);border:2px solid #e8cf86;border-radius:12px;padding:14px 18px}
html body .deadlines-page>.deadline-list{order:1}
html body .deadlines-page>.small{order:4}
html body .deadlines-page h1{font-size:clamp(36px,5vw,60px)}
html body .deadline-list{display:grid;gap:12px}
html body .deadline-group{font-size:22px;margin:26px 0 4px;display:flex;align-items:center;gap:12px}
html body .deadline-group::after{content:"";flex:1;height:2px;background:var(--line)}
html body .deadline-card{display:grid;grid-template-columns:190px 1fr auto;gap:22px;align-items:center;background:#fff;border:2px solid var(--line);border-left:8px solid var(--topic,var(--green));border-radius:16px;padding:16px 22px;box-shadow:var(--card-shadow)}
html body .deadline-card[data-urgency=today],html body .deadline-card[data-urgency=tomorrow]{border-left-color:var(--terra);background:#fff8f4}
html body .deadline-date{display:flex;flex-direction:column}
html body .deadline-date>span{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}
html body .deadline-date strong{font-family:var(--display);font-size:20px;line-height:1.2}
html body .deadline-date .nb{white-space:nowrap}
html body .deadline-card h2{font-size:20px;margin:2px 0}
html body .deadline-card h2 a{color:var(--ink)}
html body .deadline-card p{color:var(--muted)}

/* ───────── Pestañas móviles y panel de lectura ───────── */
.tabbar{display:none}
.a11y-fab{position:fixed;left:16px;bottom:16px;z-index:60;display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 16px 0 12px;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer;box-shadow:4px 4px 0 var(--ink)}
.a11y-fab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.a11y-fab:hover{background:var(--sun-soft)}
.a11y-panel{position:fixed;left:16px;bottom:76px;z-index:61;width:min(340px,calc(100vw - 32px));background:#fff;border:2px solid var(--ink);border-radius:18px;padding:18px;box-shadow:8px 8px 0 var(--ink)}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{font-size:20px;margin:0 0 12px}
.a11y-panel .row{margin:0 0 14px}
.a11y-panel .row>span{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px}
.a11y-panel .seg{display:flex;gap:6px}
.a11y-panel button.opt{flex:1;min-height:44px;border:2px solid var(--line);background:#fff;border-radius:10px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.a11y-panel button.opt[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.a11y-panel .sz-lg{font-size:1.15em}.a11y-panel .sz-xl{font-size:1.35em}
.a11y-panel .reset{background:none;border:0;color:var(--green);font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;min-height:44px;padding:0}
.voice-field{position:relative;display:block;flex:1;min-width:0}
.voice-field>input{width:100%;padding-right:62px}
.voice-field .voice-btn{right:8px}
.voice-btn.inline{position:static;transform:none;margin-left:auto}
.voice-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:2px solid var(--line);background:#fff;color:var(--green);display:grid;place-items:center;cursor:pointer}
.voice-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.voice-btn[aria-pressed=true]{background:var(--terra);border-color:var(--terra);color:#fff;animation:pulse 1.4s infinite}
.voice-wrap{position:relative;display:block}
.voice-wrap input{padding-right:62px}

/* ───────── Movimiento (apagado si el usuario lo pide) ───────── */
@media(prefers-reduced-motion:no-preference){
  html.js-reveal .reveal{opacity:0;transform:translateY(14px)}
  html.js-reveal .reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease;transition-delay:var(--d,0s)}
  .reveal-delay-1{--d:.05s}.reveal-delay-2{--d:.1s}.reveal-delay-3{--d:.15s}.reveal-delay-4{--d:.2s}.reveal-delay-5{--d:.25s}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ───────── Responsive ───────── */
@media(max-width:1000px){
  html body.home-page .hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:28px}
  html body.home-page .hero-panel{min-width:0}
  html body .hero-art{display:none}
  html body.home-page .hero-text{display:contents}
  html body.home-page .hero .eyebrow{order:1}html body.home-page .hero h1{order:2;margin:0}html body.home-page .hero .hero-copy{order:3;margin:0}
  html body.home-page .hero-actions{order:4;margin:0}html body.home-page .hero-panel{order:5}
  html body .needs-grid{grid-template-columns:1fr 1fr}
  html body .how-steps{grid-template-columns:1fr}
  html body .coverage-strip{grid-template-columns:1fr 1fr}
  html body .coverage-strip>*:last-child{grid-column:1/-1;border-top:2px solid var(--ink)}
  html body .coverage-strip>*:nth-child(2){border-right:0}
}
@media(max-width:720px){
  html body .header{padding:10px 18px;min-height:58px}
  html:not(.has-tabbar) body .header{flex-wrap:wrap;gap:10px}
  html:not(.has-tabbar) body .header nav{width:100%;min-width:0;flex-wrap:wrap;justify-content:flex-start;gap:6px}
  html.has-tabbar body .header nav,html.has-tabbar body .header .about-button{display:none}
  html body .brand{font-size:23px}
  html.has-tabbar body{padding-bottom:84px}
  html.has-tabbar .mobile-results-bar{bottom:calc(82px + env(safe-area-inset-bottom));z-index:56}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:55;background:#fffffff2;backdrop-filter:blur(10px);border-top:2px solid var(--ink);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;border:0;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--ink);text-decoration:none;position:relative;cursor:pointer;border-radius:12px}
  .tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  .tabbar [aria-current=page]{color:var(--green);background:var(--leaf-soft)}
  .tabbar .tab-count{position:absolute;top:4px;left:calc(50% + 6px);min-width:20px;height:20px;border-radius:10px;background:var(--sun);color:#2a2000;font-size:12px;display:grid;place-items:center;padding:0 5px}
  .tabbar .tab-count:empty,.tabbar .tab-count[data-n="0"]{display:none}
  .a11y-fab{top:7px;bottom:auto;left:auto;right:14px;min-height:44px;padding:0 12px;font-size:0;gap:0;box-shadow:none;border-width:2px}
  .a11y-fab svg{width:24px;height:24px}
  .a11y-panel{top:60px;bottom:auto;left:12px;right:12px;width:auto}
  html body .needs-grid{grid-template-columns:1fr}
  html body .hero h1{font-size:clamp(34px,10vw,44px)}
  html body .hero-panel .launcher{box-shadow:5px 5px 0 var(--green);padding:18px}
  html body .hero-panel .launcher-bottom>span{display:none}
  html body .hero-panel .launcher .send-button{flex:1;min-width:0;justify-content:center}
  .voice-field{position:relative;display:block;flex:1;min-width:0}
.voice-field>input{width:100%;padding-right:62px}
.voice-field .voice-btn{right:8px}
.voice-btn.inline{margin-left:0}
  html body .coverage-strip{grid-template-columns:1fr 1fr}
  html body .coverage-strip>*{padding:16px 18px}
  html body .soon-item{grid-template-columns:1fr;gap:6px}
  html body .aid-quickfacts{grid-template-columns:1fr}
  html body .aid-actions .aid-apply{width:100%;justify-content:center}
  html body .deadline-card{grid-template-columns:1fr;gap:6px}
  html body .quick-reading{top:58px}
  html body .quick-reading ol{flex-wrap:wrap;padding-bottom:4px}
  html body .quick-reading a{white-space:normal}
  html body .closing-cta{padding:40px 20px}
}

/* Reserve the mobile header before deferred navigation enhancement arrives. */
@media(max-width:720px) and (scripting:enabled){
  html:not(.has-tabbar) body .header{flex-wrap:nowrap}
  html body .header nav,html body .header .about-button{display:none}
  html body{padding-bottom:84px}
  html body .hero-panel .launcher-bottom{display:grid;grid-template-columns:44px minmax(0,1fr)}
  html body .hero-panel .launcher .send-button{grid-column:2;grid-row:1;width:100%}
  html body .hero-panel .launcher-bottom .voice-btn.inline{grid-column:1;grid-row:1}
}

/* ───────── Preferencias de lectura ───────── */
html[data-text=lg] body{zoom:1.12}
html[data-text=xl] body{zoom:1.28}
html[data-contrast=high]{--ink:#000;--muted:#1a1a1a;--line:#000;--green:#054030;--terra:#8a2d0c}
html[data-contrast=high] body{background:#fff;background-image:none}
html[data-contrast=high] a{text-decoration:underline!important}
html[data-contrast=high] .explore-card,html[data-contrast=high] .need-card,html[data-contrast=high] .community-card,html[data-contrast=high] .aid-fact,html[data-contrast=high] .deadline-card{border-color:#000}
html[data-theme=dark]{filter:invert(1) hue-rotate(180deg);background:#fff}
html[data-theme=dark] img,html[data-theme=dark] video,html[data-theme=dark] .hero-art svg{filter:invert(1) hue-rotate(180deg)}

/* ───────── Impresión ───────── */
@media print{
  .header,.tabbar,.a11y-fab,.a11y-panel,.aid-tools,.aid-actions,.quick-reading,.ad-slot-container,.site-footer nav,.save-aid,.preview-aid{display:none!important}
  html body{background:#fff;font-size:12pt;padding:0}
  html body a[href^=http]::after{content:" (" attr(href) ")";font-size:10pt;word-break:break-all}
  details>*{display:block!important}
  html body .aid-snapshot,html body .aid-fact{box-shadow:none}
}
