/* Keep animation controls below the fixed navigation, on every viewport. */
.editorial-home .sheep-atmosphere-toggle {
  top: 108px;
  right: max(22px, env(safe-area-inset-right));
  width: 44px;
  height: 44px;
}
/* Short landscape viewports must not put the headline behind the header. */
@media (min-width: 761px) and (max-height: 620px) {
  .editorial-home .sheep-hero-copy { top: 108px; transform: none; }
  .editorial-home .scroll-cue { left: auto; right: var(--gutter); bottom: 16px; }
}
@media (max-width: 760px) and (max-height: 500px) and (min-aspect-ratio: 1/1) {
  .editorial-home .hero-scroll:has([data-sheep-hero]) { min-height: 400px; }
  .editorial-home .sheep-hero-copy { top: 96px; width: min(440px, calc(100% - var(--gutter)*2)); }
  .editorial-home .sheep-hero-title { font-size: 32px; }
  .editorial-home .sheep-hero-subtitle { margin-top: 12px; font-size: 14px; line-height: 1.45; }
  .editorial-home .sheep-hero-cta { margin-top: 16px; min-height: 46px; }
  .editorial-home .sheep-hero-cta-arrow { width: 32px; height: 32px; }
  .editorial-home .scroll-cue { left: auto; right: var(--gutter); bottom: 16px; }
}
@media (max-width: 760px) {
  .bs-shell-ready .bs-nav {
    max-height: calc(100svh - 110px - env(safe-area-inset-bottom));
    max-height: calc(100dvh - 110px - env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
  .editorial-home .sheep-atmosphere-toggle { top: 92px; right: 16px; }
  /* Preserve the portrait; separate the foreground letters from bright points. */
  .editorial-home .sheep-hero-title,
  .editorial-home .sheep-hero-subtitle {
    text-shadow: 0 1px 4px #000, 0 0 12px #000, 0 0 22px #000;
  }
  .editorial-home .back-button,
  .editorial-home .restart-button { min-width: 44px; min-height: 44px; }
}
