.legal-page { color: var(--ink); background: var(--paper); }
.legal-page .site-header { position: fixed; background: rgba(2,11,23,.96); border-bottom: 1px solid rgba(255,255,255,.08); }
.legal-main { min-height: 70vh; }
.legal-hero { position: relative; padding: clamp(9rem, 14vw, 13rem) clamp(1.25rem, 8vw, 9rem) clamp(4rem, 7vw, 7rem); overflow: hidden; color: var(--white); background: var(--night); }
.legal-hero::after { content: ""; position: absolute; width: min(44vw, 620px); aspect-ratio: 1; right: -10%; bottom: -55%; border-radius: 50%; background: rgba(56,201,243,.12); filter: blur(70px); }
.legal-hero p { position: relative; z-index: 1; margin: 0 0 1.25rem; color: var(--cyan); font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.legal-hero h1 { position: relative; z-index: 1; max-width: 980px; margin: 0; color: var(--white); font-size: clamp(3rem, 7vw, 7.3rem); line-height: .96; letter-spacing: -.06em; }
.legal-wrap { display: grid; grid-template-columns: minmax(180px,.55fr) minmax(0,1.65fr); gap: clamp(2.5rem, 7vw, 8rem); padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 8vw, 9rem); }
.legal-index { position: sticky; top: 8rem; align-self: start; padding: 1.25rem; border: 1px solid rgba(6,45,80,.12); border-radius: 16px; background: rgba(255,255,255,.72); }
.legal-index strong { display: block; margin-bottom: .8rem; color: var(--blue-900); font-family: var(--display); }
.legal-index a { display: block; padding: .55rem 0; color: var(--muted); text-decoration: none; }
.legal-index a:hover, .legal-index a:focus-visible { color: var(--orange); }
.legal-content { max-width: 940px; }
.legal-content section { scroll-margin-top: 7rem; padding: 0 0 3.5rem; }
.legal-content section + section { padding-top: 3.5rem; border-top: 1px solid var(--line); }
.legal-content h2 { margin: 0 0 1.2rem; color: var(--blue-900); font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.05; letter-spacing: -.04em; }
.legal-content h3 { margin: 2rem 0 .7rem; color: var(--blue-900); font-size: 1.1rem; }
.legal-content p, .legal-content li { color: #455463; line-height: 1.75; }
.legal-content a { color: var(--blue-700); text-underline-offset: .2em; }
.legal-content ul { padding-left: 1.25rem; }
.legal-data { display: grid; grid-template-columns: minmax(160px,.55fr) 1.45fr; margin: 1.5rem 0 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.legal-data dt, .legal-data dd { margin: 0; padding: .9rem 1.1rem; border-bottom: 1px solid var(--line); }
.legal-data dt { color: var(--blue-900); background: rgba(6,45,80,.045); font-weight: 700; }
.legal-data dd { background: rgba(255,255,255,.7); }
.legal-data dt:last-of-type, .legal-data dd:last-of-type { border-bottom: 0; }
.legal-note { margin-top: 1.5rem; padding: 1.2rem 1.35rem; border-left: 4px solid var(--orange); border-radius: 0 12px 12px 0; background: rgba(255,122,26,.07); }
.legal-updated { color: var(--muted); font-size: .86rem; }
@media (max-width: 820px) {
  .legal-wrap { grid-template-columns: 1fr; }
  .legal-index { position: static; }
}
@media (max-width: 560px) {
  .legal-data { grid-template-columns: 1fr; }
  .legal-data dt, .legal-data dd { border-bottom: 0; }
  .legal-data dd { padding-top: .25rem; border-bottom: 1px solid var(--line); }
}
