/* privacy-policy.css — Privacy Policy page (Figma frame 211:1297)

   Static desktop layout only; responsive pass to follow.
   Values marked "FLAG: no token" come straight from the Figma frame and have
   no matching design token in tokens.css yet. */

/* Figma frame stacks Navbar / main / Footer with a 10px auto-layout gap;
   main itself puts 88px between the header and body and 96px below.
   FLAG: no token (10px, 88px, 96px). */
.page-privacy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 88px;
  margin: 10px 0;
  padding-bottom: 96px;
}

/* Header ---------------------------------------------------------------- */

/* Gradient fill plus Figma's "::after" layer: a 143px white fade over the
   bottom edge. FLAG: no token (143.77deg angle, 35%/70% stops, 143px fade). */
.legal-header {
  display: flex;
  justify-content: center;
  width: 100%;
  background:
    linear-gradient(to bottom, transparent, var(--color-white)) bottom / 100% 143px no-repeat,
    linear-gradient(143.77deg, var(--color-white) 0%, var(--color-primary-25) 35%, var(--color-primary-50) 70%, var(--color-accent2-50) 100%);
}

/* FLAG: no token (1160px max-width, 72px vertical padding, 12px gap). */
.legal-header__inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  max-width: 1160px;
  padding: 72px var(--space-lg);
}

/* Figma "Caption" text style (Source Sans 3 Bold 14, uppercase). Family and
   size map to the caption tokens; FLAG: no token for line-height 1.8 or
   letter-spacing 4%. */
.legal-header__label {
  margin: 0;
  font-family: var(--font-caption-family);
  font-weight: var(--font-weight-bold);
  font-size: var(--font-caption-size);
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-accent1-500);
}

.legal-header__title {
  margin: 0;
  font-family: var(--font-title-family);
  font-weight: var(--font-title-weight);
  font-size: var(--font-title-size);
  line-height: var(--font-title-line-height);
  color: var(--color-neutral-900);
}

/* Body ------------------------------------------------------------------ */

/* Unlike Terms, the Privacy frame has no vertical padding on the body —
   spacing comes from .page-privacy's gap and bottom padding.
   FLAG: no token (1140px max-width, 36px gap). */
.legal-body {
  display: flex;
  flex-direction: column;
  gap: 36px;
  width: 100%;
  max-width: 1140px;
}

/* FLAG: no token (12px gap). */
.legal-block {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0 var(--space-lg);
}

.legal-block__title {
  margin: 0;
  font-family: var(--font-h3-family);
  font-weight: var(--font-h3-weight);
  font-size: var(--font-h3-size);
  line-height: var(--font-h3-line-height);
  color: var(--color-neutral-900);
}

.legal-block__text {
  font-family: var(--font-body-regular-family);
  font-weight: var(--font-body-regular-weight);
  font-size: var(--font-body-regular-size);
  line-height: var(--font-body-regular-line-height);
  color: var(--color-neutral-500);
}

.legal-block__text p,
.legal-block__text ul {
  margin: 0;
}

/* Figma separates some paragraphs with an empty line; one body line-height. */
.legal-block__text .is-spaced {
  margin-top: calc(var(--font-body-regular-line-height) * 1em);
}

/* FLAG: no token (24px list indent). */
.legal-block__text ul {
  padding-left: 24px;
}

.legal-block__text strong {
  font-weight: var(--font-weight-bold);
}

.legal-block__text a {
  color: var(--color-primary-600);
  text-decoration: underline;
}
