/* The shared important layer overrides older page-specific typography only. */
@layer ats-site-typography {
  :root {
    --ats-hero-size: 56px;
    --ats-section-size: 42px;
    --ats-card-size: 24px;
    --ats-small-title-size: 20px;
    --ats-subtitle-size: 18px;
    --ats-eyebrow-size: 13px;
  }
  main {
    --ats-title-color: #071d35;
    --ats-subtitle-color: #24415f;
    --ats-eyebrow-color: #0078c8;
  }
  main :is(h1,h2,h3,h4) {
    font-family: var(--font-primary) !important;
    font-weight: 600 !important;
    color: var(--ats-title-color) !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
  }
  main h1 { font-size: var(--ats-hero-size) !important; line-height: 1.15 !important; }
  main h2 { font-size: var(--ats-section-size) !important; line-height: 1.25 !important; }
  main h3 { font-size: var(--ats-card-size) !important; line-height: 1.4 !important; }
  main h4 { font-size: var(--ats-small-title-size) !important; line-height: 1.4 !important; }
  main :is(p,li) {
    font-family: var(--font-primary) !important;
    font-size: var(--ats-subtitle-size) !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: var(--ats-subtitle-color) !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
  }
  main :is(.hero-slide,.page-hero,[data-service-hero],.premium-showcase,.dark-cta,.ats-unified-cta,
    .evidence-band,.docx-chapter,.editorial-system,.editorial-tests,.editorial-enforcement,
    .cert-reasons,.cert-contact,.inspect-scope,.inspect-regulations,
    .inspection-international-explorer,.iw-road-section,.iw-why,.iw-redesign,.iw-statement,
    .mark-chapter,.mark-cta,.ce-divider,.cy-measure-1,#our-founder,
    .approval-flow-stage:last-child,#cy-capability-3 .cy-cap-lifecycle li) {
    --ats-title-color: #fff;
    --ats-subtitle-color: #d0dce8;
    --ats-eyebrow-color: #8ed7ff;
  }
  main.service-docx-e-and-ce-marking #service-section-6 {
    --ats-title-color: #fff;
    --ats-subtitle-color: #d0dce8;
    --ats-eyebrow-color: #8ed7ff;
  }
  main .route-section:not(#home-project-route) {
    --ats-title-color: #fff;
    --ats-subtitle-color: #d0dce8;
    --ats-eyebrow-color: #8ed7ff;
  }
  main :is(.ats-scope-grid article,.identity-panels article,.about-proof-grid article,.service-card):is(:hover,:focus-visible) {
    --ats-title-color: #fff;
    --ats-subtitle-color: #d0dce8;
    --ats-eyebrow-color: #8ed7ff;
  }
  main :is(.eyebrow,.ats-scope-eyebrow,.refresh-eyebrow,.editorial-eyebrow,.ce-eyebrow,.international-eyebrow,.cy-cap-kicker,.founder-profile-label) {
    font-family: var(--font-primary) !important;
    font-size: var(--ats-eyebrow-size) !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    color: var(--ats-eyebrow-color) !important;
    letter-spacing: 0 !important;
  }
  main .hero-slide :is(h1,h2) { font-size: var(--ats-hero-size) !important; line-height: 1.15 !important; }
  main :is(.contact-cards,.contact-panel,.international-intro,.regulation-detail,.vehicle-copy) h2 {
    font-size: var(--ats-card-size) !important;
    line-height: 1.4 !important;
  }
  main .cert-hero h2 { font-size: var(--ats-eyebrow-size) !important; color: var(--ats-eyebrow-color) !important; line-height: 1.6 !important; }
  main .inspect-hero h2 { font-size: var(--ats-subtitle-size) !important; color: var(--ats-subtitle-color) !important; line-height: 1.75 !important; }
  main :is(h1,h2,h3,h4) :is(span,strong,em) { font-family: inherit !important; font-size: inherit !important; color: inherit !important; letter-spacing: 0 !important; }
  main #cy-r155-r156-management h2 > span { font-size: var(--ats-subtitle-size) !important; font-weight: 400 !important; color: var(--ats-subtitle-color) !important; line-height: 1.75 !important; }
  main .founder-profile-portrait strong { font-family: var(--font-primary) !important; font-size: var(--ats-card-size) !important; font-weight: 600 !important; color: var(--ats-title-color) !important; }
  #site-footer :is(h2,h3) { font-family: var(--font-primary) !important; font-size: var(--ats-card-size) !important; line-height: 1.4 !important; font-weight: 600 !important; color: #fff !important; letter-spacing: 0 !important; }
  #site-footer p { font-family: var(--font-primary) !important; font-size: var(--ats-subtitle-size) !important; line-height: 1.75 !important; color: #d0dce8 !important; letter-spacing: 0 !important; }
  @media (max-width: 1023px) {
    :root { --ats-hero-size: 44px; --ats-section-size: 36px; --ats-card-size: 22px; }
  }
  @media (max-width: 767px) {
    :root { --ats-hero-size: 34px; --ats-section-size: 30px; --ats-card-size: 21px; --ats-small-title-size: 18px; --ats-subtitle-size: 16px; --ats-eyebrow-size: 12px; }
  }
}
