/* Shared CNW typography, based on the homepage benchmark.
 * Mobile display starts at 36px; desktop keeps the approved 60px maximum.
 * Legacy base rules lock weight, tracking and case with !important, so the
 * opt-in classes retain it on those properties until that base is migrated.
 */

:root {
  --cnw-font-family: "Inter Tight", "Helvetica Neue", Arial, sans-serif;
  --cnw-section-space: clamp(64px, 7vw, 112px);
  /* Page frame — shared target for full-width editorial layouts. */
  --cnw-page-max: 1560px;
  --cnw-page-gutter: clamp(24px, 6vw, 96px);

  /* Eyebrow — small, uppercase, widely tracked. The one place letter-spacing
     goes positive, because tiny uppercase text needs the air. */
  --cnw-eyebrow-size: 11px;
  --cnw-eyebrow-weight: 560;
  --cnw-eyebrow-leading: 1;
  --cnw-eyebrow-tracking: .12em;
  --cnw-eyebrow-ink: #71767a;

  /* Display — section openers. */
  --cnw-display-size: clamp(36px, 3.1vw, 60px);
  --cnw-display-weight: 400;
  --cnw-display-leading: 1.05;
  --cnw-display-tracking: -.045em;
  --cnw-display-ink: #090909;

  /* Heading — card and sub-section titles. Less negative tracking than
     display, because it is set smaller. */
  --cnw-heading-size: clamp(26px, 1.72vw, 34px);
  --cnw-heading-weight: 400;
  --cnw-heading-leading: 1.18;
  --cnw-heading-tracking: -.032em;

  /* Lead — DERIVED, not measured from the approved section, which had no
     lead paragraph. Sits between body and heading so a hero intro is not set
     at card-caption size. Adjust here if it reads too large or too small. */
  --cnw-lead-size: clamp(18px, 1.25vw, 22px);
  --cnw-lead-weight: 400;
  --cnw-lead-leading: 1.38;
  --cnw-lead-tracking: -.02em;

  /* Body */
  --cnw-body-size: clamp(15px, .95vw, 17px);
  --cnw-body-weight: 400;
  --cnw-body-leading: 1.42;
  --cnw-body-ink: #2e2e2e;

  /* Label — buttons and inline calls to action. */
  --cnw-label-size: 14px;
  --cnw-label-weight: 500;
}

.cnw-eyebrow {
  color: var(--cnw-eyebrow-ink);
  font-size: var(--cnw-eyebrow-size);
  font-weight: var(--cnw-eyebrow-weight) !important;
  line-height: var(--cnw-eyebrow-leading);
  letter-spacing: var(--cnw-eyebrow-tracking) !important;
  text-transform: uppercase !important;
}

.cnw-display {
  color: var(--cnw-display-ink);
  font-size: var(--cnw-display-size);
  font-weight: var(--cnw-display-weight) !important;
  line-height: var(--cnw-display-leading);
  letter-spacing: var(--cnw-display-tracking) !important;
  text-transform: none !important;
  text-wrap: balance;
}

.cnw-heading {
  font-size: var(--cnw-heading-size);
  font-weight: var(--cnw-heading-weight) !important;
  line-height: var(--cnw-heading-leading);
  letter-spacing: var(--cnw-heading-tracking) !important;
  text-transform: none !important;
  text-wrap: balance;
}

.cnw-body {
  color: var(--cnw-body-ink);
  font-size: var(--cnw-body-size);
  font-weight: var(--cnw-body-weight);
  line-height: var(--cnw-body-leading);
}

.cnw-label {
  font-size: var(--cnw-label-size);
  font-weight: var(--cnw-label-weight);
}
