/* =====================================================================
   uDesk landing — GLOBAL TYPOGRAPHY SYSTEM (single source of truth)
   Loaded LAST so it wins the cascade. All font-family rules live here;
   font-family is the ONLY property this file sets on existing sections
   (sizes / weights / colors / spacing are left untouched).

   Roles (per spec):
     Jersey 20          -> all section headings, animation/short text,
                           icon labels, badges/pills-of-short-text, stat numerals
     Plus Jakarta Sans  -> long body paragraphs, all links, nav items,
                           feature tag pills (400/500/600/700)
     Stack Sans Notch   -> feature card headings ONLY. Not available on
                           Google Fonts, so it falls back to Jersey 20.
   ===================================================================== */

:root {
    /* Body / UI workhorse -> Plus Jakarta Sans */
    --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

    /* Headings + short/animation/label text -> Jersey 20 */
    --font-head: 'Jersey 20', 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-eyebrow: 'Jersey 20', 'Plus Jakarta Sans', system-ui, sans-serif;
    --font-label: 'Jersey 20', 'Plus Jakarta Sans', system-ui, sans-serif;

    /* Hero display accent (unchanged animated/highlighted text) */
    --font-display: 'Jersey 25', 'Jersey 20', 'Plus Jakarta Sans', sans-serif;

    /* Feature card headings only. */
    /* TODO: replace with Stack Sans Notch (no Google Fonts / licensed file available yet). */
    --font-card-title: 'Stack Sans Notch', 'Jersey 20', 'Plus Jakarta Sans', sans-serif;
}

/* Jersey 20 is a single-weight display face; keep tracking a touch looser
   than the Plus-Jakarta defaults so multi-word headings read cleanly. */
h1,
h2,
h3,
h4,
h5,
h6,
.section-head h2,
.feature-copy h3,
.hero h1 {
    font-family: var(--font-head);
    letter-spacing: 0.005em;
}

/* Short labels / eyebrows / badges -> Jersey 20 */
.eyebrow,
.spot-tag,
.price-badge,
.rec-badge,
.tech-badge,
.iw-step .nm,
.wf-node .lbl-top,
.side-card h5,
.req-card h4,
.footer-col h5 {
    font-family: var(--font-label);
}

/* Big numerals / stat callouts stay on the Jersey display face */
.spot-stat .num,
.price-amount .amt,
.price-amount .cur,
.step .n,
[data-count-to] {
    font-family: var(--font-display);
}

/* Long body copy, links, nav, tag pills -> Plus Jakarta Sans */
body,
p,
a,
li,
.nav-links a,
.feature-list li,
.price-features li,
.faq-a p,
.hero-sub,
.section-head p,
.feature-copy > p,
.buy-item,
.tech-badge b {
    font-family: var(--font-body);
}

/* Feature card headings only -> Stack Sans Notch (fallback Jersey 20) */
.fcard-title,
.tabpanel .layoutc-card h4 {
    font-family: var(--font-card-title);
}
