/* Styles des animations (motion.js) */

/* SpotlightCard : halo jaune sous le pointeur + filet du haut qui s'allume */
.services li.spot{position:relative;isolation:isolate}
.services li.spot::before,.services li.spot::after{content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity .45s ease}
.services li.spot::before{inset:0 -1rem 0;z-index:-1;border-radius:0 0 4px 4px;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,194,14,.2),rgba(255,194,14,.06) 45%,transparent 70%)}
.services li.spot::after{left:0;right:0;top:-2px;height:2px;
  background:radial-gradient(180px circle at var(--mx,50%) 50%,var(--jaune),transparent 70%)}
.services li.spot.lit::before,.services li.spot.lit::after{opacity:1}

/* ShinyText : reflet clair qui balaie le texte jaune */
.hero h1 .l2.shiny{
  background-image:linear-gradient(110deg,var(--jaune) 0%,var(--jaune) 45%,#FFF6CF 50%,var(--jaune) 55%,var(--jaune) 100%);
  background-size:300% 100%;background-repeat:no-repeat;background-position:0% 0;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  padding:0 .06em .16em;margin:0 -.06em -.16em}

/* TiltedCard */
.tm-ph{will-change:transform}

/* SplitText : les mots restent groupés pendant l'animation */
.sw{white-space:nowrap}
