/* A second pass in depth and movement, preserving the Cabin's original visual language. */
.hero{height:810px;padding-top:58px;grid-template-columns:1.05fr 1fr}
.hero-copy h1{margin-top:22px}
.hero-treats{display:flex;align-items:center;gap:18px;margin-top:37px;width:max-content;max-width:100%;font:italic 1.2rem/1.25 var(--serif)}
.hero-treats small{display:block;font:400 .75rem/1.5 var(--sans);margin-top:7px}
.treat-photos{display:flex;padding-left:6px;flex:none}
.treat-photos img{height:62px;width:62px;object-fit:cover;border:4px solid var(--cream);border-radius:50%;box-shadow:0 4px 12px #41241d18;transform:rotate(-8deg)}
.treat-photos img+img{margin-left:-14px;transform:rotate(8deg)}
.hero-art{height:610px;perspective:1200px;isolation:isolate}
.cake-backdrop{position:absolute;inset:28px 3% 24px 5%;border-radius:48% 48% 8px 8px;background:linear-gradient(155deg,#fff6e74a,#fff9f025 65%,#fff9f010);border:1px solid #fff9f062;z-index:-1}
.cake-edition{position:absolute;top:15px;left:8%;font:italic 1.2rem/1.2 var(--serif);transform:rotate(-5deg);z-index:5}
.cake-edition span{font:500 .6rem/1.5 var(--sans);letter-spacing:.1em;display:block;margin-top:8px}
.cake-viewport{position:absolute;inset:46px -3% 30px -2%;z-index:3;pointer-events:none}
.hero-cake-wrap{inset:0;transform:rotate(-5deg);transition:transform .12s ease-out;will-change:transform}
.hero-cake.cutout{width:520px;max-height:565px;max-width:105%;transform:none;filter:drop-shadow(0 27px 21px #41241d25)}
.hero-art .note-top{top:-10px;right:4%;transform:rotate(7deg);z-index:5}
.hero-art .note-top span:first-child{font-size:2.2rem}
.hero-art .note-top span:last-child{font-size:.7rem}
.hero-photo{position:absolute;margin:0;background:var(--cream);padding:8px 8px 10px;width:140px;border-radius:2px;box-shadow:1px 3px 0 #e9d5c6,2px 6px 0 #e9d5c6,0 15px 24px #41241d24;transition:transform .15s ease-out;will-change:transform}
.hero-photo img{width:100%;height:154px;object-fit:cover}
.hero-photo figcaption{font:italic .875rem/1.3 var(--serif);margin-top:9px;text-align:center}
.photo-minis{top:92px;left:4%;z-index:2;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),20px) rotate(-11deg) rotateY(var(--photo-perspective,-6deg))}
.photo-celebration{right:0;bottom:39px;z-index:4;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),35px) rotate(9deg) rotateY(var(--photo-perspective,5deg))}
.hero-photo-credit{position:absolute;bottom:-7px;left:14%;right:14%;text-align:center;font-size:.6rem;letter-spacing:.1em;opacity:.7}
[data-motion=off] .hero-cake-wrap{transform:rotate(-5deg)!important}
[data-motion=off] .photo-minis{transform:rotate(-11deg)!important}
[data-motion=off] .photo-celebration{transform:rotate(9deg)!important}
.flavour-ribbon .ribbon-track{display:flex;flex:none;width:max-content;animation:marquee 36s linear infinite;white-space:nowrap}
.flavour-ribbon .ribbon-group{display:flex;align-items:center;justify-content:space-around;gap:35px;min-width:100vw;flex:none;animation:none;padding:0 18px}
.flavour-ribbon .ribbon-group span{font:italic 2.4rem/1.3 var(--serif);padding:0;flex:none}
.ribbon-group i{font:normal 1.7rem/1 var(--sans);flex:none}
.flavour-visual{perspective:1200px;padding-bottom:42px}
.flavour-photo-frame{border:13px solid #efd0d0;border-bottom-width:18px;transform:rotate(-3deg) rotateY(var(--portal-y,-8deg)) rotateX(var(--portal-x,3deg));box-shadow:1px 1px 0 #e8b6bf,3px 3px 0 #e8b6bf,5px 5px 0 #d7a0ac,7px 7px 0 #d7a0ac,9px 9px 0 #c98e9a,11px 11px 0 #c98e9a,24px 32px 35px #41241d14;transition:transform .12s linear;transform-style:preserve-3d}
.flavour-photo-frame:after{content:'';position:absolute;inset:0;border-radius:40% 40% 1px 1px;box-shadow:inset 7px 0 17px #41241d25,inset -2px 0 5px #fff9f057;pointer-events:none}
.flavour-photo-frame img{transform:scale(1.035) translateX(var(--portal-photo,0px));transition:opacity .22s,transform .15s linear}
.flavour-photo-frame:hover img{transform:scale(1.06) translateX(var(--portal-photo,0px))}
.flavour-sticker{transform:rotate(11deg) translateZ(60px);box-shadow:1px 3px 0 #fff9f0,2px 6px 0 #dfacb6,0 15px 20px #41241d18}
.story-photo{perspective:1000px}
.story-photo img{transform:rotateY(-4deg);box-shadow:9px 5px 0 #e6bec1,17px 10px 0 #f5e1dc,25px 22px 40px #41241d10}
.film-card video{display:block;width:100%;height:460px;object-fit:cover}
.film-toggle{position:absolute;z-index:5;top:14px;right:14px;border:1px solid #fff9f05c;border-radius:22px;padding:7px 11px;background:#41241d73;color:var(--cream);backdrop-filter:blur(8px);display:flex;align-items:center;gap:7px;font-size:.7rem;min-height:34px}
.film-toggle>span:first-child{font-size:.7rem}
.film-card{box-shadow:7px 12px 0 #2a140e,14px 24px 30px #0e05072b}
.film-card:after{background:linear-gradient(transparent 65%,#180d09b0)}
.review-scroll{height:calc(100svh + 850px);position:relative}
.review-sticky{position:sticky;top:112px;min-height:650px;height:calc(100svh - 112px);max-height:950px;display:flex;flex-direction:column;justify-content:center;padding:28px 0 18px}
.review-heading h2{font-size:clamp(3rem,4.9vw,5.2rem)}
.reviews{position:relative;display:block;height:385px;flex:none;perspective:1400px;transform-style:preserve-3d;margin:34px 0 0;padding:0;border:0;isolation:isolate}
.reviews .review{position:absolute;top:25px;left:calc(50% - 185px);width:370px;min-height:300px;background:var(--cream);border:1px solid #41241d18;border-radius:6px;padding:23px 28px 27px;box-shadow:1px 3px 0 #eddbd0,2px 6px 0 #ebd3c5,0 25px 40px #41241d1f;transform-style:preserve-3d;transition:none;opacity:1}
.reviews .review blockquote{font-size:1.9rem;margin-bottom:24px}
.reviews .review-person{transform:translateZ(8px)}
.reviews .review-person a{max-width:235px}
.reviews .quote-mark{color:#aa6770;opacity:.9}
.review-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:6px;border-top:1px solid var(--line);padding-top:15px}
.review-controls p{font:italic 1.15rem/1.2 var(--serif);text-align:right}
.review-controls p>span{display:block;font:400 .7rem/1.4 var(--sans);margin-top:5px}
.review-dots{display:flex;gap:8px}
.review-dots button{background:transparent;border:1px solid #41241d3b;border-radius:50%;width:36px;height:36px;font-size:.7rem;color:var(--brown);padding:0;transition:background .3s,color .3s}
.review-dots button.active{background:var(--brown);color:var(--cream)}
.love-section{padding-bottom:55px}
.love-section>.section-top{margin-bottom:10px}
[data-motion=off] .flavour-photo-frame{transform:rotate(-3deg)}
[data-motion=off] .review-scroll{height:auto}
[data-motion=off] .review-sticky{height:auto;min-height:0;max-height:none;position:relative;top:0;padding:35px 0}
[data-motion=off] .reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;height:auto;perspective:none;margin:40px 0 26px}
[data-motion=off] .reviews .review{position:relative;top:0;left:0;width:auto;transform:none!important;opacity:1!important}
[data-motion=off] .review-controls{display:none}
@media(min-width:1600px){.hero{height:880px;padding-top:75px}.hero-art{height:670px}.cake-viewport{inset:72px -2% 72px 0}.hero-copy h1{font-size:8.5rem}.hero-treats{margin-top:45px}}
@media(max-width:1100px) and (min-width:761px){.hero{height:790px;padding-top:45px}.hero-art{height:610px}.hero-treats{font-size:1rem;gap:10px;margin-top:40px}.treat-photos img{height:52px;width:52px}.hero-art .note-top span:first-child{font-size:1.8rem}.cake-edition{left:3%;font-size:1.2rem}.cake-viewport{inset:65px -6% 87px}.review-sticky{top:112px}.reviews .review{width:330px;left:calc(50% - 165px);padding:24px}.reviews .review blockquote{font-size:1.65rem}}
@media(max-width:899px){.review-scroll{height:auto}.review-sticky{height:auto;min-height:0;max-height:none;position:relative;top:0;padding:30px 0 10px}.reviews{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;perspective:none;gap:22px;height:auto;margin:35px -6vw 20px;padding:15px 6vw 40px;transform-style:flat;scrollbar-width:thin;scrollbar-color:#603f3466 transparent}.reviews .review{position:relative;top:0;left:0;flex:0 0 min(370px,80vw);min-height:290px;width:auto;scroll-snap-align:center;transform:none!important;opacity:1!important;margin:0;border-bottom:1px solid #41241d18;padding:25px}.review-controls{margin-top:0}.review-controls p>span{display:none}[data-motion=off] .reviews{display:flex;height:auto;gap:22px;margin:35px -6vw 20px}[data-motion=off] .reviews .review{flex:0 0 min(370px,80vw)}[data-motion=off] .review-controls{display:flex}.recommend-score{margin-top:20px}}
@media(max-width:760px){.hero{height:auto;min-height:0;padding:40px 6vw 105px}.hero-treats{margin-top:27px;font-size:1rem;gap:12px}.treat-photos img{height:49px;width:49px;border-width:3px}.hero-treats small{font-size:.7rem;margin-top:5px}.hero-art{height:500px;margin-top:35px}.cake-backdrop{inset:30px 1% 62px 1%}.cake-edition{top:40px;left:4%;font-size:1rem}.cake-edition span{font-size:.5rem}.hero-art .note-top{right:3%;top:0}.hero-art .note-top span:first-child{font-size:1.7rem}.hero-art .note-top span:last-child{font-size:.6rem}.cake-viewport{inset:65px -8% 55px}.hero-cake.cutout{width:385px;max-height:430px;max-width:106%}.hero-bottom{bottom:24px}.flavour-ribbon .ribbon-group{gap:24px;padding:0 12px}.flavour-ribbon .ribbon-group span{font-size:1.8rem}.ribbon-group i{font-size:1.35rem}.flavour-photo-frame{border-width:10px;border-bottom-width:14px}.flavour-sticker{right:0}.film-card video{height:330px}.film-toggle{padding:5px 8px;min-height:29px;right:9px;top:9px;font-size:.65rem}.film-toggle>span:first-child{font-size:.6rem}.story-photo img{transform:rotateY(-3deg);box-shadow:6px 4px 0 #e6bec1,12px 8px 0 #f5e1dc,20px 20px 35px #41241d10}.review-heading h2{font-size:3rem}.review-controls p{font-size:1rem;max-width:180px}.reviews .review blockquote{font-size:1.85rem}.review-controls{gap:10px}.review-dots button{width:32px;height:32px}.love-section{padding-bottom:50px}}
@media(max-width:390px){.hero-art{height:475px}.hero-copy h1{font-size:12.6vw}.hero-treats{font-size:.95rem}.cake-edition{font-size:.9rem}.cake-viewport{inset:65px -9% 60px}.film-card video{height:285px}.review-heading h2{font-size:2.7rem}}

/* Compact the hand-off between the flavour edit and occasion collection. */
.section-pad{padding:76px 5vw 80px}
.section-top{margin-bottom:36px;padding-bottom:16px}
.section-title{margin-bottom:42px}
.flavours{padding-bottom:42px}
.flavour-visual{padding-bottom:24px}
.photo-caption{margin-top:18px}
.format-section{padding-top:54px}
.format-heading{margin-bottom:40px}
.format-mini{margin-top:45px}
.format-party{margin-top:92px}
.price-source{margin-top:40px}
.cabin-film{padding:86px 5vw}
.story-section{padding-top:90px;padding-bottom:94px}
.order-section{padding-top:90px;padding-bottom:90px}
/* Native video surfaces remain flat: a transformed 3D ancestor can hide their pixels. */
.film-gallery{perspective:none;transform-style:flat;isolation:isolate}
.film-card,.film-card:first-child,.film-card:last-child{transform:none!important;transform-style:flat;will-change:auto;border:6px solid #69423a;border-radius:9px;box-shadow:5px 8px 0 #2a140e,12px 18px 26px #0e05072b}
.film-card video{position:relative;z-index:1;opacity:0;backface-visibility:visible;transform:none!important}
.film-card.has-frame video{opacity:1}
.film-card .film-poster{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.film-card:after{z-index:2}
.film-label{bottom:40px}
.film-original{position:absolute;bottom:12px;left:22px;color:#fff9f0cf;font-size:.625rem;line-height:1.3;border-bottom:1px solid #fff9f066;z-index:4}
.film-copy{padding:14px 0}
.film-gallery{padding:16px 0;gap:23px}
.film-card:first-child{margin-bottom:40px}
.film-card:last-child{margin-top:40px}
@media(min-width:1600px){.hero{height:850px;padding-top:55px}.hero-art{height:650px}.hero-copy h1{font-size:8rem}.hero-treats{margin-top:30px}.cake-viewport{inset:45px -2% 22px 0}.hero-cake.cutout{width:565px;max-height:610px}.photo-minis{left:8%;top:93px}.photo-celebration{right:5%;bottom:43px}.hero-photo{width:155px}.hero-photo img{height:170px}}
@media(max-width:1100px) and (min-width:761px){.hero-art{height:590px}.hero-cake.cutout{width:460px;max-height:520px}.hero-photo{width:112px;padding:6px 6px 8px}.hero-photo img{height:127px}.hero-photo figcaption{font-size:.75rem}.photo-minis{left:-3%;top:90px}.photo-celebration{right:-1%;bottom:44px}.hero-photo-credit{left:3%;right:3%;font-size:.55rem}}
@media(max-width:760px){.section-pad{padding:50px 6vw}.section-top{margin-bottom:28px}.section-title{margin-bottom:30px}.flavours{padding-bottom:34px}.format-section{padding-top:42px}.flavour-stage{gap:24px}.format-heading{margin-bottom:30px}.format-card{margin:0 0 34px}.price-source{margin-top:28px}.cabin-film{padding:54px 6vw}.story-section{padding-top:60px;padding-bottom:65px;gap:45px}.order-section{padding-top:60px;padding-bottom:60px}.hero-art{height:465px;margin-top:28px}.hero-cake.cutout{width:355px;max-height:405px;max-width:110%}.cake-viewport{inset:48px -4% 30px}.cake-edition{font-size:.9rem;top:23px;left:1%}.hero-photo{width:87px;padding:5px 5px 7px}.hero-photo img{height:92px}.hero-photo figcaption{font-size:.65rem;margin-top:6px}.photo-minis{top:76px;left:-3%}.photo-celebration{right:0;bottom:38px}.hero-art .note-top{right:0;top:-4px}.hero-photo-credit{font-size:.5rem;bottom:0;left:5%;right:5%}.film-gallery{margin-top:25px;gap:15px;padding:14px 0}.film-card,.film-card:first-child,.film-card:last-child{border-width:4px}.film-label{left:11px;bottom:33px}.film-original{left:11px;bottom:12px;font-size:.55rem}}
@media(max-width:390px){.hero-art{height:440px}.hero-cake.cutout{max-height:385px;width:340px}.cake-viewport{inset:46px -4% 26px}.hero-photo{width:82px}.hero-photo img{height:88px}.photo-minis{top:73px}.photo-celebration{bottom:30px}}

/* Two original celebration photographs, framed as a pair of sculptural windows. */
.celebration-art{height:630px;perspective:1400px}
.celebration-art .cake-backdrop{inset:50px -2% 22px 6%;border-radius:48% 48% 16px 16px;background:linear-gradient(145deg,#fff9f066,#fff9f00d);border-color:#fff9f075;transform:rotate(4deg)}
.celebration-art .cake-edition{top:0;left:3%;transform:rotate(-4deg);font-size:1.25rem}
.celebration-art .cake-edition span{font-size:.65rem;letter-spacing:.11em}
.celebration-art .hero-photo{padding:8px 8px 15px;border:1px solid #fff9f0;border-radius:50% 50% 9px 9px / 25% 25% 9px 9px;background:var(--cream);box-shadow:3px 4px 0 #ddadb4,6px 8px 0 #d6a2ad,12px 18px 26px #41241d24;transition:transform .2s ease-out;transform-origin:center 65%}
.celebration-art .photo-strawberry{top:48px;left:2%;width:54%;max-width:350px;z-index:3;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),30px) rotate(-7deg) rotateY(var(--photo-perspective,-3deg))}
.celebration-art .photo-baby{top:118px;right:0;width:49%;max-width:315px;z-index:2;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0) rotate(8deg) rotateY(var(--photo-perspective,4deg))}
.celebration-photo{aspect-ratio:2/3;overflow:hidden;border-radius:50% 50% 5px 5px / 28% 28% 5px 5px;background:#6b4d36}
.celebration-art .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;transform:scale(1.025) translateY(var(--photo-image-y,0px));transition:transform .2s ease-out}
.celebration-art .hero-photo figcaption{font:italic 1.3rem/1.15 var(--serif);text-align:left;margin:12px 6px 0}
.celebration-art .hero-photo figcaption span{display:block;font:500 .625rem/1.4 var(--sans);letter-spacing:.08em;margin-bottom:5px}
.celebration-note{position:absolute;left:37%;bottom:4px;z-index:4;transform:rotate(-8deg);font:italic 1.65rem/1.05 var(--serif);pointer-events:none;color:var(--brown);text-shadow:1px 1px 0 var(--pink)}
.celebration-note span{display:block}
[data-motion=off] .celebration-art .photo-strawberry{transform:rotate(-7deg)!important}
[data-motion=off] .celebration-art .photo-baby{transform:rotate(8deg)!important}
[data-motion=off] .celebration-art .hero-photo img{transform:scale(1.025)}
@media(min-width:1600px){.celebration-art{height:650px;max-width:760px;margin-left:auto;width:100%}.celebration-art .photo-strawberry{max-width:370px;left:5%;top:32px}.celebration-art .photo-baby{max-width:330px;right:2%;top:100px}.celebration-note{left:38%;bottom:0}}
@media(max-width:1100px) and (min-width:761px){.celebration-art{height:520px}.celebration-art .photo-strawberry{left:0;top:68px}.celebration-art .photo-baby{top:125px;right:0}.celebration-art .hero-photo{padding:6px 6px 12px}.celebration-art .hero-photo figcaption{font-size:1rem;margin:9px 3px 0}.celebration-art .hero-photo figcaption span{font-size:.55rem;letter-spacing:.04em}.celebration-note{bottom:25px;font-size:1.4rem}.celebration-art .cake-edition{font-size:1rem;top:5px}.celebration-art .cake-edition span{font-size:.55rem}}
@media(max-width:760px){.celebration-art{height:430px;margin-top:40px;max-width:440px;width:100%;margin-left:auto;margin-right:auto}.celebration-art .cake-backdrop{inset:20px -2% 10px 1%}.celebration-art .cake-edition{top:-14px;left:1%;font-size:1.1rem}.celebration-art .cake-edition span{font-size:.55rem}.celebration-art .photo-strawberry{top:47px;left:1%;width:54%;max-width:none}.celebration-art .photo-baby{top:97px;right:0;width:49%;max-width:none}.celebration-art .hero-photo{padding:5px 5px 11px;border-radius:50% 50% 7px 7px / 25% 25% 7px 7px;box-shadow:2px 3px 0 #ddadb4,4px 6px 0 #d6a2ad,8px 12px 22px #41241d22}.celebration-art .hero-photo figcaption{font-size:1rem;margin:9px 3px 0;line-height:1.2}.celebration-art .hero-photo figcaption span{font-size:.5rem;letter-spacing:.04em}.celebration-note{left:35%;bottom:4px;font-size:1.3rem}}
@media(max-width:390px){.celebration-art{height:405px}.celebration-art .photo-strawberry{top:44px}.celebration-art .photo-baby{top:90px}.celebration-art .hero-photo figcaption{font-size:.9rem}.celebration-note{font-size:1.25rem;bottom:0}}
.starting-price-label{display:block;font-size:.7rem;letter-spacing:.09em;line-height:1.4;margin-bottom:6px;font-weight:500}
.order-price-note{font-size:.875rem;line-height:1.6;margin:-5px 0 22px;color:#6c4b40}
.price-source strong{font-weight:600}
.review-source{display:block;margin-top:6px;font-size:.8rem;text-decoration:underline;text-underline-offset:3px}
.film-copy h2{margin-top:0}
.story-copy h2,.order-intro h2{margin-top:0}
.celebration-art .cake-edition{top:-12px}
.celebration-art .cake-edition span,.celebration-art .hero-photo figcaption span{font-size:.75rem;letter-spacing:.04em}
.celebration-art .photo-baby figcaption{text-align:right}
@media(max-width:760px){.celebration-art .cake-edition{top:-16px}.celebration-art .cake-edition span{font-size:.75rem}.celebration-art .hero-photo figcaption span{font-size:.75rem;letter-spacing:0}.celebration-art .photo-strawberry{left:3%;width:52%}.celebration-art .photo-baby{top:105px}.celebration-art{height:450px}}
@media(max-width:390px){.celebration-art{height:425px}.celebration-art .photo-baby{top:98px}}
