/* ============================================================
   RestoreLocal — Design System v1
   Trust-first directory. No frameworks, no webfonts, fast paint.
   ============================================================ */
:root{
  --ink:#0d1b2a;          /* deep navy — headers, footer */
  --ink-2:#15263a;
  --paper:#faf9f6;        /* warm off-white page bg */
  --card:#ffffff;
  --line:#e5e2da;
  --text:#22303f;
  --muted:#5b6b7b;
  --teal:#0e8f8f;         /* primary accent */
  --teal-dk:#0a6d6d;
  --teal-bg:#e7f4f4;
  --amber:#e8890c;        /* emergency / CTA */
  --amber-dk:#c67306;
  --green:#1a7f4b;        /* licensed */
  --green-bg:#e6f4ec;
  --blue:#1d5fae;         /* certified */
  --blue-bg:#e8f0fa;
  --gold:#8a6d1a;         /* cross-verified */
  --gold-bg:#faf3dc;
  --red:#b3341f;
  --red-bg:#fbeae6;
  --gray-bg:#eef0f2;
  --radius:10px;
  --shadow:0 1px 2px rgba(13,27,42,.06),0 4px 14px rgba(13,27,42,.06);
  --shadow-lg:0 2px 6px rgba(13,27,42,.08),0 12px 34px rgba(13,27,42,.10);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);background:var(--paper);color:var(--text);line-height:1.6;font-size:16px}
img,svg{max-width:100%;vertical-align:middle}
a{color:var(--teal-dk);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{color:var(--ink);line-height:1.22;margin:0 0 .5em;font-weight:750;letter-spacing:-.015em}
h1{font-size:clamp(1.7rem,3.4vw,2.5rem)}
h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-top:1.6em}
h3{font-size:1.13rem}
p{margin:.4em 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.wrap-n{max-width:820px;margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
.hdr{background:var(--ink);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.hdr-in{display:flex;align-items:center;gap:1.4rem;padding:.65rem 20px;max-width:1120px;margin:0 auto}
.logo{display:flex;align-items:center;gap:.55rem;color:#fff;font-weight:800;font-size:1.14rem;letter-spacing:-.02em;white-space:nowrap}
.logo:hover{text-decoration:none}
.logo .lg-badge{width:30px;height:30px;flex:none}
.logo em{color:#5fd0c8;font-style:normal}
.nav{display:flex;gap:1.1rem;margin-left:auto;align-items:center;flex-wrap:wrap}
.nav a{color:#cfd9e4;font-size:.93rem;font-weight:550}
.nav a:hover{color:#fff;text-decoration:none}
.nav .cta{background:var(--amber);color:#fff;padding:.42rem .85rem;border-radius:8px;font-weight:700}
.nav .cta:hover{background:var(--amber-dk)}
#navtog{display:none;margin-left:auto;background:none;border:1px solid #3b4c60;color:#fff;border-radius:8px;padding:.35rem .6rem;font-size:1rem}
@media(max-width:860px){
  #navtog{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink-2);flex-direction:column;align-items:flex-start;padding:1rem 20px;gap:.9rem}
  .nav.open{display:flex}
}

/* ---------- hero ---------- */
.hero{background:linear-gradient(160deg,var(--ink) 0%,#123047 55%,#0e4f56 100%);color:#fff;padding:3.6rem 0 4.4rem;position:relative;overflow:hidden}
.hero-img{background-size:cover!important;background-position:center!important}
.hero-img::after{display:none}
.hero::after{content:"";position:absolute;right:-140px;top:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(95,208,200,.16),transparent 65%)}
.hero h1{color:#fff;max-width:720px;font-size:clamp(1.9rem,4vw,2.9rem)}
.hero p.lede{color:#c3d2de;font-size:1.13rem;max-width:640px}
.hero .stats{display:flex;gap:2.2rem;flex-wrap:wrap;margin-top:1.9rem}
.hero .stat b{display:block;font-size:1.65rem;color:#5fd0c8;font-weight:800;letter-spacing:-.02em}
.hero .stat span{color:#9fb2c2;font-size:.86rem}
.crumbs{font-size:.84rem;color:var(--muted);padding:.9rem 0 0}
.crumbs a{color:var(--muted)}
.crumbs .sep{margin:0 .35rem;color:#b8bdc4}

/* ---------- cards & grids ---------- */
.grid{display:grid;gap:1.1rem}
.g2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.g4{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow)}
.card.hov:hover{box-shadow:var(--shadow-lg);border-color:#cfd6cf;transform:translateY(-1px);transition:.14s}
.card h3 a{color:var(--ink)}
.vcard{display:flex;flex-direction:column;gap:.35rem}
.vcard .ic{width:42px;height:42px;border-radius:9px;background:var(--teal-bg);display:flex;align-items:center;justify-content:center;margin-bottom:.4rem}
.vcard .n{font-size:.85rem;color:var(--muted)}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:.32rem;font-size:.76rem;font-weight:700;padding:.2rem .58rem;border-radius:999px;letter-spacing:.01em;white-space:nowrap}
.b-lic{background:var(--green-bg);color:var(--green)}
.b-cert{background:var(--blue-bg);color:var(--blue)}
.b-x{background:var(--gold-bg);color:var(--gold)}
.b-exp{background:var(--red-bg);color:var(--red)}
.b-tier{background:var(--gray-bg);color:#444f5a}
.b-fr{background:#f1e9fb;color:#6b3fa0}
.badge .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}

/* ---------- provider cards ---------- */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.35rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.5rem}
.pcard .top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pcard h3{margin:0;font-size:1.09rem}
.pcard .badges{display:flex;gap:.4rem;flex-wrap:wrap}
.pcard .meta{color:var(--muted);font-size:.9rem}
.pcard .certs{display:flex;gap:.35rem;flex-wrap:wrap;margin:.15rem 0}
.chip{font-size:.74rem;font-weight:650;background:var(--gray-bg);color:#3d4a56;border-radius:6px;padding:.14rem .5rem;font-family:var(--mono)}
.pcard .act{display:flex;gap:.7rem;align-items:center;margin-top:.35rem;flex-wrap:wrap}
.btn{display:inline-block;background:var(--teal);color:#fff;font-weight:700;padding:.5rem 1rem;border-radius:8px;font-size:.92rem;border:none;cursor:pointer}
.btn:hover{background:var(--teal-dk);text-decoration:none}
.btn.amber{background:var(--amber)}
.btn.amber:hover{background:var(--amber-dk)}
.btn.ghost{background:transparent;color:var(--teal-dk);border:1.5px solid var(--teal)}
.btn.ghost:hover{background:var(--teal-bg)}
.tel{font-weight:750;color:var(--ink);font-size:1rem}

/* sponsored slot */
.spon{border:1.5px dashed #d8b25e;background:#fffdf4;border-radius:var(--radius);padding:1rem 1.25rem;color:#7a6427;font-size:.92rem}
.spon .tag{font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#a08428;text-transform:uppercase}

/* ---------- info blocks ---------- */
.note{border-left:4px solid var(--teal);background:var(--teal-bg);border-radius:0 8px 8px 0;padding:.85rem 1.1rem;font-size:.95rem;margin:1.1rem 0}
.note.warn{border-color:var(--amber);background:#fdf3e3}
.note.law{border-color:var(--blue);background:var(--blue-bg)}
.kv{width:100%;border-collapse:collapse;font-size:.93rem;margin:.6rem 0 1.2rem}
.kv th,.kv td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
.kv th{color:var(--muted);font-weight:650;white-space:nowrap;width:34%}
.kv .src{color:var(--muted);font-size:.8rem}
.tbl{width:100%;border-collapse:collapse;font-size:.92rem;margin:.8rem 0 1.4rem}
.tbl th{background:var(--ink);color:#fff;text-align:left;padding:.55rem .75rem;font-size:.84rem}
.tbl td{padding:.55rem .75rem;border-bottom:1px solid var(--line)}
.tbl tr:nth-child(even) td{background:#f6f5f1}

/* verification strip */
.verif{display:flex;gap:.5rem;align-items:flex-start;font-size:.85rem;color:var(--muted);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.7rem .95rem;margin:.9rem 0}
.verif svg{flex:none;margin-top:.12rem}

/* FAQ */
details.faq{border:1px solid var(--line);border-radius:8px;background:var(--card);margin:.5rem 0;padding:0 1.1rem}
details.faq summary{cursor:pointer;font-weight:700;color:var(--ink);padding:.8rem 0;list-style:none;position:relative;padding-right:1.6rem}
details.faq summary::after{content:"+";position:absolute;right:.2rem;top:.65rem;font-size:1.2rem;color:var(--teal)}
details.faq[open] summary::after{content:"–"}
details.faq div{padding:0 0 1rem;color:var(--text);font-size:.95rem}

/* city/state link lists */
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.45rem .9rem;margin:.8rem 0 1.4rem}
.lgrid a{display:flex;justify-content:space-between;padding:.42rem .65rem;border-radius:7px;font-size:.93rem;background:var(--card);border:1px solid var(--line)}
.lgrid a:hover{border-color:var(--teal);text-decoration:none;background:var(--teal-bg)}
.lgrid .n{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}

/* filter bar */
.fbar{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0 1.1rem}
.fbar button{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:.32rem .8rem;font-size:.84rem;font-weight:650;color:var(--muted);cursor:pointer}
.fbar button.on{border-color:var(--teal);background:var(--teal-bg);color:var(--teal-dk)}

/* sections */
.sec{padding:2.6rem 0}
.sec.alt{background:#f3f1ec;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.two{display:grid;grid-template-columns:1fr 340px;gap:2.2rem;align-items:start}
@media(max-width:900px){.two{grid-template-columns:1fr}}
.side .card{margin-bottom:1rem}
.side h3{font-size:1rem}

/* footer */
.ftr{background:var(--ink);color:#93a5b6;margin-top:3.5rem;padding:2.6rem 0 2rem;font-size:.9rem}
.ftr a{color:#b9c8d6}
.ftr .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem}
@media(max-width:800px){.ftr .cols{grid-template-columns:1fr 1fr}}
.ftr h4,.ftr .ftr-h{color:#fff;font-size:.95rem;margin-bottom:.6rem;font-weight:750;line-height:1.22;letter-spacing:-.015em;margin-top:0}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin:.34rem 0}
.ftr .fine{border-top:1px solid #2b3c4f;margin-top:2rem;padding-top:1.2rem;font-size:.8rem;color:#7488999e;line-height:1.7}
.skip{position:absolute;left:-9999px}.skip:focus{position:fixed;left:8px;top:8px;background:#fff;padding:.5rem .8rem;z-index:99;border-radius:8px}
.small{font-size:.85rem;color:var(--muted)}
.center{text-align:center}
.mt0{margin-top:0}
hr.soft{border:none;border-top:1px solid var(--line);margin:2rem 0}

/* ---------- search ---------- */
.srch{position:relative;margin-left:auto}
.srch input{background:#15263a;border:1px solid #3b4c60;color:#fff;border-radius:8px;padding:.42rem .8rem;font-size:.88rem;width:200px;outline:none}
.srch input:focus{border-color:#5fd0c8;width:260px}
.srch input::placeholder{color:#7488a0}
.srch .res{position:absolute;top:110%;right:0;width:340px;max-height:380px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);display:none;z-index:60}
.srch .res a{display:block;padding:.55rem .85rem;font-size:.9rem;color:var(--text);border-bottom:1px solid #f0ede6}
.srch .res a:hover,.srch .res a.sel{background:var(--teal-bg);text-decoration:none}
.srch .res .t{font-weight:650;color:var(--ink)}
.srch .res .s{font-size:.78rem;color:var(--muted)}
@media(max-width:860px){.srch{display:none}}
.hsrch{max-width:560px;margin:1.5rem 0 0;position:relative}
.hsrch input{width:100%;padding:.85rem 1.1rem;border-radius:10px;border:2px solid rgba(95,208,200,.5);background:rgba(255,255,255,.97);font-size:1rem;outline:none}
.hsrch input:focus{border-color:#5fd0c8}
.hsrch .res{position:absolute;top:105%;left:0;right:0;max-height:380px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);display:none;z-index:60}
.hsrch .res a{display:block;padding:.6rem .95rem;color:var(--text);border-bottom:1px solid #f0ede6}
.hsrch .res a:hover,.hsrch .res a.sel{background:var(--teal-bg);text-decoration:none}
.hsrch .res .t{font-weight:650;color:var(--ink)}
.hsrch .res .s{font-size:.8rem;color:var(--muted)}
/* mobile sticky bar */
.mbar{display:none}
@media(max-width:860px){.mbar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:70;background:var(--ink);padding:.6rem .9rem;gap:.6rem;box-shadow:0 -4px 18px rgba(13,27,42,.25)}
.mbar a{flex:1;text-align:center;padding:.6rem;border-radius:8px;font-weight:750;font-size:.95rem}
.mbar .a1{background:var(--amber);color:#fff}.mbar .a2{background:#15263a;color:#cfd9e4;border:1px solid #3b4c60}
body.haspad{padding-bottom:64px}}
/* self-reported section */
.selfrep{border:1px solid var(--line);border-radius:var(--radius);background:#fbfaf7;padding:1rem 1.2rem;margin:1rem 0}
.selfrep .tag{font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.selfrep .svc{display:flex;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:2px}

/* ---------- US tile map ---------- */
.usmap{--cell:clamp(30px,4.6vw,54px);display:grid;grid-template-columns:repeat(12,var(--cell));grid-auto-rows:var(--cell);gap:4px;justify-content:center;margin:1.2rem auto;max-width:720px}
.usmap a{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;font-size:.62rem;font-weight:750;text-decoration:none;color:#0d1b2a;background:var(--teal-bg);transition:.12s;line-height:1;position:relative}
.usmap a .c{font-size:.54rem;font-weight:600;opacity:.7;margin-top:1px}
.usmap a:hover{transform:scale(1.12);z-index:5;box-shadow:var(--shadow);text-decoration:none}
.usmap a.d1{background:#d8ede9}.usmap a.d2{background:#a9dad3}.usmap a.d3{background:#6fc3ba;color:#08312d}.usmap a.d4{background:#2f9d92;color:#fff}.usmap a.d5{background:#0a6d6d;color:#fff}
.usmap a.lic{box-shadow:inset 0 0 0 2px var(--amber)}
.usmap a.lic::after{content:"★";position:absolute;top:1px;right:2px;font-size:.5rem;color:var(--amber)}
.usmap a.empty{background:#eef0f2;color:#aeb6bf;pointer-events:none}
.maplegend{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;font-size:.78rem;color:var(--muted);margin:.4rem 0 0}
.maplegend span{display:inline-flex;align-items:center;gap:.3rem}
.maplegend i{width:12px;height:12px;border-radius:3px;display:inline-block}

.toc{background:var(--gray-bg);border-radius:8px;padding:.6rem .9rem;font-size:.86rem;margin:.5rem 0 1.4rem;color:var(--muted)}
.toc a{font-weight:600}
.fbar .son{margin-left:0}
.fbar .son.on{border-color:var(--ink);background:var(--ink);color:#fff}
@media print{
 .hdr,.ftr,.mbar,.spon,.fbar,#map,.srch,.side,.maplegend,.usmap{display:none!important}
 body{background:#fff;font-size:11.5pt}.two{grid-template-columns:1fr}
 .pcard,.card,.note{break-inside:avoid;box-shadow:none;border:1px solid #ccc}
 a{color:#000;text-decoration:none}.hero{background:#fff!important;color:#000;padding:0}
 .hero h1,.hero p{color:#000!important}main{max-width:100%}
}

/* ---------- blog ---------- */
.dek{font-size:1.18rem;color:var(--muted);line-height:1.5;margin:.2rem 0 1rem;font-weight:400}
.byline{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.6rem 0;margin:0 0 1.6rem}
.vbadge{color:var(--green);font-weight:650}
.ptags{display:flex;gap:.4rem;margin-bottom:.4rem}
.ptag{font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--teal-dk);background:var(--teal-bg);border-radius:999px;padding:.16rem .6rem}
.postbody{font-size:1.06rem;line-height:1.72}
.postbody h2{margin-top:1.7em;font-size:1.32rem}
.postbody p{margin:.3em 0 1.1em}
.cite{font-family:var(--mono);font-size:.85em;background:var(--gray-bg);padding:.05em .35em;border-radius:4px;color:#3d4a56}
.postcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1.5rem;margin:1rem 0;box-shadow:var(--shadow)}
.postcard:hover{box-shadow:var(--shadow-lg);border-color:#cfd6cf;text-decoration:none;transform:translateY(-1px);transition:.14s}
.postcard h2{margin:.1rem 0 .3rem;font-size:1.3rem;color:var(--ink)}
.postcard .dek{font-size:1rem;margin:.2rem 0 .5rem}

/* ============================================================
   v2 refinement layer — 16 Aug 2026
   Appended rather than replacing v1: the layout plumbing below
   (grids, wraps, map, mobile bar) is working and well tested, so
   this layer changes only the visual register — type scale, colour,
   surface treatment, spacing rhythm and focus states.
   ============================================================ */
:root{
  --ink:#0b1622;
  --ink-2:#101f2e;
  --paper:#f7f7f4;
  --card:#ffffff;
  --line:#e4e2dc;
  --line-2:#f0efea;
  --text:#1f2b36;
  --muted:#5f6d7a;
  --teal:#0f766e;
  --teal-dk:#0b5d56;
  --teal-bg:#e8f4f2;
  --amber:#c2620d;
  --amber-dk:#9d4f0a;
  --green:#12704a;
  --green-bg:#e7f3ec;
  --blue:#1a4f8f;
  --blue-bg:#e9eff8;
  --gold:#7a5f16;
  --gold-bg:#f8f2da;
  --radius:12px;
  --radius-sm:8px;
  --shadow:0 1px 1px rgba(11,22,34,.04);
  --shadow-lg:0 1px 2px rgba(11,22,34,.06),0 8px 24px rgba(11,22,34,.07);
}

/* --- type: tighter display, roomier body --- */
body{font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-weight:700;letter-spacing:-.021em}
h1{font-size:clamp(1.85rem,3.2vw,2.6rem);line-height:1.14}
h2{font-size:clamp(1.35rem,2.1vw,1.72rem);line-height:1.2;margin-top:2.4em}
h3{font-size:1.06rem;letter-spacing:-.012em}
p{margin:0 0 1.05em;max-width:74ch}
.lede{font-size:1.1rem;color:var(--muted);max-width:62ch}

/* --- header: quieter, with a hairline instead of a slab --- */
.hdr{background:var(--ink);border-bottom:1px solid rgba(255,255,255,.07)}
.hdr-in{padding-top:.85rem;padding-bottom:.85rem}
.logo{font-weight:680;letter-spacing:-.02em;font-size:1.06rem}
.logo em{font-style:normal;font-weight:400;opacity:.78}
.nav a{font-weight:500;font-size:.9rem;letter-spacing:.002em}
.nav .cta{border-radius:var(--radius-sm);font-weight:640;box-shadow:none}

/* --- hero: one calm gradient, generous air --- */
.hero{background:linear-gradient(165deg,#0b1622 0%,#12303c 62%,#0f4a4a 100%);padding:4.6rem 0 5rem}
.hero::after{width:640px;height:640px;right:-200px;top:-180px;
  background:radial-gradient(circle,rgba(45,212,191,.13),transparent 62%)}
.hero h1{letter-spacing:-.028em;max-width:17ch}
.hero p.lede{color:#b9cad6;font-size:1.16rem;line-height:1.6;max-width:56ch}
.hero .stats{gap:2.8rem;margin-top:2.4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.hero .stat b{font-size:1.8rem;color:#5eead4;letter-spacing:-.03em}
.hero .stat span{color:#8ea3b4;font-size:.82rem;letter-spacing:.01em}

/* --- surfaces: flatter, crisper, less shadow --- */
.card,.pcard{border-radius:var(--radius);box-shadow:var(--shadow);border-color:var(--line)}
.card{padding:1.35rem 1.45rem}
.card.hov:hover{transform:none;border-color:#c9d6d3;box-shadow:var(--shadow-lg)}
.pcard{padding:1.35rem 1.5rem;gap:.6rem}
.pcard h3{font-size:1.11rem}
.sec{padding:3.4rem 0}
.grid{gap:1.25rem}

/* --- badges: lighter weight, calmer --- */
.badge{font-weight:640;font-size:.745rem;padding:.24rem .62rem;letter-spacing:.005em}
.chip{background:var(--line-2);color:#46535f;border:1px solid var(--line);font-weight:600;
  border-radius:5px;font-size:.715rem;letter-spacing:.02em}

/* --- buttons --- */
.btn{border-radius:var(--radius-sm);font-weight:640;padding:.6rem 1.15rem;letter-spacing:-.005em;
  transition:background .15s ease}
.btn.ghost{border-width:1px}

/* --- tables: hairlines, no zebra slab --- */
.kv th,.kv td{padding:.72rem .8rem;border-bottom:1px solid var(--line-2)}
.kv th{font-weight:600;color:var(--muted);width:32%}
.tbl th{background:var(--ink-2);font-weight:600;letter-spacing:.01em}
.tbl tr:nth-child(even) td{background:#fbfbf9}
.kv .src,.src{color:#8a95a0;font-size:.79rem;line-height:1.5}

/* --- notes: subtler rail --- */
.note{border-left-width:3px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:.95rem 1.2rem}
.verif{border-radius:var(--radius-sm);background:#fbfbf9}

/* --- link lists --- */
.lgrid a{border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.91rem;border-color:var(--line)}

/* --- maps --- */
.mapwrap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:#eaeeef;box-shadow:var(--shadow)}
.mapwrap .leaflet-container{background:#eaeeef}
.map-cap{color:var(--muted);font-size:.84rem;margin:.55rem 0 1.6rem}
#map,#pmap,#smap{width:100%}
.leaflet-popup-content{font-family:var(--font);font-size:.88rem;line-height:1.45}
.leaflet-popup-content b{color:var(--ink)}

/* --- accessibility: visible focus everywhere --- */
a:focus-visible,button:focus-visible,summary:focus-visible,details.faq summary:focus-visible{
  outline:2.5px solid var(--teal);outline-offset:2px;border-radius:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* the tagline reads as a statement of method, so it gets weight of its own
   rather than being swallowed into the paragraph that explains it */
.ftr .tagline{color:#dfe7ee;font-size:1.02rem;font-weight:600;letter-spacing:-.012em;
  max-width:340px;margin:0 0 .55rem}

/* an eyebrow above the h1 puts the four specialties in front of the reader without
   spending the headline on a keyword list — the h1 still carries the proposition */
.hero .eyebrow{color:#5eead4;font-size:.82rem;font-weight:640;letter-spacing:.1em;
  text-transform:uppercase;margin:0 0 .85rem}

/* --- header layout fix ---------------------------------------------------
   The row needs ~1270px (logo 230 + 7 nav links ~630 + CTA 125 + search 200
   + gaps) but .hdr-in capped at 1120px, and .nav carried flex-wrap:wrap — so
   "For Providers" wrapped onto a second line and collided with the logo at
   EVERY desktop width, not just narrow ones. Widen the row, forbid the wrap,
   and hand over to the hamburger before things get cramped. */
.hdr-in{max-width:1280px;gap:1rem}
.nav{flex-wrap:nowrap;gap:.85rem}
.nav a{white-space:nowrap}
.nav .cta{flex:none}
.srch{margin-left:0;flex:none}

@media(max-width:1180px){
  .nav{gap:.7rem}
  .nav a{font-size:.86rem}
  .srch input{width:170px}
  .srch input:focus{width:210px}
}
/* below this the row can no longer hold logo + 7 links + CTA + search */
@media(max-width:1080px){
  #navtog{display:block}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink-2);
    flex-direction:column;align-items:flex-start;padding:1rem 20px;gap:.9rem;flex-wrap:wrap}
  .nav.open{display:flex}
  .nav a{font-size:.95rem}
  .srch{margin-left:auto}
}
