/*
  New Hero typography paired to the supplied Streakwave mark.
  The logo has refined, lighter strokes, so display type stays Medium/Bold;
  ExtraBold is reserved for transactional emphasis such as price.
*/
body {
  font-family: "new-hero", Arial, sans-serif;
  font-weight: 400;
  font-synthesis: none;
}

.main-nav a,
.menu-toggle,
.section-heading h2,
.hero-card h2,
.rules-grid h3,
.product-content h3,
.sg-product__details b {
  font-weight: 500;
}

.hero h1 {
  font-weight: 500;
  letter-spacing: -.06em;
}

.eyebrow,
.label,
.field-label,
.filter-panel summary,
.manufacturer,
.status,
.button,
.scaffold-tab,
.sg-kicker {
  font-weight: 700;
}

/* Reserve visual weight for decisions, rather than every heading. */
.price,
.sg-product__buy strong,
.whole,
.decimal,
.currency {
  font-weight: 800;
}

.main-nav a { letter-spacing: .005em; }
.hero-copy,
.section-heading > p:last-child,
.description,
.rules-grid p { font-weight: 400; }

/* New Hero creates contrast through scale, weight, spacing, and color. */
.type-editorial {
  margin: 1rem 0;
  color: var(--navy);
  font-family: "new-hero", Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.35;
}

.editorial-intro {
  color: var(--navy) !important;
  font-family: "new-hero", Arial, sans-serif;
  font-size: clamp(1.15rem, 1.2vw, 1.35rem) !important;
  font-weight: 400 !important;
  line-height: 1.5;
  letter-spacing: 0;
}

/* Apply the canonical source tokens after legacy handbook aliases load. */
:root {
  --navy:var(--swav-colorwheel-primary);
  --purple:var(--swav-colorwheel-accent-purple);
  --purple-hover:var(--swav-colorwheel-accent-purple-hover);
  --gold:var(--swav-colorwheel-accent);
  --ink:var(--swav-colorwheel-text-default);
  --muted:var(--swav-colorwheel-text-muted);
  --line:var(--swav-colorwheel-gray-border);
  --soft:var(--swav-colorwheel-light-gray);
  --green:var(--swav-colorwheel-success-green);
  --orange:var(--swav-colorwheel-warning-border);
  --red:var(--swav-colorwheel-error-red);
  --radius:var(--swav-border-radius);
}

body { font-size:var(--swav-text-base-size); line-height:var(--swav-line-height); }
.button { font-size:var(--swav-text-btn); border-radius:var(--swav-border-radius); }
.eyebrow,.label { font-size:var(--swav-text-caption); }
.section-heading h2 { font-size:clamp(var(--swav-text-2xl),4vw,var(--swav-h2)); }
.hero h1 { font-size:clamp(var(--swav-text-4xl),6vw,5.8rem); }
.hero-copy { font-size:var(--swav-text-lg); }
