/* The oven-to-counter journey: a single cinematic opening, native scrolling. */
html{scroll-padding-top:104px}
.site-header{position:sticky;top:0;z-index:20;max-width:none;min-height:88px;padding:12px 5%;background:var(--cream)}
.wordmark .brand-lockup{width:160px}
.header-actions{display:flex;align-items:center;gap:22px}


.journey{position:relative;background:var(--dark);color:var(--cream)}
.hero{position:relative;max-width:1600px;min-height:760px;grid-template-columns:.9fr 1.1fr;gap:2%;padding:38px 4% 40px 6%;overflow:hidden}
.hero-copy h1{font-size:clamp(3.5rem,6.1vw,6rem);line-height:1.04;max-width:8.5em}
.hero-copy h1 span{color:var(--gold)}
.hero-intro{color:var(--paper);font-size:17px}
.hero .primary{background:var(--cream);border-color:var(--cream);color:var(--wine)}
.hero .primary:hover{background:var(--gold);border-color:var(--gold)}
.hero-location{color:var(--paper);margin-top:32px}
.hero-location .location-line{color:var(--cream)}
.hero-experience{perspective:1200px;margin:0}
.scene-stage{height:590px;background:transparent;border-radius:0;overflow:visible}
.scene-stage:before{content:'';position:absolute;inset:8% 12% 9%;border-radius:50% 50% 0 0;background:#522630;border:1px solid #9c6651;transform:rotate(-5deg)}
.scene-fallback{inset:8% 18% 13%;border-radius:50% 50% 2px 2px;box-shadow:0 30px 55px #14060a66}
.scene-stage canvas{z-index:2}
.scene-stage .heritage-stamp{top:7%;right:7%;transform:rotate(12deg);width:98px;height:98px;color:var(--wine);box-shadow:0 12px 24px #14060a33}
.scene-stage .heritage-stamp strong{font-size:33px}
.scene-stage .heritage-stamp span{font-size:10px}
.scene-label{bottom:0;left:15%;right:7%;font-size:17px;font-family:var(--display)}
.scene-label>span{padding:0;background:none;color:var(--cream)}
.scene-label button{display:none!important}
.scene-controls{justify-content:flex-start;margin:22px 8% 0 15%;gap:14px}
.scene-invite{display:none}
.scene-controls button{color:var(--paper);border-bottom:1px solid #9c6651;padding:10px 3px;flex:1;text-align:left;position:relative;font-size:14px}
.scene-controls button:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.scene-controls button[aria-pressed=true]{color:var(--cream);border-color:var(--gold)}
.scene-controls button[aria-pressed=true]:after{transform:scaleX(1)}
.scene-controls button:hover{background:transparent;color:var(--gold)}
.scene-hint{color:var(--paper);text-align:left;margin:12px 8% 0 15%;font-size:12px}
.scroll-invite{display:flex;align-items:center;gap:12px;margin-top:36px;font-size:12px;color:var(--paper);text-decoration:none;width:max-content;min-height:44px}
.scroll-invite svg{width:17px;height:27px}
.journey-line{position:absolute;bottom:0;left:0;right:0;height:3px;background:#9c665144;overflow:hidden}
.journey-line span{display:block;background:var(--gold);height:100%;transform:scaleX(0);transform-origin:left}
.opening-strip{background:var(--wine);position:relative;z-index:2;padding-block:25px}
.bakery-section{padding-top:120px;padding-bottom:120px}
.product-grid{grid-template-columns:1.16fr 1fr;gap:70px 8%;perspective:1600px}
.product{position:relative;min-width:0;transform-origin:center bottom}
.product-large{grid-row:auto}
.product-wide{grid-column:auto}
.product:nth-child(2){margin-top:130px}
.product:nth-child(4){margin-top:95px}
.product .product-photo{height:460px;box-shadow:0 22px 38px #39171c18}
.product-large .product-photo{height:610px}
.product:nth-child(3) .product-photo{height:420px}
.product-info h3{font-size:34px}
.product-info p{font-size:15px}
.product-info>a{width:48px;height:48px}
.product-photo{border-radius:2px}
.cake-feature{padding-top:110px;padding-bottom:115px;overflow:hidden}
.cake-gallery{grid-template-columns:1.6fr 1fr;gap:0;align-items:center;perspective:1400px;padding:25px 0}
.cake-wide{transform:rotate(-3deg);position:relative;z-index:1}
.cake-detail{transform:rotate(5deg);margin-left:-40px!important;position:relative;z-index:2}
.cake-gallery img{box-shadow:0 25px 50px #39171c26}
.cake-gallery figcaption{margin-top:20px}
.family-story{position:relative;max-width:none;padding-inline:max(6%,calc((100vw - 1320px)/2))}
.family-intro h2{max-width:9em}
.family-portraits{grid-template-columns:.7fr 1.3fr;gap:10%;align-items:center}
.sons-portrait{padding-top:100px}
.family-portraits img{box-shadow:0 20px 40px #25090f40}
.enquiry-section{padding-block:130px}
.footer-top{padding-block:20px 60px}
.reading-progress{position:fixed;z-index:30;top:0;left:0;width:100%;height:3px;pointer-events:none;transform:scaleX(0);transform-origin:left;background:var(--wine)}
@media(min-width:1000px) and (min-height:800px){
  .journey.is-scrollable{height:240svh}
  .journey.is-scrollable .hero{position:sticky;top:88px;min-height:0;height:calc(100svh - 88px)}
  .journey.is-scrollable .scene-stage{height:clamp(420px,64svh,700px)}
  .journey.is-scrollable .hero-copy{padding:0}
  .journey.is-scrollable .hero h1{font-size:clamp(3.5rem,min(6.1vw,8.4svh),6rem)}
}
@media(max-width:1050px){.site-header nav{gap:20px}.header-actions{gap:15px}.hero{min-height:660px}.scene-stage{height:490px}.hero-copy h1{font-size:clamp(3.2rem,6.3vw,4.5rem)}.scene-stage .heritage-stamp{right:2%;width:88px;height:88px}.scene-stage .heritage-stamp strong{font-size:29px}.scene-label{font-size:16px}.product-grid{gap:50px 6%}.product .product-photo{height:390px}.product-large .product-photo{height:490px}.product-info h3{font-size:30px}}
@media(max-width:720px){
  html{scroll-padding-top:85px}.site-header{min-height:78px;padding:9px 6%}.wordmark .brand-lockup{width:134px}.header-actions{gap:9px}.menu-toggle{padding:8px 10px;gap:8px}.site-header nav{position:absolute;top:100%;left:0;background:var(--cream);margin:0;padding:18px 6%;box-shadow:0 18px 25px #39171c18;gap:12px 25px}.hero{display:flex;padding:44px 6% 28px;min-height:0;gap:0;overflow:hidden}.hero-copy h1{font-size:clamp(3.15rem,12.1vw,4.5rem);line-height:1.04;margin-bottom:24px}.hero h1 br:nth-of-type(2){display:none}.hero-intro{font-size:16px}.hero-location{font-size:12px;margin-top:24px}.scroll-invite{display:none}.hero-experience{margin-top:26px;margin-inline:-6%}.scene-stage{height:440px}.scene-stage .heritage-stamp{width:84px;height:84px;right:5%;top:8%}.scene-stage .heritage-stamp strong{font-size:28px}.scene-stage .heritage-stamp span{font-size:9px}.scene-label{left:10%;right:10%;font-size:17px}.scene-controls{margin:18px 10% 0;gap:17px}.scene-controls button{font-size:13px;min-height:44px}.scene-hint{margin:12px 10% 0}.product-grid{gap:40px 20px}.product:nth-child(2),.product:nth-child(4){margin-top:65px}.product .product-photo,.product-large .product-photo,.product:nth-child(3) .product-photo{height:260px}.product-info{flex-wrap:wrap;gap:12px}.product-info h3{font-size:26px}.product-info p{font-size:13px}.product-info>a{width:44px;height:44px}.product-info>a:after{display:none}.bakery-section,.cake-feature{padding-top:70px;padding-bottom:70px}.cake-gallery{grid-template-columns:1fr;gap:0;padding:20px 0}.cake-wide{width:94%}.cake-detail{width:74%;margin-left:auto!important;margin-top:-12px!important}.cake-detail img{aspect-ratio:1.3}.cake-intro h2,.family-intro h2{font-size:2.9rem}.family-portraits{grid-template-columns:1fr;gap:44px}.sons-portrait{padding:0}.enquiry-section{padding-block:75px}.footer-top{padding-block:0 35px}.reading-progress{height:2px}
}
@media(max-width:380px){.wordmark .brand-lockup{width:120px}.hero-copy h1{font-size:2.9rem}.product-grid{grid-template-columns:1fr}.product:nth-child(2),.product:nth-child(4){margin-top:0}.product .product-photo,.product-large .product-photo,.product:nth-child(3) .product-photo{height:380px}.product-info{flex-wrap:nowrap}.scene-stage{height:390px}}
@media(prefers-reduced-motion:reduce){.cake-wide,.cake-detail{transform:none}.journey.is-scrollable{height:auto}.journey.is-scrollable .hero{position:relative;height:auto;min-height:700px}.scene-stage canvas{transition:none}}
html.motion-paused{scroll-behavior:auto}
.motion-paused .cake-wide,.motion-paused .cake-detail{transform:none}
.motion-paused .product:hover img,.motion-paused .button:hover{transform:none}
@media(max-width:720px){html:not(.js) .site-header nav{position:static;box-shadow:none}html:not(.js) .menu-toggle{display:none}}

/* Ordering actions inherit the bakery palette. */
.header-actions{margin-left:auto}.site-header nav{margin-left:auto}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.hero-whatsapp{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--cream);font-size:15px}
.hero-whatsapp:hover{color:var(--gold)}
.enquiry-form .form-actions{flex-wrap:wrap;gap:12px}
@media(max-width:720px){.hero-actions{gap:12px}.hero-whatsapp{padding-block:6px}.enquiry-form .form-actions .button{width:100%;flex:auto}.site-header nav{margin-left:0}}
