/* Premium motion system — generated storefronts (additive).
   Safety rule: content is ALWAYS visible unless the motion runtime is confirmed
   alive (.sg-motion-ready on root). A missing/blocked JS file must never hide sections. */
.sg-generated-root[data-sg-render-mode="generated"] {
  --sg-motion-ease: cubic-bezier(.22, 1, .36, 1);
  --sg-motion-duration: .85s;
}

.sg-generated-root.sg-motion-ready section[data-sg-node][data-sg-scroll-fade="1"]:not(.sg-motion-in) {
  opacity: 0;
  transform: translateY(28px);
  will-change: opacity, transform;
}

.sg-generated-root.sg-motion-ready section[data-sg-node][data-sg-scroll-fade="1"] {
  transition: opacity var(--sg-motion-duration) var(--sg-motion-ease),
              transform var(--sg-motion-duration) var(--sg-motion-ease);
}

.sg-generated-root section[data-sg-node].sg-motion-in {
  opacity: 1;
  transform: none;
}

.sg-generated-root.sg-motion-ready section[data-sg-cinema="1"][data-sg-motion="cinematic_rise"],
.sg-generated-root.sg-motion-ready section[data-sg-motion="cinematic_rise"] {
  animation: sg-hero-reveal 1.15s var(--sg-motion-ease) both;
}
.sg-generated-root.sg-motion-ready section[data-sg-motion="gentle_reveal"].sg-motion-in {
  animation: sg-section-rise .9s var(--sg-motion-ease) both;
}
.sg-generated-root.sg-motion-ready section[data-sg-motion="stagger_in"].sg-motion-in .sg-gen-h1,
.sg-generated-root.sg-motion-ready section[data-sg-motion="stagger_in"].sg-motion-in .sg-gen-h2,
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-h1,
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-h2,
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-kicker,
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-lede {
  animation: sg-text-stagger .8s var(--sg-motion-ease) both;
}
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-kicker { animation-delay: .05s; }
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-h1,
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-h2 { animation-delay: .12s; }
.sg-generated-root.sg-motion-ready section[data-sg-text-stagger="1"].sg-motion-in .sg-gen-lede { animation-delay: .22s; }

.sg-generated-root.sg-motion-ready section[data-sg-parallax="1"] .sg-gen-hero-stage img,
.sg-generated-root.sg-motion-ready section[data-sg-parallax="1"] .sg-gen-hero-visual img,
.sg-generated-root.sg-motion-ready section[data-sg-parallax="1"] .sg-gen-story-media img {
  transform: translate3d(0, var(--sg-parallax-y, 0px), 0) scale(1.06);
  transition: transform .2s linear;
  will-change: transform;
}

.sg-generated-root section[data-sg-hover-motion="1"] .sg-gen-product-card,
.sg-generated-root section[data-sg-hover-motion="1"] a.sg-gen-card {
  transition: transform .35s var(--sg-motion-ease), box-shadow .35s var(--sg-motion-ease);
}
.sg-generated-root section[data-sg-hover-motion="1"] .sg-gen-product-card:hover,
.sg-generated-root section[data-sg-hover-motion="1"] a.sg-gen-card:hover {
  transform: translateY(-4px);
}

@keyframes sg-hero-reveal {
  from { opacity: 0; transform: translateY(36px) scale(.985); }
  to { opacity: 1; transform: none; }
}
@keyframes sg-section-rise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: none; }
}
@keyframes sg-text-stagger {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sg-generated-root section[data-sg-node],
  .sg-generated-root section[data-sg-node] * {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
