/* ==========================================================================
   Cénematic policy pages (terms / privacy / refund). Same type system and
   tokens as the sales pages so the legal pages read as the same product.
   ========================================================================== */

:root {
  --policy-bg: #ffffff;
  --policy-ink: #0d0f1c;
  --policy-muted: #4f5466;
  --policy-header-bg: #0a0a12;
  --policy-accent: #ff8a00;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  min-height: 100vh;
  overflow-x: hidden;
  font-family: 'Inter', system-ui, sans-serif;
  background: var(--policy-bg);
  color: var(--policy-ink);
  -webkit-font-smoothing: antialiased;
}

/* Header ------------------------------------------------------------------ */
.policy-header {
  background: var(--policy-header-bg);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.policy-header__inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 24px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.policy-header__logo { width: 30px; height: 30px; display: block; }
.policy-header__wordmark {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ffffff;
  text-decoration: none;
}

/* Page shell -------------------------------------------------------------- */
.policy {
  max-width: 920px;
  margin: 0 auto;
  padding: clamp(56px, 8vw, 96px) 24px clamp(72px, 9vw, 112px);
}

/* Title block ------------------------------------------------------------- */
.policy__eyebrow {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--policy-muted);
  margin-bottom: 18px;
}

.policy__title {
  font-size: clamp(38px, 6vw, 60px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--policy-ink);
}

.policy__lede {
  margin-top: 24px;
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.7;
  color: var(--policy-muted);
}

/* Standout notice, left rule instead of a boxed callout */
.policy__note {
  margin-top: 28px;
  padding-left: 20px;
  border-left: 3px solid var(--policy-accent);
}
.policy__note p {
  font-size: clamp(16px, 1.4vw, 18px);
  line-height: 1.7;
  color: var(--policy-ink);
}
.policy__section .policy__note { margin-top: 22px; }
.policy__note--warn { border-left-color: #e5484d; }

.policy__rule {
  border: none;
  border-top: 1px solid rgba(13, 15, 28, 0.1);
  margin: clamp(40px, 5vw, 56px) 0 0;
}

/* Sections ---------------------------------------------------------------- */
.policy__section { margin-top: clamp(36px, 4vw, 52px); }

.policy__heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
  color: var(--policy-ink);
  margin-bottom: 14px;
}

.policy__heading-num {
  flex: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--policy-accent);
}

.policy__section p,
.policy__section li {
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.75;
  color: var(--policy-muted);
}

.policy__section p + p { margin-top: 14px; }
.policy strong { color: var(--policy-ink); font-weight: 700; }

/* Sub-label inside a section ("Account Information:", "What This Means:") */
.policy .policy__label {
  margin-top: 24px;
  font-size: clamp(15px, 1.2vw, 16px);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--policy-ink);
}
.policy__label + .policy__list { margin-top: 8px; }

.policy__list {
  list-style: disc;
  padding-left: 22px;
  margin-top: 12px;
}
.policy__list li { margin-bottom: 10px; }
.policy__list li:last-child { margin-bottom: 0; }
.policy__list li::marker { color: rgba(13, 15, 28, 0.35); }

.policy__contact {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  font-size: clamp(17px, 1.4vw, 19px);
  font-weight: 700;
  color: var(--policy-ink);
  text-decoration: none;
  border-bottom: 2px solid rgba(255, 138, 0, 0.5);
  padding-bottom: 2px;
}
.policy__contact:hover { border-bottom-color: var(--policy-accent); }
.policy__contact svg { flex: none; color: var(--policy-accent); }
