/* t2021 legal pages.
   Page wash matches the website footer: Deep Red #831613 field,
   Crimson #E13A26 radial glow, and the footer scrim (css/footer.css).
   Policy text sits on one long near-white card. */

.legal-page {
  margin: 0;
  min-height: 100vh;
  color: #0A0A0A;
  font: 400 16px/28px var(--font);
  background: #831613;
  position: relative;
}

/* Fixed wash so the blend stays as the long card scrolls.
   Deep field + crimson glow + scrim, same recipes as .ftr-field-deep,
   .ftr-field-crimson and .ftr-scrim. */
.legal-page::before,
.legal-page::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}
.legal-page::before {
  background: #831613;
  z-index: -3;
}
.legal-page::after {
  z-index: -2;
  background:
    linear-gradient(180deg, rgba(131, 22, 19, .35) 0%, rgba(131, 22, 19, .08) 28%, rgba(131, 22, 19, 0) 48%, rgba(131, 22, 19, .12) 78%, rgba(131, 22, 19, .25) 100%),
    radial-gradient(ellipse 65% 55% at 78% 28%, rgba(225, 58, 38, .70) 0%, rgba(225, 58, 38, .28) 48%, rgba(225, 58, 38, 0) 72%);
}

/* Flat Deep Red on phones, matching the footer at 699px. */
@media (max-width: 699px) {
  .legal-page::after {
    background: linear-gradient(180deg, rgba(131, 22, 19, .18) 0%, rgba(131, 22, 19, 0) 40%, rgba(131, 22, 19, .22) 100%);
  }
}

.legal-page a {
  color: #831613;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.legal-page a:hover { color: #5C0F0D; }
.legal-page a:focus-visible {
  outline: 2px solid #831613;
  outline-offset: 2px;
}

.legal-top {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px 20px;
  padding: 12px 24px;
  background: #831613;
  border-bottom: 1px solid rgba(255, 255, 255, .24);
  font: 500 14px/20px var(--font);
}
.legal-top nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.legal-top a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-top a:hover { color: #FFEDE9; }
.legal-top a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.legal-banner { display: none; } /* no banner in the body of the launch pages */

/* One long reading card */
.legal-main {
  box-sizing: border-box;
  width: calc(100% - 48px);
  max-width: 800px;
  margin: 40px auto 56px;
  padding: 56px 64px 72px;
  background: #F7F7F7; /* same near-white as the footer CTA card */
  color: #0A0A0A;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(50, 8, 6, .28);
}
.legal-main h1 {
  margin: 0 0 8px;
  font: 600 32px/40px var(--font);
  letter-spacing: -0.02em;
  color: #0A0A0A;
}
.legal-main .meta {
  margin: 0 0 36px;
  color: #4B4E53; /* footer card mute */
  font: 400 14px/22px var(--font);
}
.legal-main h2 {
  margin: 36px 0 12px;
  font: 600 20px/28px var(--font);
  letter-spacing: -0.015em;
  color: #0A0A0A;
}
.legal-main h2:first-of-type { margin-top: 8px; }
.legal-main h3 {
  margin: 24px 0 8px;
  font: 600 16px/24px var(--font);
  color: #0A0A0A;
}
.legal-main p,
.legal-main li {
  color: #0A0A0A;
  font: 400 16px/28px var(--font);
}
.legal-main p { margin: 0 0 16px; }
.legal-main ul {
  margin: 0 0 16px;
  padding-left: 1.25em;
}
.legal-main li { margin: 0 0 8px; }
.legal-main li:last-child { margin-bottom: 0; }

.toc {
  margin: 0 0 32px;
  padding: 16px 20px;
  border: 1px solid rgba(10, 10, 10, .12);
  background: #fff;
  border-radius: 8px;
}
.toc a { color: #831613; }

/* Unconfirmed facts — visible on the light card, searchable */
.gap,
.ph {
  display: inline;
  padding: 0 4px;
  border-radius: 2px;
  background: rgba(225, 58, 38, .12);
  color: #831613;
  font-weight: 600;
}
.ph {
  background: none;
  border-bottom: 1px dashed #831613;
}

mark.confirm {
  background: #FFE08A;
  color: #0A0A0A;
  padding: 0 3px;
  border-radius: 2px;
  font-weight: 600;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.legal-foot {
  max-width: 800px;
  margin: 0 auto;
  padding: 8px 24px 40px;
  color: #FFEDE9;
  font: 400 14px/22px var(--font);
}
.legal-foot nav { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.legal-foot a {
  color: #fff;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-foot a:hover { color: #FFEDE9; }
.legal-foot a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Phones: card near full-bleed, smaller red margins */
@media (max-width: 699px) {
  .legal-top { padding: 12px 16px; }
  .legal-main {
    width: calc(100% - 24px);
    margin: 16px auto 32px;
    padding: 32px 20px 40px;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(50, 8, 6, .22);
  }
  .legal-main h1 { font: 600 28px/34px var(--font); }
  .legal-foot { padding: 4px 16px 32px; }
}

@media (max-width: 419px) {
  .legal-main {
    width: calc(100% - 16px);
    margin: 12px auto 28px;
    padding: 28px 16px 36px;
  }
}
