/* Shared public type system for marketing, WordPress and Design Studio.
   Explicit heading roles retain compact form labels and navigation. The
   important declarations supersede older page-specific font shorthands. */
:root {
  --aegis-type-display: clamp(44px, 6vw, 88px);
  --aegis-type-section: clamp(34px, 4.35vw, 64px);
  --aegis-type-card: clamp(26px, 2.5vw, 36px);
  --aegis-type-leading: 1.14;
}
html body.aegis-site :is(h1, h2, h3, h4) {
  line-height: var(--aegis-type-leading) !important;
  letter-spacing: -.02em !important;
  text-wrap: balance;
  overflow-wrap: break-word;
}
html body.aegis-site h1 { font-size: var(--aegis-type-display) !important; }
html body.aegis-site :is(h3, h4) { line-height: 1.25 !important; }
html body.aegis-site :is(h1, h2, h3, h4) + p:not([class*="kicker"]):not([class*="eyebrow"]) {
  margin-top: 20px;
}
html body.aegis-site :is(
  .manifesto-core, .section-intro, .narrow, .callout, .room-copy,
  .philosophy-copy, .human-family-copy, .ust-school-intro,
  .process-simple-heading, .custom-intro, .making-copy, .matcher-heading,
  .confidence-intro, .proof-story-heading, .founder-copy, .faq-intro,
  .decision-section, .fp-intro, .fp-dark, .fp-gallery, .fp-plan header,
  .fp-faq, .fp-related, .shop-group, .shop-compare, .bp-section, .bp-portal,
  .pd-section-heading, .pd-engineering-copy, .pd-compatibility, .pd-real-copy,
  .pd-faq, .pd-final, .sfc-fit-copy, .sfc-order-process, .sfc-customer-project,
  .sfc-order-confidence, .sfc-engineering-proof, .sfc-system-gallery,
  .sfc-made, .sfc-final-cta, .consultation-paths, .consultation-booking,
  .consultation-split, .contact-form-heading, .contact-aside, .contact-routes,
  .dealer-studio, .dealer-inquiry, .fp-model-heading, .comparison-render-slot,
  .comparison-matrix, .comparison-explainer, .comparison-proof, .comparison-cta
) h2 { font-size: var(--aegis-type-section) !important; }
html body.aegis-site :is(.shop-card-copy, .shop-paths, .ares-family-grid) h2,
html body.aegis-site :is(.system-card, .architecture-feature-copy, .ust-facts,
  .process-simple-grid, .custom-tile, .confidence-steps, .bp-card,
  .fp-feature-grid, .pd-feature-grid, .fp-models, .consultation-paths) h3 {
  font-size: var(--aegis-type-card) !important;
}
html body.aegis-site :is(.architecture-titlebar, .shop-imported-comparison) h2,
html body.aegis-site :is(.lights-copy, .scale-copy, .story-checkpoint,
  .matcher-question, .matcher-result, .bp-story-copy, .pd-stage, .pd-summary) h3 {
  font-size: clamp(30px, 3.25vw, 46px) !important;
}
html body.aegis-site :is(.fp-hero, .pd-hero) h2 {
  font-size: clamp(26px, 2.5vw, 36px) !important;
  margin-top: 24px;
  margin-bottom: 20px;
}
html body.aegis-site .shop-cinematic-copy h1 { font-size: clamp(44px, 5.4vw, 80px) !important; }
html body.aegis-site .shop-cinematic-copy > p:not(.fp-kicker) { margin-top: 24px; }
/* Product names sit in narrower columns than editorial page titles. */
html body.aegis-site :is(.fp-hero, .pd-hero) h1 {
  font-size: clamp(40px, 4vw, 68px) !important;
  overflow-wrap: normal;
}
html body.aegis-site .fp-config-heading h2,
html body.aegis-site .pd-config-section > .pd-section-heading.narrow h2 {
  font-size: clamp(30px, 2.6vw, 40px) !important;
  line-height: 1.14 !important;
  white-space: normal;
}
html body.aegis-site :is(.pd-submit-dialog, .pd-family-route-modal, .pd-guide-dialog) h2 {
  font-size: clamp(30px, 3.5vw, 44px) !important;
}
/* WordPress article/legal copy keeps a readable document hierarchy. */
html body.aegis-site #content :is(h1, h2, h3, h4) {
  line-height: 1.25 !important;
  letter-spacing: -.02em !important;
}
html body.aegis-site #content :is(h1.entry-title, .aegis-legal-hero h1) {
  font-size: var(--aegis-type-display) !important;
  line-height: 1.14 !important;
}
html body.aegis-site .entry-content :is(h2, h3, h4) { line-height: 1.25 !important; }
html body.aegis-site .entry-content h2 { font-size: clamp(28px, 3vw, 40px) !important; }
html body.aegis-site .entry-content h3 { font-size: clamp(23px, 2.3vw, 30px) !important; }
html body.aegis-site .entry-content h4 { font-size: 21px !important; }
html body.aegis-site :is(.aegis-blog-hero, .aegis-account-hero, .aegis-commerce-hero) h1 {
  font-size: clamp(42px, 5.3vw, 76px) !important;
}
/* Studio has a form-oriented heading hierarchy, including embedded reviews. */
html body.aegis-site #studio h1 { font-size: clamp(36px, 4.5vw, 64px) !important; }
@media (max-width: 640px) {
  :root {
    --aegis-type-display: clamp(38px, 10vw, 48px);
    --aegis-type-section: clamp(30px, 8.2vw, 40px);
    --aegis-type-card: clamp(25px, 6.8vw, 30px);
  }
  html body.aegis-site :is(.fp-hero, .pd-hero, .shop-cinematic-copy,
    .aegis-blog-hero, .aegis-account-hero, .aegis-commerce-hero) h1 {
    font-size: clamp(36px, 9.7vw, 48px) !important;
  }
  html body.aegis-site :is(.fp-hero, .pd-hero) h2 { font-size: 28px !important; }
  html body.aegis-site :is(.architecture-titlebar, .shop-imported-comparison) h2,
  html body.aegis-site :is(.lights-copy, .scale-copy, .story-checkpoint,
    .matcher-question, .matcher-result, .bp-story-copy, .pd-stage, .pd-summary) h3 {
    font-size: clamp(28px, 7.7vw, 36px) !important;
  }
}
