/* =========================================================================
   PULSE — colors_and_type.css
   Foundation layer: @font-face (Helvetica Neue full family + Condensed),
   palette tokens, and font tokens. Consumers (preview cards, marketing kit,
   signature, athlete docs) reference the --pulse-* / --font-* tokens here.
   Warm Field palette — sage RETIRED, replaced by Track Blue #2F5D7A.
   ========================================================================= */

/* -------- Helvetica Neue — text family -------- */
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/00252fac-bf48-4f98-8fca-c1c40a995287.ttf") format("truetype");font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/de646146-2d76-4440-ad84-418fe8bcef4a.ttf") format("truetype");font-weight:100;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/68770a95-2011-47c2-a5a8-9824ef62de0a.ttf") format("truetype");font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/bd624f29-bc18-4af4-8662-3d40a26a8d02.ttf") format("truetype");font-weight:200;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/cd6dfa7f-98c9-4c6e-adc9-28219df034f0.ttf") format("truetype");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/4579e621-eff2-41d9-89ea-0503b66c87eb.ttf") format("truetype");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/4275cdc3-c0cc-44d5-a24f-39da0ff1f5c2.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/4d49fb61-217c-4f05-bc74-eff4cde9080e.ttf") format("truetype");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/9a3cb43d-5c00-47cf-8e4a-1a73e5460ddf.ttf") format("truetype");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/6866b89a-29d0-4eb5-a07f-53b31a3bb9cb.ttf") format("truetype");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/a04df32f-5aa1-4f8f-8fa2-8ed14f87b9b2.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url("assets/fonts/38a4b60c-7db2-4eae-805a-561ddf93e722.ttf") format("truetype");font-weight:700;font-style:italic;font-display:swap}

/* -------- Helvetica Neue Condensed — display family --------
   Bold (700) + Black (900) both registered so condensed renders at either weight. */
@font-face{font-family:"Helvetica Neue Condensed";src:url("assets/fonts/5e6a14f5-ac88-448a-a446-b4db76b3d9e6.ttf") format("truetype");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue Condensed";src:url("assets/fonts/394ef23c-e8f3-4d4f-8f1b-9320152ff848.ttf") format("truetype");font-weight:900;font-style:normal;font-display:swap}

:root{
  /* ---- brand ---- */
  --pulse-ink:#312f2f;      /* warm near-black — primary */
  --pulse-paper:#ffffff;    /* default background */
  --pulse-bone:#efece6;     /* warm off-white surface */
  --pulse-bone-2:#e7e1d5;
  --pulse-bone-3:#f6f3ee;
  --pulse-blue:#2f5d7a;     /* Track Blue — secondary (retires sage) */
  --pulse-blue-deep:#1d3d52;
  --pulse-blue-90:#3c6c8a;
  --pulse-blue-tint:#dbe4e9;
  --pulse-ember:#e26d5a;    /* pursuit accent — CTAs, single emphasis */
  --pulse-ember-deep:#c8543f;
  --pulse-ember-tint:#f6ddd6;

  /* ---- sage → track blue aliases (DEPRECATED; kept so old refs stay on-brand) ---- */
  --pulse-sage:#2f5d7a;
  --pulse-sage-90:#3c6c8a;
  --pulse-sage-tint:#dbe4e9;

  /* ---- warm neutral ramp (05 lightest → 95 darkest) ---- */
  --pulse-ink-05:#f6f4f1;
  --pulse-ink-10:#ece9e4;
  --pulse-ink-20:#d9d5cf;
  --pulse-ink-40:#adaaaa;
  --pulse-ink-60:#837f7f;
  --pulse-ink-80:#5a5757;
  --pulse-ink-95:#3a3838;

  /* ---- text roles ---- */
  --fg1:#312f2f;
  --fg2:#6b6763;
  --fg3:#9b968d;
  --hairline:#e6e0d5;

  /* ---- type ---- */
  --font-sans:"Helvetica Neue","Helvetica","Arial",system-ui,sans-serif;
  --font-display:"Helvetica Neue Condensed","Helvetica Neue","Arial Narrow",sans-serif;
  --font-serif:"Newsreader",Georgia,serif;

  /* ---- motion ---- */
  --dur-1:.24s; /* @kind other */
  --ease-out:cubic-bezier(0.16,1,0.3,1); /* @kind other */
}

/* -------- semantic type roles (drop-in classes) -------- */
.pulse-display{font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:.9;letter-spacing:-.025em}
.pulse-h1{font-family:var(--font-sans);font-weight:700;font-size:clamp(30px,4vw,54px);line-height:1.04;letter-spacing:-.02em}
.pulse-h2{font-family:var(--font-sans);font-weight:500;font-size:clamp(22px,2.4vw,34px);line-height:1.1;letter-spacing:-.015em}
.pulse-eyebrow{font-family:var(--font-sans);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg3)}
.pulse-body{font-family:var(--font-sans);font-weight:400;font-size:16px;line-height:1.6;color:var(--fg2)}
.pulse-quote{font-family:var(--font-serif);font-style:italic;font-weight:400;line-height:1.28}
