.mobile-consent-copy { display: none; }
/* Descenders and italic overhang need space inside the line box. */
.hero .hero-title-line:last-child { line-height: 1.16; }
.hero .hero-title, .hero .hero-title-line, .hero .hero-word { overflow: visible; }
.hero .hero-title-line:last-child .hero-word { padding-bottom: .16em; margin-bottom: -.16em; }
@media (max-width: 767px) {
  .hero {
    --mobile-hero-media-height: clamp(25rem, 66svh, 39rem);
    min-height: 100svh;
    background: var(--brand-ivory-light);
  }
  .hero::before, .hero .header-motion-film {
    top: 0; bottom: auto;
    height: var(--mobile-hero-media-height);
    object-position: var(--hero-media-position);
  }
  .hero::before { background-size: cover; background-position: var(--hero-media-position); }
  .hero .hero-overlay {
    background: linear-gradient(180deg, transparent 0%,
      transparent calc(var(--mobile-hero-media-height) * .54),
      color-mix(in srgb, var(--brand-ivory-light) 34%, transparent) calc(var(--mobile-hero-media-height) * .72),
      var(--brand-ivory-light) var(--mobile-hero-media-height));
  }
  .hero .hero-content {
    min-height: 100svh; align-items: flex-start;
    padding-top: calc(var(--mobile-hero-media-height) - 6rem);
    padding-bottom: 3rem;
  }
  .hero .hero-title-line:last-child { padding-left: .55em; }
  html[data-mobile-hero-copy="pending"] .hero :is(.hero-byline,.hero-word,.hero-summary,.hero-actions) {
    animation: none !important; opacity: 0; visibility: hidden; pointer-events: none;
  }
  html[data-mobile-hero-copy="visible"] .hero.is-live .hero-word {
    animation: mobile-hero-copy-in .85s cubic-bezier(.16,1,.3,1) both;
    animation-delay: calc(var(--line-index) * 110ms);
  }
  html[data-mobile-hero-copy="visible"] .hero.is-live .hero-byline { animation: mobile-hero-copy-in .7s ease both; }
  html[data-mobile-hero-copy="visible"] .hero.is-live .hero-summary { animation: mobile-hero-copy-in .85s ease both; }
  html[data-mobile-hero-copy="visible"] .hero.is-live .hero-actions { animation: mobile-hero-copy-in .85s .15s ease both; }
  html[data-mobile-consent-hold] :is(.consent-card,.consent-preview-trigger) { display: none !important; }
  .consent-card {
    left: .65rem; right: .65rem;
    bottom: max(.65rem,env(safe-area-inset-bottom));
    width: auto; max-height: min(52svh,24rem);
    padding: 1rem; gap: .65rem;
    grid-template-columns: minmax(0,1fr);
    border-radius: 22px;
  }
  .consent-card > :is(.consent-card-mark,.consent-card-copy) { display: none; }
  .consent-card > .mobile-consent-copy { display: block; grid-row: 1; position: relative; z-index: 1; }
  .consent-card .mobile-consent-copy h2 { margin: 0 0 .4rem; font-size: 1.18rem; line-height: 1.22; letter-spacing: -.035em; }
  .consent-card .mobile-consent-copy p { margin: 0; font-size: .78rem; line-height: 1.5; color: var(--brand-text); }
  .consent-card .consent-card-actions { grid-row: 2; grid-column: 1; gap: .4rem; margin: 0; }
  .consent-card .consent-choice { min-height: 44px; padding: .5rem .55rem; font-size: .74rem; white-space: normal; }
  .consent-card .consent-settings-link { min-height: 36px; font-size: .72rem; padding: .2rem; }
  html[data-mobile-consent-compact] .consent-card { padding: .7rem .8rem; gap: .35rem; border-radius: 18px; }
  html[data-mobile-consent-compact] .consent-card .mobile-consent-copy h2 { display: none; }
  html[data-mobile-consent-compact] .consent-card .mobile-consent-copy p { font-size: .73rem; line-height: 1.4; }
  html[data-mobile-consent-compact] .consent-card .consent-card-actions { column-gap: .35rem; row-gap: 0; }
  .consent-card .consent-glass {
    -webkit-backdrop-filter: blur(12px) saturate(1.55);
    backdrop-filter: blur(12px) saturate(1.55);
    background: linear-gradient(155deg, rgba(var(--glass-highlight),.29),rgba(var(--glass-tint),.76) 25%,rgba(var(--glass-tint),.69) 80%,rgba(var(--glass-highlight),.24));
    box-shadow: inset 0 1px 1px rgba(var(--glass-highlight),.9),inset 1px 0 2px rgba(var(--glass-highlight),.4),inset 0 -1px 1px rgba(var(--glass-highlight),.6),0 8px 30px rgba(2,15,30,.14);
  }
  @media (prefers-reduced-motion: reduce) {
    html[data-mobile-hero-copy] .hero.is-live :is(.hero-word,.hero-byline,.hero-summary,.hero-actions) { animation: none; opacity: 1; visibility: visible; }
  }
  @media (prefers-reduced-transparency: reduce), (prefers-contrast: more) {
    .consent-card .consent-glass,.consent-card .consent-glass.has-refraction { background:var(--brand-ivory);-webkit-backdrop-filter:none;backdrop-filter:none; }
  }
}
@keyframes mobile-hero-copy-in {
  from { opacity: 0; transform: translate3d(0,1.2rem,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
