/* cycle™ — Typography
   Heavy grotesque display echoing the wordmark; clean grotesque body;
   mono for indices, captions and technical labels (agency micro-typography). */
:root {
  --font-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-sans:    "Archivo", "Helvetica Neue", Arial, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;

  /* —— Weights —— */
  --w-light:   300;
  --w-regular: 400;
  --w-medium:  500;
  --w-semi:    600;
  --w-bold:    700;
  --w-black:   900;

  /* —— Fluid display scale —— */
  --t-mega:    clamp(3.5rem, 12vw, 11rem);
  --t-display: clamp(2.75rem, 7vw, 6rem);
  --t-h1:      clamp(2.25rem, 4.5vw, 3.75rem);
  --t-h2:      clamp(1.75rem, 3vw, 2.5rem);
  --t-h3:      clamp(1.35rem, 2vw, 1.75rem);
  --t-h4:      1.25rem;
  --t-body-lg: 1.125rem;
  --t-body:    1rem;
  --t-small:   0.875rem;
  --t-caption: 0.75rem;
  --t-micro:   0.6875rem;

  /* —— Line heights —— */
  --lh-tight:   0.92;
  --lh-snug:    1.05;
  --lh-heading: 1.12;
  --lh-body:    1.55;
  --lh-relaxed: 1.7;

  /* —— Tracking —— */
  --ls-mega:    -0.04em;
  --ls-tight:   -0.02em;
  --ls-normal:  0;
  --ls-label:   0.08em;
  --ls-wide:    0.22em;
}

/* —— Editorial helpers —— */
.cy-mega {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  font-size: var(--t-mega);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-mega);
  text-wrap: balance;
}
.cy-display {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  font-size: var(--t-display);
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
  text-wrap: balance;
}
.cy-eyebrow {
  font-family: var(--font-mono);
  font-weight: var(--w-medium);
  font-size: var(--t-micro);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
}
.cy-label {
  font-family: var(--font-mono);
  font-size: var(--t-caption);
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
}
