.legal-page { background: #f7f9fb; }
.legal-page-main { padding-top: 78px; overflow: hidden; }
.legal-hero { padding: 96px 0 64px; position: relative; overflow: hidden; isolation: isolate; color: #fff; background: radial-gradient(circle at 84% 12%, rgba(91,196,241,.18), transparent 30%), linear-gradient(125deg, var(--navy-deep), var(--navy)); }
.legal-hero::before { content: ""; width: 620px; height: 620px; position: absolute; z-index: -1; right: -120px; bottom: -440px; border: 1px solid rgba(120,205,248,.16); border-radius: 50%; box-shadow: 0 0 0 86px rgba(91,196,241,.03), 0 0 0 172px rgba(91,196,241,.018); }
.legal-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .1; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 62px 62px; mask-image: linear-gradient(90deg, transparent 8%, #000 65%); }
.legal-kicker { margin: 0 0 20px; display: flex; align-items: center; gap: 11px; color: #9fddfa; text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 800; }
.legal-kicker::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.legal-hero h1 { max-width: 850px; margin-bottom: 16px; font-size: clamp(3rem,5.5vw,5.5rem); }
.legal-hero h1 em { color: var(--cyan); }
.legal-hero p:not(.legal-kicker) { max-width: 760px; color: #d1dfeb; font-size: 1.05rem; }
.legal-updated { margin-top: 24px; color: #aacbe0 !important; font-size: .78rem !important; }
.legal-content { background: #fff; }
.legal-grid { display: grid; grid-template-columns: 260px minmax(0,780px); gap: 72px; align-items: start; }
.legal-toc { padding: 22px; position: sticky; top: 105px; border: 1px solid #dbe4eb; border-radius: 14px; background: #f6f9fb; }
.legal-toc strong { display: block; margin-bottom: 10px; color: var(--navy); }
.legal-toc a { padding: 5px 0; display: block; color: #536171; font-size: .82rem; text-decoration: none; }
.legal-toc a:hover, .legal-toc a:focus-visible { color: var(--blue); }
.legal-copy section { padding-top: 12px; scroll-margin-top: 100px; }
.legal-copy section + section { margin-top: 34px; padding-top: 34px; border-top: 1px solid var(--line); }
.legal-copy h2 { margin-bottom: 14px; color: var(--navy); font-size: clamp(1.65rem,3vw,2.3rem); }
.legal-copy h3 { margin: 22px 0 9px; color: #283a69; font-size: 1.08rem; letter-spacing: -.015em; }
.legal-copy p, .legal-copy li { color: #535d6b; }
.legal-copy ul { padding-left: 21px; }
.legal-copy a { text-underline-offset: 3px; }
.legal-note { padding: 20px; border-left: 4px solid var(--blue); border-radius: 0 11px 11px 0; background: #edf5fa; }
.legal-document { margin: 28px 0; padding: 26px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; align-items: center; border: 1px solid #d5e2eb; border-radius: 16px; background: linear-gradient(135deg,#f7fbfd,#edf5fa); text-decoration: none; }
.legal-document:hover { border-color: #a9c5d8; box-shadow: 0 12px 30px rgba(19,18,45,.08); }
.legal-document-mark { width: 52px; height: 58px; display: grid; place-items: center; color: #fff; border-radius: 11px 11px 11px 4px; background: linear-gradient(145deg,var(--cyan),var(--navy)); font-size: .7rem; font-weight: 900; }
.legal-document strong, .legal-document small { display: block; }
.legal-document strong { color: var(--navy); }
.legal-document small { margin-top: 4px; color: #637184; }
.legal-document b { color: var(--blue); }
.legal-principles { margin: 24px 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; list-style: none; }
.legal-principles li { padding: 18px 18px 18px 47px; position: relative; border: 1px solid #dce5ec; border-radius: 12px; background: #f8fafc; }
.legal-principles li::before { content: "✓"; width: 22px; height: 22px; position: absolute; left: 16px; top: 18px; display: grid; place-items: center; color: var(--navy); border-radius: 50%; background: #c9ebfb; font-size: .76rem; font-weight: 900; }
.legal-page-footer { color: #c8d5e2; background: #10162d; }
.legal-page-footer .footer-bottom { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.legal-page-footer nav { display: flex; flex-wrap: wrap; gap: 20px; }
.legal-page-footer a { color: #e8f2f9; text-underline-offset: 4px; }

@media (max-width: 980px) {
  .legal-grid { grid-template-columns: 1fr; gap: 40px; }
  .legal-toc { position: static; }
}
@media (max-width: 680px) {
  .legal-page-main { padding-top: 72px; }
  .legal-hero { padding: 66px 0 56px; }
  .legal-hero h1 { font-size: clamp(2.65rem,13vw,4rem); }
  .legal-principles { grid-template-columns: 1fr; }
  .legal-document { grid-template-columns: auto 1fr; padding: 20px; }
  .legal-document b { display: none; }
  .legal-page-footer .footer-bottom { padding: 20px 0; align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .legal-page * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
