/* Cinematic entrances and pointer depth, shared by every page. */
.image-reveal{--image-delay:0ms;--image-rx:0deg;--image-ry:0deg;--image-x:0px;--image-drift:0px;opacity:0;translate:0 65px;clip-path:inset(12% 6% 12% 6% round 5px);transition:opacity .85s ease var(--image-delay),translate 1.35s cubic-bezier(.16,1,.3,1) var(--image-delay),clip-path 1.45s cubic-bezier(.16,1,.3,1) var(--image-delay),transform .7s cubic-bezier(.16,1,.3,1)}
.image-reveal.image-entered{opacity:1;translate:0 0;clip-path:inset(0 round 5px)}
.card-image,.product-visual,.bento-main,.bento-secondary,.detail-picture{overflow:hidden;border-radius:5px;transform:perspective(1200px) rotateX(var(--image-rx,0deg)) rotateY(var(--image-ry,0deg))}
.card-image img,.bento-main>img,.bento-secondary>img,.detail-picture>img{scale:1.07;translate:var(--image-x,0px) var(--image-drift,0px);transition:scale 1.3s cubic-bezier(.16,1,.3,1),translate .65s cubic-bezier(.16,1,.3,1),filter .7s ease;transform-origin:center}
.image-reveal:not(.image-entered)>img{scale:1.22}
@media(hover:hover) and (pointer:fine){.product-card:hover .card-image img,.bento-main:hover>img,.bento-secondary:hover>img,.bento-detail:hover .detail-picture>img{transform:none;scale:1.15;filter:saturate(1.03)}.product-card:hover .card-arrow{transform:translate(3px,-3px) rotate(-8deg);background:#f5f1e5}.image-reveal:hover{box-shadow:0 18px 35px -27px #40332380}}
.card-arrow{transition:transform .6s cubic-bezier(.16,1,.3,1),background .5s ease}
.bento{animation:collection-arrive .95s cubic-bezier(.16,1,.3,1) both}
@keyframes collection-arrive{from{opacity:0;translate:0 40px;filter:blur(5px)}to{opacity:1;translate:0 0;filter:blur(0)}}
.story-photo>img{transition:opacity 1s ease,transform 2.1s cubic-bezier(.16,1,.3,1),clip-path 1.5s cubic-bezier(.16,1,.3,1);clip-path:inset(0 0 0 100%);transform:scale(1.18)}.story-photo>img.active{clip-path:inset(0);transform:scale(1)}
.reduce-motion .image-reveal{opacity:1;translate:none;transform:none;clip-path:none;transition:none}.reduce-motion .bento{animation:none}.reduce-motion .card-image img,.reduce-motion .bento img{transform:none!important;scale:1;translate:none}.reduce-motion .story-photo>img{clip-path:none;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.image-reveal{opacity:1;translate:none;transform:none;clip-path:none;transition:none}.bento{animation:none}.card-image img,.bento img{transform:none!important;scale:1;translate:none}.story-photo>img{clip-path:none;transform:none;transition:none}}
