/* Stable editorial typography. Locally served SIL OFL font, not OS-dependent Impact. */
@font-face {
  font-family: "BMC Display";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/roboto-condensed-cyrillic-v31.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "BMC Display";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/roboto-condensed-latin-v31.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root { --display: "BMC Display", "Segoe UI", Arial, sans-serif; }

/* Avoid synthesized ultra-bold and keep counters / word gaps open. */
h1, h2, .proof-heading h2, .dual-panel h3, .tool h3,
.demo-caption h3, .journey-line h3, .product-card h3, .final-sign {
  font-weight: 700;
  font-synthesis: none;
  letter-spacing: -.015em;
  word-spacing: .035em;
}
h1, h2, h3 { overflow-wrap: break-word; }
h1 em, h2 em, .proof-heading h2 em {
  font-weight: 400;
  letter-spacing: -.035em;
  word-spacing: normal;
  font-size: .94em;
}
.hero-stage h1, .hero-stage h2 {
  font-size: clamp(48px, 4.6vw, 72px);
  line-height: 1.02;
  overflow-wrap: break-word;
}
.hero-stage h1 em, .hero-stage h2 em { max-width: 100%; }
.hero-stage { padding-top: clamp(80px, 16vh, 170px); }
.section-head h2, .inside-intro h2, .toolkit-head h2,
.market-head h2, .journey-head h2, .academy-copy h2,
.referral-copy h2, .proof-heading h2 {
  font-size: clamp(40px, 4.8vw, 72px);
  line-height: 1.06;
  max-width: 100%;
  hyphens: none;
}
.inside-intro h2, .referral-copy h2 { font-size: clamp(38px, 4.3vw, 64px); }
.dual-panel h3, .whieda-panel h3 {
  font-size: clamp(40px, 4.6vw, 66px);
  line-height: 1.06;
  letter-spacing: -.015em;
}
.bmc-panel h3 { max-width: 10ch; }
@media (min-width: 841px) {
  /* Keep the following copy below the independently positioned Whieda emblem. */
  .dual-panel h3 { min-height: max(140px, 2.12em); }
}
.tool h3 { font-size: clamp(28px, 2.5vw, 38px); line-height: 1.12; }
.journey-line h3 { font-size: clamp(19px, 1.6vw, 24px); line-height: 1.18; }
.final-cta h2 { font-size: clamp(44px, 5.7vw, 84px); line-height: 1.06; }
.final-sign { font-size: clamp(28px, 3.8vw, 56px); line-height: 1.15; }
.hero-stage-count, .hero-proof strong, .ticker div, .ref-note b,
.ref-chain b, .journey-line b, .rates b, .product-card footer b {
  font-weight: 700;
  font-synthesis: none;
  letter-spacing: normal;
}
/* A grid item must be allowed to shrink before its text chooses line breaks. */
.hero-story, .section-head > *, .toolkit-head > *, .market-head > *,
.journey-head > *, .dual-panel, .inside-intro, .academy-copy,
.referral-copy, .proof-heading > *, .journey-line li { min-width: 0; }

@media (max-width: 840px) {
  .hero-stage { padding-top: 28px; }
  .hero-stage h1, .hero-stage h2 { font-size: clamp(34px, 9.2vw, 52px); line-height: 1.02; }
  .hero-stage h2 em { font-size: .88em; }
  .section-head h2, .inside-intro h2, .toolkit-head h2,
  .market-head h2, .journey-head h2, .academy-copy h2,
  .referral-copy h2, .proof-heading h2 {
    font-size: clamp(34px, 8.8vw, 60px);
    line-height: 1.08;
    overflow-wrap: break-word;
    hyphens: none;
  }
  .dual-panel h3 { font-size: clamp(40px, 8.6vw, 60px); }
  .whieda-panel h3 { font-size: clamp(32px, 8.5vw, 58px); }
  .tool h3 { font-size: clamp(28px, 6.6vw, 38px); }
  .journey-line h3 { font-size: 23px; }
  .final-cta h2 { font-size: clamp(36px, 9.3vw, 64px); line-height: 1.08; }
  .final-sign { font-size: clamp(25px, 6.5vw, 44px); }
}
@media (max-width: 360px) {
  .hero-stage h1, .hero-stage h2 { font-size: 31px; }
  .hero-stage > span { font-size: 15px; line-height: 1.42; }
  .whieda-panel { grid-template-columns: minmax(0,1fr) 90px; }
  .whieda-emblem { width: 105px; height: 105px; }
  .whieda-panel h3 { font-size: 30px; }
  .section-head h2, .inside-intro h2, .toolkit-head h2,
  .market-head h2, .journey-head h2, .academy-copy h2,
  .referral-copy h2, .proof-heading h2 { font-size: 32px; }
  .final-cta h2 { font-size: 33px; }
}
@media (max-width: 840px) and (max-height: 600px) {
  .hero-stage { padding-top: 18px; }
  .hero-stage h1, .hero-stage h2 { font-size: 30px; }
}
