/* ══ LEGAL HERO ══════════════════════════════ */
.legal-hero { padding: calc(var(--nav-h) + 4rem) 0 3rem; text-align:center; border-bottom:1px solid var(--border); position:relative; overflow:hidden; }
.legal-hero::after { content:''; position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E"); }
.legal-hero .label { font-size:.7rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--blue2); margin-bottom:1.2rem; }
.legal-hero h1 { font-family:'Outfit',sans-serif; font-size:clamp(2rem,4vw,3.2rem); font-weight:800; line-height:1.1; letter-spacing:-.03em; margin-bottom:1rem; }
.legal-hero .grad-text { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.legal-hero .meta { color:var(--muted); font-size:.9rem; }

/* ══ LEGAL LAYOUT ════════════════════════════ */
.legal-layout { display:grid; grid-template-columns:240px 1fr; gap:4rem; max-width:1100px; margin:0 auto; padding:4rem 1.5rem 6rem; }

/* ══ TABLE OF CONTENTS ═══════════════════════ */
.toc { position:sticky; top:calc(var(--nav-h) + 2rem); height:fit-content; }
.toc h3 { font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:1.2rem; }
.toc ul { display:flex; flex-direction:column; gap:.15rem; }
.toc ul a { font-size:.875rem; color:var(--muted); padding:.4rem .75rem; border-radius:.4rem; border-left:2px solid transparent; transition:all var(--transition); display:block; }
.toc ul a:hover, .toc ul a.active { color:var(--blue2); border-left-color:var(--blue2); background:rgba(240,78,35,.06); }
.toc-divider { height:1px; background:var(--border); margin:1.2rem 0; }
.toc-legal { display:flex; flex-direction:column; gap:.15rem; }
.toc-legal a { font-size:.8rem; color:var(--faint); padding:.3rem .75rem; border-radius:.4rem; transition:all var(--transition); }
.toc-legal a:hover { color:var(--muted); }
.toc-legal a.current { color:var(--blue2); font-weight:600; }

/* ══ LEGAL ARTICLE ═══════════════════════════ */
.legal-article { min-width:0; }
.legal-section { margin-bottom:3.5rem; scroll-margin-top:calc(var(--nav-h) + 1.5rem); }
.legal-section h2 { font-family:'Outfit',sans-serif; font-size:1.4rem; font-weight:700; letter-spacing:-.02em; margin-bottom:1rem; display:flex; align-items:center; gap:.75rem; }
.section-num { font-size:.75rem; font-weight:700; padding:.2rem .55rem; border-radius:.35rem; background:rgba(240,78,35,.12); color:var(--blue2); letter-spacing:.06em; font-family:'DM Sans',sans-serif; flex-shrink:0; }
.legal-section p { color:var(--muted); line-height:1.8; margin-bottom:1rem; font-size:.975rem; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul.doc-list { list-style:none; display:flex; flex-direction:column; gap:.5rem; margin:.5rem 0 1rem 0; }
.legal-section ul.doc-list li { color:var(--muted); font-size:.975rem; padding:.4rem 0 .4rem 1.5rem; position:relative; line-height:1.7; }
.legal-section ul.doc-list li::before { content:''; position:absolute; left:0; top:.85rem; width:6px; height:6px; border-radius:50%; background:var(--blue2); opacity:.6; }
.legal-divider { height:1px; background:var(--border); margin:3rem 0; }
.legal-highlight { background:rgba(240,78,35,.06); border:1px solid rgba(240,78,35,.15); border-radius:var(--r); padding:1.25rem 1.5rem; margin:1.5rem 0; }
.legal-highlight p { color:var(--text); font-weight:500; margin:0; }
.contact-box { background:var(--bg2); border:1px solid var(--border); border-radius:var(--r2); padding:1.75rem 2rem; margin-top:1.5rem; }
.contact-box p { color:var(--muted); margin-bottom:.4rem; font-size:.95rem; }
.contact-box a { color:var(--blue2); font-weight:600; }
.contact-box a:hover { text-decoration:underline; }

/* ══ RESPONSIVE ══════════════════════════════ */
@media(max-width:900px) {
  .legal-layout { grid-template-columns:1fr; gap:2rem; }
  .toc { position:static; }
}
