/* Whole-homepage motion. Original copy, media and resting layout are retained. */
@media (prefers-reduced-motion: no-preference) {
  /* Sections are not pinned by default — the old fake pin (reserved padding + a
     JS-written translate) is what left the permanent black bands. The one section that
     WANTS a dwell (the work photos) opts in with .lg-pin and gets a native sticky pin:
     the runway lives inside the content box, because a sticky child can only travel
     within its parent's content box. */
  .lg-scroll-scene { position: relative; }
  .lg-scroll-scene.lg-pin::after { content: ''; display: block; height: var(--flow-runway, 0px); }
  .lg-scroll-scene.lg-pin > .lg-scene-surface { position: sticky; top: var(--flow-sticky-top, 0px); }
  .lg-flow-ready [data-flow-layer] {
    opacity: var(--flow-opacity, 1);
    transform: perspective(1400px) translate3d(var(--flow-x, 0px), var(--flow-y, 0px), 0)
      rotateX(var(--flow-rx, 0deg)) rotateY(var(--flow-ry, 0deg)) rotateZ(var(--flow-rz, 0deg)) scale(var(--flow-scale, 1));
    transform-origin: 50% 50%;
    filter: blur(var(--flow-blur, 0px));
    transition: border-color .3s, box-shadow .3s, background-color .3s;
  }
  .lg-flow-ready .scard[data-flow-layer]:hover {
    transform: perspective(1400px) translate3d(var(--flow-x, 0px), calc(var(--flow-y, 0px) - 6px), 0)
      rotateX(var(--flow-rx, 0deg)) rotateY(var(--flow-ry, 0deg)) rotateZ(var(--flow-rz, 0deg)) scale(var(--flow-scale, 1));
  }
  .lg-flow-ready .why-item[data-flow-layer]:hover { translate: 5px 0; }
  .lg-flow-ready .lg-flow-word {
    display: inline-block; transform-origin: 50% 100%;
    opacity: var(--word-alpha, 1);
    transform: perspective(800px) translateY(var(--word-y, 0%)) rotateX(var(--word-rx, 0deg));
    filter: blur(var(--word-blur, 0px));
  }
  .lg-flow-ready .gold-text .lg-flow-word {
    background: linear-gradient(135deg, var(--gold-lt), var(--gold), var(--gold-dk));
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  }
  .lg-flow-ready .lg-flow-heading .gold-text { background: none; -webkit-text-fill-color: var(--gold); }
  .lg-flow-ready .wp-card-img img, .lg-flow-ready .wp-card-img video {
    translate: 0 var(--media-y, 0px); scale: var(--media-scale, 1);
  }
  .lg-flow-ready .marquee-track { translate: var(--marquee-shift, 0px) 0; }
  .lg-flow-ready .cta-glow { scale: var(--glow-scale, 1); }
  .lg-flow-ready .gold-line { transform-origin: 0 50%; scale: var(--line-scale, 1) 1; }
  .lg-flow-ready [data-flow-layer]:focus-within { opacity: 1; }
  .lg-flow-ready a[data-flow-layer]:focus-visible { opacity: 1; outline: 2px solid var(--gold-lt); outline-offset: 5px; }
  .lg-scene-active [data-flow-composite] { will-change: transform; }

}
@media (prefers-reduced-motion: reduce) {
  .lg-flow-ready .reveal { opacity: 1; transform: none; transition: none; }
}
