/* ── Lenis override ── */
html.lenis { scroll-behavior: auto; }

/* ── Clip scaled image ── */
.access__image-wrap { overflow: hidden; }

/* ── Tagline centered in hero ── */
.hero__tagline {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: var(--fs-hero);
  font-weight: 400;
  color: #fff;
  white-space: nowrap;
  text-align: center;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 768px) {
  .hero__tagline {
    white-space: normal;
    width: calc(100vw - 2rem);
  }

  .access__image-wrap {
    display: none;
  }
}

.hero__tagline .subheading__italic {
  font-size: inherit;
}

/* ── Fixed logo after shrink ── */
.hero__logo--fixed {
  position: fixed !important;
  z-index: 50;
  transition: filter 0.3s ease;
}

.hero__logo--dark {
  filter: brightness(0);
}

/* ── Performance hints ── */
.hero__logo,
.hero__sublogo,
.hero__tagline,
.hero__image { will-change: transform, opacity; }

/* ── Accessibility: disable all animations ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
