/* Shared type roles for all pages; loaded after page-specific layout styles. */
:root {
  --font-site: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --type-hero: 48px;
  --type-hero-line: 1.08;
  --type-hero-tracking: -0.035em;
  --type-section: clamp(26px, 2.2vw, 32px);
  --type-section-line: 1.2;
  --type-section-tracking: -0.025em;
  --type-lead: 18px;
}
body { font-family: var(--font-site); }
.page-home .suite-hero-copy h1,
.product-hero h1,
.pricing-page-hero h1,
.info-hero-copy h1 {
  font-family: var(--font-site);
  font-size: var(--type-hero);
  font-weight: 700;
  line-height: var(--type-hero-line);
  letter-spacing: var(--type-hero-tracking);
}
.page-home main h2,
.product-page main h2,
.page-pricing main h2,
.info-page main h2,
.page-home .plain-section-heading h2,
.page-home .home-capabilities .plain-section-heading h2,
.page-home .business-shift-intro h2,
.page-home .simple-security h2,
.page-home .home-superapp h2,
.page-home .pricing-preview h2,
.page-home .demo-copy h2 {
  font-size: var(--type-section);
  font-weight: 700;
  line-height: var(--type-section-line);
  letter-spacing: var(--type-section-tracking);
}
/* Card titles retain their scale within each layout, with one weight and tracking. */
body main h3 {
  font-family: var(--font-site);
  font-weight: 600;
  letter-spacing: -0.025em;
}
.page-home .suite-hero-lead,
.product-hero-lead,
.info-hero-copy > p:not(.plain-kicker),
.pricing-page-hero-grid > p {
  font-size: var(--type-lead);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}
.page-home .desktop-nav,
.product-page .desktop-nav,
.page-pricing .desktop-nav,
.info-page .desktop-nav {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: normal;
}
.page-home .brand,
.product-page .brand,
.page-pricing .brand,
.info-page .brand {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.04em;
}
.page-home .button,
.product-page .button,
.page-pricing .button,
.info-page .button {
  font-family: var(--font-site);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: normal;
}
.page-home .header-cta,
.product-page .header-cta,
.page-pricing .header-cta,
.info-page .header-cta { font-size: 12px; }
@media (max-width: 1180px) {
  :root { --type-hero: 42px; --type-hero-line: 1.06; --type-lead: 16px; }
}
@media (max-width: 900px) {
  :root { --type-hero: clamp(38px, 6vw, 52px); }
}
@media (max-width: 600px) {
  :root { --type-hero: clamp(34px, 8.5vw, 46px); --type-hero-tracking: -0.025em; --type-section: 28px; }
}
.pricing-calculator-heading h3 {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.025em;
}
