/* Readable legal pages, scoped to preserve the established site components. */
.legal-guide { --lg-ink:#202022; --lg-muted:#5d5d65; --lg-surface:rgba(255,255,255,.78); --lg-line:rgba(25,25,30,.13); --lg-link:#365cac; width:min(1160px,calc(100% - 48px)); margin:0 auto; padding:140px 0 80px; color:var(--lg-ink); }
html[data-theme="dark"] .legal-guide { --lg-ink:#f5f5f7; --lg-muted:#b9b9bf; --lg-surface:rgba(29,29,31,.8); --lg-line:rgba(255,255,255,.15); --lg-link:#aac5ff; }
.legal-guide * { min-width:0; box-sizing:border-box; }
.legal-guide .legal-kicker { font-size:12px; font-weight:650; letter-spacing:.14em; text-transform:uppercase; color:var(--lg-link); }
.legal-guide h1 { font-size:clamp(42px,6vw,76px); line-height:1.05; letter-spacing:-.055em; font-weight:650; color:var(--lg-ink); margin:20px 0 22px; hyphens:none; overflow-wrap:normal; }
.legal-guide .legal-intro { max-width:650px; font-size:clamp(17px,2vw,21px); line-height:1.6; color:var(--lg-muted); margin:0; }
.legal-guide .legal-date { margin:18px 0 0; font-size:13px; color:var(--lg-muted); }
.legal-guide .legal-summary { display:grid; grid-template-columns:1.3fr 1fr; gap:16px; margin:36px 0 48px; }
.legal-guide .legal-contact,.legal-guide .legal-choice { border:1px solid var(--lg-line); border-radius:28px; padding:28px; background:var(--lg-surface); box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 12px 36px rgba(0,0,0,.05); }
.legal-guide .legal-contact { color:#202022; background:linear-gradient(140deg,#fff,#eeeef0); border-radius:28px 60px 28px 28px; }
.legal-guide .legal-contact h2,.legal-guide .legal-contact p,.legal-guide .legal-contact a { color:#202022; }
.legal-guide .legal-contact p { color:#55555e; }
.legal-guide .legal-contact a { text-decoration:underline; text-underline-offset:4px; }
.legal-guide h2 { font-size:clamp(23px,2.5vw,29px); line-height:1.25; letter-spacing:-.025em; font-weight:650; margin:0 0 18px; color:var(--lg-ink); hyphens:none; }
.legal-guide p,.legal-guide li,.legal-guide address,.legal-guide dd { font-size:16px; line-height:1.8; font-style:normal; color:var(--lg-muted); overflow-wrap:anywhere; }
.legal-guide p { margin:0 0 16px; }
.legal-guide p:last-child { margin-bottom:0; }
.legal-guide a { color:var(--lg-link); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; transition:opacity .2s; overflow-wrap:anywhere; }
.legal-guide a:hover { opacity:.75; }
.legal-guide .legal-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.legal-guide .legal-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border-radius:24px; border:1px solid var(--lg-line); padding:10px 18px; font-size:14px; font-weight:600; color:var(--lg-ink); text-decoration:none; background:var(--lg-surface); cursor:pointer; transition:transform .2s,box-shadow .2s; }
.legal-guide .legal-button:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.1); }
.legal-guide .legal-button:active { transform:translateY(0); }
.legal-guide .legal-layout { display:grid; grid-template-columns:250px minmax(0,1fr); align-items:start; gap:64px; }
.legal-guide .legal-nav { position:sticky; top:112px; border-top:1px solid var(--lg-line); padding-top:22px; }
.legal-guide .legal-nav ol { list-style:none; padding:0; margin:16px 0 0; display:grid; gap:4px; counter-reset:legal; }
.legal-guide .legal-nav a { display:flex; gap:14px; align-items:baseline; padding:9px 0; font-size:14px; line-height:1.4; text-decoration:none; color:var(--lg-muted); }
.legal-guide .legal-nav a::before { counter-increment:legal; content:counter(legal,decimal-leading-zero); font-size:11px; color:var(--lg-link); font-variant-numeric:tabular-nums; }
.legal-guide .legal-article section { padding:30px 0; border-top:1px solid var(--lg-line); scroll-margin-top:115px; }
.legal-guide .legal-article section:first-child { padding-top:22px; }
.legal-guide .legal-article ul { padding-left:20px; margin:12px 0 20px; }
.legal-guide .legal-article li + li { margin-top:10px; }
.legal-guide .legal-note { border-left:3px solid var(--lg-link); padding:10px 0 10px 20px; margin:22px 0; }
.legal-guide strong { font-weight:650; color:var(--lg-ink); }
.legal-guide .legal-contact strong { color:#202022; }
.legal-guide :is(a,button):focus-visible { outline:3px solid #648ddd; outline-offset:5px; }
@media(max-width:760px) { .legal-guide { width:calc(100% - 32px); padding-top:116px; } .legal-guide .legal-summary { grid-template-columns:1fr; gap:12px; margin:28px 0 32px; } .legal-guide .legal-layout { grid-template-columns:1fr; gap:28px; } .legal-guide .legal-nav { position:static; } .legal-guide .legal-nav ol { grid-template-columns:1fr 1fr; gap:4px 20px; } .legal-guide .legal-contact,.legal-guide .legal-choice { padding:24px; } }
@media(max-width:370px) { .legal-guide h1 { font-size:37px; } .legal-guide .legal-nav ol { grid-template-columns:1fr; } .legal-guide .legal-contact,.legal-guide .legal-choice { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .legal-guide * { transition:none!important; scroll-behavior:auto; } }

body.legal-page { background:#f5f5f7!important; }
html[data-theme="dark"] body.legal-page { background:#252525!important; }
.legal-guide .legal-nav a::before { flex:none; min-width:1.6em; white-space:nowrap; }
