.scroll-fade-in{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-in.is-visible{opacity:1;transform:translateY(0)}.scroll-fade-in-left{opacity:0;transform:translate(-50px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-in-left.is-visible{opacity:1;transform:translate(0)}.scroll-fade-in-right{opacity:0;transform:translate(50px);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-fade-in-right.is-visible{opacity:1;transform:translate(0)}.scroll-scale-in{opacity:0;transform:scale(.9);transition:opacity .8s ease-out,transform .8s ease-out}.scroll-scale-in.is-visible{opacity:1;transform:scale(1)}.scroll-stagger{opacity:0;transform:translateY(30px)}.scroll-stagger.is-visible{animation:staggerFadeInUp .6s ease-out forwards}.scroll-stagger:nth-child(1){animation-delay:.1s}.scroll-stagger:nth-child(2){animation-delay:.2s}.scroll-stagger:nth-child(3){animation-delay:.3s}.scroll-stagger:nth-child(4){animation-delay:.4s}.scroll-stagger:nth-child(5){animation-delay:.5s}@keyframes staggerFadeInUp{to{opacity:1;transform:translateY(0)}}.parallax-container{position:relative;overflow:hidden}.parallax-element{will-change:transform;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.parallax-slow,.parallax-medium,.parallax-fast{transform:translateY(0)}.typewriter{overflow:hidden;white-space:nowrap;animation:typewriter 3s steps(40,end)}@keyframes typewriter{0%{width:0}to{width:100%}}.text-reveal{position:relative;overflow:hidden}.text-reveal:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-shinran);transform:translate(-100%);animation:revealText 1s ease-out forwards}@keyframes revealText{0%{transform:translate(-100%)}50%{transform:translate(0)}to{transform:translate(100%)}}.char-animation{display:inline-block;opacity:0;transform:translateY(20px) rotateX(90deg);transform-origin:bottom;animation:charFadeIn .6s ease-out forwards}@keyframes charFadeIn{to{opacity:1;transform:translateY(0) rotateX(0)}}.ken-burns{overflow:hidden}.ken-burns img{animation:kenBurns 20s ease-in-out infinite alternate}@keyframes kenBurns{0%{transform:scale(1) translate(0)}to{transform:scale(1.2) translate(-5%,-5%)}}.image-reveal{position:relative;overflow:hidden}.image-reveal:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--color-junpaku);animation:imageMaskReveal 1.2s cubic-bezier(.77,0,.175,1) forwards}@keyframes imageMaskReveal{0%{left:-100%}50%{left:0}to{left:100%}}.sakura-petals{position:fixed;top:-10px;z-index:9999;animation:sakuraFall 10s linear infinite}@keyframes sakuraFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.autumn-leaves{position:fixed;top:-10px;z-index:9999;animation:leafFall 15s ease-in-out infinite}@keyframes leafFall{0%{transform:translateY(0) translate(0) rotate(0);opacity:1}25%{transform:translateY(25vh) translate(20px) rotate(90deg)}50%{transform:translateY(50vh) translate(-20px) rotate(180deg)}75%{transform:translateY(75vh) translate(15px) rotate(270deg)}to{transform:translateY(100vh) translate(0) rotate(360deg);opacity:0}}.ripple{position:relative;overflow:hidden}.ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff80;transform:translate(-50%,-50%);animation:rippleEffect 1s ease-out}@keyframes rippleEffect{to{width:300px;height:300px;opacity:0}}.wave-animation{position:relative;overflow:hidden}.wave-animation:before,.wave-animation:after{content:"";position:absolute;bottom:0;left:0;width:200%;height:100px;background:url(../images/wave.svg) repeat-x;animation:wave 10s cubic-bezier(.36,.45,.63,.53) infinite}.wave-animation:after{animation-delay:-5s;opacity:.5}@keyframes wave{0%{transform:translate(0)}to{transform:translate(-50%)}}.magnetic-btn{position:relative;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.card-flip{perspective:1000px}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform .8s;transform-style:preserve-3d}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-flip-front,.card-flip-back{position:absolute;width:100%;height:100%;backface-visibility:hidden}.card-flip-back{transform:rotateY(180deg)}.shimmer{background:linear-gradient(90deg,var(--color-usuzumi) 0%,var(--color-kaihaku) 50%,var(--color-usuzumi) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.ingredient-reveal{position:relative;overflow:hidden}.ingredient-reveal:before{content:attr(data-ingredient);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:3rem;font-weight:700;color:var(--color-shinran);opacity:0;animation:ingredientPop .6s ease-out forwards}@keyframes ingredientPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.8}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.page-transition{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--color-shinran);transform:translateY(-100%);z-index:10000}.page-transition.active{animation:pageSlide 1.2s cubic-bezier(.77,0,.175,1)}@keyframes pageSlide{0%{transform:translateY(-100%)}50%{transform:translateY(0)}to{transform:translateY(100%)}}.float{animation:gentleFloat 6s ease-in-out infinite}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.glow{animation:softGlow 3s ease-in-out infinite alternate}@keyframes softGlow{0%{box-shadow:0 0 10px #07357733}to{box-shadow:0 0 20px #07357766}}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.parallax-element{transform:none!important}}.gradient-shift{background:linear-gradient(45deg,var(--color-shinran),var(--color-mizu),var(--color-fuji),var(--color-sakura));background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.morph{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:morph 8s ease-in-out infinite}@keyframes morph{0%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}}
/*# sourceMappingURL=/cdn/shop/t/67/assets/suzunoniwa-animations.css.map */
