/* Circle — typography tokens.
   RESPONSIVE TYPE SCALE (added 08-04): three literal tiers so tablet is a genuine
   intermediate step, not desktop-inherited-down or phone-scaled-up.
     desktop >=1025  ·  tablet 561-1024  ·  phone <=560
   Every component that reads a --text-, --leading- or --tracking-display token
   already re-tiers automatically -- no per-component clamp needed. Large roles (display/
   h2/card headline) step down ~15-19% at tablet, ~35% at phone; small roles
   (meta/eyebrow/micro/badge) hold near parity and never cross the legibility
   floor (body >=15px, meta/micro >=11px at every tier). */
:root {
  --font-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Instrument Serif", Georgia, serif; /* italic serif for editorial accents only */
  --font-mono: ui-monospace, "SF Mono", Menlo, monospace;

  /* Scale -- desktop tier (>=1025px), unchanged from pre-existing values */
  --text-xs: 12px;      /* micro-label / badge-chip */
  --text-sm: 13.5px;    /* meta line */
  --text-base: 15.5px;  /* secondary body */
  --text-md: 17px;      /* secondary body (larger) */
  --text-lg: 20px;      /* body / lead paragraph */
  --text-xl: 26px;      /* sub-headline */
  --text-2xl: 34px;     /* card / exhibit headline */
  --text-3xl: 46px;     /* section h2 */
  --text-4xl: 62px;     /* display / hero headline */

  /* Leading -- desktop tier */
  --leading-tight: 1.08;
  --leading-snug: 1.25;
  --leading-normal: 1.55;

  /* Tracking -- desktop tier */
  --tracking-tight: -0.02em;
  --tracking-display: -0.03em;
  --tracking-caps: 0.08em;

  /* Weights (not tiered) */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
}

/* ---- TABLET tier: 561-1024px ---- */
@media (max-width: 1024px) and (min-width: 561px) {
  :root {
    --text-xs: 11.5px;    /* -4%: micro-label near parity */
    --text-sm: 13px;      /* -4%: meta near parity, still >=11px floor */
    --text-base: 15.5px;  /* parity: already at the body floor */
    --text-md: 16px;      /* -6% */
    --text-lg: 18px;      /* -10%: body/lead genuine intermediate step */
    --text-xl: 22.5px;    /* -13% */
    --text-2xl: 29px;     /* -15%: card/exhibit headline */
    --text-3xl: 38px;     /* -17%: section h2 -- the reported hero/h2/card cliff */
    --text-4xl: 49px;     /* -21%: display/hero, matches the existing hero fluid step */

    --leading-tight: 1.13;
    --leading-snug: 1.28;
    --leading-normal: 1.52;

    --tracking-display: -0.025em;
  }
}

/* ---- PHONE tier: <=560px ---- */
@media (max-width: 560px) {
  :root {
    --text-xs: 11px;      /* floor: micro-label / badge-chip */
    --text-sm: 12.5px;
    --text-base: 15px;    /* floor: secondary body */
    --text-md: 15.5px;
    --text-lg: 16.5px;    /* body/lead stays clear of the 15px floor */
    --text-xl: 19px;
    --text-2xl: 24px;     /* card / exhibit headline */
    --text-3xl: 30px;     /* section h2 */
    --text-4xl: 34px;     /* display / hero headline */

    --leading-tight: 1.18;
    --leading-snug: 1.32;
    --leading-normal: 1.5;

    --tracking-display: -0.02em;
  }
}
