.legal-page { background: #fbf9fc; color: #2e2438; font-family: "Jost", Arial, sans-serif; }
.legal-header, .legal-document, .legal-footer { width: min(100% - 44px, 880px); margin-inline: auto; }
.legal-header { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding-block: 28px; border-bottom: 1px solid #e4d9ed; }
.legal-header a { color: #59428f; font-size: 13px; }
.legal-header a:first-child { font-weight: 700; letter-spacing: .1em; text-decoration: none; }
.legal-document { padding-block: 54px; line-height: 1.75; overflow-wrap: anywhere; }
.legal-kicker { color: #7754bd; font-size: 11px; letter-spacing: .18em; font-weight: 700; }
.legal-document h1 { font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(38px, 7vw, 60px); font-weight: 500; line-height: 1.12; margin: 16px 0; letter-spacing: -.025em; }
.legal-intro { color: #6f5f80; font-size: 19px; max-width: 640px; }
.legal-date { font-size: 13px; color: #6f5f80; margin-top: 18px; }
.legal-index { background: #f1eaf6; border: 1px solid #e2d5ed; border-radius: 18px; padding: 22px; margin-block: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 24px; font-size: 14px; }
.legal-document a { color: #67479e; text-underline-offset: 3px; }
.legal-document section { margin-top: 32px; scroll-margin-top: 24px; }
.legal-document h2 { font-size: 22px; font-weight: 600; line-height: 1.35; margin-bottom: 14px; }
.legal-document section p + p { margin-top: 14px; }
.legal-footer { padding-block: 26px; border-top: 1px solid #e4d9ed; color: #6f5f80; font-size: 13px; line-height: 1.8; }
.legal-footer nav { margin-bottom: 8px; }
.legal-skip { position: absolute; left: 16px; top: -100px; background: #fff; padding: 12px; z-index: 1001; }
.legal-skip:focus { top: 8px; }
.legal-page a:focus-visible { outline: 3px solid #8b6cf0; outline-offset: 4px; }
@media (max-width: 560px) {
  .legal-header { align-items: flex-start; flex-direction: column; gap: 12px; }
  .legal-document { padding-top: 34px; }
  .legal-index { grid-template-columns: 1fr; padding: 18px; }
}
