:root {
  --red: #ed1c24;
  --black: #000;
  --dark: #0a0a0a;
  --white: #fff;
  --gray-100: #f5f5f5;
  --gray-300: #d0d0d0;
  --gray-500: #666;
  --font-display: 'Unbounded', system-ui, sans-serif;
  --font-body: 'Onest', system-ui, sans-serif;
  --container: 1320px;
  --gap: 16px;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; color: var(--black); background: var(--white); font: 400 16px/1.65 var(--font-body); }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gap); }

.header { position: sticky; top: 0; z-index: 10; background: var(--black); color: var(--white); }
.header__inner { display: flex; min-height: 64px; align-items: center; gap: 24px; }
.legal-header .header__inner { justify-content: flex-start; }
.logo { display: block; flex: 0 0 auto; }
.logo__img { width: 84px; }

.legal-page { min-height: calc(100vh - 64px); padding: clamp(48px, 9vw, 128px) 0; background: linear-gradient(180deg, var(--gray-100) 0 380px, var(--white) 380px); }
.legal-page__container { max-width: 920px; }
.legal-page__eyebrow { margin: 0 0 18px; color: var(--red); font: 700 11px/1.4 var(--font-display); letter-spacing: .12em; text-transform: uppercase; }
.legal-page__title { max-width: 900px; margin: 0; overflow-wrap: anywhere; font: 700 clamp(29px, 5vw, 56px)/1.14 var(--font-display); letter-spacing: -.04em; }
.legal-page__meta { display: flex; flex-wrap: wrap; gap: 9px 24px; margin: 28px 0 34px; color: var(--gray-500); font-size: 14px; }
.legal-page__meta span:first-child { color: var(--black); font-weight: 700; }
.legal-page__nav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 38px; }
.legal-page__nav a { border: 1px solid var(--gray-300); padding: 8px 12px; font-size: 13px; font-weight: 600; transition: border-color .2s, color .2s, background .2s; }
.legal-page__nav a:hover { border-color: var(--black); background: var(--black); color: var(--white); }
.legal-page__content { padding: clamp(25px, 5vw, 56px); background: var(--white); border-top: 5px solid var(--red); box-shadow: 0 24px 60px rgba(0, 0, 0, .08); }
.legal-page__content :where(h1, h2, h3, h4, h5, h6) { margin: 40px 0 14px; font-family: var(--font-display); font-weight: 700; line-height: 1.3; letter-spacing: -.035em; }
.legal-page__content :where(h1) { font-size: clamp(24px, 3vw, 32px); }
.legal-page__content :where(h2) { font-size: clamp(19px, 3vw, 27px); }
.legal-page__content :where(h3) { font-size: clamp(17px, 2.5vw, 22px); }
.legal-page__content :where(h4, h5, h6) { font-size: 16px; }
.legal-page__content :where(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }
.legal-page__content .has-small-font-size { font-size: 14px; }
.legal-page__content .has-normal-font-size { font-size: 16px; }
.legal-page__content .has-large-font-size { font-size: 24px; }
.legal-page__content .has-x-large-font-size { font-size: 32px; }
.legal-page__content p { margin: 0 0 17px; }
.legal-page__content table { width: 100%; margin: 24px 0; border-collapse: collapse; font-size: 14px; }
.legal-page__content th, .legal-page__content td { padding: 13px; border: 1px solid var(--gray-300); text-align: left; vertical-align: top; }
.legal-page__content th { background: var(--black); color: var(--white); font-weight: 600; }

.footer { margin-top: auto; padding: 32px 0; background: var(--black); color: var(--white); }
.footer__inner { display: flex; align-items: center; gap: 24px; }
.footer__logo { width: 82px; }
.footer__copy { color: #aaa; font-size: 13px; }
.footer__links { display: flex; flex-wrap: wrap; gap: 18px; margin-left: auto; font-size: 13px; }
.footer__link:hover, .footer__top:hover { color: var(--red); }
.footer__top { font-size: 13px; white-space: nowrap; }

@media (max-width: 760px) {
  .header__inner { min-height: 58px; gap: 14px; }
  .logo__img { width: 72px; }
  .legal-page { padding-top: 44px; background: linear-gradient(180deg, var(--gray-100) 0 300px, var(--white) 300px); }
  .legal-page__meta { display: grid; gap: 4px; margin: 20px 0 26px; }
  .legal-page__nav { margin-bottom: 26px; }
  .legal-page__content { margin: 0 -1px; padding: 24px 18px; }
  .legal-page__content table { table-layout: fixed; overflow-wrap: anywhere; }
  .legal-page__content th, .legal-page__content td { min-width: 0; padding: 10px 7px; }
  .footer__inner { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
  .footer__links { order: 3; width: 100%; margin: 0; }
  .footer__top { margin-left: auto; }
}

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
