/* One motion language: restrained distances, no spring overshoot or hover re-layering. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1)}
.hero-gallery{perspective:none;isolation:isolate}
.hero-panel,.hero-panel:hover{animation:none;scale:1;z-index:1;will-change:auto;transition:translate .45s var(--motion-ease)}
.hero-panel-1{transform:none}.hero-stamp{z-index:5;pointer-events:none;animation:none}
.hero-frame,.hero-gallery.is-playing .hero-frame.is-current{transform:none;transition:opacity 1.2s ease-in-out}
.hero-orbit,.hero-squiggle,.hero-star,.season-art,.paper-note,.page-intro::after,footer::before{animation:none}
.button,.occasion-tile,.collection-rail .card-image,.journal-image,.journal-magazine .journal-card:nth-child(n+4) .journal-image,.seasonal-card,.how-steps article{transition:transform .4s var(--motion-ease)}
.button:hover{transform:translateY(-2px)}.button:hover::before{transform:none}.button:hover .icon{transform:translateX(3px)}
.occasion-tile:hover{transform:translateY(-3px)}.occasion-tile:hover .occasion-arrow{animation:none}
.collection-rail .collection-card:hover .card-image{transform:rotate(0) translateY(-3px)}
.journal-image:hover,.journal-magazine .journal-card:nth-child(n+4):hover .journal-image,.journal-magazine .journal-card:nth-child(n+4):focus-within .journal-image,.seasonal-card:hover{transform:translateY(-3px)}
.mood-panel,.mood-panel.is-active{transform:none;transition:flex-grow .6s var(--motion-ease)}
.mood-panel img{transition:transform .65s var(--motion-ease)}.mood-panel:hover img{transform:scale(1.02)}
.mood-panel.is-active>i{animation:none}.mood-caption.is-changing{animation:none}
.reveal{transition:opacity .5s ease-out}.reveal.will-reveal{transform:none}.reveal.is-visible{transform:none}
.joy-track{animation-duration:55s}.film-track{animation-duration:80s}
[data-motion-visible=false] .joy-track,[data-motion-visible=false] .film-track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.hero-panel:hover,.hero-panel:focus-visible{translate:0 -3px}}
@media(hover:none),(pointer:coarse){
 .hero-panel:hover{translate:none;scale:1}
 .button:hover,.occasion-tile:hover,.journal-image:hover,.journal-magazine .journal-card:nth-child(n+4):hover .journal-image,.seasonal-card:hover,.how-steps article:hover{transform:none}
 .collection-rail .card-image,.collection-rail .collection-card:hover .card-image{transform:none!important}
 .card-image a:hover img,.journal-image:hover img,.idea-image:hover img,.mood-panel:hover img{transform:none}
 .mood-panel{transition:none}
}
@media(prefers-reduced-motion:reduce){.hero-panel:hover,.hero-panel:focus-visible{translate:none}}
/* Include the inter-item gap when wrapping the duplicated ribbon content. */
.joy-track{--ribbon-half-gap:25px}
@keyframes ribbon-run{to{transform:translateX(calc(-50% - var(--ribbon-half-gap)))}}
@media(max-width:600px){.joy-track{--ribbon-half-gap:15px}}
