:root {
  color-scheme: dark;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #cbcbcb;
  background: #181818;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: #181818; color: #cbcbcb; }
a { color: #d5fd7f; text-underline-offset: .22em; }
a:hover { color: #f4fb6e; }
a:focus-visible { outline: 2px solid #f4fb6e; outline-offset: 4px; }
.legal-page { width: min(100% - 40px, 1080px); margin: 0 auto; padding: clamp(36px, 8vw, 88px) 0 56px; }
.legal-kicker { margin: 0 0 22px; color: #d5fd7f; font-size: .75rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.legal-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(170px, 260px); gap: 36px; align-items: end; padding-bottom: 30px; border-bottom: 1px solid #414141; }
.legal-header h1 { max-width: 13ch; margin: 0; color: #f4fb6e; font-size: clamp(2.7rem, 8vw, 5.4rem); font-weight: 700; letter-spacing: -.065em; line-height: .98; }
.legal-header p { max-width: 34ch; margin: 0; color: #b8b8b8; font-size: .96rem; line-height: 1.7; }
.legal-header .legal-meta { margin: 18px 0 0; color: #8f8f8f; font-size: .78rem; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 10px 26px; padding: 16px 0; border-bottom: 1px solid #313131; }
.legal-nav a { font-size: .85rem; font-weight: 600; }
.legal-main { max-width: 76ch; padding-top: 30px; }
.legal-main > p, .legal-main li { color: #cbcbcb; font-size: 1rem; line-height: 1.82; }
.legal-main p { margin: 0 0 18px; }
.legal-main h2 { margin: 48px 0 14px; color: #f4fb6e; font-size: clamp(1.35rem, 3vw, 1.7rem); font-weight: 650; letter-spacing: -.035em; line-height: 1.25; }
.legal-main h3 { margin: 28px 0 10px; color: #d5fd7f; font-size: 1.05rem; font-weight: 650; }
.legal-main ul, .legal-main ol { margin: 0 0 20px; padding-left: 1.4rem; }
.legal-main li { margin: 0 0 8px; padding-left: .2rem; }
.legal-main strong { color: #ededed; font-weight: 650; }
.legal-contents { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 18px 0 24px; list-style: none; border-bottom: 1px solid #313131; }
.legal-contents a { font-size: .82rem; }
.legal-note { margin: 28px 0; padding: 18px 20px; border: 1px solid #414141; background: #202020; color: #cbcbcb; line-height: 1.75; }
.legal-note strong { color: #d5fd7f; }
.legal-footer { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; margin-top: 70px; padding-top: 18px; border-top: 1px solid #313131; color: #8f8f8f; font-size: .75rem; }
.legal-footer a { font-weight: 600; }
@media (max-width: 700px) {
  .legal-page { width: min(100% - 32px, 1080px); padding-top: 34px; }
  .legal-header { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .legal-header h1 { max-width: 11ch; font-size: clamp(2.8rem, 15vw, 4.5rem); }
  .legal-main > p, .legal-main li { font-size: .96rem; }
  .legal-main h2 { margin-top: 40px; }
  .legal-footer { margin-top: 48px; }
}
