/**
 * MemoryIntelligence™ — Heading design system (mandatory tokens)
 * Use ONLY .ds-e1, .ds-h1, .ds-h2, .ds-h3, .ds-n1, .ds-f1 for heading typography.
 * Fraunces is used ONLY for .ds-f1. All other tokens use Inter 900 (E1 uses Inter 700).
 * Mobile breakpoint for token size overrides: max-width 768px
 */

/* ── Tokens ───────────────────────────────────────────────────────── */

.ds-e1 {
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(10, 10, 10, 0.38);
  margin: 0;
}

@media (max-width: 768px) {
  .ds-e1 {
    font-size: 9px;
    letter-spacing: 0.14em;
  }
}

.ds-h1 {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: clamp(32px, 5vw, 56px);
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: var(--dark, #0a0a0a);
  margin: 0;
}

@media (max-width: 768px) {
  .ds-h1 {
    font-size: clamp(26px, 7vw, 36px);
  }
}

.ds-h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: clamp(24px, 3.4vw, 38px);
  letter-spacing: -0.035em;
  line-height: 1.08;
  color: var(--dark, #0a0a0a);
  margin: 0;
}

@media (max-width: 768px) {
  .ds-h2 {
    font-size: clamp(20px, 5.5vw, 28px);
  }
}

.ds-h3 {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: clamp(17px, 2.35vw, 24px);
  letter-spacing: -0.02em;
  line-height: 1.18;
  color: var(--dark, #0a0a0a);
  margin: 0;
}

@media (max-width: 768px) {
  .ds-h3 {
    font-size: clamp(16px, 4.5vw, 20px);
  }
}

.ds-n1 {
  font-family: 'Inter', sans-serif;
  font-weight: 900;
  font-size: clamp(80px, 12vw, 140px);
  line-height: 0.85;
  letter-spacing: -0.04em;
  color: #fff;
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: 1.5px var(--dark, #0a0a0a);
  paint-order: stroke fill;
  text-shadow: 4px 4px 0 rgba(10, 10, 10, 0.9);
  margin: 0;
}

@media (max-width: 768px) {
  .ds-n1 {
    font-size: clamp(60px, 18vw, 100px);
    -webkit-text-stroke: 1px var(--dark, #0a0a0a);
    text-shadow: 3px 3px 0 rgba(10, 10, 10, 0.9);
  }
}

.ds-f1 {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-weight: 700;
  font-size: clamp(28px, 3.8vw, 48px);
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--dark, #0a0a0a);
  margin: 0;
}

@media (max-width: 768px) {
  .ds-f1 {
    font-size: clamp(22px, 5.5vw, 32px);
  }
}

/* Primary “Join the Beta” style — white fill (#fff), per design system */
.ds-cta-join-beta {
  background-color: #fff !important;
  color: var(--dark, #0a0a0a) !important;
}

/*
  Knewave + white fill + stacked shadow (e.g. .why-cc-until): add
  -webkit-text-stroke ~0.65–0.85px var(--dark) so glyphs read on lime, like stat numerals.
*/
.mi-knewave-white-stroke {
  -webkit-text-fill-color: #fff;
  -webkit-text-stroke: 0.7px var(--dark, #0a0a0a);
  paint-order: stroke fill;
}

/* Design system: no rounded corners site-wide */
*,
*::before,
*::after {
  border-radius: 0 !important;
}
