/* ============================================================
   HyperStrategy — shared typography override
   Institutional grotesk across the whole site (home + bonds).
   Loaded after enhance.css; neutralises the editorial serif/italics.
   ============================================================ */
:root {
    --font-display: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
    --font-primary: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
    --font-secondary: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;
    --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}
body { font-family: var(--font-primary); }

.tagline, .tagline .line1, .tagline .line2, .tagline em,
.section-header h2, section h2,
.about-lede, .drop-cap, .about-pullquote, .about-pullquote em,
.point-text h4, .faq-question h3,
.logo > div, header .logo div, .loading-screen .loading-fade > div,
.stats-hero-value, .stats-bar .stat-value {
    font-family: var(--font-display) !important;
    font-style: normal !important;
    font-variation-settings: normal !important;
}

/* weights that suit a grotesk (the serif ran very light) */
.tagline { font-weight: 760 !important; letter-spacing: -0.035em !important; }
.tagline .line1, .tagline .line2 { font-weight: 760 !important; }
.tagline em { font-style: normal !important; color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; font-weight: 760 !important; }
.section-header h2, section h2 { font-weight: 680 !important; letter-spacing: -0.02em !important; }
.point-text h4, .faq-question h3 { font-weight: 650 !important; letter-spacing: -0.01em !important; }
.about-pullquote { font-weight: 600 !important; font-size: clamp(1.4rem, 2.8vw, 2rem) !important; }
.about-pullquote em { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
.drop-cap { font-weight: 780 !important; }
.logo > div, header .logo div { font-weight: 800 !important; letter-spacing: -0.02em !important; }
.stats-hero-value { font-weight: 760 !important; letter-spacing: -0.035em !important; }
.stats-bar .stat-value { font-weight: 700 !important; letter-spacing: -0.02em !important; }

/* ----- home copy additions ----- */
.hero-sub {
    margin-top: 1.1rem;
    max-width: 48ch;
    font-family: var(--font-primary);
    font-size: clamp(1rem, 1.5vw, 1.12rem);
    line-height: 1.65;
    color: var(--ink-soft);
}
.strategy-flywheel {
    margin-top: 1.6rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--rule-soft);
    font-family: var(--font-mono);
    font-size: 0.8rem;
    line-height: 1.75;
    letter-spacing: 0.01em;
    color: var(--ink);
}
.community-sub {
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.82rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-top: 0.6rem;
}
@media (max-width: 900px) {
    .hero-sub { margin-left: auto; margin-right: auto; }
}
