/* One ATS type scale; fixed rem steps, independent of viewport interpolation. */
body.ats-document {
  --ats-type-hero-learn: 18rem;
  --ats-type-hero-apply: 13rem;
  --ats-type-page-title: 4rem;
  --ats-type-display: 4.5rem;
  --ats-type-section-title: 3rem;
  --ats-type-card-title: 2rem;
  --ats-type-keyword: 5rem;
  --ats-type-voice: 2rem;
  --ats-type-lead: 1.5rem;
  --ats-type-contact: 1.75rem;
  --ats-type-price: 3.25rem;
  --ats-type-body: 1.125rem;
  --ats-type-button: 1.125rem;
}
.ats-document,
.ats-document *,
.ats-document *::before,
.ats-document *::after { letter-spacing: 0 !important; }
/* Native widgets may load later; the font families and type roles stay unchanged. */
.ats-document :is(h1,h2,h3,h4,p,a,button,summary,label,dt,dd) { overflow-wrap: anywhere; }
.ats-document .ats-catalog-hero h1 { overflow-wrap: normal; hyphens: manual; }
.ats-document.course-page .cd-title { font-size: var(--ats-type-page-title); }
.ats-document.course-page .cd-heading { font-size: var(--ats-type-section-title); }
@media (max-width: 1279px) {
  body.ats-document { --ats-type-hero-apply: 12rem; }
}
@media (max-width: 1100px) {
  body.ats-document {
    --ats-type-hero-learn: 15rem;
    --ats-type-hero-apply: 10rem;
    --ats-type-page-title: 3.5rem;
    --ats-type-display: 3.5rem;
    --ats-type-section-title: 2.75rem;
    --ats-type-keyword: 3.5rem;
  }
}
@media (max-width: 900px) {
  body.ats-document {
    --ats-type-hero-learn: 8rem;
    --ats-type-hero-apply: 4rem;
    --ats-type-page-title: 2.5rem;
    --ats-type-display: 2.5rem;
    --ats-type-section-title: 2.25rem;
    --ats-type-card-title: 1.625rem;
    --ats-type-keyword: 1.75rem;
    --ats-type-voice: 1.75rem;
    --ats-type-lead: 1.375rem;
    --ats-type-contact: 1.5rem;
    --ats-type-price: 2.75rem;
  }
  .ats-document .ats-catalog-heading h2 { font-size: var(--ats-type-section-title); }
  .ats-document .ats-catalog-card h3 { font-size: var(--ats-type-card-title); }
}
@media (max-width: 420px) {
  body.ats-document { --ats-type-hero-apply: 3.75rem; }
}
@media (max-width: 360px) {
  body.ats-document {
    --ats-type-hero-learn: 7rem;
    --ats-type-hero-apply: 3.25rem;
    --ats-type-page-title: 2.125rem;
    --ats-type-display: 2.125rem;
    --ats-type-section-title: 2rem;
    --ats-type-card-title: 1.5rem;
    --ats-type-keyword: 1.5rem;
  }
}
/* Short desktop windows need a complete display, offer and visible next-section edge. */
@media (min-width: 901px) and (max-height: 800px) {
  body.ats-document { --ats-type-hero-learn: 10rem; }
}
@media (min-width: 1101px) and (max-height: 800px) {
  body.ats-document { --ats-type-hero-apply: 11rem; }
}
