*{box-sizing:border-box} [hidden]{display:none!important}
:root{font:100%/1.55 system-ui,sans-serif;color:#19352f;background:#f8f9f4;--green:#153a34;--light:#e4efe4;--muted:#415a51;--border:#c2d4c8}
body{margin:0} .wrap{width:min(100% - 2rem,68rem);margin-inline:auto}
a{color:#135747;text-underline-offset:.2em} a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #b2640e;outline-offset:3px}
.skip{position:absolute;top:-10rem;padding:.8rem;background:white;z-index:5}.skip:focus{top:.5rem;left:.5rem}
.top{background:var(--green);color:white}.bar{min-height:4.2rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.brand{color:white;text-decoration:none;display:flex;align-items:center;gap:.5rem;font-weight:800;letter-spacing:-.03em;font-size:1.13rem}
.urgent{border:1px solid #ffc8ae;background:#ffe5d9;color:#752715;text-decoration:none;font-weight:750;border-radius:.65rem;padding:.55rem .78rem;white-space:nowrap}
.hero{padding:clamp(2.3rem,6vw,5rem) 0 2rem;background:radial-gradient(ellipse at 85% 12%,#cfebd8,transparent 55%),#eaf2e5;border-bottom:1px solid var(--border)}
.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:#395e4f;margin:0 0 .45rem}
h1,h2,h3,p{overflow-wrap:anywhere} h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1.02;letter-spacing:-.06em;margin:.45rem 0 1rem;max-width:13ch}
h2{font-size:clamp(1.5rem,4vw,2.25rem);letter-spacing:-.04em;line-height:1.2;margin:.15rem 0 .8rem}h3{line-height:1.22;margin:.55rem 0}
.intro{font-size:1.1rem;color:var(--muted);margin-bottom:1.5rem}
#search{max-width:43rem;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:1rem}
#search>label:first-child{font-weight:750;display:block;margin-bottom:.45rem}
.searchrow{display:flex;gap:.5rem;flex-wrap:wrap}
input[type=search]{min-width:0;flex:1 1 15rem;border:1px solid #7e9c8c;border-radius:.65rem;font:inherit;padding:.65rem .75rem;color:inherit;background:white}
button,.button{cursor:pointer;min-height:44px;border:1px solid transparent;border-radius:.65rem;background:#195447;color:#fff;padding:.55rem .85rem;font:inherit;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
button:hover,.button:hover{filter:brightness(.92)}button:disabled{cursor:wait;opacity:.7}
.check{display:flex;align-items:center;gap:.55rem;min-height:44px}.check input{width:1.2rem;height:1.2rem;accent-color:#195447;flex:none}
.hint{color:var(--muted);font-size:.875rem;margin:.1rem 0 .35rem}
.body{padding:2rem 0 3rem}.body section+section{margin-top:2rem}
#topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.65rem}
.topic,.secondary{background:white;color:#184d40;border-color:var(--border)}
.topic{justify-content:flex-start;gap:.6rem;text-align:left;min-height:54px}.topic[aria-pressed=true]{background:#195447;color:white}
.symbol{font-size:1.25rem;width:1.3rem;text-align:center}.heading,.actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.heading{justify-content:space-between}.card{background:white;border:1px solid var(--border);border-radius:.85rem;padding:1rem;margin-bottom:.75rem}
.card p{margin:.2rem 0 .7rem}.badge{font-size:.78rem;background:#eaf0db;color:#354725;padding:.25rem .55rem;border-radius:.4rem;font-weight:700}
.card .actions{margin-top:auto;padding-top:.65rem}.actions>a:not(.button){display:inline-flex;align-items:center;min-height:44px}
.progress{background:var(--light);padding:clamp(1rem,4vw,2rem);border-radius:1rem}
fieldset{border:1px solid #829e8b;border-radius:.6rem;margin:.7rem 0;padding:.8rem}legend{font-weight:750}
footer{background:var(--green);color:white;padding:1.6rem 0}footer a{color:#d5f5df}
.crisis{padding:2.5rem 0 3rem}.crisis h1{max-width:none}.emergency{background:#912b23}
@media(max-width:35rem){.desktop{display:none}.searchrow button{width:100%}}
#shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:.55rem}
#shortcuts .topic{justify-content:space-between}
#shortcuts .topic::after{content:'→';font-size:1.25rem;color:#32725c}
.card h3{margin-top:0}
.card .actions{padding:.15rem 0 .4rem}
.source{font-size:.9rem;color:var(--muted)}
.source summary,.disclosure summary{cursor:pointer;min-height:44px;align-content:center;width:fit-content}
.source button{display:block;margin-top:.45rem}
.disclosure{margin-top:.8rem;border-top:1px solid var(--border);padding:.2rem 0 .4rem}
.disclosure summary{font-weight:700}
.progress.disclosure{padding:.15rem 1rem .4rem}
#summary:empty{margin:0}
.area-picker{margin-top:1rem}
.area-picker label{font-weight:700;margin-right:.4rem}
.area-picker select,.review-field select{max-width:100%;min-height:44px;padding:.35rem .65rem;border:1px solid #7e9c8c;border-radius:.6rem;background:white;color:inherit;font:inherit}
.area-picker .actions{margin:.35rem 0}
.review-field{display:grid;justify-items:start;gap:.25rem;margin-top:.85rem}
.track-action{background:transparent;color:#184d40;padding-inline:0;text-decoration:underline;text-underline-offset:.2em}
.card [role=status]:empty{display:none}
.referral{padding:.75rem 1rem;background:var(--light);border-radius:.65rem}
.referral p{margin:0;font-weight:700}
#suggestion-form,#feedback-form,.listing-form{display:grid;gap:.55rem;max-width:36rem}
#suggestion-form input,#suggestion-form select,#feedback-form select,#feedback-form textarea,.listing-form input:not([type=checkbox]),.listing-form textarea,.listing-form select{width:100%;padding:.65rem;border:1px solid #7e9c8c;border-radius:.55rem;font:inherit}
#suggestion-form button,#feedback-form button{justify-self:start}
.listing-form label:not(.check){display:grid;gap:.2rem}
#safe-exit{margin-bottom:.8rem}
#filter-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.source dl{display:grid;grid-template-columns:fit-content(42%) 1fr;gap:.3rem .7rem;margin:.65rem 0}
.source dt{font-weight:700}.source dd{margin:0;overflow-wrap:anywhere}
.eyebrow{text-transform:uppercase}

.header-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
.header-actions button{padding-inline:.6rem}
@media(max-width:24rem){.bar{flex-wrap:wrap;padding-block:.4rem}.header-actions{justify-content:flex-start}}
