/*
 * Shared mobile viewport correction, 2026-07-29.
 * Scope: the standard TEAS mobile header/menu and the home hero only.
 * Existing brand colors, imagery, content and section-specific layout remain
 * untouched.
 */
@media screen and (min-width: 821px) {
  .teas-page--home .teas-hero {
    width: 100% !important;
    height: calc(100svh - var(--teas-header-height)) !important;
    min-height: calc(100svh - var(--teas-header-height)) !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .teas-page--home .teas-hero__content,
  .teas-page--home .teas-hero__visual,
  .teas-page--home .teas-hero__visual img {
    height: 100% !important;
    min-height: 0 !important;
  }

  .teas-page--home .teas-hero__visual img {
    object-fit: cover !important;
  }
}

@media screen and (max-width: 820px) {
  .teas-page--home .teas-hero {
    width: 100% !important;
    height: calc(100svh - var(--teas-header-height)) !important;
    min-height: calc(100svh - var(--teas-header-height)) !important;
    max-height: none !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .teas-page--home .teas-hero__content,
  .teas-page--home .teas-hero__visual,
  .teas-page--home .teas-hero__visual img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .teas-page--home .teas-hero__visual img {
    object-fit: cover !important;
  }

  body.teas-menu-open .teas-header {
    position: fixed !important;
    inset: 0 0 auto !important;
    z-index: 60 !important;
  }

  body.teas-menu-open .teas-navigation {
    top: var(--teas-header-height) !important;
    z-index: 50 !important;
    max-height: calc(100dvh - var(--teas-header-height)) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }
}

/*
 * Two preserved legacy frontends use fixed mobile headers and their own
 * namespaced hero classes. Their headers are already persistent; only the
 * image stage needs the same full-viewport correction.
 */
@media screen and (max-width: 1064px) {
  .s3b10aaf1-hero-content {
    height: calc(100svh - 72px) !important;
    min-height: calc(100svh - 72px) !important;
    max-height: none !important;
  }

  .s87ab8104-hero-content {
    height: calc(100svh - 70px) !important;
    min-height: calc(100svh - 70px) !important;
    max-height: none !important;
  }
}
