/* Hero A, approved 2026-10-19. The final composition remains in index.html. */
.hero .hm-frame, .hero .hm-drift, .hero .hm-zoom, .hero .hm-frame picture { position:absolute;inset:0; }
.hero .hm-frame { overflow:hidden; }
.hero .hm-frame.hm-opening { clip-path:inset(var(--hm-cut,100%) 0 0 0); }
html.hero-pending .hero .hm-frame, html.hero-pending .hero-sky { visibility:hidden; }
html.hero-pending .brand-bar { opacity:0; }
/* Include the display J descender throughout the rise, not only after cleanup. */
.hero .hm-name-mask { clip-path:inset(-35% -15% -25% -15%); }
.hero .hm-offer-mask { clip-path:inset(-45% -15% 0 -15%); }
.hero .hm-offer-slot { display:flex; }
.brand-bar .hm-header-in { display:block;pointer-events:auto; }
.hero-offer .cta { position:relative; }
.hero-offer .cta::before { content:'';position:absolute;inset:0;background:var(--ink);opacity:0;pointer-events:none;transition:opacity 160ms cubic-bezier(.22,1,.36,1); }
.hero-offer .cta span { position:relative;z-index:1;pointer-events:none; }
@media(hover:hover) and (pointer:fine) {
  .hero-offer .cta:hover::before { opacity:1;transition-duration:180ms; }
}
html.lenis, html.lenis body { height:auto; }
.lenis.lenis-smooth { scroll-behavior:auto !important; }
.lenis.lenis-stopped { overflow:hidden; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior:contain; }
@media (prefers-reduced-motion:reduce) {
  .hero-offer .cta::before { transition:none; }
  html.hero-pending .hero .hm-frame, html.hero-pending .hero-sky { visibility:visible; }
  html.hero-pending .brand-bar { opacity:1; }
  .hero .hm-frame.hm-opening, .hero .hm-name-mask, .hero .hm-offer-mask { clip-path:none; }
}
