@font-face{font-family:Kanit;src:url("fonts/kanit-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Kanit;src:url("fonts/kanit-semibold.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:Kanit;src:url("fonts/kanit-extrabold.ttf") format("truetype");font-weight:800;font-display:swap}
:root{--cream:#f7ecec;--cream-2:#f0dcdc;--pink:#ca7876;--berry:#ca7876;--cocoa:#4a2826;--brown:#7a4438;--butter:#e6aaa8;--ink:#ca7876;--line:rgba(202,120,118,.34);--pad:clamp(20px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{margin:0;background:var(--cream);color:var(--ink);font-family:Kanit,Arial,sans-serif;font-weight:400;overflow-x:visible}body.menu-open{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}p,h1,h2,h3,figure{margin:0}.skip-link{position:fixed;z-index:1000;left:16px;top:12px;transform:translateY(-160%);background:var(--cocoa);color:white;padding:12px 18px;border-radius:999px}.skip-link:focus{transform:none}.eyebrow{font-size:12px;line-height:1;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:82px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;transition:background-color .25s,color .25s,border-color .25s;border-bottom:1px solid transparent;mix-blend-mode:difference;color:white}.site-header.is-scrolled{mix-blend-mode:normal;background:rgba(247,236,236,.94);color:var(--ink);border-color:var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.brand-mark{width:28px;height:28px;display:grid;place-items:center;background:currentColor;color:var(--pink);border-radius:50%;font-size:14px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:13px}.desktop-nav a,.header-cta{position:relative}.desktop-nav a::after,.header-cta::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after,.header-cta:hover::after,.header-cta:focus-visible::after{transform:scaleX(1);transform-origin:left}.header-cta{justify-self:end;font-size:13px}.header-cta span{margin-left:6px}.menu-toggle,.mobile-menu{display:none}
.hero{height:185svh;background:var(--cream)}.hero-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--cream)}.hero-copy{position:absolute;z-index:2;inset:0;padding:112px var(--pad) 46px;pointer-events:none}.hero-copy .eyebrow{position:absolute;top:112px;left:var(--pad)}.hero h1{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:min(1200px,91vw);display:flex;flex-direction:column;align-items:center;font-size:clamp(76px,9.2vw,148px);line-height:.76;letter-spacing:-.065em;text-transform:uppercase;font-weight:800;text-align:center;transform-origin:center center}.hero h1 span{display:block}.hero-note{position:absolute;left:var(--pad);bottom:40px;max-width:31ch;font-size:15px;line-height:1.35;opacity:0}.hero-media{position:absolute;z-index:1;right:0;top:0;width:52%;height:100%;clip-path:inset(0 0 0 100%);overflow:hidden;border-left:12px solid var(--cocoa)}.hero-media img{object-position:58% center}.scroll-cue{position:absolute;z-index:4;right:var(--pad);bottom:28px;display:flex;align-items:center;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.scroll-cue i{width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-style:normal}
.journey{position:relative;height:430svh;background:var(--cream);border-top:1px solid var(--line)}.journey-sticky{position:sticky;z-index:1;top:0;height:100svh;display:grid;place-content:center;text-align:center;padding:100px 20px;pointer-events:none}.journey-sticky h2{font-size:clamp(64px,7.8vw,122px);line-height:.82;letter-spacing:-.055em;text-transform:uppercase;font-weight:800}.journey-sticky .eyebrow{margin-bottom:28px}.journey-count{margin-top:28px;font-size:14px}.journey-media-system{position:absolute;z-index:2;inset:0;pointer-events:none}.waypoint{position:absolute;width:clamp(210px,18vw,300px);pointer-events:auto}.waypoint img{aspect-ratio:4/5;border-radius:48% 52% 42% 58%/46% 40% 60% 54%;box-shadow:0 18px 50px rgba(74,40,38,.12)}.waypoint figcaption{display:grid;grid-template-columns:30px 1fr;gap:2px 10px;margin-top:12px;line-height:1.15}.waypoint figcaption span{grid-row:1/3;font-size:12px}.waypoint figcaption strong{font-size:16px}.waypoint figcaption small{font-size:12px;max-width:24ch;color:rgba(202,120,118,.82)}.wp-1{top:11%;left:5%}.wp-2{top:28%;right:7%}.wp-3{top:45%;left:18%;width:clamp(250px,24vw,390px)}.wp-3 img{aspect-ratio:4/3}.wp-4{top:63%;right:18%}.wp-5{top:82%;left:7%;width:clamp(280px,28vw,460px)}.wp-5 img{aspect-ratio:3/2}
.oven{position:relative;height:100svh;min-height:720px;overflow:hidden;background:var(--cocoa);color:var(--cream)}.oven figure{position:absolute;inset:0}.oven figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(53,28,27,.86) 0%,rgba(53,28,27,.35) 48%,rgba(53,28,27,.08) 75%)}.oven-copy{position:absolute;z-index:2;left:var(--pad);bottom:10vh}.oven-copy .eyebrow{margin-bottom:22px}.oven-copy h2{font-size:clamp(70px,8.8vw,138px);line-height:.8;letter-spacing:-.06em;text-transform:uppercase;font-weight:800}
.flavours{position:relative;background:var(--cream);padding:14vh var(--pad) 16vh;border-bottom-left-radius:50% 8vw;border-bottom-right-radius:50% 8vw}.flavour-heading{text-align:center}.flavour-heading .eyebrow{margin-bottom:22px}.flavour-heading h2{font-size:clamp(66px,8vw,128px);line-height:.82;letter-spacing:-.055em;text-transform:uppercase;font-weight:800}.flavour-stage{max-width:1280px;margin:11vh auto 0}.flavour-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flavour-tabs button{min-height:74px;background:transparent;border:0;border-right:1px solid var(--line);padding:12px 16px;cursor:pointer;text-transform:uppercase;font-size:13px;transition:background-color .25s,color .25s}.flavour-tabs button:last-child{border-right:0}.flavour-tabs button span{display:block;font-size:10px;margin-bottom:5px}.flavour-tabs button[aria-selected="true"]{background:var(--cocoa);color:var(--cream)}.flavour-panel{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:center;gap:6vw;min-height:680px}.flavour-visual{position:relative;width:min(52vw,660px);aspect-ratio:1;margin:auto}.flavour-visual figure{position:absolute;inset:0;border-radius:50%;overflow:hidden;opacity:0;visibility:hidden;transform:scale(.82) rotate(-4deg)}.flavour-visual figure.is-active{opacity:1;visibility:visible;transform:none}.flavour-copy>p:first-child{text-transform:uppercase;font-size:12px;letter-spacing:.1em}.flavour-copy h3{font-size:clamp(34px,4vw,62px);line-height:.94;letter-spacing:-.04em;margin:22px 0}.flavour-copy>p:last-child{font-size:18px;line-height:1.4;max-width:28ch}
.local{padding:17vh var(--pad) 15vh;background:var(--cream)}.local-heading{text-align:center;max-width:1150px;margin:0 auto}.local-heading .eyebrow{margin-bottom:24px}.local-heading h2{font-size:clamp(66px,8vw,126px);line-height:.82;letter-spacing:-.055em;text-transform:uppercase;font-weight:800}.local-heading>p:last-child{max-width:56ch;margin:30px auto 0;font-size:15px;line-height:1.55}.local-map{position:relative;width:min(100%,1000px);aspect-ratio:1.5;margin:10vh auto 0}.local-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.map-shape{fill:var(--cream-2);stroke:var(--pink);stroke-width:4}.map-route{fill:none;stroke:var(--berry);stroke-width:3;stroke-dasharray:10 13}.map-markers{position:absolute;inset:0}.marker{position:absolute;display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 16px 8px 8px;border:1px solid var(--cocoa);border-radius:999px;background:var(--cream);cursor:pointer;box-shadow:0 8px 30px rgba(74,40,38,.12);transition:transform .25s,background-color .25s,color .25s}.marker span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--butter);font-size:11px}.marker strong{font-size:12px;text-transform:uppercase;white-space:nowrap}.marker.is-active{background:var(--cocoa);color:white;transform:scale(1.08)}.marker-kitchen{left:18%;top:23%}.marker-pickup{right:12%;top:42%}.marker-delivery{left:38%;bottom:13%}.local-panel{max-width:1180px;margin:4vh auto 0;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:5vw}.local-panel>figure{grid-row:1;grid-column:1;aspect-ratio:16/9;border-radius:180px 180px 40px 40px;overflow:hidden;opacity:0;visibility:hidden}.local-panel>figure.is-active{opacity:1;visibility:visible}.local-panel>div{grid-column:2}.local-panel>div>p:first-child{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.local-panel h3{font-size:clamp(36px,4vw,58px);line-height:.95;letter-spacing:-.04em;margin:18px 0}.local-panel>div>p:last-child{font-size:17px;line-height:1.5}
.moments{position:relative;height:119.7svh;min-height:620px;background:var(--pink);color:white;overflow:hidden;display:grid;place-items:center}.moment-media{position:absolute;inset:0}.moment-media figure{position:absolute;top:50%;width:min(40vw,570px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:10px solid rgba(247,236,236,.32)}.moment-left{left:-17vw;transform:translateY(-50%)}.moment-right{right:-17vw;transform:translateY(-50%)}.moment-copy{position:relative;z-index:2;text-align:center;width:min(56vw,820px)}.moment-copy .eyebrow{margin-bottom:22px}.moment-copy h2{font-size:clamp(72px,9vw,144px);line-height:.8;letter-spacing:-.06em;text-transform:uppercase;font-weight:800}.moment-copy>p:last-child{max-width:42ch;margin:28px auto 0;font-size:17px;line-height:1.45}
.close{background:var(--cream)}.close-lead{min-height:100svh;display:grid;place-content:center;text-align:center;padding:12vh var(--pad)}.close-lead .eyebrow{margin-bottom:28px}.close-lead h2{font-size:clamp(100px,15vw,230px);line-height:.7;letter-spacing:-.075em;text-transform:uppercase;font-weight:800}.close-grid{display:grid;grid-template-columns:1.1fr .9fr;min-height:100svh;background:var(--pink);color:white}.close-grid>figure{min-height:720px}.decision-copy{padding:12vh 6vw;display:flex;flex-direction:column;justify-content:center}.decision-copy h3{font-size:clamp(45px,5vw,76px);line-height:.9;letter-spacing:-.045em}.decision-copy ol{list-style:none;padding:0;margin:54px 0}.decision-copy li{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:22px 0;border-top:1px solid rgba(247,236,236,.36)}.decision-copy li:last-child{border-bottom:1px solid rgba(247,236,236,.36)}.decision-copy li>span{font-size:12px}.decision-copy strong{font-size:20px}.decision-copy li p{opacity:.82;margin-top:4px}.decision-copy>a{align-self:flex-start;border:1px solid currentColor;border-radius:999px;padding:16px 22px;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.decision-copy>a span{margin-left:14px}.faq{padding:14vh var(--pad);max-width:1200px;margin:auto}.faq>h3{font-size:clamp(48px,6vw,86px);line-height:.9;letter-spacing:-.05em;margin-bottom:60px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font-size:19px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary i{font-style:normal;font-size:28px;transition:transform .2s}.faq details[open] summary i{transform:rotate(45deg)}.faq details p{max-width:65ch;padding:0 0 28px;line-height:1.6;color:rgba(202,120,118,.82)}footer{min-height:260px;background:var(--pink);color:white;display:grid;grid-template-columns:1fr 1.6fr .5fr;gap:40px;align-items:end;padding:60px var(--pad)}footer p{font-size:12px;line-height:1.5}footer p:last-child{text-align:right}.brand-light .brand-mark{color:var(--pink);background:white}
.whatsapp-link{position:fixed;z-index:70;right:20px;bottom:20px;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:white;box-shadow:0 10px 30px rgba(0,0,0,.18)}.whatsapp-link svg{width:28px;height:28px;fill:currentColor}.whatsapp-link:focus-visible,.marker:focus-visible,.flavour-tabs button:focus-visible,.menu-toggle:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--butter);outline-offset:3px}
@media(max-width:900px){.desktop-nav,.header-cta{display:none}.site-header{height:68px;grid-template-columns:1fr auto;mix-blend-mode:normal;color:var(--ink);background:rgba(247,236,236,.9)}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid currentColor;border-radius:999px;background:transparent;min-height:44px;padding:0 16px;text-transform:uppercase;font-size:12px}.menu-toggle i{width:7px;height:7px;background:currentColor;border-radius:50%}.mobile-menu{position:fixed;z-index:-1;inset:0;background:var(--cocoa);color:var(--cream);padding:120px 24px 90px;display:flex;flex-direction:column;gap:16px}.mobile-menu[hidden]{display:none}.mobile-menu a{font-size:11vw;line-height:.95;text-transform:uppercase;font-weight:800}.hero{height:165svh}.hero-stage{height:100svh}.hero-copy{padding:95px 18px 28px}.hero-copy .eyebrow{top:90px;left:18px}.hero h1{top:44%;font-size:15.5vw;line-height:.82;width:92vw}.hero-note{left:18px;bottom:28px;font-size:13px;max-width:25ch}.hero-media{top:auto;bottom:0;width:100%;height:54%;border-left:0;border-top:8px solid var(--cocoa);clip-path:inset(0 0 0 100%)}.scroll-cue{right:18px;bottom:18px}.scroll-cue span{display:none}.journey{height:330svh}.journey-sticky{align-content:start;padding-top:17vh}.journey-sticky h2{font-size:13vw}.waypoint{width:45vw}.wp-1{top:15%;left:4%}.wp-2{top:31%;right:4%}.wp-3{top:48%;left:4%;width:60vw}.wp-4{top:65%;right:4%}.wp-5{top:82%;left:4%;width:68vw}.waypoint figcaption small{max-width:20ch}.oven{height:86svh;min-height:620px}.oven figure::after{background:linear-gradient(0deg,rgba(53,28,27,.83),rgba(53,28,27,.08) 68%)}.oven-copy{left:18px;bottom:7vh}.oven-copy h2{font-size:15vw}.flavours{padding:12vh 18px 13vh;border-radius:0}.flavour-heading h2{font-size:14.5vw}.flavour-stage{margin-top:7vh}.flavour-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.flavour-tabs button{flex:0 0 70%;scroll-snap-align:start;border-bottom:0}.flavour-panel{grid-template-columns:1fr;gap:34px;min-height:0;padding-top:36px}.flavour-visual{width:min(86vw,520px);grid-row:1}.flavour-copy{text-align:center}.flavour-copy h3{font-size:9.5vw}.flavour-copy>p:last-child{margin:auto}.local{padding:13vh 18px 12vh}.local-heading h2{font-size:14.5vw}.local-map{aspect-ratio:.9;margin-top:7vh}.local-map svg{transform:rotate(90deg) scale(.8)}.marker{padding:7px;min-width:50px}.marker strong{display:none}.marker-kitchen{left:1%;top:22%}.marker-pickup{right:0;top:38%}.marker-delivery{left:37%;bottom:8%}.local-panel{grid-template-columns:1fr;gap:32px}.local-panel>figure{grid-column:1;grid-row:1;aspect-ratio:4/5;border-radius:150px 150px 24px 24px}.local-panel>div{grid-column:1;text-align:center}.local-panel h3{font-size:10vw}.moments{height:105svh;min-height:680px;align-items:start;padding-top:12vh}.moment-copy{width:92vw}.moment-copy h2{font-size:15vw}.moment-media figure{top:auto;bottom:5vh;width:63vw;border-width:6px}.moment-left{left:-22vw;transform:none}.moment-right{right:-22vw;transform:none}.close-lead{min-height:82svh}.close-lead h2{font-size:24vw}.close-grid{grid-template-columns:1fr}.close-grid>figure{min-height:68svh}.decision-copy{padding:10vh 18px}.decision-copy h3{font-size:12vw}.faq{padding:12vh 18px}.faq>h3{font-size:13vw}footer{grid-template-columns:1fr;align-items:start;min-height:330px;padding:54px 18px}footer p:last-child{text-align:left}.whatsapp-link{right:14px;bottom:14px;width:52px;height:52px}}
@media(max-width:390px){.brand{font-size:13px}.hero h1{font-size:15.2vw}.journey-sticky h2{font-size:12.6vw}.waypoint{width:44vw}.waypoint figcaption strong{font-size:14px}.flavour-tabs button{flex-basis:78%}.local-heading h2{font-size:14vw}.moment-copy h2{font-size:14.5vw}.close-lead h2{font-size:23vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero{height:100svh}.hero h1{left:var(--pad);transform:translate(0,-50%) scale(.66);transform-origin:left center;align-items:center;text-align:center}.hero-media{clip-path:inset(0)}.hero-note{opacity:1}.journey{height:auto;padding:14vh var(--pad)}.journey-sticky{position:relative;height:auto;padding:0 0 10vh}.journey-media-system{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:50px}.waypoint{position:relative!important;inset:auto!important;width:auto!important}.moments{height:auto;min-height:720px}.moment-media figure{transform:none}}
@media(max-width:900px){.hero-note{left:18px;top:36%;bottom:auto;font-size:12px;line-height:1.25;max-width:28ch}}
@media(max-width:900px){.hero-note{left:18px;top:84px;bottom:auto;font-size:10px;line-height:1.3;max-width:30ch}}
@media(max-width:900px){.hero-note{top:120px}}
.site-header{mix-blend-mode:normal;background:rgba(247,236,236,.92);color:var(--ink);border-bottom-color:var(--line);backdrop-filter:blur(14px)}
.scroll-cue{right:max(var(--pad),88px)}
.whatsapp-link{transition:opacity .2s,visibility .2s}
.menu-open .whatsapp-link{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:900px){.scroll-cue{right:18px;bottom:78px}}
@media(min-width:901px) and (max-width:1100px){.flavour-tabs{margin-right:72px}}

/* Reference-confirmed Hero handoff: left copy wipes to the upper-left while the right image wipes to the upper-right. */
.hero{height:200svh}
.hero-stage{position:sticky}
.hero h1{left:50%;top:49%;width:min(1200px,91vw);font-size:clamp(76px,9.2vw,148px)}
.hero-copy .eyebrow,.hero-note{opacity:0}
.hero-media{width:50%;clip-path:inset(0 0 0 100%);border-left:0}
.hero-media-wiper{position:absolute;inset:0;overflow:hidden;transform-origin:50% 50%;will-change:transform}
.hero-media-wiper img{object-position:58% center}
.hero-copy .eyebrow,.hero h1,.hero-note{will-change:transform}

/* Reference-led flavour carousel: one dominant product, direct previous/next navigation. */
.flavour-stage{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr) 88px;align-items:center;max-width:1180px;margin-top:8vh;touch-action:pan-y}
.flavour-progress{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.flavour-panel{grid-column:2;display:grid;grid-template-columns:1fr;gap:28px;min-height:720px;padding:55px 0 24px;text-align:center}
.flavour-visual{width:min(54vw,640px)}
.flavour-copy{max-width:760px;margin:0 auto}
.flavour-copy h3{max-width:16ch;margin:18px auto}
.flavour-copy>p:last-child{margin:auto}
.flavour-arrow{position:relative;z-index:4;width:68px;height:68px;display:grid;place-items:center;border:1px solid var(--cocoa);border-radius:50%;background:var(--cream);cursor:pointer;font-size:26px;transition:background-color .2s,color .2s,transform .2s}
.flavour-arrow:hover,.flavour-arrow:focus-visible{background:var(--cocoa);color:var(--cream);transform:scale(1.06)}
.flavour-arrow-prev{grid-column:1;justify-self:start}
.flavour-arrow-next{grid-column:3;justify-self:end}
.flavour-neighbours{grid-column:1/-1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.flavour-neighbours span:first-child{text-align:right;opacity:.62}
.flavour-neighbours span:last-child{text-align:left;opacity:.62}
.flavour-neighbours strong{font-size:15px}

/* User override: the abstract order map becomes an explicitly fictional stacked review carousel. */
.reviews{padding-bottom:17vh;overflow:hidden}
.review-shell{position:relative;max-width:1120px;margin:9vh auto 0;touch-action:pan-y}
.review-deck{position:relative;height:610px}
.review-card{position:absolute;left:50%;top:0;width:min(72vw,820px);height:540px;margin-left:calc(-1 * min(36vw,410px));display:grid;grid-template-columns:.86fr 1.14fr;grid-template-rows:auto 1fr auto;overflow:hidden;border:1px solid rgba(202,120,118,.3);border-radius:42px;background:var(--cream);box-shadow:0 24px 70px rgba(74,40,38,.18);will-change:transform,opacity}
.review-card figure{grid-column:1;grid-row:1/4;min-height:100%}
.review-card::after{content:"Concept";position:absolute;right:22px;top:22px;padding:7px 11px;border:1px solid currentColor;border-radius:999px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.review-card:not(.is-active) .review-label,.review-card:not(.is-active) blockquote,.review-card:not(.is-active) .review-scenario,.review-card:not(.is-active)::after{opacity:0}
.review-label,.review-card blockquote,.review-scenario,.review-card::after{transition:opacity .22s}
.review-label{grid-column:2;padding:56px 56px 0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--berry)}
.review-card blockquote{grid-column:2;align-self:center;margin:0;padding:24px 56px;font-size:clamp(34px,4vw,58px);line-height:.98;letter-spacing:-.035em;font-weight:600}
.review-scenario{grid-column:2;display:flex;align-items:center;gap:14px;margin:0;padding:0 56px 52px;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.review-scenario span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--butter)}
.review-controls{display:flex;align-items:center;justify-content:center;gap:20px}
.review-controls button{width:56px;height:56px;border:1px solid var(--cocoa);border-radius:50%;background:transparent;cursor:pointer;font-size:22px;transition:background-color .2s,color .2s,transform .2s}
.review-controls button:hover,.review-controls button:focus-visible{background:var(--cocoa);color:var(--cream);transform:scale(1.06)}
.review-controls p{min-width:62px;text-align:center;font-size:12px;letter-spacing:.12em}
.flavour-arrow:focus-visible,.review-controls button:focus-visible,.flavour-stage:focus-visible,.review-shell:focus-visible{outline:3px solid var(--butter);outline-offset:4px}

@media(max-width:900px){
  .hero{height:200svh}
  .hero h1{left:50%;top:44%;width:92vw;font-size:15.2vw}
  .hero-media{top:auto;bottom:0;width:100%;height:54%;border-top:0;clip-path:inset(0 0 0 100%)}
  .flavour-stage{grid-template-columns:58px minmax(0,1fr) 58px;margin-top:6vh}
  .flavour-panel{grid-column:1/-1;grid-row:1;min-height:0;padding:52px 0 18px;gap:26px}
  .flavour-visual{width:min(82vw,520px)}
  .flavour-arrow{grid-row:1;width:52px;height:52px;align-self:center;font-size:20px}
  .flavour-arrow-prev{grid-column:1}
  .flavour-arrow-next{grid-column:3}
  .flavour-neighbours{grid-row:2;padding-top:20px;gap:12px;font-size:9px}
  .flavour-neighbours strong{font-size:11px;text-align:center}
  .reviews{padding:12vh 18px 13vh}
  .review-shell{margin-top:7vh}
  .review-deck{height:590px}
  .review-card{left:50%;width:82vw;height:540px;margin-left:-41vw;grid-template-columns:1fr;grid-template-rows:42% auto 1fr auto;border-radius:28px}
  .review-card figure{grid-column:1;grid-row:1}
  .review-card::after{right:14px;top:14px}
  .review-label{grid-column:1;padding:24px 24px 0;font-size:9px}
  .review-card blockquote{grid-column:1;padding:18px 24px;font-size:8.7vw}
  .review-scenario{grid-column:1;padding:0 24px 24px;font-size:10px}
  .review-controls{gap:16px}
}

@media(prefers-reduced-motion:reduce){
  .hero{height:100svh}
  .hero-media{clip-path:inset(0)!important}
  .hero-copy .eyebrow,.hero-note{opacity:1!important}
  .flavour-arrow,.review-controls button{transition:none}
}

/* Readability pass: lighter display weight, calmer tracking and more breathing room. */
.hero h1,.journey-sticky h2,.oven-copy h2,.flavour-heading h2,.local-heading h2,.moment-copy h2,.close-lead h2{font-weight:600;letter-spacing:-.035em}
.hero h1{line-height:.84}
.journey-sticky h2,.flavour-heading h2,.local-heading h2{line-height:.88}
.oven-copy h2,.moment-copy h2{line-height:.86}
.close-lead h2{line-height:.78;letter-spacing:-.045em}
.decision-copy h3,.faq>h3{font-weight:600;letter-spacing:-.025em;line-height:.96}
.mobile-menu a{font-weight:600;letter-spacing:-.025em}

/* Main red-bean navigation bar. */
.site-header,.site-header.is-scrolled{mix-blend-mode:normal;background:var(--pink);color:white;border-bottom-color:rgba(255,255,255,.28);backdrop-filter:none}
.site-header .brand-logo{filter:brightness(0) invert(1)}

/* Hero left-panel alignment: eyebrow, headline and note share one visual centre. */
.hero-copy .eyebrow,.hero-note{left:0;width:50%;max-width:none;padding-inline:var(--pad);text-align:center}
@media(max-width:900px){.hero-copy .eyebrow,.hero-note{left:0;width:100%;padding-inline:18px;text-align:center}}

/* Review copy must fit its card at real browser widths, not scale from viewport alone. */
.review-deck{height:630px}
.review-card{height:560px}
.review-label{padding:44px 44px 0}
.review-card blockquote{padding:18px 44px;font-size:clamp(28px,3.2vw,48px);line-height:1.02;overflow-wrap:anywhere}
.review-scenario{padding:0 44px 40px}
.journey{border-top:0}
.motion-word{display:inline-block;backface-visibility:hidden;will-change:transform,opacity}
html{overflow-x:clip}
@media(max-width:900px){
  .review-deck{height:610px}
  .review-card{height:560px;grid-template-rows:38% auto 1fr auto}
  .review-label{padding:20px 22px 0}
  .review-card blockquote{padding:14px 22px;font-size:clamp(27px,7.5vw,32px);line-height:1.04}
  .review-scenario{padding:0 22px 22px}
}
.whatsapp-link{transition:opacity .2s}
@media(max-width:900px){.mobile-menu{z-index:60}.site-header>.brand,.site-header>.menu-toggle{position:relative;z-index:61}.menu-open .site-header{height:100svh;color:var(--cream);background:var(--cocoa);border-bottom-color:rgba(247,236,236,.2);backdrop-filter:none}}
@media(max-width:900px){.site-header{backdrop-filter:none}.menu-open .site-header{height:68px;align-items:center;padding-top:0}}
@media(max-width:900px){.menu-open .site-header>.brand,.menu-open .site-header>.menu-toggle{color:var(--cream)}}

/* The next chapter rises during the Hero wiper instead of waiting below an empty released stage. */
.hero{position:relative;z-index:1}
.journey{z-index:3;margin-top:-70svh}
@media(max-width:900px){.journey{margin-top:-100svh}}
@media(prefers-reduced-motion:reduce){.journey{margin-top:0}}

/* User-provided Joymom's wordmark replaces the temporary concept mark. */
.brand-logo{display:block;width:auto;height:30px;object-fit:contain}
.brand-light .brand-logo{filter:brightness(0) invert(1)}
@media(max-width:900px){.brand-logo{height:25px}}

/* User-supplied transparent products: show the complete cookie and tin without masks. */
.waypoint img{aspect-ratio:1!important;object-fit:contain;border-radius:0;box-shadow:none}
.flavour-visual figure{border-radius:0;overflow:visible;background:transparent}
.flavour-visual img{object-fit:contain}

/* Five-cookie fixed stage: all products start visible, then fly out while the statement holds. */
.journey{height:280svh;overflow:visible}
.journey-sticky{z-index:1}
.journey-media-system{position:absolute;inset:0;height:100%;margin:0;z-index:2;overflow:hidden}
.waypoint{margin:0;opacity:1;visibility:visible;will-change:transform}
.wp-1{top:15%;left:7%;width:clamp(160px,17vw,260px);transform:rotate(-14deg)}
.wp-2{top:13%;right:8%;width:clamp(145px,15vw,230px);transform:rotate(12deg)}
.wp-3{top:58%;left:13%;width:clamp(185px,20vw,310px);transform:rotate(9deg)}
.wp-4{top:55%;right:12%;width:clamp(155px,17vw,260px);transform:rotate(-11deg)}
.wp-5{top:34%;left:52%;width:clamp(140px,15vw,225px);transform:rotate(7deg)}
.oven{position:relative;z-index:4;margin-top:-100svh}

@media(max-width:900px){
  /* Keep the viewport as the only vertical scroller so both sticky stages remain pinned on mobile. */
  body{overflow-x:visible}
  .hero-copy{z-index:1}
  .hero-media{z-index:2;top:0;bottom:auto;height:55%;transform:translateZ(0)}
  .hero-media-wiper{transform-origin:70% 35%}
  .hero-copy .eyebrow{top:61%;bottom:auto}
  .hero h1{top:76%;width:92vw}
  .hero-note{top:auto;bottom:4vh}
  .journey{height:250svh;background:var(--pink);color:white}
  .journey-sticky{align-content:center;padding:90px 18px 40px}
  .journey-media-system{height:100%;margin:0}
  .wp-1{top:16%;left:-3%;width:37vw}
  .wp-2{top:18%;right:-5%;width:34vw}
  .wp-3{top:62%;left:0;width:42vw}
  .wp-4{top:60%;right:-1%;width:36vw}
  .wp-5{top:37%;left:55%;width:31vw}
  .oven{height:100svh;min-height:100svh;margin-top:-100svh}
  .oven-copy{top:auto;bottom:8vh}

  /* Mobile editorial stack: a dominant story image and a smaller offset detail card. */
  .moments{height:100svh;min-height:720px;display:block;padding:11vh 18px 0}
  .moment-copy{position:relative;z-index:3;width:100%;margin:0 auto}
  .moment-copy .eyebrow{margin-bottom:18px}
  .moment-copy h2{font-size:13vw;line-height:.88}
  .moment-copy>p:last-child{max-width:34ch;margin:20px auto 0;font-size:15px;line-height:1.4}
  .moment-media figure{top:auto;bottom:auto;aspect-ratio:3/4;border:4px solid rgba(247,236,236,.76);border-radius:28px;box-shadow:0 22px 55px rgba(74,40,38,.2)}
  .moment-media .moment-left{z-index:1;left:18px;right:auto;top:47%;width:68vw;transform:rotate(-3deg)}
  .moment-media .moment-right{z-index:2;left:auto;right:18px;top:59%;width:48vw;transform:rotate(5deg)}
}

@media(prefers-reduced-motion:reduce){
  .journey{height:auto;padding:12vh var(--pad)}
  .journey-sticky{position:relative;height:auto;padding:0 0 8vh}
  .journey-media-system{position:relative;inset:auto;height:auto;margin-top:8vh;overflow:visible;display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
  .waypoint{position:relative!important;inset:auto!important;width:auto!important;transform:none!important}
  .oven{margin-top:0}
}
