body.woocommerce-shop { isolation: isolate; }
.la-starfield {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
  transform-origin: 50% 50%;
  scale: 1 var(--la-warp-y, 1);
}
.la-starfield__layer {
  position: absolute;
  inset: 0 0 auto 0;
  height: calc(100vh + var(--la-travel, 0px));
  background-repeat: repeat;
  opacity: 0;
  transition: opacity 1.2s ease;
  will-change: transform;
}
.la-starfield.is-ready .la-starfield__layer { opacity: 1; }
.la-starfield__layer--nebula {
  --la-travel: 900px;
  height: calc(100vh + var(--la-travel) + 40vh);
  background:
    radial-gradient(42vw 30vh at 18% 22%, rgba(88, 110, 190, .16), transparent 70%),
    radial-gradient(36vw 26vh at 82% 48%, rgba(124, 252, 74, .07), transparent 70%),
    radial-gradient(48vw 34vh at 30% 78%, rgba(140, 90, 170, .12), transparent 72%),
    radial-gradient(40vw 30vh at 75% 105%, rgba(70, 140, 200, .12), transparent 70%);
  filter: blur(8px);
}
.la-starfield__layer--far { --la-travel: 700px; }
.la-starfield__layer--mid { --la-travel: 2200px; }
.la-starfield__layer--near { --la-travel: 4800px; }
.la-starfield.is-ready .la-starfield__layer--far { opacity: .75; }
.la-starfield.is-warping .la-starfield__layer--near { opacity: 1; filter: brightness(1.35); }
.la-starfield__particles {
  position: absolute;
  inset: calc(var(--la-tile) * -1);
  background-repeat: repeat;
}
.la-starfield__layer--far { --la-drift-duration: 65s; }
.la-starfield__layer--mid { --la-drift-duration: 55s; }
.la-starfield__layer--near { --la-drift-duration: 45s; }
@media (prefers-reduced-motion: no-preference) {
  .la-starfield__particles {
    animation: la-particle-drift var(--la-drift-duration) linear infinite;
    will-change: transform;
  }
  .la-starfield.is-paused .la-starfield__particles { animation-play-state: paused; }
}
@keyframes la-particle-drift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(var(--la-tile), calc(var(--la-tile) * -1), 0); }
}

@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    .la-starfield__layer {
      animation: la-star-travel linear both;
      animation-timeline: scroll(root block);
    }
  }
}
@keyframes la-star-travel {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(0, calc(var(--la-travel) * -1), 0); }
}

@media (prefers-reduced-motion: no-preference) {
  html.la-reveal-on .la-reveal {
    opacity: 0;
    transform: translate3d(0, 36px, 0);
    filter: brightness(.55);
    transition:
      opacity .9s cubic-bezier(.16, 1, .3, 1),
      transform .9s cubic-bezier(.16, 1, .3, 1),
      filter 1.1s cubic-bezier(.16, 1, .3, 1);
  }
  html.la-reveal-on .la-reveal.is-visible {
    opacity: 1;
    transform: none;
    filter: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .la-starfield { scale: none; }
}

/* Target-lock reticle around CTAs */
.la-reticle {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  pointer-events: none;
  opacity: 0;
  --la-gap: 16px;
  transition: opacity .18s ease;
}
.la-reticle.is-on { opacity: 1; --la-gap: 6px; }
.la-reticle i {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid rgb(57, 255, 20);
  filter: drop-shadow(0 0 3px rgba(57, 255, 20, .55));
  transition: transform .32s cubic-bezier(.16, 1, .3, 1);
}
.la-reticle i:nth-child(1) { top: 0; left: 0; border-right: 0; border-bottom: 0; transform: translate(calc(var(--la-gap) * -1), calc(var(--la-gap) * -1)); }
.la-reticle i:nth-child(2) { top: 0; right: 0; border-left: 0; border-bottom: 0; transform: translate(var(--la-gap), calc(var(--la-gap) * -1)); }
.la-reticle i:nth-child(3) { bottom: 0; left: 0; border-right: 0; border-top: 0; transform: translate(calc(var(--la-gap) * -1), var(--la-gap)); }
.la-reticle i:nth-child(4) { bottom: 0; right: 0; border-left: 0; border-top: 0; transform: translate(var(--la-gap), var(--la-gap)); }
.la-reticle.is-on i { animation: la-lock .32s steps(2, jump-none) 1; }
@keyframes la-lock {
  0% { opacity: .2; }
  50% { opacity: 1; }
  75% { opacity: .5; }
  100% { opacity: 1; }
}

/* Brief transmission-glitch on section titles */
.la-glitch.is-glitching {
  animation: la-glitch .34s steps(1, end) 1;
}
@keyframes la-glitch {
  0%   { text-shadow: 2px 0 rgba(255, 46, 170, .85), -2px 0 rgba(57, 255, 20, .85); transform: translate(0, 0); clip-path: inset(0 0 0 0); }
  20%  { text-shadow: -3px 0 rgba(255, 46, 170, .85), 3px 0 rgba(57, 255, 20, .85); transform: translate(-2px, 0) skewX(-4deg); clip-path: inset(12% 0 38% 0); }
  40%  { text-shadow: 3px 1px rgba(255, 46, 170, .85), -3px -1px rgba(57, 255, 20, .85); transform: translate(2px, 0); clip-path: inset(48% 0 6% 0); }
  60%  { text-shadow: -1px 0 rgba(255, 46, 170, .85), 1px 0 rgba(57, 255, 20, .85); transform: translate(-1px, 0) skewX(3deg); clip-path: inset(0 0 0 0); }
  80%  { text-shadow: 1px 0 rgba(255, 46, 170, .6), -1px 0 rgba(57, 255, 20, .6); transform: translate(1px, 0); }
  100% { text-shadow: none; transform: none; clip-path: none; }
}
@media (prefers-reduced-motion: reduce) {
  .la-glitch.is-glitching { animation: none; }
  .la-reticle, .la-reticle i { transition: none; animation: none !important; }
  .la-reticle.is-on { --la-gap: 6px; }
}
