.legal-page { background: var(--void); }
.legal-hero { padding: 80px 0 62px; border-bottom: 1px solid var(--line-soft); background: linear-gradient(115deg, rgba(119,245,212,.06), transparent 38%), var(--deep); }
.legal-hero h1 { max-width: 850px; margin: 18px 0 0; color: var(--text); font-size: clamp(33px, 3.4vw, 46px); font-weight: 500; letter-spacing: -.052em; line-height: 1.02; }
.legal-hero p:last-child { max-width: 760px; margin: 26px 0 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.legal-layout { display: grid; grid-template-columns: 190px minmax(0, 760px); gap: clamp(46px, 9vw, 150px); padding: 62px 0 100px; }
.legal-index { position: sticky; top: 98px; align-self: start; }
.legal-index > p { margin: 0 0 11px; color: var(--dim); font: 10px var(--mono); letter-spacing: .11em; }
.legal-index a { display: block; padding: 9px 0; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 12px; text-decoration: none; }
.legal-index a:last-child { border-bottom: 1px solid var(--line-soft); }
.legal-index a:hover { color: var(--mint); }
.legal-copy > section { margin-bottom: 52px; padding-bottom: 52px; border-bottom: 1px solid var(--line-soft); scroll-margin-top: 92px; }
.legal-copy > section:last-child { margin-bottom: 0; border-bottom: 0; }
.legal-number { margin: 0; color: var(--mint); font: 10px var(--mono); letter-spacing: .1em; }
.legal-copy h2 { max-width: 680px; margin: 16px 0 0; color: var(--text); font-size: 31px; font-weight: 500; letter-spacing: -.047em; line-height: 1.05; }
.legal-copy p { max-width: 710px; margin: 20px 0 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.legal-copy a { color: var(--mint); }.legal-copy a:hover { color: var(--acid); }
.legal-callout { display: grid; gap: 9px; max-width: 710px; margin-top: 23px; padding: 17px 18px; border-left: 2px solid var(--acid); background: rgba(217,250,90,.07); color: var(--muted); font-size: 13px; line-height: 1.6; }
.legal-callout strong { color: var(--acid); font-family: var(--mono); font-size: 11px; letter-spacing: .04em; }
@media (max-width: 700px) { .legal-hero { padding: 58px 0 46px; }.legal-hero h1 { font-size: clamp(32px, 9vw, 42px); }.legal-layout { grid-template-columns: 1fr; gap: 38px; padding: 45px 0 70px; }.legal-index { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.legal-index > p { grid-column: 1 / -1; }.legal-index a { font-size: 12px; }.legal-copy h2 { font-size: 27px; } }
