:root{--ink:#0f1e2e;--muted:#4a5b6c;--line:#dbe4ee;--bg:#f5f8fb;--card:#fff;--blue:#0b5cad;--blue-d:#08467f;--sky:#e6f1fc;--aqua:#7cc4ff;--ok:#127a4a;--r:14px;--sh:0 1px 2px rgba(15,30,46,.06),0 6px 20px rgba(15,30,46,.06)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Inter,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--blue)}a:hover{color:var(--blue-d)}img{max-width:100%}
.wrap{max-width:1140px;margin:0 auto;padding:0 18px}.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9;border-radius:8px}
.icon{width:22px;height:22px;flex:none}.icon.sm{width:16px;height:16px}.icon.lg{width:34px;height:34px;vertical-align:-6px;margin-right:8px;color:var(--aqua)}
:focus-visible{outline:3px solid #f5a524;outline-offset:2px;border-radius:6px}
.site-h{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.hbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand small{color:var(--muted);font-size:12px}
.site-h nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center;flex-wrap:wrap}.site-h nav a{text-decoration:none;color:var(--ink);padding:8px 10px;border-radius:8px;font-weight:550;font-size:15px}.site-h nav a:hover,.site-h nav a[aria-current]{background:var(--sky)}
.btn{display:inline-flex;align-items:center;gap:6px;border-radius:10px;padding:11px 18px;font-weight:650;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:15px;line-height:1.2}
.btn-primary{background:var(--blue);color:#fff!important}.btn-primary:hover{background:var(--blue-d)}.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff!important}.btn-soft{background:var(--sky);color:var(--blue-d)!important;padding:8px 12px;font-size:14px}.btn-sm{padding:8px 12px;font-size:14px}
.hero{background:linear-gradient(135deg,#0a2a4a,#0b5cad 70%,#2a86d6);color:#fff;padding:34px 0 38px}.hero h1{font-size:clamp(26px,5vw,42px);line-height:1.15;margin:.2em 0 .35em;letter-spacing:-.01em}.hero .sub{font-size:17px;max-width:760px;color:#e3eefa}.hero a.chip{color:var(--ink)}
.hero.home{padding:44px 0 50px}.hgrid{display:grid;gap:26px;grid-template-columns:1fr}@media(min-width:900px){.hgrid{grid-template-columns:1.6fr 1fr;align-items:center}}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:13px;color:var(--aqua);font-weight:700;margin:0}.hcta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.stats{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stats li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r);padding:14px;text-align:center}.stats strong{display:block;font-size:26px}.stats span{font-size:13px;color:#d4e6f8}
.sec{padding:30px 18px 6px}.sec h2,.results h2{font-size:24px;margin:.2em 0 .5em}.muted{color:var(--muted)}
.tiles{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.tile{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);display:grid;gap:4px;box-shadow:var(--sh)}.tile .icon{color:var(--blue);width:28px;height:28px}.tile span{color:var(--muted);font-size:14px}.tile em{font-style:normal;color:var(--blue);font-weight:650;font-size:14px}.tile:hover{border-color:var(--blue)}
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;margin:10px 0 14px;box-shadow:var(--sh)}
.filters label{flex:1 1 180px}.filters .f-q{flex:2 1 260px;position:relative}.filters .f-q .icon{position:absolute;left:12px;top:13px;color:var(--muted)}.filters input,.filters select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.filters .f-q input{padding-left:36px}
.count{margin:0;color:var(--muted);font-size:14px;flex:1 1 100%}.linkbtn{background:none;border:0;color:var(--blue);text-decoration:underline;cursor:pointer;font:inherit}
.empty{background:#fff7e6;border:1px solid #f3d38b;padding:12px;border-radius:10px}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh);display:flex;flex-direction:column;gap:6px}.card[hidden]{display:none!important}
.card h3{margin:2px 0 0;font-size:18px;line-height:1.3}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:var(--blue)}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin:0}.badge{display:inline-flex;gap:4px;align-items:center;background:var(--sky);color:var(--blue-d);font-size:12.5px;font-weight:650;border-radius:999px;padding:3px 9px;text-decoration:none}
.loc,.meta{display:flex;gap:6px;align-items:flex-start;margin:0;color:var(--muted);font-size:14px}.meta .icon{color:var(--ok);margin-top:3px}.svc{margin:0;font-size:15px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:6px}.checked{font-size:12.5px;color:var(--muted);margin:4px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;gap:6px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}.chip em{font-style:normal;background:var(--sky);color:var(--blue-d);border-radius:999px;padding:0 7px;font-size:12px}
.gcards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.gcard{background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);display:grid;gap:6px}.gcard .icon{color:var(--blue)}.gcard span{color:var(--muted);font-size:14px}
.quote{background:#0a2a4a;color:#fff;margin-top:34px;padding:34px 0}.quote-in{display:grid;gap:24px}@media(min-width:900px){.quote-in{grid-template-columns:1fr 1.3fr;align-items:start}}
.quote h2{font-size:28px;margin:0 0 .3em}.quote p{color:#d4e6f8}.ticks{list-style:none;padding:0;display:grid;gap:6px}.ticks li{display:flex;gap:8px;align-items:center}.ticks .icon{color:var(--aqua)}
.qform{background:#fff;color:var(--ink);border-radius:var(--r);padding:18px;display:grid;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.25)}.qform label{display:grid;gap:4px;font-weight:600;font-size:14px}
.qform input,.qform select,.qform textarea{font:inherit;font-weight:400;padding:11px 12px;border:1px solid #c5d2df;border-radius:10px;width:100%;background:#fff}.row2{display:grid;gap:12px}@media(min-width:560px){.row2{grid-template-columns:1fr 1fr}}
.qform .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:13.5px;background:var(--bg);padding:10px;border-radius:10px}.qform .consent input{width:20px;height:20px;margin-top:2px;flex:none}.qform button{justify-content:center;font-size:17px;padding:14px}
.faq{padding-top:28px}.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:8px}.faq summary{font-weight:650;cursor:pointer}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;padding:12px 0 0;margin:0;font-size:14px}.crumbs li+li:before{content:"›";margin-right:6px;color:var(--muted)}
.listing-page{padding-top:12px}.listing-page h1{font-size:clamp(26px,4.5vw,36px);margin:.2em 0}.facts{display:grid;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:18px 0;overflow:hidden}.facts div{display:grid;grid-template-columns:1fr;padding:10px 14px;border-top:1px solid var(--line)}.facts div:first-child{border-top:0}@media(min-width:640px){.facts div{grid-template-columns:220px 1fr}}.facts dt{font-weight:650;color:var(--muted);font-size:14px}.facts dd{margin:0}
.srcbox,.callout{display:flex;gap:8px;align-items:flex-start;background:var(--sky);border-radius:12px;padding:12px 14px;font-size:14px}.srcbox .icon,.callout .icon{margin-top:3px;color:var(--blue)}
.prose{max-width:780px;padding-top:18px}.prose h1{font-size:clamp(26px,4.5vw,38px);line-height:1.2}.prose h2{margin-top:1.6em}.lede{font-size:18px}.note{font-size:14px;color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;font-size:15px;display:block;overflow-x:auto}.tbl th,.tbl td{border:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}.tbl th{background:var(--sky)}
.site-f{background:#0f1e2e;color:#c9d6e3;margin-top:0;padding:34px 0 18px;font-size:14px}.site-f a{color:#fff}.site-f h2{font-size:15px;color:#fff}.site-f ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}.fgrid{display:grid;gap:22px;grid-template-columns:1fr}@media(min-width:800px){.fgrid{grid-template-columns:2fr 1fr 1fr 1fr}}.small{font-size:12.5px;color:#8fa3b7;margin-top:20px}
@media(max-width:640px){.site-h nav ul li:not(:last-child){display:none}.hero.home .stats strong{font-size:21px}}
.why{margin:0;font-size:13px;font-weight:650;color:var(--ok)}.why[hidden]{display:none}.empty[hidden]{display:none}.empty p{margin:0}
