:root {
  --ink: #0a0a09;
  --ink-soft: #121210;
  --paper: #f4f2eb;
  --muted: #a6a298;
  --muted-dark: #77736b;
  --gold: #ffc300;
  --line: rgba(244, 242, 235, .15);
  --sans: "DM Sans", Arial, sans-serif;
  --mono: "DM Mono", monospace;
  --shell: min(920px, calc(100% - 96px));
}

* { box-sizing: border-box; }
html { background: var(--ink); scroll-behavior: smooth; }
body { background: var(--ink); color: var(--paper); font-family: var(--sans); margin: 0; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--gold); color: var(--ink); }

.shell { margin-left: auto; margin-right: auto; width: var(--shell); }
.legal-header { align-items: center; display: flex; justify-content: space-between; padding-bottom: 28px; padding-top: 28px; }
.brand { display: inline-flex; }
.brand img { display: block; height: 42px; mix-blend-mode: screen; object-fit: contain; width: auto; }
.back-link { color: var(--muted); font: 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease; }
.back-link:hover, .back-link:focus-visible { color: var(--gold); }

.legal-hero { border-bottom: 1px solid var(--line); padding: clamp(60px, 10vw, 116px) 0 clamp(46px, 7vw, 72px); position: relative; }
.legal-hero::after { background: radial-gradient(circle, rgba(255,195,0,.14), transparent 68%); content: ""; height: 360px; pointer-events: none; position: absolute; right: -110px; top: -145px; width: 360px; }
.eyebrow { color: var(--gold); font: 10px var(--mono); letter-spacing: .14em; margin: 0 0 23px; position: relative; text-transform: uppercase; z-index: 1; }
h1, h2 { letter-spacing: -.045em; }
h1 { font-size: clamp(3.4rem, 8vw, 6.8rem); line-height: .9; margin: 0; max-width: 800px; position: relative; z-index: 1; }
.legal-summary { color: var(--muted); font-size: 16px; line-height: 1.65; margin: 30px 0 0; max-width: 620px; position: relative; z-index: 1; }
.legal-updated { color: var(--muted-dark); font: 10px var(--mono); letter-spacing: .08em; margin: 30px 0 0; position: relative; text-transform: uppercase; z-index: 1; }

.legal-content { padding-bottom: 86px; padding-top: 32px; }
.legal-notice { background: var(--ink-soft); border-left: 2px solid var(--gold); color: var(--muted); font-size: 14px; line-height: 1.65; margin: 0 0 54px; padding: 21px 24px; }
.legal-section { border-top: 1px solid var(--line); padding: 38px 0 42px; }
.legal-section h2 { color: var(--paper); font-size: clamp(1.55rem, 3vw, 2.2rem); line-height: 1.05; margin: 0 0 18px; }
.legal-section p, .legal-section li { color: var(--muted); font-size: 15px; line-height: 1.75; }
.legal-section p { margin: 0; max-width: 720px; }
.legal-section p + p { margin-top: 15px; }
.legal-section ul { margin: 16px 0 0; max-width: 740px; padding-left: 20px; }
.legal-section li + li { margin-top: 8px; }
.legal-section a { color: var(--gold); text-decoration: underline; text-decoration-color: rgba(255,195,0,.45); text-underline-offset: 3px; }
.legal-section a:hover, .legal-section a:focus-visible { text-decoration-color: var(--gold); }

.legal-footer { align-items: center; border-top: 1px solid var(--line); color: var(--muted-dark); display: flex; font: 10px var(--mono); gap: 24px; justify-content: space-between; letter-spacing: .06em; padding-bottom: 30px; padding-top: 30px; text-transform: uppercase; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 20px; justify-content: flex-end; }
.legal-footer a { color: var(--muted); }
.legal-footer a:hover, .legal-footer a:focus-visible { color: var(--gold); }

@media (max-width: 680px) {
  :root { --shell: calc(100% - 40px); }
  .legal-header { padding-bottom: 21px; padding-top: 21px; }
  .brand img { height: 35px; }
  .legal-hero { padding-top: 58px; }
  .legal-summary { font-size: 15px; }
  .legal-content { padding-bottom: 56px; }
  .legal-section { padding: 31px 0 34px; }
  .legal-section p, .legal-section li { font-size: 14px; }
  .legal-footer { align-items: flex-start; flex-direction: column; gap: 15px; }
  .legal-footer nav { justify-content: flex-start; }
}
