/* Visible without JavaScript; entrances replay after fully leaving view. */
.ggs-storefront #store-main,.ggs-storefront .store-footer{overflow-x:clip}
.ggs-storefront .reveal,.ggs-storefront .reveal[data-anim]{--reveal-diagonal:44px;opacity:1;transform:none;will-change:auto}
/* Pending boxes stay at their normal position for a stable halfway-visible trigger. */
.ggs-storefront .reveal[data-reveal-state="pending"]{opacity:0;transform:none;transition:none}
/* The hidden starting pose is applied only after that trigger; fade and movement then start together. */
.ggs-storefront .reveal[data-reveal-state="primed"]{transform:translateY(52px)}
.ggs-storefront .reveal[data-reveal-state="primed"]{opacity:0;transition:none}
.ggs-storefront .reveal[data-reveal-state="running"]{opacity:1;transform:none;transition:opacity var(--entrance-duration,450ms) ease,transform var(--entrance-duration,450ms) var(--entrance-ease,cubic-bezier(.4,0,.6,1));transition-delay:var(--reveal-delay,0ms)}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="left"]{transform:translateX(-64px)}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="right"]{transform:translateX(64px)}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="down"]{transform:translateY(-52px)}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="fade"]{transform:none}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="top-left"]{transform:translate(calc(-1 * var(--reveal-diagonal)),calc(-1 * var(--reveal-diagonal)))}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="top-right"]{transform:translate(var(--reveal-diagonal),calc(-1 * var(--reveal-diagonal)))}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="bottom-left"]{transform:translate(calc(-1 * var(--reveal-diagonal)),var(--reveal-diagonal))}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="bottom-right"]{transform:translate(var(--reveal-diagonal),var(--reveal-diagonal))}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="pop"]{transform:translateY(18px) scale(.78)}
.ggs-storefront .reveal[data-reveal-state="running"][data-anim="pop"]{--entrance-ease:cubic-bezier(.3,1.12,.4,1)}
/* Dedicated main hero entrance, independent of its copy. */
.ggs-storefront .nova-hero-character.reveal{transform-origin:45% 100%}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="hero-arrive"]{transform:translate3d(-100px,64px,0) rotate(-5deg) scale(.9)}
.ggs-storefront .reveal[data-reveal-state="running"][data-anim="hero-arrive"]{--entrance-ease:cubic-bezier(.22,1.08,.3,1)}
.ggs-storefront .reveal[data-reveal-state="primed"][data-anim="hero-copy-in"]{transform:translateX(44px)}
/* Float only after the entrance; the fixed artwork clip keeps the lower edge inside the card. */
@keyframes gifty-hero-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.ggs-storefront .nova-hero-art[data-floating="true"]>.nova-hero-character[data-reveal-state="done"]{animation:gifty-hero-float 5s ease-in-out infinite;will-change:transform}
/* The user explicitly enabled full site effects on this PC. */
:root[data-entrance-motion="full"] .ggs-storefront .nova-hero-art[data-floating="true"]>.nova-hero-character[data-reveal-state="done"]{animation:gifty-hero-float 5s ease-in-out infinite!important;will-change:transform}
:root[data-entrance-motion="full"] .ggs-storefront .nova-hero-slide{transition:opacity .35s ease,visibility .35s step-end!important}
:root[data-entrance-motion="full"] .ggs-storefront .nova-hero-slide.is-active{transition:opacity .35s ease,visibility 0s!important}
:root[data-entrance-motion="full"] .ggs-storefront .is-product-carousel [data-product-track]{transition:transform 450ms var(--ease)!important}
@media(max-width:650px){
 .ggs-storefront .reveal{--reveal-diagonal:22px}
 .ggs-storefront .reveal[data-reveal-state="primed"]{transform:translateY(28px)}
 .ggs-storefront .reveal[data-reveal-state="primed"][data-anim="hero-arrive"]{transform:translate3d(-24px,36px,0) rotate(-3deg) scale(.94)}
 .ggs-storefront .reveal[data-reveal-state="primed"][data-anim="hero-copy-in"]{transform:translateX(24px)}
 .ggs-storefront .reveal[data-reveal-state="primed"][data-anim="left"]{transform:translateX(-28px)}
 .ggs-storefront .reveal[data-reveal-state="primed"][data-anim="right"]{transform:translateX(28px)}
 .ggs-storefront .reveal[data-reveal-state="primed"][data-anim="down"]{transform:translateY(-28px)}
 .ggs-storefront .reveal[data-reveal-state="primed"][data-anim="fade"]{transform:none}
}
/* Per-widget preferences can override the site policy, including OS reduced motion. */
.ggs-storefront .reveal[data-reveal-state="running"][data-reveal-motion="full"]{transition:opacity var(--entrance-duration,450ms) ease,transform var(--entrance-duration,450ms) var(--entrance-ease,cubic-bezier(.4,0,.6,1))!important;transition-delay:var(--reveal-delay,0ms)!important}
.ggs-storefront .reveal[data-reveal-motion="reduced"]{transform:none!important;will-change:auto!important}
.ggs-storefront .reveal[data-reveal-state="running"][data-reveal-motion="reduced"]{transition:opacity 180ms ease!important;transition-delay:0ms!important}
@media print{.ggs-storefront .reveal[data-reveal-state]{opacity:1!important;transform:none!important;transition:none!important}:root[data-entrance-motion] .ggs-storefront .nova-hero-art>.nova-hero-character{animation:none!important;transform:none!important;will-change:auto!important}}
