/* Restrained accents; there are no perpetual animations or hidden-content states. */
@keyframes vwe-light-pass {
  0% { opacity: 0; transform: translateX(-24%) rotate(-14deg); }
  30% { opacity: .65; }
  70% { opacity: .45; }
  100% { opacity: 0; transform: translateX(26%) rotate(-14deg); }
}
@keyframes vwe-detail-reveal {
  from { opacity: .35; translate: 0 5px; }
  to { opacity: 1; translate: 0 0; }
}
@keyframes vwe-menu-reveal {
  from { opacity: .25; translate: 0 -6px; }
  to { opacity: 1; translate: 0 0; }
}

@media (prefers-reduced-motion: no-preference) {
  .rp-hero::before, .rp-shop-hero-art::before {
    content: "";
    position: absolute;
    z-index: 1;
    pointer-events: none;
    inset: -45% -20%;
    opacity: 0;
    background: linear-gradient(108deg, transparent 24%, #83e8f416 40%, #9faaff20 48%, transparent 64%);
  }
  .rp-hero .rp-hero-content { z-index: 2; }
  .vwe-ambient-play::before { animation: vwe-light-pass 4.2s ease-in-out 1; }
  .rp-faq[open] > :not(summary) { animation: vwe-detail-reveal 220ms ease-out both; }
  .rp-graphic img, .rp-shop-art img { transition: transform 500ms cubic-bezier(.2,.7,.25,1); }
  @media (hover: hover) and (pointer: fine) {
    .rp-experience-card:hover .rp-graphic img,
    .rp-spotlight:hover .rp-graphic img,
    .rp-note-card--shop:hover .rp-shop-art img,
    .rp-destination-card--shop:hover .rp-shop-art img { transform: scale(1.025); }
  }
  @media (max-width: 800px) {
    .primary-nav.open { animation: vwe-menu-reveal 180ms ease-out both; }
  }
}

@media (prefers-reduced-motion: reduce) {
  .rp-hero::before, .rp-shop-hero-art::before { display: none; }
  .rp-page .rp-graphic img, .rp-page .rp-shop-art img { transition: none; transform: none; }
}
