/* LAVAN Hero motion (A, user choice 2026-10-16). Static layout stays in index.html. */

/* Until fonts + photo are ready the hero and header wait in their start state. Added only by the head
   script (never without JS or with reduced motion) and removed by hero-motion.js or a 4 s fallback. */
html.hero-pending .hero,
html.hero-pending .brand-bar { visibility: hidden; }

/* The image moves inside its frame (entry settle, exit drift); the frame itself never moves. */
.hero-image { overflow: hidden; }

/* Photo opens from a horizontal line at the yacht's height: --hm-p 0 → 1, --hm-line from hero-motion.js.
   +1 px in the closed state so no hairline shows at fractional display scales. */
.hero-image.hm-run {
  clip-path: inset(
    calc(var(--hm-line, 60%) * (1 - var(--hm-p, 1))) 0
    calc((100% - var(--hm-line, 60%)) * (1 - var(--hm-p, 1)) + 1px * (1 - var(--hm-p, 1))) 0);
}
