.legal-links { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-top: 20px; font-size: .88rem; }
.legal-links a { text-decoration: underline; text-underline-offset: 4px; color: #a6f4fb; }
.legal-links a:focus-visible, .legal-page a:focus-visible { outline: 2px solid #35d5e8; outline-offset: 4px; }
.legal-page .skip-link { position: fixed; top: 8px; left: 16px; z-index: 20; padding: 12px 18px; background: #35d5e8; color: #07111d; transform: translateY(-180%); }
.legal-page .skip-link:focus { transform: none; }
.legal-page .legal-hero { padding: 64px 0 48px; background: linear-gradient(125deg, #07111d, #0b2742); border-bottom: 1px solid var(--line); }
.legal-page .breadcrumb { display: block; margin-bottom: 28px; font-size: .84rem; color: var(--muted); }
.legal-page .breadcrumb a { text-decoration: underline; text-underline-offset: 4px; }
.legal-page h1 { font-size: clamp(2.6rem, 5vw, 4.2rem); }
.legal-page .legal-meta { display: flex; flex-wrap: wrap; gap: 20px 48px; padding-top: 20px; margin: 28px 0 0; border-top: 1px solid var(--line); }
.legal-page .legal-meta dt { font-size: .75rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 4px; }
.legal-page .legal-meta dd { margin: 0; }
.legal-page .review-note { margin: 28px 0 0; padding: 18px 22px; border-left: 3px solid var(--cyan); background: rgba(53,213,232,.06); max-width: 78ch; }
.legal-page .legal-layout { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 56px; padding-block: 48px 72px; }
.legal-page .legal-toc { align-self: start; position: sticky; top: 96px; font-size: .87rem; }
.legal-page .legal-toc p { font-size: .74rem; color: var(--cyan-soft); text-transform: uppercase; letter-spacing: .08em; }
.legal-page .legal-toc ol { padding-left: 20px; margin: 0; }
.legal-page .legal-toc li { margin-bottom: 12px; color: var(--muted); }
.legal-page .legal-toc a:hover { color: var(--cyan-soft); text-decoration: underline; }
.legal-page .legal-body { max-width: 74ch; min-width: 0; color: #c4d5e3; }
.legal-page .legal-block { padding: 32px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 92px; }
.legal-page .legal-block:first-child { padding-top: 0; }
.legal-page .legal-block h2 { font-size: clamp(1.45rem,2.5vw,1.8rem); letter-spacing: -.025em; color: var(--text); line-height: 1.2; }
.legal-page .legal-block p, .legal-page .legal-block li { line-height: 1.7; }
.legal-page .legal-block li { margin-bottom: 10px; }
.legal-page .legal-body a { color: var(--cyan-soft); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-page .legal-body strong { color: var(--text); }
@media (max-width: 800px) {
  .legal-page .legal-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
  .legal-page .legal-toc { position: static; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
  .legal-page .legal-hero { padding-block: 44px 36px; }
}
@media (max-width: 380px) {
  .legal-page .nav { gap: 8px; }
  .legal-page .brand { gap: 7px; }
  .legal-page .brand-name { font-size: .72rem; }
  .legal-page .nav-cta { padding: 8px; font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page { scroll-behavior: auto; }
  html:has(.legal-page) { scroll-behavior: auto; }
}
