/* ============================== LEGAL PAGES (shared) ============================== */

.legal-hero{ position:relative; padding: clamp(3rem,6vw,5rem) 0 2rem; overflow:hidden; }
.legal-hero-photo{ position:absolute; inset:0; z-index:-1; }
.legal-hero-photo img{ width:100%; height:100%; object-fit:cover; opacity:.16; display:block; }
.legal-hero-photo::after{ content:""; position:absolute; inset:0; background: linear-gradient(180deg, var(--void) 0%, rgba(6,6,6,.85) 55%, var(--void) 100%); }
.legal-hero-inner{ display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; position:relative; z-index:1; }
.legal-icon{ width:64px; height:64px; border-radius:18px; display:grid; place-items:center; flex:none; }
.legal-icon svg{ width:30px; height:30px; }
.legal-hero h1{ font-size: clamp(2rem,4.4vw,3rem); }
.legal-hero p.lede{ color: var(--ink-dim); margin-top:.8rem; max-width:64ch; }
.updated-badge{ display:inline-flex; align-items:center; gap:.5em; font-family: var(--f-mono); font-size:.74rem; color: var(--ink-faint); border:1px solid var(--glass-border); padding:.4em 1em; border-radius:999px; margin-top:1.2rem; }
.updated-badge .dot-live{ width:6px; height:6px; border-radius:50%; background: var(--cyan); box-shadow:0 0 8px var(--cyan); }

/* ============================== PRIVACY: sticky TOC + card sections ============================== */
.privacy-shell{ display:grid; grid-template-columns: 260px 1fr; gap: 2.6rem; align-items:start; padding-bottom: 4rem; }
.toc-sidebar{ position:sticky; top: 5.5rem; padding: 1.5rem; }
.toc-sidebar h4{ font-family: var(--f-display); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color: var(--ink-dim); margin-bottom:1rem; }
.toc-sidebar nav{ display:flex; flex-direction:column; gap:.15rem; }
.toc-sidebar a{ font-size:.85rem; color: var(--ink-faint); padding:.5em .7em; border-radius:8px; border-left:2px solid transparent; transition: all var(--dur-fast); }
.toc-sidebar a:hover{ color: var(--ink); background: var(--glass-bg); }
.toc-sidebar a.is-active{ color: var(--ink); border-left-color: var(--violet); background: linear-gradient(90deg, rgba(39,39,42,.14), transparent); }
.toc-ad{ margin-top:1.6rem; }

.legal-sections{ display:flex; flex-direction:column; gap:1.6rem; }
.legal-card{ padding: 1.9rem 2rem; scroll-margin-top: 6rem; }
.legal-card-head{ display:flex; align-items:center; gap:1rem; margin-bottom:1rem; }
.legal-num{ font-family: var(--f-display); font-weight:800; font-size:1.1rem; width:38px; height:38px; border-radius:11px; display:grid; place-items:center; flex:none; background: var(--g-primary); color:#fff; }
.legal-card h2{ font-size:1.18rem; }
.legal-card p, .legal-card li{ font-size:.9rem; color: var(--ink-dim); line-height:1.75; }
.legal-card ul{ margin-top:.6rem; display:flex; flex-direction:column; gap:.5rem; padding-left:0; }
.legal-card li{ position:relative; padding-left:1.3rem; }
.legal-card li::before{ content:""; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background: var(--cyan); }
.legal-card p + p{ margin-top:.8rem; }
@media (max-width: 920px){ .privacy-shell{ grid-template-columns:1fr; } .toc-sidebar{ position:static; } }

/* ============================== TERMS: chip TOC + accordion ============================== */
.toc-chip-row{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin: 2rem 0 3rem; }
.terms-accordion{ max-width: 860px; margin:0 auto; display:flex; flex-direction:column; gap:.9rem; }
.terms-accordion .acc-item{ scroll-margin-top:6rem; }
.terms-accordion .acc-trigger{ padding:1.3rem 1.6rem; }
.terms-accordion .acc-trigger .t-num{ font-family: var(--f-mono); color: var(--violet); margin-right:.7em; }
.terms-accordion .acc-panel-inner{ font-size:.9rem; }
.terms-accordion .acc-panel-inner ul{ margin-top:.6rem; display:flex; flex-direction:column; gap:.45rem; }
.terms-accordion .acc-panel-inner li{ position:relative; padding-left:1.2rem; }
.terms-accordion .acc-panel-inner li::before{ content:""; position:absolute; left:0; top:.5em; width:5px; height:5px; border-radius:50%; background: var(--orange); }

/* ============================== DISCLAIMER: editorial callout blocks ============================== */
.disclaimer-doc{ max-width: 820px; margin: 0 auto; }
.callout{ position:relative; padding: 1.6rem 1.8rem; margin-bottom:1.4rem; border-radius: 16px; border-left: 3px solid var(--indigo); background: linear-gradient(90deg, rgba(39,39,42,.08), transparent 60%); }
.callout h2{ font-size:1.05rem; display:flex; align-items:center; gap:.6em; }
.callout .tag-mini{ font-family: var(--f-mono); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; padding:.25em .7em; border-radius:999px; border:1px solid var(--glass-border); color: var(--ink-faint); }
.callout p{ font-size:.9rem; color: var(--ink-dim); line-height:1.75; margin-top:.7rem; }
.callout--warn{ border-left-color: var(--orange); background: linear-gradient(90deg, rgba(113,113,122,.09), transparent 60%); }
.callout--info{ border-left-color: var(--cyan); background: linear-gradient(90deg, rgba(244,244,245,.08), transparent 60%); }
.callout--flag{ border-left-color: var(--magenta); background: linear-gradient(90deg, rgba(161,161,170,.08), transparent 60%); }
.disclaimer-ad-break{ margin: 2.6rem 0; text-align:center; }
