:root{--ink:#111827;--muted:#374151;--bg:#fff;--soft:#f3f6fa;--brand:#0b4f8a;--brand2:#083a66;--ok:#0f6b3a;--warn:#fff7e0;--line:#d1d9e3}
*{box-sizing:border-box}html{font-size:19px}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6}
html.es .en,html:not(.es) .es{display:none!important}
a{color:var(--brand)}.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:5}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;max-width:1200px;margin:0 auto}
.logo{font-weight:800;font-size:1.2rem;color:var(--brand2);text-decoration:none}.logo span.dot{color:var(--ok)}
.lang{display:flex;border:2px solid var(--brand);border-radius:10px;overflow:hidden}.lang button{font:inherit;font-weight:700;padding:6px 14px;border:0;background:#fff;color:var(--brand);cursor:pointer;min-height:44px}.lang button[aria-pressed=true]{background:var(--brand);color:#fff}
.hero{background:var(--soft);padding:56px 0 48px}h1{font-size:2.3rem;line-height:1.2;margin:0 0 16px}h2{font-size:1.75rem;line-height:1.25;margin:0 0 18px}h3{font-size:1.25rem;margin:0 0 8px}
.lead{font-size:1.2rem;color:var(--muted);max-width:880px}
.btn{display:inline-block;font:inherit;font-weight:700;text-decoration:none;padding:14px 24px;border-radius:10px;border:2px solid var(--brand);min-height:52px;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand2)}.btn.ghost{background:#fff;color:var(--brand)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
section{padding:52px 0}section.alt{background:var(--soft)}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.price{font-size:2.2rem;font-weight:800;color:var(--brand2)}.price small{font-size:1rem;font-weight:600;color:var(--muted)}
.card ul{padding-left:1.2em;margin:12px 0 20px}.card.best{border:3px solid var(--brand)}.tag{display:inline-block;background:var(--ok);color:#fff;font-size:.8rem;font-weight:700;padding:2px 10px;border-radius:99px;margin-bottom:8px}
.src{font-size:.85rem;color:var(--muted)}
.note{background:var(--warn);border:1px solid #e8cf7a;border-radius:12px;padding:18px 20px}
form.sub{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}form.sub input[type=email]{font:inherit;flex:1 1 260px;padding:12px 14px;border:2px solid var(--muted);border-radius:10px;min-height:52px}
.msg{margin-top:10px;font-weight:600;color:var(--ok)}
details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 18px;margin-bottom:10px}summary{font-weight:700;cursor:pointer}
footer{background:#0f1b2a;color:#e5e7eb;padding:36px 0;font-size:.9rem}footer a{color:#cfe3ff}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px}
@media(max-width:600px){html{font-size:18px}h1{font-size:1.8rem}h2{font-size:1.45rem}.btn{width:100%;text-align:center}.hero{padding:36px 0}}

.card{display:flex;flex-direction:column}.card .btn{margin-top:auto;text-align:center}.card ul{flex:0 0 auto}
#pricing .card .btn{width:100%}
.btn{white-space:nowrap}
.tag{align-self:flex-start}
.src{color:#4b5563}
@media(max-width:600px){.btn{white-space:normal}.bar{padding:10px 16px}.lang button{padding:6px 12px}.logo{font-size:1.1rem}section{padding:40px 0}}

.logo{display:flex;align-items:center;gap:10px}.logo img{display:block}
.nav{margin-left:auto;margin-right:8px}.nav a{font-weight:700;text-decoration:none;padding:8px 10px}
.filters{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 26px}.filters label{font-weight:700;display:flex;flex-direction:column;gap:6px;flex:1 1 240px}
.filters select{font:inherit;padding:10px 12px;border:2px solid var(--muted);border-radius:10px;min-height:52px;background:#fff}
.case h3 a{text-decoration:none;color:var(--ink)}.case h3 a:hover{text-decoration:underline}
.meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:.85rem}.pill{padding:2px 10px;border-radius:99px;font-weight:700;background:#e6eef7;color:var(--brand2)}
.pill.incident{background:#fde8e8;color:#8a1c1c}.pill.guidance{background:#e3f4ea;color:#0f5a32}
.article{max-width:820px}.article h2{font-size:1.35rem;margin-top:28px}.article ul{padding-left:1.2em}
@media(max-width:600px){.nav a{padding:6px 4px;font-size:.9rem}.logo span{font-size:1rem}.logo img{width:30px;height:30px}}
.logo span{white-space:nowrap}
#list.grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
@media(max-width:600px){
 .bar{flex-wrap:wrap;row-gap:4px}
 .nav{order:3;flex-basis:100%;margin:0;border-top:1px solid var(--line);padding-top:4px}
 .nav a{display:inline-block;padding:6px 0;font-size:1rem}
 .lang button{padding:6px 10px;font-size:.95rem}
 #list.grid{grid-template-columns:1fr}
}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.consent{font-size:.9rem;color:#4b5563;margin:8px 0 0}
.hide{display:none!important}

/* ===== theme toggle + dark mode ===== */
.themebtn{font:inherit;font-size:1.15rem;line-height:1;min-width:44px;min-height:44px;border:2px solid var(--brand);border-radius:10px;background:var(--bg);color:var(--brand);cursor:pointer;margin-right:8px}
:root{--err:#a11d1d;color-scheme:light}
html[data-theme=dark]{--ink:#e8edf3;--muted:#c4ccd7;--bg:#0e1621;--soft:#15202e;--brand:#8cc4ff;--brand2:#b5d9ff;--ok:#5fd18f;--warn:#2b2513;--line:#33445a;--err:#ff9b9b;color-scheme:dark}
html[data-theme=dark] header,html[data-theme=dark] .card,html[data-theme=dark] details,html[data-theme=dark] .lang button,html[data-theme=dark] .btn.ghost,html[data-theme=dark] .filters select{background:var(--bg)}
html[data-theme=dark] .card,html[data-theme=dark] details{background:#132030}
html[data-theme=dark] .btn.primary,html[data-theme=dark] .lang button[aria-pressed=true]{background:var(--brand);color:#0b1520}
html[data-theme=dark] .btn.primary:hover{background:var(--brand2)}
html[data-theme=dark] .src,html[data-theme=dark] .consent{color:#b8c2cf}
html[data-theme=dark] .tag{background:var(--ok);color:#06210f}
html[data-theme=dark] .note{border-color:#7a6a2e}
html[data-theme=dark] .pill{background:#1f3550;color:#cfe5ff}html[data-theme=dark] .pill.incident{background:#4a1f24;color:#ffd4d4}html[data-theme=dark] .pill.guidance{background:#173f2b;color:#c9f2da}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0b121b;color:var(--ink);border-color:#7d8a9b}
html[data-theme=dark] footer{background:#070c13}
html[data-theme=dark] .logo{color:var(--brand2)}
html[data-theme=dark] .logo img{filter:brightness(1.6)}
/* legal pages */
.legal h2{font-size:1.35rem;margin-top:30px}.legal table{border-collapse:collapse;width:100%;font-size:.92rem;margin:10px 0}.legal th,.legal td{border:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}.legal th{background:var(--soft)}
.legal .tablewrap{overflow-x:auto}.toc{columns:2;font-size:.95rem}@media(max-width:600px){.toc{columns:1}}
footer .legal-links a{white-space:nowrap}
.msg.err{color:var(--err)}
.bar .logo + .themebtn{margin-left:auto}
