.ats-document .site-header { gap: 20px; }
.ats-document .desktop-nav { margin-left: auto; }
.ats-document .ats-languages { display: flex; flex: 0 0 auto; gap: 12px; align-items: center; font-size: .875rem; line-height: 1.4; }
.ats-document .ats-languages a { min-width: 28px; padding: 10px 0; text-decoration: none; text-align: center; }
.ats-document .ats-languages a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; }
.ats-document .ats-languages a:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 4rem; --en-apply-size: 4.5rem; }
html[lang^="en"] body.ats-document.home-page .hero__learn { font-size: var(--en-learn-size); white-space: nowrap; }
html[lang^="en"] body.ats-document.home-page .hero__apply { font-size: var(--en-apply-size); white-space: nowrap; }
@media (min-width: 361px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 4.75rem; --en-apply-size: 5.25rem; } }
@media (min-width: 421px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 5.5rem; --en-apply-size: 6.25rem; } }
@media (min-width: 481px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 6.5rem; --en-apply-size: 7.25rem; } }
@media (min-width: 601px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 8rem; --en-apply-size: 9rem; } }
@media (min-width: 768px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 10rem; --en-apply-size: 11rem; } }
@media (min-width: 901px) {
  html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 12rem; --en-apply-size: 13rem; }
  html[lang^="en"] body.ats-document.home-page .hero__apply { top: 47%; }
}
@media (min-width: 1101px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 13.5rem; --en-apply-size: 14.5rem; } }
@media (min-width: 1280px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 14.5rem; --en-apply-size: 17rem; } }
@media (min-width: 1440px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 16rem; --en-apply-size: 20rem; } }
@media (min-width: 1600px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 18rem; --en-apply-size: 22.5rem; } }
@media (min-width: 1800px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 20rem; --en-apply-size: 24rem; } }
@media (min-width: 2200px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 24rem; --en-apply-size: 26rem; } }
@media (min-width: 2500px) { html[lang^="en"] body.ats-document.home-page .hero { --en-learn-size: 27rem; --en-apply-size: 26rem; } }
@media (max-width: 1100px) {
  .ats-document .site-header { gap: 16px; }
  .ats-document .desktop-nav { gap: 16px; }
}
@media (max-width: 900px) {
  .ats-document .site-header .brand { margin-right: auto; }
  .ats-document .site-header .mobile-menu { order: 3; }
  .ats-document .ats-languages { gap: 6px; }
}
@media (max-width: 480px) {
  .ats-document .site-header { gap: 10px; }
  .ats-document .site-header .brand img { width: 112px; height: auto; }
  .ats-document .ats-languages { font-size: .8125rem; gap: 4px; }
  .ats-document .ats-languages a { min-width: 24px; }
}
@media (max-width: 360px) {
  .ats-document .site-header { padding-inline: 20px; }
  .ats-document .site-header .brand img { width: 96px; }
  .ats-document .site-header .mobile-menu { flex-shrink: 0; }
  .ats-document .site-header .mobile-menu summary { white-space: nowrap; }
  /* Give the native 300px widget room without scaling or clipping its controls. */
  body.ats-document:not(.bauhub-page) .cf7-cf-turnstile { margin-inline: -20px; }
}
.cae-learning-shell .ats-languages { display: flex; align-items: center; gap: 12px; margin-left: auto; order: 10; flex: 0 0 auto; font-size: .875rem; }
.cae-learning-shell .ats-languages a { padding: 10px 0; }
.cae-learning-shell .ats-languages a[aria-current] { text-decoration: underline; text-underline-offset: 5px; }
.ats-cd-introduction { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 48px; align-items: start; }
.ats-cd-introduction video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; background: #0b0b0b; }
@media (max-width: 900px) { .ats-cd-introduction { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
