/**
 * Volt N' Vent — "alive" layer: scroll-reveal pops + hover lift.
 * Same gold/navy/paper design — this only adds motion. Elements get .vnv-rv from
 * vnv-alive.js and pop in when scrolled into view (like the Chronically Aligned feel).
 */

/* Hidden until scrolled into view — JS adds .vnv-rv, IO adds .vnv-in */
.vnv-rv {
  opacity: 0;
  transform: translateY(30px) scale(0.965);
  transition:
    opacity .7s cubic-bezier(.22,.61,.36,1),
    transform .7s cubic-bezier(.34,1.45,.5,1); /* slight overshoot = the "pop" */
  will-change: opacity, transform;
}
.vnv-rv.vnv-in {
  opacity: 1;
  transform: none;
}

/* Section headings drift up a touch softer */
.vnv-rv-soft {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.vnv-rv-soft.vnv-in { opacity: 1; transform: none; }

/* Hover pop for card-like things (JS tags them .vnv-card) */
.vnv-card {
  transition:
    transform .35s cubic-bezier(.22,.61,.36,1),
    box-shadow .35s cubic-bezier(.22,.61,.36,1);
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .vnv-card:hover {
    transform: translateY(-6px) scale(1.015);
    box-shadow: 0 26px 50px -22px rgba(15, 40, 68, 0.45);
  }
  /* When the tilt engine is driving, it sets inline transforms — this class kills the CSS hover one */
  .vnv-card.vnv-tilting { transition: transform .12s ease-out, box-shadow .35s cubic-bezier(.22,.61,.36,1); }
}

/* Gentle attention float for primary CTA buttons/pills that JS tags */
@keyframes vnvFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}
.vnv-float { animation: vnvFloat 4.5s ease-in-out infinite; }

/* Stagger delays are set inline by JS via --vnv-d */
.vnv-rv, .vnv-rv-soft { transition-delay: var(--vnv-d, 0ms); }
.vnv-rv.vnv-in, .vnv-rv-soft.vnv-in { transition-delay: var(--vnv-d, 0ms); }

/* Respect reduced motion — everything visible, no animation */
@media (prefers-reduced-motion: reduce) {
  .vnv-rv, .vnv-rv-soft { opacity: 1 !important; transform: none !important; transition: none !important; }
  .vnv-card { transition: none !important; }
  .vnv-card:hover { transform: none !important; }
  .vnv-float { animation: none !important; }
}

/* No-JS safety net: if the script never runs, nothing is ever hidden */
html:not(.vnv-alive) .vnv-rv,
html:not(.vnv-alive) .vnv-rv-soft { opacity: 1; transform: none; }
