/* One page-entry sequence. Backwards fill protects the first paint; the final
   frame leaves no transform or stacking context on sticky gallery containers. */
:root {
  --entry-distance: 20px;
  --entry-gallery-distance: 16px;
  --entry-image-scale: 1.04;
  --entry-ease: cubic-bezier(.22, 1, .36, 1);
}
:is(.apex-intro > .apex-eyebrow, .apex-intro > h1, .apex-intro > .apex-subtitle,
    .apex-intro > .apex-price, .volt-price-line,
    .titan-hero-eyebrow, .titan-hero h1, .titan-hero-subtitle,
    .apex-options-header, .apex-form > fieldset,
    .volt-options, .titan-options, .apex-order, .apex-information) {
  animation: wave-entry-rise 500ms var(--entry-ease) var(--entry-delay, 0ms) backwards;
}
:is(.apex-intro > h1, .titan-hero h1) { --entry-delay: 70ms; }
:is(.apex-subtitle, .titan-hero-subtitle) { --entry-delay: 140ms; }
:is(.apex-intro > .apex-price, .volt-price-line) { --entry-delay: 180ms; }
.apex-options-header { --entry-delay: 350ms; }
.apex-form > fieldset { --entry-delay: 430ms; }
.apex-form > fieldset:nth-of-type(2) { --entry-delay: 490ms; }
.apex-form > fieldset:nth-of-type(3) { --entry-delay: 550ms; }
.apex-form > fieldset:nth-of-type(n+4) { --entry-delay: 610ms; }
:is(.volt-options, .titan-options) { --entry-delay: 350ms; }
:is(.volt-options, .titan-options) :is(.apex-options-header, .apex-form > fieldset) { animation: none; }
:is(.apex-order, .apex-information) { --entry-delay: 650ms; }
:is(.apex-gallery-stage, .titan-hero-media) {
  animation: wave-entry-gallery 650ms var(--entry-ease) 250ms backwards;
}
:is(#mainImage, #titanHeroImage) {
  transform-origin: center bottom;
  animation: wave-entry-image 650ms var(--entry-ease) 250ms backwards;
}
@keyframes wave-entry-rise {
  from { opacity: 0; transform: translateY(var(--entry-distance)); }
  to { opacity: 1; transform: none; }
}
@keyframes wave-entry-gallery {
  from { opacity: 0; transform: translateY(var(--entry-gallery-distance)); }
  to { opacity: 1; transform: none; }
}
@keyframes wave-entry-image {
  from { transform: scale(var(--entry-image-scale)); }
  to { transform: none; }
}
@media (max-width: 900px) {
  :root { --entry-distance: 12px; --entry-gallery-distance: 10px; --entry-image-scale: 1.015; }
}
/* Normal content is the fallback. Cancelling or reducing motion reveals it
   immediately, without affecting carousel animations or configuration state. */
html[data-product-entry-complete] :is(.apex-intro > *, .titan-hero-eyebrow,
    .titan-hero h1, .titan-hero-subtitle, .apex-options-header,
    .apex-form > fieldset, .volt-options, .titan-options, .apex-order,
    .apex-information, .apex-gallery-stage, .titan-hero-media, #mainImage, #titanHeroImage) {
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  :is(.apex-intro > *, .titan-hero-eyebrow, .titan-hero h1, .titan-hero-subtitle,
      .apex-options-header, .apex-form > fieldset, .volt-options, .titan-options,
      .apex-order, .apex-information, .apex-gallery-stage, .titan-hero-media,
      #mainImage, #titanHeroImage) { animation: none; }
}
