/* Site-wide motion layer: GSAP + Lenis + React Bits (SpotlightCard, SplitText).
   Loaded on the landing page, the admin panel and the public info pages. */
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}

.split-word{display:inline-block;will-change:transform,opacity,filter}

/* React Bits SpotlightCard layers */
.spotlight-card{position:relative;isolation:isolate}
.spotlight-card__light,.spotlight-card__border,.spotlight-card__edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.spotlight-card__light{z-index:-1;opacity:0}
.spotlight-card__border{display:none}
.spotlight-card__edge{z-index:1;opacity:0;padding:1px;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}

@media print{
  .spotlight-card__light,.spotlight-card__edge{display:none!important}
  *{opacity:1!important;transform:none!important;filter:none!important}
}
@media (prefers-reduced-motion:reduce){.spotlight-card__light,.spotlight-card__edge{display:none}}

/* Buttons lift a little under the pointer and press down on click. */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  html.fx-on button.primary,html.fx-on button.secondary,html.fx-on .btn{transition:transform .18s ease,box-shadow .18s ease}
  html.fx-on button.primary:hover,html.fx-on .btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(24,119,201,.25)}
  html.fx-on button.secondary:hover{transform:translateY(-1px)}
  html.fx-on button.primary:active,html.fx-on button.secondary:active,html.fx-on .btn:active{transform:translateY(0) scale(.97)}
  html.fx-on .nav a{transition:background .2s ease,padding .2s ease}
  html.fx-on .nav a:hover{padding-inline-start:20px}
}
