/* =========================================================
   Site masthead
   =========================================================
   Canonical owner for masthead media and its contrast treatment.
   Full hero geometry and compact hierarchy migration follow in
   subsequent verified passes.
   ========================================================= */

@layer components {
  .site-header.minimal:not(.with-hero-media) {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 0;
    overflow: visible;
  }

  /* Compact masthead image: an optional, content-sized image band behind
     the compact masthead text on episode and part pages. This deliberately
     has no fixed minimum height, so it remains content-sized rather than a
     full-height landing hero. */
  .site-header.minimal.with-masthead-image {
    position: relative;
    isolation: isolate;
    overflow: hidden;
  }

  .site-masthead__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }

  .site-masthead__media .site-masthead__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .site-header.minimal.with-masthead-image.is-default-masthead .site-masthead__image {
    filter: saturate(0.62) contrast(0.9) brightness(0.52);
  }

  .site-masthead__media .site-masthead__scrim {
    position: absolute;
    inset: 0;
    background:
      linear-gradient(90deg, color-mix(in srgb, var(--bg-primary) 94%, transparent), color-mix(in srgb, var(--bg-primary) 74%, transparent) 58%, color-mix(in srgb, var(--bg-primary) 35%, transparent)),
      linear-gradient(0deg, color-mix(in srgb, var(--bg-primary) 76%, transparent), transparent 55%);
  }

  .site-header.minimal.with-masthead-image .header-main {
    position: relative;
    z-index: 1;
  }

  .site-header.minimal.with-masthead-image :is(.hero-title, .part-title) {
    color: var(--hero-overlay-text);
    text-shadow: var(--hero-overlay-shadow-title, var(--header-title-shadow));
  }

  .site-header.minimal.with-masthead-image :is(.hero-subtitle, .site-masthead__lead) {
    color: var(--hero-overlay-subtext);
    text-shadow: var(--hero-overlay-shadow-copy);
  }

  /* Compact masthead breadcrumbs and their image-contrast variant. */
  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs {
    width: 100%;
    margin: 0 0 0.75rem;
  }

  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--text-secondary);
    font-family: var(--font-ui);
    font-size: var(--type-breadcrumb-size, 0.68rem);
    letter-spacing: var(--type-breadcrumb-tracking, 0.1em);
    text-transform: uppercase;
    opacity: 0.75;
  }

  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs li + li::before {
    content: "/";
    color: var(--text-accent);
    opacity: 0.6;
  }

  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs a {
    color: var(--text-secondary);
    text-decoration: none;
  }

  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs a:hover,
  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs a:focus-visible {
    color: var(--text-accent);
  }

  .site-header.minimal:not(.with-hero-media) .site-masthead__breadcrumbs [aria-current="page"] {
    color: var(--text-accent);
    opacity: 1;
  }

  .site-header.minimal.with-masthead-image:not(.with-hero-media) .site-masthead__breadcrumbs li {
    color: var(--hero-overlay-subtext);
    opacity: 1;
  }

  .site-header.minimal.with-masthead-image:not(.with-hero-media) .site-masthead__breadcrumbs a {
    color: var(--hero-overlay-subtext);
  }

  .site-header.minimal.with-masthead-image:not(.with-hero-media) .site-masthead__breadcrumbs a:hover,
  .site-header.minimal.with-masthead-image:not(.with-hero-media) .site-masthead__breadcrumbs a:focus-visible {
    color: var(--hero-overlay-text);
  }

  .site-header.minimal.with-masthead-image:not(.with-hero-media) .site-masthead__breadcrumbs [aria-current="page"] {
    color: var(--hero-overlay-text);
  }

  /* Compact hierarchy alignment. */
  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) {
    padding-left: 0;
    padding-right: 0;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) .header-main {
    width: 100%;
    max-width: var(--header-content-max);
    margin-inline: auto;
    padding-top: calc(var(--tgk-mobile-masthead-clearance) - 30px);
    padding-inline: var(--header-gutter);
    justify-items: start;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) .hero-overlay-top {
    justify-items: start;
    margin-top: 0;
  }

  .site-header.minimal:not(.with-hero-media) .header-main {
    display: grid;
    justify-items: center;
  }

  .site-header.minimal:not(.with-hero-media) .hierarchy-block {
    justify-items: center;
    width: 100%;
    margin: 0;
  }

  .site-header.minimal.with-hero-media {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg-primary);
    border-bottom: 1px solid var(--header-rule);
    box-shadow: none;
  }

  .site-header.minimal.is-home.with-hero-media {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    margin: 0;
    padding: 0;
    overflow: hidden;
  }

  .site-header.minimal.with-hero-media .hero-media-layer {
    --hero-media-pad: clamp(0.35rem, 1.2vw, 1rem);
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
  }

  .site-header.minimal.with-hero-media:not(.is-home) {
    min-height: clamp(22rem, 62vh, 44rem);
    padding: clamp(0.75rem, 2vh, 1.5rem) 0 clamp(0.9rem, 2vh, 1.6rem);
    justify-content: flex-start;
  }

  body.is-landing .site-header.minimal.with-hero-media:not(.is-home) {
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    padding: 0;
    justify-content: center;
  }

  .site-header.minimal.with-hero-media .hero-media-picture {
    display: block;
    width: 100%;
    height: 100%;
  }

  .site-header.minimal.with-hero-media .hero-media-image,
  .site-header.minimal.with-hero-media .hero-media-video {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    padding: var(--hero-media-pad);
    object-fit: contain;
    object-position: var(--hero-image-position, center);
    border: 0;
    border-radius: 0;
    outline: 0;
    box-shadow: none;
    opacity: 1;
    filter: var(--hero-image-filter, none);
    transform: none;
    animation: none;
  }

  body.is-landing .site-header.minimal.with-hero-media:not(.is-home) .hero-media-image,
  body.is-landing .site-header.minimal.with-hero-media:not(.is-home) .hero-media-video,
  .site-header.minimal.is-home.with-hero-media .hero-media-image,
  .site-header.minimal.is-home.with-hero-media .hero-media-video {
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
    object-position: var(--hero-image-position, center);
  }

  .site-header.minimal.with-hero-media .hero-media-scrim {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: var(--hero-overlay-default);
  }

  .site-header.minimal.with-hero-media .breadcrumbs,
  .site-header.minimal.with-hero-media .header-main {
    position: relative;
    z-index: 3;
  }

  .site-header.minimal.with-hero-media .header-main :where(
    .header-seal,
    .series-wordmark,
    .hierarchy-block,
    .home-title,
    .home-tagline,
    .page-tagline,
    .page-meta.header-inline
  ) {
    display: none !important;
  }

  .site-header.minimal.with-hero-media :where(
    .hero-title,
    .season-title,
    .part-title,
    .hero-subtitle,
    .hero-quote,
    .hero-cta
  ) {
    color: var(--hero-overlay-text) !important;
  }

  .site-header.minimal.is-home.with-hero-media .header-main {
    position: absolute;
    inset: 0;
    z-index: 3;
    max-width: none;
    margin: 0;
    padding: 0;
    pointer-events: none;
  }

  .site-header.minimal.is-home.with-hero-media .hero-overlay-top {
    position: absolute;
    top: clamp(1rem, 4vh, 2.8rem);
    left: 50%;
    width: min(92vw, 75rem);
    text-align: center;
    transform: translateX(-50%);
  }

  .site-header.minimal.is-home.with-hero-media .hero-overlay-bottom {
    --hero-left-clearance: calc(env(safe-area-inset-left) + var(--space-md, 1.5rem) + var(--toggle-size, 3rem) + 0.75rem);
    position: absolute;
    bottom: clamp(1.25rem, 4vh, 2.75rem);
    left: max(clamp(1.5rem, 4vw, 3.5rem), var(--hero-left-clearance));
    width: min(60vw, 53rem);
    text-align: left;
  }

  .site-header.minimal.is-home.with-hero-media .hero-title {
    position: relative;
    display: inline-block;
    max-width: 100%;
    margin: 0;
    color: var(--hero-overlay-text);
    font-family: var(--page-title);
    font-size: var(--type-homepage-hero-title-size, clamp(1.6rem, 3.5vw, 3.5rem));
    font-weight: var(--type-weight-bold, 700);
    line-height: var(--type-homepage-hero-title-line, 0.96);
    letter-spacing: var(--type-tracking-heading, 0.04em);
    text-align: center;
    text-transform: uppercase;
    text-shadow: var(--hero-overlay-shadow-title);
    text-wrap: balance;
  }

  .site-header.minimal.is-home.with-hero-media .hero-title::after {
    content: "";
    display: block;
    width: clamp(10rem, 28vw, 27.5rem);
    height: 2px;
    margin: clamp(0.4rem, 1vh, 0.8rem) auto 0;
    background: linear-gradient(90deg, transparent, rgba(212, 176, 106, 0.32) 14%, var(--hero-overlay-rule) 50%, rgba(212, 176, 106, 0.32) 86%, transparent);
    box-shadow: 0 0 8px rgba(212, 176, 106, 0.24), 0 0 20px rgba(212, 176, 106, 0.14);
  }

  .site-header.minimal.is-home.with-hero-media .hero-subtitle {
    width: min(90vw, 34ch);
    margin: clamp(0.25rem, 1vh, 0.75rem) auto 0;
    color: var(--hero-overlay-subtext);
    font-family: var(--font-display, "Cormorant Garamond", serif);
    font-size: var(--type-homepage-hero-subtitle-size, clamp(1rem, 1.8vw, 1.8rem));
    font-weight: var(--type-weight-semibold, 600);
    line-height: var(--type-homepage-hero-subtitle-line, 1.15);
    letter-spacing: 0.02em;
    text-align: center;
    text-shadow: var(--hero-overlay-shadow-copy);
    text-wrap: balance;
  }

  .site-header.minimal.is-home.with-hero-media .hero-quote {
    width: min(100%, 32ch);
    margin: 0;
    color: var(--hero-overlay-text);
    font-family: var(--font-display, "Cormorant Garamond", serif);
    font-size: clamp(1.05rem, 2vw, 2.4rem);
    font-style: italic;
    font-weight: var(--type-weight-medium, 500);
    line-height: var(--type-heading-line, 1.08);
    letter-spacing: var(--type-hero-copy-tracking, 0.01em);
    text-align: left;
    text-shadow: var(--hero-overlay-shadow-copy);
    text-wrap: pretty;
    overflow-wrap: break-word;
  }

  .site-header.minimal.is-home.with-hero-media .hero-cta-row {
    position: absolute;
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: 50%;
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    width: min(90vw, 34rem);
    gap: 0.75rem;
    transform: translateX(-50%);
    pointer-events: auto;
  }

  .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link) {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: clamp(9rem, 15vw, 12rem);
    min-height: 3rem;
    padding: 0.72rem 1.5rem;
    color: var(--hero-overlay-cta-text);
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid var(--hero-overlay-cta-border);
    border-radius: 0;
    font-family: var(--page-title);
    font-size: clamp(0.78rem, 1.2vw, 1rem);
    font-weight: 650;
    line-height: 1.2;
    letter-spacing: 0.065em;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 8px 22px rgba(0, 0, 0, 0.35);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
  }

  .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link)::before { content: ""; position: absolute; inset: 4px; pointer-events: none; border: 1px solid var(--hero-overlay-cta-inner-border); box-shadow: var(--hero-overlay-cta-inner-shadow); }
  .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link):hover,
  .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link):focus-visible { border-color: var(--hero-overlay-cta-border-strong); box-shadow: 0 0 18px rgba(216, 181, 111, 0.18), 0 10px 30px rgba(0, 0, 0, 0.4); transform: translateY(-2px); }
  .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link):focus-visible { outline: 2px solid var(--hero-overlay-cta-border-strong); outline-offset: 4px; }

  .site-header.minimal.is-home.with-hero-media .hero-enter-link {
    position: absolute;
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: 50%;
    z-index: 4;
    transform: translateX(-50%);
    pointer-events: auto;
  }

  .site-header.minimal.is-home.with-hero-media .hero-enter-link:hover,
  .site-header.minimal.is-home.with-hero-media .hero-enter-link:focus-visible {
    transform: translateX(-50%) translateY(-2px);
  }

  .site-header.minimal.is-home.is-series-landing-hero.with-hero-media .hero-enter-link {
    right: clamp(1rem, 3vw, 2.4rem);
    left: auto;
    transform: none;
  }

  .site-header.minimal.is-home.is-series-landing-hero.with-hero-media .hero-enter-link:hover,
  .site-header.minimal.is-home.is-series-landing-hero.with-hero-media .hero-enter-link:focus-visible {
    transform: translateY(-2px);
  }

  body.fortress-of-fear-dossier .site-header.minimal.with-hero-media .hero-media-scrim,
  body.control-stack-dossier .site-header.minimal.with-hero-media .hero-media-scrim {
    display: none;
  }

  .site-header.minimal.with-hero-media.hero-variant-bright .hero-media-scrim { background: var(--hero-overlay-bright); }
  .site-header.minimal.with-hero-media.hero-variant-left-dark .hero-media-scrim { background: var(--hero-overlay-left-dark); }
  .site-header.minimal.with-hero-media.hero-variant-right-dark .hero-media-scrim { background: var(--hero-overlay-right-dark); }
  .site-header.minimal.with-hero-media.hero-variant-bottom-dark .hero-media-scrim { background: var(--hero-overlay-bottom-dark); }
  .site-header.minimal.with-hero-media.hero-variant-full-dark .hero-media-scrim { background: var(--hero-overlay-full-dark); }
  .site-header.minimal.with-hero-media.hero-variant-minimal .hero-media-scrim { background: var(--hero-overlay-minimal); }

  body.plumwine .site-header.minimal.with-hero-media:not(.is-home) {
    position: relative;
    top: auto;
    min-height: 100vh;
    min-height: 100svh;
    min-height: 100dvh;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    margin-bottom: 0;
    padding: 0;
    justify-content: center;
  }

  body.plumwine .site-header.minimal.with-hero-media:not(.is-home) .hero-media-layer {
    position: relative;
    width: 100%;
    height: 100%;
  }

  body.plumwine .site-header.minimal.with-hero-media:not(.is-home) :where(
    .hero-media-scrim,
    .header-seal,
    .breadcrumbs,
    .header-main
  ) {
    display: none !important;
  }

  body.plumwine .site-header.minimal.with-hero-media:not(.is-home) :where(.hero-media-image, .hero-media-video) {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: contain;
    filter: none;
    opacity: 1;
    animation: none;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__eyebrow) .hero-title {
    max-width: none;
    color: var(--text-primary);
    font-family: var(--page-title);
    font-size: clamp(2.05rem, 4.2vw, 4.2rem);
    font-weight: var(--type-weight-bold, 700);
    line-height: 1.02;
    letter-spacing: var(--type-tracking-heading, 0.04em);
    text-transform: none;
    text-shadow: var(--header-title-shadow);
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__eyebrow) .header-main {
    row-gap: 0;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__eyebrow) .site-masthead__breadcrumbs {
    margin-bottom: 0.75rem;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) .site-masthead__eyebrow {
    margin: 0 0 clamp(0.35rem, 1vw, 0.55rem);
    color: var(--text-accent);
    font-family: var(--font-ui);
    font-size: var(--type-eyebrow-size-masthead, clamp(0.66rem, 0.9vw, 0.74rem));
    font-weight: var(--type-weight-bold, 700);
    letter-spacing: var(--type-tracking-eyebrow, 0.12em);
    line-height: var(--type-eyebrow-line, 1.35);
    text-align: left;
    text-transform: uppercase;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) :is(.hero-title, .part-title, .hero-subtitle) {
    text-align: left;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) .hero-subtitle {
    margin-left: 0;
    margin-right: 0;
  }

  .site-header.minimal:not(.with-hero-media):has(.site-masthead__breadcrumbs) .site-masthead__lead {
    width: min(100%, 62ch);
    margin: 0.9rem 0 0;
    color: var(--text-primary);
    font-family: var(--font-display, inherit);
    font-size: clamp(1.15rem, 2vw, 1.8rem);
    line-height: 1.28;
    text-align: left;
    text-wrap: balance;
  }

  .site-header.minimal:not(.with-hero-media) .hierarchy-block::after {
    content: "";
    width: clamp(3.5rem, 10vw, 7rem);
    height: 1px;
    margin-top: clamp(0.5rem, 1.5vw, 0.85rem);
    background: linear-gradient(90deg, transparent, var(--text-accent), transparent);
    opacity: 0.58;
  }

  @media (max-width: 1024px) {
    .site-header.minimal.is-home.with-hero-media .hero-overlay-bottom {
      bottom: clamp(4.8rem, 11vh, 7.5rem);
      left: 50%;
      width: min(90vw, 47.5rem);
      text-align: center;
      transform: translateX(-50%);
    }

    .site-header.minimal.is-home.with-hero-media .hero-quote {
      margin-inline: auto;
      font-size: clamp(1.15rem, 3.1vw, 1.8rem);
      text-align: center;
    }

    .site-header.minimal.is-home.is-series-landing-hero.with-hero-media .hero-enter-link {
      right: auto;
      left: 50%;
      transform: translateX(-50%);
    }

    .site-header.minimal.is-home.is-series-landing-hero.with-hero-media .hero-enter-link:hover,
    .site-header.minimal.is-home.is-series-landing-hero.with-hero-media .hero-enter-link:focus-visible {
      transform: translateX(-50%) translateY(-2px);
    }
  }

  @media (max-width: 768px) {
    .site-header.minimal.is-home.with-hero-media {
      min-height: 100svh;
      height: 100svh;
    }

    .site-header.minimal.is-home.with-hero-media .hero-overlay-top {
      top: max(0.85rem, env(safe-area-inset-top));
      width: min(92vw, 38rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-title {
      font-size: clamp(1.45rem, 7vw, 2.35rem);
      line-height: 0.98;
    }

    .site-header.minimal.is-home.with-hero-media .hero-subtitle {
      font-size: clamp(0.98rem, 4.3vw, 1.3rem);
      line-height: 1.16;
    }

    .site-header.minimal.is-home.with-hero-media .hero-overlay-bottom {
      bottom: clamp(5rem, 12vh, 7.5rem);
      width: min(90vw, 40rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-quote {
      font-size: clamp(1.08rem, 5vw, 1.55rem);
      line-height: 1.18;
    }

    .site-header.minimal.is-home.with-hero-media .hero-cta-row {
      bottom: max(1rem, env(safe-area-inset-bottom));
      width: min(92vw, 24rem);
      gap: 0.55rem;
    }

    .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link) {
      min-width: 0;
      padding: 0.68rem 1.1rem;
      font-size: clamp(0.74rem, 3.2vw, 0.88rem);
      white-space: nowrap;
    }

    .site-header.minimal.with-hero-media:not(.is-home) {
      min-height: clamp(14rem, 52vw, 23rem);
      height: auto;
      padding: 0;
    }

    .site-header.minimal.with-hero-media:not(.is-home) .hero-media-layer {
      --hero-media-pad: 0;
      position: relative;
      height: auto;
      min-height: inherit;
    }

    .site-header.minimal.with-hero-media:not(.is-home) :where(.hero-media-image, .hero-media-video) {
      width: 100%;
      height: auto;
      min-height: inherit;
      padding: 0;
      object-fit: contain;
      object-position: center bottom;
    }

    body.plumwine .site-header.minimal.with-hero-media:not(.is-home) {
      min-height: auto;
      height: auto;
    }

    body.plumwine .site-header.minimal.with-hero-media:not(.is-home) .hero-media-layer,
    body.plumwine .site-header.minimal.with-hero-media:not(.is-home) :where(.hero-media-image, .hero-media-video) {
      height: auto;
      min-height: 0;
    }
  }

  @media (max-width: 420px) {
    .site-header.minimal.is-home.with-hero-media .hero-title {
      font-size: clamp(1.3rem, 8vw, 1.9rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-subtitle {
      font-size: clamp(0.9rem, 4.5vw, 1.1rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-quote {
      font-size: clamp(1rem, 5vw, 1.3rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-cta-row {
      width: min(94vw, 22rem);
    }

    .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link) {
      padding-inline: 0.9rem;
      font-size: var(--type-eyebrow-size, 0.74rem);
    }
  }

  @media (max-height: 540px) and (orientation: landscape) {
    .site-header.minimal.is-home.with-hero-media {
      min-height: 100dvh;
      height: 100dvh;
    }

    .site-header.minimal.is-home.with-hero-media .hero-overlay-top {
      top: max(0.6rem, env(safe-area-inset-top));
    }

    .site-header.minimal.is-home.with-hero-media .hero-title {
      font-size: clamp(1.2rem, 4vw, 1.8rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-subtitle {
      font-size: clamp(0.8rem, 2.4vw, 1rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-overlay-bottom {
      bottom: clamp(3.8rem, 14vh, 5.2rem);
      width: min(72vw, 38rem);
    }

    .site-header.minimal.is-home.with-hero-media .hero-quote {
      font-size: clamp(0.9rem, 2.4vw, 1.15rem);
      line-height: 1.12;
    }

    .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link) {
      min-height: 2.55rem;
      padding: 0.52rem 1rem;
    }
  }

  @media (min-width: 1025px) and (orientation: landscape) {
    .site-header.minimal.is-home.with-hero-media .hero-enter-link,
    .site-header.minimal.is-home.with-hero-media .hero-cta-row {
      right: calc(max(1rem, env(safe-area-inset-right)) + 1.5rem);
      left: auto;
      width: auto;
      transform: none;
    }

    .site-header.minimal.is-home.with-hero-media .hero-enter-link:hover,
    .site-header.minimal.is-home.with-hero-media .hero-enter-link:focus-visible {
      transform: translateY(-2px);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link) {
      transition: none;
    }

    .site-header.minimal.is-home.with-hero-media :where(.hero-cta-button, .hero-enter-link):hover {
      transform: none;
    }
  }
}
