:root { color-scheme:dark; --legal-bg:#070910; --legal-panel:#0d1019; --legal-line:#252b3b; --legal-text:#f5f6fb; --legal-muted:#a5aec1; --legal-accent:#a35cff; }
* { box-sizing:border-box; }
body.legal-page { margin:0; min-height:100vh; background:radial-gradient(circle at 75% -10%,rgba(132,57,255,.2),transparent 30%),var(--legal-bg); color:var(--legal-text); font-family:Inter,Segoe UI,Arial,sans-serif; }
.legal-shell { width:min(960px,calc(100% - 32px)); margin-inline:auto; }
.legal-header { position:sticky; top:0; z-index:5; border-bottom:1px solid var(--legal-line); background:rgba(7,9,16,.9); backdrop-filter:blur(16px); }
.legal-header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-brand { display:flex; align-items:center; gap:11px; color:#fff; text-decoration:none; font-size:18px; font-weight:900; letter-spacing:.08em; }
.legal-brand img { width:38px; height:38px; }
.legal-brand span span { color:var(--legal-accent); }
.legal-nav { display:flex; gap:18px; flex-wrap:wrap; }
.legal-nav a { color:var(--legal-muted); text-decoration:none; font-size:13px; }
.legal-nav a:hover,.legal-nav a[aria-current="page"] { color:#fff; }
.legal-main { padding:72px 0 88px; }
.legal-eyebrow { margin:0 0 14px; color:#be8cff; font-size:12px; font-weight:800; letter-spacing:.18em; }
.legal-main h1 { max-width:760px; margin:0; font-size:clamp(38px,7vw,68px); line-height:1; letter-spacing:-.045em; }
.legal-lead { max-width:720px; margin:22px 0 38px; color:var(--legal-muted); font-size:17px; line-height:1.75; }
.legal-notice { margin:0 0 24px; padding:18px 20px; border:1px solid rgba(163,92,255,.45); border-radius:14px; background:rgba(112,49,201,.12); color:#ddd3ed; line-height:1.65; }
.legal-card { margin-top:16px; padding:26px; border:1px solid var(--legal-line); border-radius:16px; background:linear-gradient(145deg,rgba(18,22,34,.94),rgba(9,11,18,.94)); }
.legal-card h2 { margin:0 0 12px; font-size:21px; }
.legal-card h3 { margin:24px 0 8px; font-size:16px; }
.legal-card p,.legal-card li { color:var(--legal-muted); line-height:1.75; }
.legal-card ul,.legal-card ol { margin:10px 0 0; padding-left:22px; }
.legal-card a { color:#cda7ff; }
.legal-meta { display:flex; gap:10px; flex-wrap:wrap; margin-top:30px; }
.legal-meta span { padding:8px 11px; border:1px solid var(--legal-line); border-radius:999px; color:#8f99ad; font-size:12px; }
.legal-footer { border-top:1px solid var(--legal-line); padding:28px 0 38px; }
.legal-footer-inner { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.legal-footer p { margin:0; color:#70798d; font-size:12px; }
.legal-footer nav { display:flex; gap:16px; flex-wrap:wrap; }
.legal-footer a { color:#929caf; text-decoration:none; font-size:12px; }
.contact-status { display:grid; grid-template-columns:auto 1fr; gap:5px 12px; align-items:center; }
.contact-status::before { content:""; grid-row:1/3; width:10px; height:10px; border-radius:50%; background:#f0b85b; box-shadow:0 0 14px rgba(240,184,91,.7); }
.contact-status strong { font-size:15px; }
.contact-status span { color:var(--legal-muted); font-size:13px; }
.privacy-banner { position:fixed; z-index:1000; left:50%; bottom:18px; width:min(760px,calc(100% - 28px)); transform:translateX(-50%); display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 20px; border:1px solid #343b50; border-radius:14px; background:rgba(10,13,22,.97); box-shadow:0 18px 60px rgba(0,0,0,.5); backdrop-filter:blur(16px); }
.privacy-banner strong { display:block; margin-bottom:5px; color:#fff; font-size:14px; }
.privacy-banner p { margin:0; color:#a5aec1; font-size:12px; line-height:1.55; }
.privacy-banner a { color:#cba5ff; }
.privacy-actions { display:flex; gap:9px; flex:0 0 auto; }
.privacy-actions button { min-width:88px; padding:10px 13px; border:1px solid #495169; border-radius:9px; background:#141925; color:#fff; font:inherit; font-size:12px; font-weight:700; cursor:pointer; }
.privacy-actions button:last-child { border-color:#914cff; background:#7d35df; }
@media (max-width:700px) { .legal-header-inner { min-height:68px; } .legal-nav { gap:10px; } .legal-nav a:nth-child(-n+2) { display:none; } .legal-main { padding-top:48px; } .legal-card { padding:21px; } }
@media (max-width:650px) { .privacy-banner { align-items:stretch; flex-direction:column; gap:14px; } .privacy-actions button { flex:1; } }
