/* Layout and palette adapted from the owner's supplied homepage reference. */
:root {
  --ink:#152e48; --muted:#536579; --blue:#173f58; --blue-dark:#08685e;
  --cyan:#edf5f5; --line:#dce5e8; --bg:#f5f8fa; --paper:#fff;
  --teal:#08685e; --hero:#edf5f5; --shadow:0 12px 32px rgba(23,59,72,.065);
}
html { scroll-padding-top: 1.5rem; }
.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; }
.topline { background:var(--ink); color:white; }
.topline>div { max-width:1240px; padding:.6rem 2.25rem; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; font-size:.875rem; line-height:1.5; }
.topline-message { display:flex; align-items:center; gap:.5rem; }
.inline-icon { display:inline-block; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:var(--inline-icon) center/contain no-repeat; }
.icon-handshake{--inline-icon:url('assets/icons/heart-handshake.svg')}
.icon-globe{--inline-icon:url('assets/icons/globe.svg')}
.icon-check{--inline-icon:url('assets/icons/check.svg')}
.icon-map{--inline-icon:url('assets/icons/map.svg')}
.icon-languages{--inline-icon:url('assets/icons/languages.svg')}
.icon-heart{--inline-icon:url('assets/icons/heart.svg')}
.icon-chevron{--inline-icon:url('assets/icons/chevron-right.svg')}
.topbar { padding:1.3rem 2.25rem; border:0; min-height:94px; gap:1.5rem; }
.brand-logo { width:44px; height:44px; flex-basis:44px; padding:4px; background:var(--hero); border-radius:12px; }
.brand-country { font-size:1rem; font-weight:650; letter-spacing:-.02em; color:var(--ink); }
.brand-title { font-size:.75rem; font-weight:500; letter-spacing:.16em; margin-top:.15rem; }
.header-nav { gap:.35rem 1.5rem; }
.header-nav a { font-size:.875rem; font-weight:500; }
.header-nav a[aria-current=page] { text-decoration:none; color:var(--muted); }
.header-nav a:hover { color:var(--teal); }
.language-control { gap:.35rem; padding:.15rem .55rem; border:1px solid var(--line); border-radius:8px; }
.language-control select { border:0; border-radius:0; padding:.35rem 0; min-height:40px; max-width:114px; font-size:.9375rem; }
main { padding:0; }
.hero { padding:3rem 2.25rem 1.65rem; background:var(--hero); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,1fr); gap:3.5rem; align-items:center; }
.intro { margin:0; }
.intro>div { display:block; }
.intro .eyebrow { color:var(--teal); font-weight:600; font-size:.875rem; text-transform:uppercase; letter-spacing:.07em; margin-bottom:1.1rem; }
.intro h1 { font-size:clamp(2.7rem,4.7vw,3.85rem); font-weight:550; letter-spacing:-.045em; line-height:1.1; max-width:none; }
.intro h1 span,.intro h1 em { display:block; }
.intro h1 em { color:var(--teal); font-style:normal; }
.lede { margin-top:1.25rem; max-width:430px; color:var(--muted); font-size:1.0625rem; line-height:1.8; }
.hero-trust { display:flex; flex-wrap:wrap; gap:.7rem 1.5rem; margin-top:1.5rem; color:var(--muted); font-size:.875rem; }
.hero-trust>span { display:flex; gap:.4rem; align-items:center; }
.hero-trust .inline-icon { color:var(--teal); }
.finder { margin:0; padding:1.65rem; background:#fff; border:1px solid var(--line); border-radius:17px; box-shadow:var(--shadow); }
.finder-head,.finder-head>div { display:block; }
.finder h2 { font-size:1.4rem; font-weight:600; line-height:1.35; letter-spacing:-.025em; }
#finderSubtitle { font-size:.9375rem; color:var(--muted); margin:.4rem 0 0; }
.controls { grid-template-columns:1fr; margin:1.3rem 0 1rem; gap:1rem; }
.controls label { font-size:.875rem; font-weight:550; gap:.45rem; }
.controls select,.controls input { border-color:#cbd8dc; border-radius:9px; min-height:50px; font-size:1rem; padding:.65rem .8rem; }
.controls select[aria-invalid=true] { border-color:#b13232; }
.controls label:last-child { grid-column:auto; }
.keyword-search { min-width:0; }
.keyword-search summary { cursor:pointer; color:var(--muted); font-size:.875rem; padding:.2rem 0; min-height:30px; }
.keyword-search[open] label { margin-top:.6rem; }
.keyword-search summary:focus-visible { outline:3px solid var(--teal); outline-offset:3px; border-radius:3px; }
.finder-actions { display:flex; flex-direction:column; align-items:stretch; gap:.7rem; }
.finder-actions>.primary-button { width:100%; gap:.7rem; }
.finder-actions>.primary-button::after { content:''; width:18px; height:18px; flex:0 0 18px; background:currentColor; mask:url('assets/icons/arrow-right.svg') center/contain no-repeat; }
.primary-button { background:#173f58; border-color:#173f58; border-radius:9px; font-weight:600; }
.primary-button:hover { background:#0c514f; border-color:#0c514f; }
.trust-note { max-width:none; justify-content:center; text-align:center; }
.trust-note .privacy-icon { display:none; }
.trust-note #trustText { font-size:.875rem; line-height:1.6; }
#resetButton { display:block; margin:.3rem auto -.3rem; min-height:36px; font-size:.875rem; font-weight:500; color:var(--teal); }
.coverage { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.7rem 1rem; margin-top:2rem; padding-top:1.25rem; border-top:1px solid #d3e1e3; color:var(--muted); font-size:.875rem; }
.coverage>span { display:flex; align-items:center; gap:.5rem; }
.browse-section { padding:2.4rem 2.25rem; }
.browse-head { display:flex; align-items:baseline; justify-content:space-between; gap:1.5rem; margin-bottom:1.3rem; }
.browse-head h2 { margin:0; font-size:1.8rem; font-weight:550; letter-spacing:-.03em; line-height:1.3; }
.browse-head p { margin:.4rem 0 0; color:var(--muted); font-size:1rem; }
.browse-all { color:var(--teal); display:inline-flex; align-items:center; gap:.5rem; font-weight:500; }
.browse-all::after { content:'↗'; font-size:1.1rem; }
.category-tiles { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
.category-tile { display:flex; align-items:center; gap:.85rem; padding:1.3rem 1.1rem; min-height:104px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-align:start; transition:background .15s,border-color .15s; min-width:0; }
.category-tile:hover,.category-tile[aria-pressed=true] { background:var(--hero); border-color:var(--teal); }
.category-copy { min-width:0; }
.category-copy strong { display:block; font-size:1rem; font-weight:550; line-height:1.4; }
.category-note { display:block; font-size:.875rem; color:var(--muted); margin-top:.3rem; line-height:1.5; }
.category-tile>.inline-icon { margin-inline-start:auto; width:15px; height:15px; flex-basis:15px; color:var(--muted); }
.category-icon { background:var(--bg); color:var(--teal); border-radius:11px; }
.category-tile .category-icon { width:40px; height:40px; flex-basis:40px; }
.resource-area { padding:0 2.25rem 2.5rem; }
.results-head .step { display:none; }
.state-panel { background:var(--hero); border-inline-start-color:var(--teal); }
.state-panel .eyebrow { color:var(--teal); }
.results h2 { font-size:1.5rem; font-weight:550; }
.program-type { color:var(--teal); }
.resource-scope { background:var(--bg); }
.verified-badge { border-color:var(--line); color:var(--muted); }
.secondary-button { border-color:#b9d0ce; }
.how { background:var(--bg); padding:2.2rem 2.25rem; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,2fr); gap:2.5rem; }
.how-intro h2 { font-size:1.65rem; font-weight:550; line-height:1.3; max-width:250px; letter-spacing:-.035em; }
.how-intro p { margin:.7rem 0 0; font-size:.9375rem; color:var(--muted); }
.how ol { margin:0; gap:1.5rem; }
.how li { display:flex; flex-direction:column; gap:.4rem; padding:0; border:0; }
.how li::before { content:'0' counter(steps) ' /'; font-size:.875rem; font-weight:500; color:var(--teal); letter-spacing:.05em; margin-bottom:.35rem; }
.how li strong { font-size:1rem; font-weight:600; }
.how li span { font-size:.9375rem; line-height:1.7; }
.emergency { margin:1.75rem 2.25rem 0; padding:1.1rem 1.3rem; background:#fff; border:1px solid var(--line); color:var(--ink); gap:1rem; }
.emergency h2 { font-size:1rem; }
.emergency p { color:var(--muted); font-size:.9375rem; }
.emergency-icon { background:var(--teal); }
.emergency a { background:var(--hero); border-color:var(--line); color:var(--teal); min-width:105px; font-size:.9375rem; }
.emergency a:focus-visible { outline-color:var(--teal); }
.translation-note { margin:1.5rem 2.25rem; padding:0; border:0; }
.page-view { padding:2rem 0; }
.guide-page { border-top-color:var(--teal); }
.guide-page .eyebrow { color:var(--teal); }
footer { padding:1.8rem 2.25rem; font-size:.9375rem; gap:1rem 3rem; }
.footer-brand .brand-title { font-size:.75rem; }
.footer-brand .brand-logo { width:40px; height:40px; flex-basis:40px; }
html[dir=rtl] .intro h1,html[lang=hi] .intro h1 { letter-spacing:0; line-height:1.5; font-size:clamp(2.1rem,3.5vw,3rem); }
html[dir=rtl] .intro .eyebrow { letter-spacing:0; text-transform:none; }
html[dir=rtl] .icon-chevron,html[dir=rtl] .primary-button::after { transform:scaleX(-1); }
html[lang=zh] .intro h1 { line-height:1.5; letter-spacing:0; }
@media(max-width:1060px) {
 .topbar { gap:.9rem; flex-wrap:wrap; }
 .header-nav { column-gap:1rem; }
 .hero-grid { gap:2rem; }
 .hero { padding-top:2.25rem; }
 .intro h1 { font-size:3rem; }
 .finder { padding:1.4rem; }
 .category-tile { gap:.6rem; padding:1.1rem .9rem; }
 .category-tile>.inline-icon { display:none; }
 .page-view { padding:1.5rem; }
}
@media(max-width:780px) {
 .topline>div { padding:.6rem 1.25rem; }
 #independentLabel { display:none; }
 .topbar { padding:1rem 1.25rem .6rem; }
 .brand { margin-inline-end:auto; }
 .header-nav { width:100%; order:3; justify-content:space-between; margin:0; padding-top:.4rem; }
 .header-nav a { font-size:.875rem; }
 .hero { padding:2rem 1.25rem 1.5rem; }
 .hero-grid { grid-template-columns:1fr; gap:1.75rem; }
 .intro h1 { font-size:clamp(2.5rem,7vw,3.25rem); max-width:590px; }
 .lede { max-width:600px; font-size:1rem; margin-top:1rem; }
 .hero-trust { margin-top:1.1rem; }
 .finder { padding:1.5rem; }
 .finder h2 { font-size:1.4rem; }
 .coverage { margin-top:1.5rem; gap:.65rem; font-size:.875rem; }
 .coverage>span { flex-basis:100%; }
 .browse-section { padding:2rem 1.25rem; }
 .browse-head { flex-wrap:wrap; gap:.25rem; }
 .browse-head h2 { font-size:1.6rem; }
 .browse-all { margin:0; }
 .category-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .category-tile { min-height:130px; flex-direction:column; align-items:flex-start; padding:1.1rem; gap:.8rem; }
 .resource-area { padding:0 1.25rem 2rem; }
 .how { grid-template-columns:1fr; padding:2rem 1.25rem; gap:1.5rem; }
 .how-intro h2 { max-width:none; font-size:1.6rem; }
 .how ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
 .how li+li { border:0; padding:0; }
 .emergency { margin:1.5rem 1.25rem 0; }
 .translation-note { margin:1.5rem 1.25rem; }
 footer { padding:1.5rem 1.25rem; }
}
@media(max-width:520px) {
 .topline>div { padding:.55rem 1rem; font-size:.8125rem; }
 .topbar { padding-inline:1rem; }
 .brand-country { font-size:.875rem; }
 .brand-title { font-size:.75rem; }
 .brand-logo { width:38px; height:38px; flex-basis:38px; }
 .language-control select { max-width:95px; }
 .language-control .inline-icon { width:16px; flex-basis:16px; }
 .header-nav { gap:.3rem .8rem; }
 .header-nav a { font-size:.875rem; }
 .hero { padding:1.75rem 1rem 1.4rem; }
 .intro .eyebrow { font-size:.8125rem; }
 .intro h1 { font-size:2.8rem; }
 .finder { padding:1.25rem; }
 .browse-section { padding:1.75rem 1rem; }
 .category-tiles { gap:.65rem; }
 .category-tile { padding:1rem; }
 .category-copy strong { font-size:.9375rem; }
 .how ol { grid-template-columns:1fr; gap:1.2rem; }
 .how li { display:grid; grid-template-columns:34px 1fr; gap:.3rem .7rem; }
 .how li::before { grid-row:1/3; }
 .resource-area { padding-inline:1rem; }
 .how { padding:1.75rem 1rem; }
 .emergency { margin-inline:1rem; }
 .translation-note { margin-inline:1rem; }
 .page-view { padding:1.25rem 1rem; }
 footer { padding-inline:1rem; }
}
@media(max-width:359px) {
 .language-control { width:auto; }
 .language-control>span.sr-only { display:block; }
 .header-nav { justify-content:flex-start; gap:.2rem 1rem; }
 .category-tiles { grid-template-columns:1fr; }
 .category-tile { min-height:90px; flex-direction:row; align-items:center; }
 .intro h1 { font-size:2.5rem; }
}
@media print {
 .topline { display:none!important; }
 .page-view { padding:0; }
 .guide-page { border:0; }
}

/* Direct links keep the complete guide collection accessible from the homepage. */
.guide-directory { margin-top:1.2rem; border-top:1px solid var(--line); padding-top:.6rem; }
.guide-directory summary { cursor:pointer; color:var(--teal); font-size:.9375rem; padding:.6rem 0; min-height:44px; }
.guide-directory summary:focus-visible { outline:3px solid var(--teal); outline-offset:3px; }
#guideDirectory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.2rem 1.5rem; margin-top:.7rem; }
#guideDirectory a { font-size:.9375rem; min-height:44px; display:flex; align-items:center; padding:.4rem 0; text-decoration:none; }
#guideDirectory a:hover { text-decoration:underline; }
@media(max-width:780px) { #guideDirectory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem 1rem; } }
@media(max-width:420px) { #guideDirectory { grid-template-columns:1fr; } }
