/*
 * Cross-site layout refinement.
 * Intentionally isolated from each site's colors, content, and feature CSS.
 */
@media screen and (min-width: 821px) {
  .teas-header__inner {
    width: min(calc(100% - clamp(48px, 5vw, 96px)), 1760px) !important;
    max-width: 1760px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  .teas-navigation {
    margin-left: auto;
  }
}

@media screen and (max-width: 820px) {
  .teas-page--home .teas-hero h1 {
    max-width: 100%;
    font-size: clamp(2rem, 9vw, 2.5rem) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.025em !important;
  }

  .teas-page--home .teas-hero h1 span {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .teas-page--home .teas-button {
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    border-radius: 10px;
    font-size: 0.875rem !important;
  }

  /*
   * Mobile subpages use one image stage.  The title is overlaid instead of
   * occupying a separate dark block above the image.
   */
  body.teas-page--sub .teas-page-hero {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    overflow: hidden;
  }

  body.teas-page--sub .teas-page-hero__copy,
  body.teas-page--sub .teas-page-hero__media {
    grid-area: 1 / 1;
    width: 100%;
    height: clamp(320px, 92vw, 360px) !important;
    min-height: 0 !important;
  }

  body.teas-page--sub .teas-page-hero__media {
    position: relative;
    z-index: 1;
    margin: 0;
  }

  body.teas-page--sub .teas-page-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body.teas-page--sub .teas-page-hero__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 30px 44px !important;
    background: transparent !important;
    pointer-events: none;
  }

  body.teas-page--sub .teas-page-hero__copy > p,
  body.teas-page--sub .teas-page-hero__copy h1 {
    position: relative;
    z-index: 1;
    width: calc(100% + 44px);
    max-width: none !important;
    margin: 0 !important;
    margin-left: -44px !important;
    background: rgba(8, 12, 18, 0.52);
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.68);
    -webkit-backdrop-filter: blur(10px) saturate(0.88);
    backdrop-filter: blur(10px) saturate(0.88);
  }

  body.teas-page--sub .teas-page-hero__copy > p {
    padding: 13px 20px 3px 64px;
    border-radius: 0 10px 0 0;
  }

  body.teas-page--sub .teas-page-hero__copy h1 {
    padding: 4px 20px 13px 64px;
    border-radius: 0 0 10px;
    font-size: clamp(1.8rem, 8vw, 2.2rem) !important;
    line-height: 1.25 !important;
  }

  body.teas-page--sub .teas-page-hero__copy > p:empty {
    display: none;
  }

  body.teas-page--sub .teas-page-hero__copy > p:empty + h1,
  body.teas-page--sub .teas-page-hero__copy h1:only-child {
    padding-top: 14px;
    padding-bottom: 14px;
    border-radius: 0 10px 10px 0;
  }
}

@media screen and (max-width: 390px) {
  .teas-page--home .teas-hero h1 {
    font-size: clamp(1.9rem, 8.6vw, 2.18rem) !important;
  }
}
