@font-face {
  font-family: Airscream;
  src: url("font-heavy.woff") format("woff");
  font-display: swap;
}

@font-face {
  font-family: AirscreamText;
  src: url("font-extra.woff") format("woff");
  font-display: swap;
}

:root {
  --display: Airscream, "Arial Black", sans-serif;
  --body: AirscreamText, Arial, sans-serif;
  --legal-black: #050505;
  --legal-paper: #f7f7f4;
  --legal-acid: #dfff00;
  --legal-ink: #171717;
  --legal-muted: #666;
  --legal-line: rgba(0, 0, 0, .16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--legal-paper); color: var(--legal-ink); font-family: var(--body); font-weight: 700; }
body.global-menu-open { overflow: hidden; }
a { color: inherit; }
.skip-link {
  position: fixed;
  z-index: 500;
  top: 10px;
  left: 10px;
  padding: 12px 18px;
  transform: translateY(-160%);
  background: var(--legal-acid);
  color: #000;
  font: 900 11px/1 Arial, sans-serif;
  text-transform: uppercase;
}
.skip-link:focus { transform: none; }

.legal-page .global-header {
  background: rgba(5, 5, 5, .96);
  backdrop-filter: blur(18px);
}

.legal-hero {
  padding: clamp(170px, 18vw, 260px) var(--shell-pad) clamp(76px, 9vw, 132px);
  background: var(--legal-black);
  color: #fff;
}

.legal-hero__inner {
  width: min(1320px, 100%);
  margin: 0 auto;
}

.legal-kicker,
.legal-meta,
.legal-nav__label {
  font: 900 10px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.legal-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 28px;
  color: var(--legal-acid);
}

.legal-kicker::before {
  content: "";
  width: 38px;
  height: 2px;
  background: currentColor;
}

.legal-hero h1 {
  max-width: 1120px;
  margin: 0;
  font: italic 900 clamp(68px, 11vw, 172px)/.76 var(--display);
  letter-spacing: -.05em;
  text-transform: uppercase;
}

.legal-hero__summary {
  max-width: 700px;
  margin: 40px 0 0;
  color: #aaa;
  font-size: clamp(16px, 1.45vw, 21px);
  line-height: 1.65;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 52px;
  padding-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  color: #777;
}

.legal-meta strong { color: #fff; }

.legal-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 780px);
  gap: clamp(55px, 8vw, 130px);
  width: min(1190px, calc(100% - (2 * var(--shell-pad))));
  margin: 0 auto;
  padding: clamp(78px, 10vw, 150px) 0;
}

.legal-nav {
  align-self: start;
  position: sticky;
  top: 110px;
}

.legal-nav__label {
  margin: 0 0 20px;
  color: #8b8b8b;
}

.legal-nav a {
  display: block;
  padding: 12px 0;
  border-top: 1px solid var(--legal-line);
  color: #555;
  font: 800 12px/1.35 Arial, Helvetica, sans-serif;
  text-decoration: none;
}

.legal-nav a:last-child { border-bottom: 1px solid var(--legal-line); }
.legal-nav a:hover,
.legal-nav a:focus-visible { color: #000; }

.legal-document { min-width: 0; }

.legal-layout--compact {
  display: block;
  width: min(820px, calc(100% - (2 * var(--shell-pad))));
  padding: clamp(64px, 8vw, 108px) 0;
}

.legal-layout--compact > .legal-document {
  width: 100%;
}

.legal-layout--compact .legal-section {
  padding-bottom: 44px;
  margin-bottom: 44px;
}

.legal-layout--compact .legal-section h2 {
  margin-bottom: 20px;
}

.review-note {
  margin: 0 0 62px;
  padding: 24px 26px;
  border-left: 5px solid var(--legal-acid);
  background: #ecece7;
}

.review-note strong {
  display: block;
  margin-bottom: 8px;
  font: 900 11px/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.review-note p { margin: 0; color: #555; font-size: 14px; line-height: 1.6; }

.legal-section {
  scroll-margin-top: 110px;
  padding: 0 0 64px;
  margin: 0 0 64px;
  border-bottom: 1px solid var(--legal-line);
}

.legal-section:last-child { margin-bottom: 0; }

.legal-section__number {
  display: block;
  margin-bottom: 18px;
  color: #999;
  font: 900 10px/1 Arial, Helvetica, sans-serif;
  letter-spacing: .14em;
}

.legal-section h2 {
  margin: 0 0 28px;
  font: italic 900 clamp(34px, 4vw, 58px)/.9 var(--display);
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.legal-section h3 {
  margin: 34px 0 12px;
  font: 900 18px/1.2 var(--display);
  text-transform: uppercase;
}

.legal-section p,
.legal-section li {
  color: #444;
  font-size: 16px;
  line-height: 1.75;
}

.legal-section p { margin: 0 0 20px; }
.legal-section ul,
.legal-section ol { margin: 0 0 24px; padding-left: 22px; }
.legal-section li + li { margin-top: 10px; }
.legal-section a { text-decoration-thickness: 1px; text-underline-offset: 4px; }

.legal-callout {
  margin: 30px 0;
  padding: 25px 28px;
  background: var(--legal-black);
  color: #fff;
}

.legal-callout p { margin: 0; color: #ccc; }
.legal-callout strong { color: var(--legal-acid); }

.legal-sources {
  display: grid;
  gap: 10px;
  margin-top: 30px;
}

.legal-sources a {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 0;
  border-top: 1px solid var(--legal-line);
  color: #333;
  font: 800 12px/1.45 Arial, Helvetica, sans-serif;
}

.legal-sources a::after { content: "↗"; flex: 0 0 auto; }

@media (max-width: 820px) {
  .legal-layout {
    grid-template-columns: 1fr;
    gap: 56px;
  }

  .legal-nav {
    position: static;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
  }

  .legal-nav__label { grid-column: 1 / -1; }
}

@media (max-width: 660px) {
  .legal-hero {
    padding: 142px 22px 76px;
  }

  .legal-hero h1 { font-size: clamp(62px, 20vw, 88px); }
  .campaign-legal .legal-hero h1 { font-size: clamp(54px, 16.5vw, 70px); }
  .legal-hero__summary { margin-top: 28px; font-size: 15px; }
  .legal-meta { margin-top: 36px; }

  .legal-layout {
    width: calc(100% - 44px);
    padding: 76px 0 94px;
  }

  .legal-nav { grid-template-columns: 1fr; }
  .legal-section { padding-bottom: 48px; margin-bottom: 50px; }
  .legal-section h2 { font-size: 38px; }
  .legal-section p,
  .legal-section li { font-size: 15px; }
}

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