/* Preserve the brand's light palette in browsers with automatic darkening. */
:root { color-scheme: only light; }

@media (max-width: 767px) {
  /* Paint the paper explicitly, with lighter shadows but the same choreography.
     An image layer also avoids relying solely on a recolorable background color. */
  .ove-atmosphere {
    background-color: #f3efdf;
    background-image: linear-gradient(#f3efdf, #f3efdf);
  }
  .ove-scene-stage::after { opacity: .65; }
  #hero .ove-hero-media::after { opacity: .75; }

  /* Keep text inside the viewport, including Android's larger font settings. */
  .ove-thought h2,
  .ove-usp-wall h2,
  #ove-selection .ove-flavour-phase h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(28px, 7.4vw, 38px);
  }
  #ove-selection .ove-flavour-phase {
    padding-inline: 6vw;
    min-width: 0;
  }
  .ove-usp-wall h2 { padding-inline: 12px; }
  .ove-usp-ready .ove-usp-wall h2 { padding-inline: 12px; }

  /* Same photographic presentation as desktop; only size and safe spacing adapt. */
  .ove-usp-ready .ove-usp-message {
    bottom: max(24px, env(safe-area-inset-bottom));
    font-size: clamp(24px, 6.5vw, 30px);
  }
  #story .ove-partners-story {
    width: 88%;
    max-height: calc(100svh - 190px);
    padding: 24px;
  }
}

@media (max-width: 767px) and (max-height: 760px) {
  /* Leave room for the fixed navigation and video controls on short screens. */
  #hero .ove-hero-copy { padding-bottom: 85px; }
  #hero h1 { font-size: clamp(28px, 8vw, 36px); margin-bottom: 12px; }
  #hero .ove-eyebrow { margin-bottom: 10px; font-size: 14px; }
  #hero .ove-hero-copy > p:not(.ove-eyebrow) { font-size: 19px; line-height: 1.3; }
  #hero .ove-hero-actions { margin-top: 12px; gap: 10px 18px; }
  #hero .ove-video-controls { bottom: 14px; }
  #ove-selection .ove-flavour-phase {
    justify-content: flex-start;
    padding-top: 100px;
    padding-bottom: 20px;
    overflow-y: auto;
  }
}