/* ============ Legal pages (all brands) ============ */
.legal{padding:calc(var(--header-h) + 40px) 0 80px}
.legal-content{width:min(100% - 2*var(--gutter), 860px); margin-inline:auto; background:var(--bg-2); border:1px solid var(--line); border-radius:calc(var(--radius) + 6px); padding:clamp(28px,5vw,56px)}
.legal-content h1{font-family:var(--font-display); font-size:clamp(32px,4vw,44px); line-height:1.05; letter-spacing:-.02em; margin:0 0 8px}
html[data-brand="snappy"] .legal-content h1{font-weight:400; letter-spacing:.01em}
.legal-content .last-updated{color:var(--mute); font-size:14px; margin:0 0 32px}
.legal-content h2{font-size:22px; margin:36px 0 12px; line-height:1.25; letter-spacing:-.01em}
.legal-content h3{font-size:18px; margin:24px 0 8px}
.legal-content p,.legal-content li{font-size:16px; line-height:1.65; color:var(--ink-2)}
.legal-content p{margin:0 0 12px}
.legal-content ul,.legal-content ol{padding-left:24px; margin:0 0 12px; list-style:disc}
.legal-content ol{list-style:decimal}
.legal-content li{margin-bottom:6px}
.legal-content strong{color:var(--ink)}
.legal-content a{color:var(--accent); text-decoration:underline; text-underline-offset:2px}
.legal-content a:hover{color:var(--accent-deep)}
/* support page components */
.legal .contact-box{width:min(100% - 2*var(--gutter), 860px); margin:0 auto 32px; background:var(--bg-2); border:1px solid var(--line); border-radius:calc(var(--radius) + 6px); padding:32px; text-align:center}
.legal .contact-box h2{margin:0 0 8px; font-size:24px}
.legal .contact-box p{color:var(--ink-2); margin:0}
.legal .email-link{display:inline-block; margin-top:14px; background:var(--accent); color:var(--on-accent); padding:14px 28px; border-radius:999px; font-weight:700}
.legal .email-link:hover{background:var(--accent-deep)}
.legal h1[style],.legal>p[style]{width:min(100% - 2*var(--gutter), 860px); margin-inline:auto}
.legal .section{padding-block:0; width:min(100% - 2*var(--gutter), 860px); margin-inline:auto}
.legal .faq-item{background:var(--bg-2); border:1px solid var(--line); border-radius:calc(var(--radius) + 4px); padding:20px 24px; margin-bottom:12px}
.legal .faq-item h3{margin:0 0 8px; font-size:17px}
.legal .faq-item p,.legal .faq-item li{margin:0; color:var(--ink-2); font-size:15px; line-height:1.6}
.legal .faq-item ul{padding-left:20px; margin:8px 0}
.legal .faq-item a{color:var(--accent); text-decoration:underline}
/* KMOI EULA warning box */
.medical-warning{background:#fff4e6; border:1px solid #ffb74d; border-left:4px solid #f57c00; border-radius:8px; padding:20px 24px; margin:24px 0}
.medical-warning h3{margin-top:0; color:#b34700}
.medical-warning p{color:#4a2800; margin-bottom:0}
