:root { color-scheme: light; --green:#2e7d32; --green-dark:#185823; --orange:#e67e22; --orange-dark:#a94416; --charcoal:#1e272c; --grey:#50616b; --paper:#f5f7f6; --white:#fff; --mint:#e9f5ec; --peach:#fff0e3; --line:#cbd9d0; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--charcoal); background:var(--paper); line-height:1.55; }
a { color:var(--green-dark); font-weight:750; text-underline-offset:.2em; }
a:hover { color:var(--orange-dark); }
:where(a,button,input,select):focus-visible { outline:3px solid #b94f00; outline-offset:4px; }
.skip-link { position:fixed; top:10px; left:10px; z-index:100; padding:12px 16px; border-radius:10px; color:white; background:var(--charcoal); transform:translateY(-150%); }
.skip-link:focus { transform:translateY(0); }
.site-header,main,footer { width:min(1180px,calc(100% - 32px)); margin-inline:auto; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:96px; }
.site-header nav,footer nav { display:flex; flex-wrap:wrap; gap:20px; }
.brand { display:flex; align-items:center; gap:8px; color:var(--charcoal); font-size:clamp(1.35rem,3vw,2rem); font-weight:900; letter-spacing:-.045em; text-decoration:none; }
.brand img { width:64px; height:58px; object-fit:contain; }
.brand strong { color:var(--green); }
.brand-domain { font-size:.58em; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,340px); align-items:center; gap:clamp(24px,7vw,90px); padding:clamp(36px,7vw,78px); border:1px solid var(--line); border-radius:34px; background:linear-gradient(135deg,#fff 55%,var(--mint)); box-shadow:0 22px 60px rgba(30,75,45,.09); }
.hero img { width:100%; height:auto; }
.eyebrow { margin:0 0 8px; color:var(--green); font-size:.82rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
h1,h2,h3,h4,p { overflow-wrap:anywhere; }
h1 { max-width:850px; margin:0; font-size:clamp(2.5rem,6vw,5.2rem); letter-spacing:-.06em; line-height:.98; }
h2 { margin:0 0 10px; font-size:clamp(1.8rem,4vw,3rem); letter-spacing:-.04em; line-height:1.05; }
h3 { margin:0; font-size:1.35rem; line-height:1.2; }
h4 { margin:8px 0 -5px; font-size:.95rem; }
.lede { max-width:760px; margin:22px 0; color:var(--grey); font-size:clamp(1.05rem,2vw,1.28rem); }
.button { display:inline-flex; min-height:52px; align-items:center; justify-content:center; padding:13px 21px; border:2px solid transparent; border-radius:999px; font:inherit; font-size:1rem; font-weight:850; text-decoration:none; cursor:pointer; }
.button.primary { color:white; background:var(--orange-dark); }
.button.secondary { align-self:end; color:var(--green-dark); border-color:var(--green); background:white; }
.important-note { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:start; margin:26px 0; padding:22px; border:2px solid #efb287; border-radius:20px; background:var(--peach); }
.important-note > div { display:grid; width:38px; height:38px; place-items:center; border-radius:50%; color:white; background:var(--orange-dark); font-weight:950; }
.important-note p { margin:3px 0 0; }
.language-switcher { display:flex; justify-content:flex-end; align-items:center; gap:8px; margin:28px 0 8px; }
.language-switcher span { color:var(--grey); font-weight:750; }
.language-switcher button { min-height:44px; padding:8px 14px; border:1px solid var(--line); border-radius:999px; color:var(--charcoal); background:white; font:inherit; font-weight:800; cursor:pointer; }
.language-switcher button[aria-pressed="true"] { color:white; border-color:var(--green); background:var(--green); }
.filters,.directory-section,.data-note { margin:34px 0; padding:clamp(24px,4vw,44px); border:1px solid var(--line); border-radius:28px; background:white; }
.filter-grid { display:grid; grid-template-columns:minmax(220px,2fr) minmax(190px,1fr) auto; gap:16px; align-items:end; }
label { display:grid; gap:7px; color:var(--charcoal); font-weight:850; }
input,select { width:100%; min-height:52px; padding:11px 13px; border:2px solid #a9bdb0; border-radius:12px; color:var(--charcoal); background:white; font:inherit; }
.status { min-height:1.55em; margin:18px 0 0; color:var(--grey); }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.section-heading > div { max-width:830px; }
.section-heading p { margin:8px 0 0; color:var(--grey); }
.result-count { flex:0 0 auto; padding:8px 12px; border-radius:999px; color:var(--green-dark); background:var(--mint); font-weight:900; }
.commercial-section { border-top:7px solid var(--orange); background:#fffaf6; }
.commercial-count { color:#73320f; background:#ffe2c2; }
.card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.program-card { display:flex; flex-direction:column; gap:10px; min-width:0; padding:22px; border:1px solid var(--line); border-radius:20px; background:white; box-shadow:0 9px 24px rgba(30,39,44,.045); }
.commercial-card { border-color:#efb287; }
.program-card p { margin:0; color:var(--grey); }
.program-card .provider { color:var(--green-dark); font-weight:800; }
.program-card .benefit { color:var(--charcoal); font-size:1.05rem; }
.program-card .notes { padding:12px; border-radius:10px; background:#f2f5f3; }
.badges { display:flex; flex-wrap:wrap; gap:8px; }
.badge { padding:5px 9px; border-radius:999px; color:var(--green-dark); background:var(--mint); font-size:.82rem; font-weight:900; }
.provider-badge { color:#633013; background:#ffe9d3; }
.official-link { align-self:flex-start; margin-top:auto; padding-top:8px; }
.checked { padding-top:10px; border-top:1px solid #e2ebe5; font-size:.88rem; }
.empty-state { padding:20px; border:1px dashed var(--orange); border-radius:15px; background:var(--peach); }
.data-note { background:#eef3f0; }
.data-note h2 { font-size:1.4rem; }
.data-note p { color:var(--grey); }
footer { display:flex; justify-content:space-between; gap:24px; padding:28px 0 44px; border-top:1px solid var(--line); color:var(--grey); }
@media (max-width:760px) { .site-header { align-items:flex-start; flex-direction:column; padding:18px 0; } .hero { grid-template-columns:1fr; padding:30px 24px; } .hero img { width:min(240px,70%); justify-self:center; order:-1; } .filter-grid,.card-grid { grid-template-columns:1fr; } .button.secondary { align-self:stretch; } .section-heading,footer { align-items:flex-start; flex-direction:column; } }
@media (max-width:420px) { .site-header,main,footer { width:min(100% - 20px,1180px); } .important-note { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
@media (forced-colors:active) { .button,.program-card,.directory-section,.important-note { border:2px solid ButtonText; } }
