:root { color-scheme:dark; --legal-bg:#102f35; --legal-paper:#f5f1e8; --legal-ink:#15363c; --legal-muted:#54695f; --legal-line:#cfd6ca; --legal-accent:#2d7069; }
html[data-theme="light"] { color-scheme:light; --legal-bg:#e7ebdf; }
* { box-sizing:border-box; }
body.demod-legal { margin:0; background:var(--legal-bg); color:var(--legal-paper); font:16px/1.7 system-ui,-apple-system,sans-serif; }
html[data-theme="light"] .demod-legal { color:var(--legal-ink); }
a { color:inherit; text-underline-offset:4px; }
a:focus-visible,button:focus-visible { outline:3px solid #70b5a6; outline-offset:4px; }
.legal-wrap { width:min(1160px,calc(100% - 64px)); margin-inline:auto; }
.legal-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:26px; }
.legal-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.legal-brand img { display:block; border-radius:10px; }
.legal-brand strong { display:block; font-size:24px; line-height:1.1; letter-spacing:-1px; }
.legal-brand small { display:block; margin-top:5px; font-size:9px; letter-spacing:.12em; }
.legal-back { font-size:13px; white-space:nowrap; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,1fr); align-items:start; gap:40px; padding-block:24px 44px; }
.legal-nav { position:sticky; top:24px; display:grid; gap:2px; padding-top:12px; font-size:14px; }
.legal-nav p { font-size:10px; letter-spacing:.12em; margin:0 0 12px; opacity:.7; }
.legal-nav a,.legal-nav button { padding:9px 0; text-align:left; text-decoration:none; }
.legal-nav [aria-current] { font-weight:750; text-decoration:underline; }
.legal-nav button { border:0; color:inherit; background:none; font:inherit; cursor:pointer; }
.legal-content { min-width:0; background:var(--legal-paper); color:var(--legal-ink); border-radius:24px; padding:clamp(24px,4vw,54px); overflow-wrap:anywhere; color-scheme:light; }
.legal-eyebrow { font-size:10px; letter-spacing:.16em; color:var(--legal-muted); margin:0 0 14px; }
.legal-content h1 { font-size:clamp(32px,4vw,48px); letter-spacing:-.055em; line-height:1.08; margin:0 0 28px; }
.legal-content h2 { font-size:23px; line-height:1.25; letter-spacing:-.025em; margin:34px 0 12px; }
.legal-content p,.legal-content ul { margin-block:0 16px; }
.legal-content li { margin-bottom:8px; }
.legal-content ul { padding-left:23px; }
.legal-content a { color:var(--legal-accent); }
.legal-content .legal-date { font-size:12px; color:var(--legal-muted); border-top:1px solid var(--legal-line); margin-top:32px; padding-top:16px; }
.legal-content .legal-note { padding:18px; border-left:3px solid var(--legal-accent); border-radius:0 12px 12px 0; background:#e1e8db; }
.legal-content button { font:650 14px/1.4 system-ui,sans-serif; color:#fff; background:var(--legal-accent); border:0; border-radius:10px; padding:14px 20px; cursor:pointer; }
.legal-footer { display:flex; gap:12px; flex-wrap:wrap; justify-content:space-between; padding:20px 0 24px; border-top:1px solid #8ea99840; font-size:11px; }
.legal-mobile-actions { display:none; }
.legal-skip { position:absolute; top:-100px; }
.legal-skip:focus { top:5px; left:10px; background:var(--legal-paper); color:var(--legal-ink); padding:10px; z-index:100000; }
@media(max-width:900px) {
 .legal-layout { grid-template-columns:1fr; gap:22px; padding-top:0; }
 .legal-nav { position:static; display:flex; flex-wrap:wrap; gap:4px 18px; }
 .legal-nav p { flex-basis:100%; margin:0; }
}
@media(max-width:600px) {
 body.demod-legal { font-size:15px; padding-bottom:calc(78px + env(safe-area-inset-bottom,0px)); }
 .legal-wrap { width:calc(100% - 32px); }
 .legal-header { padding-block:20px; gap:12px; }
 .legal-brand { gap:8px; }
 .legal-brand img { width:36px; height:36px; }
 .legal-brand strong { font-size:21px; }
 .legal-brand small { font-size:7px; letter-spacing:.05em; }
 .legal-back { font-size:11px; }
 .legal-nav { font-size:12px; gap:0 15px; }
 .legal-nav a,.legal-nav button { padding:10px 0; }
 .legal-content { padding:26px 22px; border-radius:18px; }
 .legal-content h2 { font-size:21px; }
 .legal-mobile-actions { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:40; gap:12px; padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); background:#e1e8db; box-shadow:0 -5px 24px #102f3520; }
 .legal-mobile-actions a { display:block; padding:12px; background:#f5f1e8; color:#15363c; border-radius:10px; text-decoration:none; font-size:13px; font-weight:650; text-align:center; }
 .legal-mobile-actions a:last-child { flex:1; background:#2d7069; color:#fff; }
 .demod-legal #cc-tracking-consent-panel { bottom:calc(86px + env(safe-area-inset-bottom,0px)); max-height:calc(100dvh - 104px); overflow-y:auto; }
}
