/* Styles for motion.js (Lenis + GSAP) — loaded by every page that loads motion.js. Only apply once the libraries are up. */
html.lenis,html.lenis body{height:auto}
html.lenis{scroll-behavior:auto}
.lenis.lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}
html.motion .hero h1{animation:none;perspective:600px}  /* words rise individually instead */
.mw{will-change:transform}
.grad > .mw,[style*="background-clip"] > .mw{background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent}  /* gradient per split word */
/* ShinyText: section eyebrows carry a passing sheen */
html.motion .sec-head .eyebrow{background-image:linear-gradient(120deg,transparent 40%,rgba(255,255,255,.2) 50%,transparent 60%);background-size:250% 100%;animation:shine 3.6s linear infinite}
@keyframes shine{from{background-position:150% 0}to{background-position:-150% 0}}
/* SpotlightCard: a soft light follows the cursor across the card */
.spot{position:relative}
.spot::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(56,189,248,.16),transparent 60%)}
.spot:hover::after{opacity:1}
