:root {
  --gutter: clamp(16px, 3.4vw, 52px);
  --ink: #16181c;
  --soft: #737a86;
  --paper: #f4f6fa;
  --blue-deep: #113c9f;
  --rule: #d4dce9;
  --rounded: "M PLUS Rounded 1c", ui-rounded, "Hiragino Maru Gothic ProN", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-height: 100vh; margin: 0; background: var(--paper); color: var(--ink); font: 300 16px/1.7 var(--rounded); -webkit-font-smoothing: antialiased; }
main { width: 100%; max-width: 52rem; margin-inline: auto; padding: clamp(34px, 6vw, 82px) var(--gutter) 0; }
.legal-label { margin: 0 0 12px; color: var(--soft); font-size: .72rem; font-weight: 400; letter-spacing: .09em; text-transform: uppercase; }
h1 { margin: 0; font: 600 clamp(2rem, 4.5vw, 4rem)/1.02 var(--rounded); letter-spacing: -.025em; }
.legal-updated { margin: 16px 0 0; color: #9399a3; font-size: .78rem; font-weight: 300; }
.legal-intro { margin: clamp(28px, 4vw, 44px) 0 0; font-size: clamp(1rem, 1.25vw, 1.12rem); }
.legal-section { margin-top: clamp(32px, 4.5vw, 52px); padding-top: 24px; border-top: 1px solid rgba(89, 97, 110, .22); }
.legal-section h2 { margin: 0 0 12px; font: 600 clamp(1rem, 1.35vw, 1.2rem)/1.25 var(--rounded); letter-spacing: .005em; }
.legal-section p { margin: 0 0 1em; }
.legal-section p:last-child { margin-bottom: 0; }
.legal-section ul { margin: 0; padding-left: 1.15em; }
.legal-section li + li { margin-top: .45em; }
.legal-section a { color: var(--blue-deep); text-underline-offset: .22em; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
