/* One shared hierarchy for every route and language. Preserve the Figma surfaces. */
body {
  font-optical-sizing: auto;
  font-synthesis: none;
}
html:root body :is(h1, h2, h3, h4) {
  font-family: var(--display);
  font-weight: 550;
  font-style: normal;
  letter-spacing: -.012em;
  line-height: 1.2;
  text-wrap: balance;
}
html:root body main h1 {
  font-size: clamp(36px, 4.9vw, 68px);
  line-height: 1.14;
  letter-spacing: -.02em;
}
html:root body main h2 { font-size: clamp(29px, 3.2vw, 44px); }
html:root body main h3 { font-size: clamp(23px, 2.1vw, 28px); }
html:root body main h4 { font-size: 21px; }
/* Existing emphasis markup retains meaning without simulated cursive display type. */
html:root body :is(h1, h2, h3, h4) em {
  font-family: inherit;
  font-size: inherit;
  font-style: normal;
  font-weight: inherit;
  letter-spacing: inherit;
}
html:root body main .hero h1 {
  max-width: 1080px;
  font-size: clamp(38px, 5.3vw, 76px);
  line-height: 1.16;
  margin-inline: auto;
}
.hero-copy { max-width: 1120px; }
.hero-copy .eyebrow { margin-bottom: 32px; }
.hero-copy p { max-width: 740px; line-height: 1.7; margin-block: 30px 32px; }
html:root body .brand {
  font-family: var(--display);
  font-weight: 600;
  letter-spacing: -.025em;
}
html:root .nav-shell #navigation > a,
html:root .nav-shell #navigation > details > .mega-trigger {
  font-size: 16px;
  letter-spacing: -.01em;
  line-height: 1.5;
}
/* Small component titles remain subordinate to editorial section headings. */
html:root body :is(.mega-panel, .topic-card, .cluster-card, .connector-card, .catalog-card, .decision-card, .output-artifact, .review-matrix) :is(h3, h4) {
  font-size: 21px;
  line-height: 1.4;
}
html:root body .contextual-paths h2 { font-size: clamp(23px, 2.4vw, 30px); }
html:root body .faq-group h2 { font-size: 25px; line-height: 1.4; }
html:root body .prose :is(p, li) { font-size: 17px; line-height: 1.8; }
.prose :is(p, li) { max-width: 70ch; }
html:root body .prose h2 { font-size: clamp(27px, 2.8vw, 36px); }
html:root body .prose h3 { font-size: 24px; }
@media (max-width: 1000px) {
  html:root .nav-shell #navigation > a,
  html:root .nav-shell #navigation > details > .mega-trigger { font-size: 17px; }
}
@media (max-width: 680px) {
  html:root body main .hero h1 { font-size: clamp(34px, 8.4vw, 46px); line-height: 1.2; }
  .hero-copy .eyebrow { margin-bottom: 24px; font-size: 10px; letter-spacing: .065em; }
  .hero-copy p { font-size: 16px; line-height: 1.7; margin-block: 24px; }
  html:root body main .hero-team h2 { font-size: 30px; }
  html:root body .prose :is(p, li) { font-size: 16px; line-height: 1.8; }
  html:root body .faq-group h2 { font-size: 23px; }
}
html:root body main .hero-team h2 { font-size: clamp(30px, 3.5vw, 46px); }
html:root body .application-brief h2 { font-size: 24px; line-height: 1.4; }
html:root body :is(.decision-guide, .decision-pricing .pricing-row, .scope-onboarding, .scope-guide-links) h3 { font-size: 19px; line-height: 1.45; }
@media(max-width:680px) {
  html:root body main .hero h1 { letter-spacing: -.02em; }
}

/* Some compact components previously selected their own body family. */
html:root[lang] body :is(h1, h2, h3, h4) { font-family: var(--display); }

/* Balance the longer retail tagline independently of the first hero line. */
.hero-copy h1 > em { display: inline-block; text-wrap: balance; }
