/* Real photographs stay intact; only their frames move. */
html{overflow-x:clip}
.hero{overflow:hidden}
.hero-stage{position:relative;min-width:0;transform-style:preserve-3d;transition:transform .35s ease-out;isolation:isolate}
.hero-stage .hero-photo{width:84%;margin:0 9% 18px 7%;z-index:1;transform:translateZ(24px)}
.hero-stage .hero-photo a{height:535px}
.hero-stage .hero-photo figcaption{z-index:4;left:-23px;bottom:14px}
.hero-float{position:absolute;display:block;width:29%;height:184px;padding:7px;background:#fffaf5;border-radius:16px;box-shadow:0 18px 28px #54306340;z-index:2;transform-style:preserve-3d;transition:box-shadow .25s,scale .25s}
.hero-float img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;border-radius:10px}
.hero-float:hover,.hero-float:focus-visible{scale:1.07;box-shadow:0 22px 34px #54306355;z-index:5}
.hero-float-1{right:-3%;top:8%;transform:translateZ(72px) rotate(8deg);animation:float-one 5.5s ease-in-out infinite}
.hero-float-2{right:-8%;bottom:1%;width:25%;height:151px;transform:translateZ(62px) rotate(-8deg);animation:float-two 6.2s ease-in-out infinite}
@keyframes float-one{50%{translate:0 -11px}}
@keyframes float-two{50%{translate:0 10px}}
.photo-reel{overflow:hidden;background:#fff3f7;padding:43px 0 50px;border-bottom:1px solid #ecd6e2}
.reel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px}
.reel-heading .eyebrow{margin:0 0 7px}.reel-heading h2{font-size:clamp(1.7rem,3vw,2.7rem)}
.reel-pause{border:1px solid #a8588c;background:#fffaf5;color:#613663;border-radius:100px;padding:11px 18px;font-weight:750;font-size:.85rem;white-space:nowrap}
.reel-pause:hover,.reel-pause:focus-visible{background:#f5dae8}
.reel-viewport{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.reel-track{display:flex;width:max-content;animation:reel-scroll 48s linear infinite}
.reel-set{display:flex;align-items:stretch;gap:14px;padding-right:14px}
.reel-item{display:flex;flex-direction:column;flex:none;width:185px;min-height:224px;padding:7px 7px 11px;background:#fff;border:1px solid #efd8e5;border-radius:13px;box-shadow:0 7px 19px #44304b12;color:#29365b;text-decoration:none;transform:translateZ(0)}
.reel-item img{display:block;width:100%;height:167px;object-fit:cover;object-position:center 48%;border-radius:8px;background:#f2d5e4}
.reel-item span{padding:8px 4px 0;font-size:.78rem;font-weight:700;line-height:1.3}
.reel-item:hover{border-color:#ad548c}
.photo-reel.is-paused .reel-track,.reel-viewport:focus-within .reel-track,.reel-viewport:hover .reel-track{animation-play-state:paused}
@keyframes reel-scroll{to{transform:translateX(-50%)}}
@media(hover:hover) and (pointer:fine){.cake-card,.theme-card,.occasion-card{transform-style:preserve-3d;transition:transform .3s ease,box-shadow .3s ease}.cake-card:hover,.theme-card:hover,.occasion-card:hover{transform:perspective(850px) rotateX(2deg) rotateY(-3deg) translateY(-7px);box-shadow:12px 20px 30px #51326624}.cake-card img,.theme-card img,.occasion-card img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.cake-card:hover img,.theme-card:hover img,.occasion-card:hover img{transform:scale(1.035)}}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){.motion-ready .reveal-target:not(.is-visible){opacity:0;transform:translateY(24px)}.reveal-target{transition:opacity .75s ease,transform .75s ease}.reveal-target.is-visible{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.hero-stage .hero-photo a{height:500px}.hero-float{height:150px}.hero-float-2{height:126px}}
@media(max-width:700px){.hero-stage{width:min(100%,485px);margin:0 auto}.hero-stage .hero-photo{width:86%;margin:12px auto 22px}.hero-stage .hero-photo a{height:390px}.hero-stage .hero-photo figcaption{left:-9px}.hero-float-1{width:28%;height:124px;right:0;top:3%;animation:none;transform:rotate(7deg)}.hero-float-2{display:none}.photo-reel{padding:35px 0}.reel-heading{align-items:flex-start}.reel-heading h2{font-size:1.8rem}.reel-pause{display:none}.reel-viewport{overflow-x:auto;scroll-snap-type:x proximity;mask-image:none;scrollbar-width:thin;padding:0 17px 9px}.reel-track{animation:none}.reel-set[aria-hidden]{display:none}.reel-item{width:155px;min-height:200px;scroll-snap-align:start}.reel-item img{height:145px}}
@media(max-width:480px){.hero-stage .hero-photo a{height:345px}.hero-float-1{height:105px}.reel-heading{display:block}.reel-heading h2{font-size:1.65rem}}
@media(max-width:370px){.hero-stage .hero-photo a{height:300px}.hero-float-1{height:90px}}
@media(prefers-reduced-motion:reduce){.hero-stage,.hero-float,.reel-track,.reveal-target,.cake-card,.theme-card,.occasion-card,.cake-card img,.theme-card img,.occasion-card img{animation:none!important;transition:none!important;transform:none!important;translate:none!important}.reel-viewport{overflow-x:auto;mask-image:none;scroll-snap-type:x proximity}.reel-set[aria-hidden]{display:none}.reel-pause{display:none}}
