:root{--fg:#111;--bg:#fff;--accent:#0b3d91;--accent2:#ffd400;--muted:#333;--line:#5a5a5a}
*{box-sizing:border-box}html{font-size:118.75%}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;color:var(--fg);background:var(--bg)}
.wrap{max-width:72rem;margin:0 auto;padding:0 1rem}
a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}a:hover{text-decoration-thickness:3px}
:focus-visible{outline:4px solid var(--accent2);outline-offset:2px;box-shadow:0 0 0 7px #000}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.75rem 1rem;z-index:9}.skip:focus{left:0}
.site-header{background:var(--accent);color:#fff;padding:1rem 0}.site-header a{color:#fff}
.brand{font-size:1.6rem;font-weight:800;margin:0}.brand a{text-decoration:none}.tld{color:var(--accent2)}.tagline{margin:.2rem 0 .6rem}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}nav a{font-weight:600;display:inline-block;padding:.35rem 0}nav a[aria-current=page]{text-decoration-thickness:4px;text-decoration-color:var(--accent2)}
main{padding:1.5rem 1rem 3rem}h1{font-size:2rem;line-height:1.25}h2{font-size:1.4rem;margin-top:2rem}
.lead{font-size:1.15rem}.crumbs{font-size:.95rem}
.search{display:flex;flex-wrap:wrap;gap:.5rem;align-items:end;margin:1rem 0}.search label{width:100%;font-weight:700}
input[type=search],input[type=email]{font-size:1.1rem;padding:.6rem .75rem;border:3px solid #000;border-radius:6px;min-width:16rem;flex:1}
button,.btn{font-size:1.05rem;font-weight:700;padding:.65rem 1.1rem;border:3px solid #000;border-radius:6px;background:var(--accent2);color:#000;cursor:pointer;text-decoration:none;display:inline-block}
button[disabled],input[disabled]{opacity:.7;cursor:not-allowed}
.results,.cards{list-style:none;padding:0;display:grid;gap:.75rem}.results li,.cards li{border:2px solid var(--line);border-radius:8px;padding:.75rem 1rem}
.cards{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.cards.private h2{margin-top:0;font-size:1.2rem}
.meta{color:var(--muted);font-size:.95rem}.na{color:#5c2a00;font-style:italic}.count{color:var(--muted)}
.facts{border-collapse:collapse;width:100%;margin:1rem 0}.facts caption{text-align:left;font-weight:700;font-size:1.2rem;padding:.5rem 0}
.facts th,.facts td{border:2px solid var(--line);padding:.6rem .75rem;text-align:left;vertical-align:top}.facts th{background:#eef2fa;width:30%}
.src{font-size:.92rem;color:var(--muted)}.disclaimer{border:2px solid var(--line);background:#f4f6fb;border-radius:8px;padding:.25rem 1rem;margin:1.25rem 0;font-size:.95rem}.note{border-left:6px solid var(--accent2);background:#fffbe0;padding:.5rem 1rem;margin:1rem 0}
.table-scroll{overflow-x:auto;border:2px solid var(--line)}.compare{border-collapse:collapse;min-width:60rem;width:100%}
.compare caption{text-align:left;font-weight:700;padding:.5rem}.compare th,.compare td{border:1px solid var(--line);padding:.5rem;vertical-align:top;text-align:left}.compare thead th{background:var(--accent);color:#fff;position:sticky;top:0}
.nl-cta{border:3px solid var(--accent);background:#eef2fa;border-radius:8px;padding:.5rem 1rem;margin:2rem 0 1rem}.nl-cta .btn{margin:.25rem 0}
.nl-form{min-height:6rem;margin:1rem 0}
.site-footer{border-top:4px solid var(--accent);padding:1rem 0 2rem;font-size:.95rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
@media print{.site-header nav,.search,.skip{display:none}a::after{content:" (" attr(href) ")";font-size:.8em}}
