:root{--bg:#fbf8f3;--surface:#fff;--ink:#1d2b36;--muted:#4a5a66;--line:#e6dfd4;--primary:#1f6f78;--primary-d:#165259;--teal-50:#e8f4f3;--blue-50:#eaf1fa;--sand:#f5ede1;--peach:#f2b880;--radius:18px;--shadow:0 1px 2px rgba(29,43,54,.06),0 8px 24px rgba(29,43,54,.06);--font:"Nunito","Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;--head:"Fraunces",Georgia,"Times New Roman",serif}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.6;font-size:1.0625rem}
img,svg{max-width:100%}a{color:var(--primary-d);text-underline-offset:3px}a:hover{color:#0f3c41}
h1,h2,h3{font-family:var(--head);line-height:1.2;letter-spacing:-.01em;margin:0 0 .5rem}h1{font-size:clamp(1.9rem,5vw,3rem)}h2{font-size:clamp(1.35rem,3vw,1.8rem)}h3{font-size:1.15rem}
.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}.section{padding:2.5rem 0}.sub{color:var(--muted);margin-top:-.25rem;margin-bottom:1.25rem}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:10}.skip:focus{left:1rem}
:focus-visible{outline:3px solid #e08a2e;outline-offset:2px;border-radius:6px}
.icon{width:1.5rem;height:1.5rem;flex:none}.icon.sm{width:1.05rem;height:1.05rem}.h1i{width:2.2rem;height:2.2rem;vertical-align:-.25rem;color:var(--primary)}
.site-head{background:rgba(251,248,243,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--head);font-size:1.35rem;color:var(--ink);text-decoration:none}.brand b{color:var(--primary)}
.nav{list-style:none;display:flex;gap:.25rem 1.1rem;margin:0;padding:0;align-items:center;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--ink);font-weight:600}.nav a.btn{color:#fff}
@media(max-width:640px){.nav li:not(:last-child){display:none}}
.btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--primary);color:#fff;border:2px solid var(--primary);border-radius:999px;padding:.7rem 1.25rem;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;font-family:inherit;min-height:44px}
.btn:hover{background:var(--primary-d);border-color:var(--primary-d);color:#fff}.btn-small{padding:.45rem 1rem;min-height:38px;font-size:.95rem}
.btn-ghost{background:transparent;color:var(--primary-d)}.btn-ghost:hover{background:var(--teal-50);color:var(--primary-d)}
.btn-soft{background:var(--teal-50);color:var(--primary-d);border-color:transparent;padding:.5rem .9rem;font-size:.92rem;min-height:40px}.btn-soft:hover{background:#d3ebe9;color:#0f3c41;border-color:transparent}
.hero{background:radial-gradient(1200px 400px at 85% -10%,#d7ecf0 0,transparent 60%),radial-gradient(800px 380px at -10% 110%,#f6e3cc 0,transparent 60%),var(--bg);padding:3.5rem 0 2.5rem}
.hero-in{max-width:880px;text-align:center}.eyebrow{display:inline-block;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.3rem .9rem;font-weight:700;color:var(--primary-d);font-size:.9rem}
.lede{font-size:1.15rem;color:var(--muted);max-width:68ch}.hero .lede{margin-inline:auto}
.hero-search{background:var(--surface);border-radius:24px;box-shadow:var(--shadow);padding:1.25rem;margin:1.75rem auto 0;text-align:left;border:1px solid var(--line)}
.hs-title{font-size:1.2rem;margin-bottom:.75rem}.hs-row{display:grid;gap:.6rem}@media(min-width:760px){.hs-row{grid-template-columns:1.4fr 1fr auto}}
.hs-row label,.filters label{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1.5px solid var(--line);border-radius:14px;padding:0 .8rem;color:var(--muted)}
.hs-row label:focus-within,.filters label:focus-within{border-color:var(--primary)}
input,select,textarea{font:inherit;color:var(--ink)}.hs-row input,.hs-row select,.filters input,.filters select{border:0;background:transparent;width:100%;padding:.75rem 0;min-height:44px;outline:none}
.hs-pop{font-size:.92rem;color:var(--muted);margin:.8rem 0 0}
.stats{list-style:none;padding:0;margin:1.75rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;color:var(--muted)}.stats b{color:var(--ink);font-size:1.25rem;font-family:var(--head)}
.grid{display:grid;gap:1rem}.cats{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.cities{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.listings{grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.three{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:400px){.listings{grid-template-columns:1fr}}
.cat-card,.city-card,.card,.panel,.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.cat-card{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.cat-card:hover,.city-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(29,43,54,.1);color:var(--ink)}
.cat-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center}.cat-t{font-family:var(--head);font-size:1.15rem;font-weight:600}.cat-b{color:var(--muted);font-size:.95rem}.cat-n{margin-top:auto;font-weight:700;color:var(--primary-d);font-size:.92rem}
.band{background:var(--sand)}
.city-card{display:flex;align-items:center;gap:.75rem;padding:1rem;text-decoration:none;color:var(--ink)}.city-card .icon{color:var(--primary)}.city-card small{display:block;color:var(--muted)}
.card{padding:1.2rem;display:flex;flex-direction:column;gap:.35rem}.card h3{margin:.35rem 0 .1rem}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{text-decoration:underline;color:var(--primary-d)}
.card-top{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between}.loc{display:inline-flex;gap:.25rem;align-items:center;color:var(--muted);font-size:.88rem}
.svc{margin:0;color:var(--ink)}.meta{margin:0;font-size:.92rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.6rem}.actions.big .btn-soft{font-size:1rem;padding:.6rem 1.1rem}
.checked{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:#3d6b4a;margin:.5rem 0 0}
.badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .7rem;font-size:.82rem;font-weight:700;text-decoration:none}
.b-aba-therapy{background:#e3eefb;color:#1b4b80}.b-speech-therapy{background:#e5f3ef;color:#1d5c4a}.b-occupational-therapy{background:#fbeede;color:#7a4413}.b-diagnostic-evaluation{background:#efe8f8;color:#55308a}.b-ohio-autism-scholarship{background:#fdf2d6;color:#6b4e00}.b-schools-programs{background:#e6f0f6;color:#24506b}.b-sensory-friendly-activities{background:#fdeae4;color:#8a3519}.b-support-groups-nonprofits{background:#fbe6ee;color:#8a2550}.b-developmental-play-based-therapy{background:#e8f4e4;color:#2f5a1f}.b-counseling-mental-health{background:#f3e9f5;color:#6a2c78}.b-neurodiversity-affirming-groups{background:#fff0d9;color:#7a4a00}.b-county-state-resources{background:#e9edf0;color:#334450}
.page-head{background:linear-gradient(180deg,var(--teal-50),var(--bg));padding:2rem 0 1.5rem}.page-head .badge{margin-bottom:.6rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem;padding:0;margin:0 0 1rem;font-size:.9rem;color:var(--muted)}.crumbs li+li::before{content:"›";margin-right:.3rem}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:1.25rem}.filters .f-q{flex:1 1 260px}.filters select{min-width:180px}.count{margin:0 0 0 auto;color:var(--muted);font-size:.92rem}
.empty{padding:2rem;text-align:center;color:var(--muted)}
.related h2{font-size:1.2rem}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1rem}.chip{display:inline-block;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.45rem .95rem;text-decoration:none;font-weight:600;font-size:.95rem}.chip span{color:var(--muted);font-weight:400}.chip:hover{border-color:var(--primary)}
.detail{display:grid;gap:1.25rem}@media(min-width:900px){.detail{grid-template-columns:2fr 1fr}}.panel{padding:1.5rem}
dl{margin:0}dl div{display:grid;gap:.15rem;padding:.75rem 0;border-bottom:1px solid var(--line)}@media(min-width:600px){dl div{grid-template-columns:200px 1fr}}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}
.side p{overflow-wrap:anywhere}.small{font-size:.9rem;color:var(--muted)}
.step span{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--peach);color:var(--ink);font-weight:800}.step{padding:1.25rem}
.note{background:var(--blue-50);border-radius:var(--radius);padding:1.5rem;margin-block:1rem}.ticks{padding-left:1.2rem;margin:0}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.9rem 1.1rem;margin-bottom:.6rem}.faq summary{cursor:pointer;font-weight:700}.faq{padding-bottom:2.5rem}
.prose{max-width:760px}.center{text-align:center;margin-top:1.5rem}
.form{display:grid;gap:1rem;max-width:720px}.form label{display:grid;gap:.35rem;font-weight:600}.form input:not([type=radio]):not([type=checkbox]),.form select,.form textarea{border:1.5px solid #b9b0a3;border-radius:12px;padding:.7rem .8rem;background:#fff;min-height:44px}
.form fieldset{border:1px solid var(--line);border-radius:12px;padding:.75rem 1rem}.form .radio{display:flex;gap:.5rem;align-items:center;font-weight:400}.req{color:var(--muted);font-weight:400;font-size:.9rem}
.site-foot{background:#17323a;color:#dce8e9;margin-top:2rem;padding:2.5rem 0 1.25rem}.site-foot a{color:#fff}.site-foot .brand{color:#fff}.site-foot .brand b{color:#9ad8d2}.site-foot .small{color:#b9cdd0}
.foot-in{display:grid;gap:1.5rem}@media(min-width:800px){.foot-in{grid-template-columns:1.5fr 1fr 1fr 1fr}}.site-foot h2{font-family:var(--font);font-size:1rem;color:#fff}.site-foot ul{list-style:none;padding:0;margin:0}.site-foot li{margin:.3rem 0}.copy{border-top:1px solid #2c4c55;margin-top:1.5rem;padding-top:1rem}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cat-card:hover,.city-card:hover{transform:none}}
.badges{display:flex;flex-wrap:wrap;gap:.35rem}
.prose h2{margin-top:2rem}.prose ol,.prose ul{padding-left:1.3rem}.prose li{margin:.35rem 0}.prose p.note{margin:0 0 1.5rem;padding:1rem 1.25rem}
.filters .f-chk{cursor:pointer;padding:0 .9rem;min-height:48px;user-select:none}.filters .f-chk input{width:1.1rem;height:1.1rem;padding:0;min-height:0;accent-color:var(--primary)}.filters .f-chk:has(input:checked){border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--bg))}
.filters .f-clear{min-height:44px}
@media (max-width:640px){.filters{display:grid;grid-template-columns:1fr 1fr}.filters .f-q,.filters .f-chk{grid-column:1/-1}.filters select{min-width:0}.filters .count{grid-column:1/-1;margin:0}}
.trust{display:flex;gap:.5rem;align-items:flex-start;margin:1.25rem 0 0;font-size:.95rem;color:var(--muted);max-width:60ch}.trust .icon{flex:none;margin-top:.2rem;color:var(--primary)}
@media(max-width:640px){.nav li.nav-about{display:block}.nav{gap:.75rem}}
.table-wrap{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;margin:1em 0}.prose th,.prose td{border:1px solid #ddd;padding:.5em;text-align:left;vertical-align:top}
/* a11y + verification labels + start here */
:focus-visible{outline:3px solid #a14f00;outline-offset:2px}.site-foot :focus-visible{outline-color:#ffd18a}
.hs-row label:focus-within,.filters label:focus-within{box-shadow:0 0 0 3px rgba(31,111,120,.35)}
.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.35rem .75rem;margin-top:.5rem}.card-foot .checked{margin:0}
.checked.confirmed{color:#1d5c3a;font-weight:700}.fix{font-size:.85rem;color:var(--muted)}.fix:hover{color:var(--primary-d)}
.nc{color:var(--muted);font-style:italic}
.hero-start{margin:1.25rem 0 0}.btn-start{background:#a14f00;border-color:#a14f00;font-size:1.05rem}.btn-start:hover{background:#7d3d00;border-color:#7d3d00}
@media(max-width:640px){.nav li.nav-start{display:block}}
.path-index{list-style:none;padding:0;margin:0}.path-index li{display:flex}.path-index .cat-card{width:100%}
.paths{display:grid;gap:1.25rem}.path{scroll-margin-top:5rem}.path-steps{padding-left:1.3rem}.path-steps li{margin:.45rem 0}.path-steps span{color:var(--muted)}
.thin{margin-top:1.25rem}.thin h3{margin-top:0}
.b-adult-services-employment{background:#e8f0e0;color:#3b5a1f}
.brand-t{display:flex;flex-direction:column;line-height:1.1}.tagline{font-family:var(--font);font-size:.78rem;color:var(--muted);font-weight:600;letter-spacing:.01em}
.prose caption{caption-side:top}

.b-respite{background:#f3e8f5;color:#6a2a77}.b-social-skills{background:#e4f1f7;color:#1d5470}.b-haircuts-dental{background:#eef3e0;color:#46561a}.b-swim-water-safety{background:#e0f0f7;color:#15536b}.b-transition-job-training{background:#f5ecdf;color:#6a4515}
.help-list{display:grid;gap:1rem;padding:0;list-style:none}.help-list li{margin:0}
[hidden]{display:none!important}
