/* MODE3: six recognition beats across 420svh of native scroll. */
.bakery{position:relative;height:320svh;color:#fff;background:#08090b;isolation:isolate}
.bakery-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--bakery-field,#513016)}
.bakery canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.bakery-beat{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 5vw 100px;text-align:center;visibility:hidden;pointer-events:none}
.bakery-beat.is-active{visibility:visible;pointer-events:auto}
.bakery-word{font-family:Montserrat,sans-serif;font-size:var(--bakery-size,10vw);font-weight:900;line-height:.95;margin:0;white-space:nowrap;letter-spacing:calc(-.055em + (1 - var(--land,1)) * .14em);filter:blur(calc((1 - var(--land,1)) * 14px));transform:scale(calc(.94 + var(--land,1) * .06));opacity:var(--land,1);will-change:filter,transform}
.bakery-memory .bakery-word{transition:filter .35s ease,letter-spacing .35s ease,transform .35s ease,opacity .2s ease}
.bakery-line{font-size:var(--t-body,15px);font-weight:500;line-height:1.6;max-width:34ch;margin:28px 0 0;text-wrap:balance}
.bakery-statement .bakery-word{font-size:clamp(38px,8.5vw,134px);white-space:normal;max-width:13ch;letter-spacing:-.055em;text-wrap:balance}
.bakery-turn .bakery-word{max-width:16ch;font-size:clamp(38px,7.7vw,120px)}
.bakery-teal{color:var(--prime,#9fe6d3)}
.bakery-turn .bakery-teal{font-size:clamp(38px,7.7vw,120px);font-weight:900;line-height:.98;letter-spacing:-.055em;margin:24px 0 0;text-wrap:balance}
.bakery-link{display:inline-flex;align-items:center;min-height:44px;margin-top:32px;color:var(--prime,#9fe6d3);font-size:var(--t-body,15px);text-underline-offset:6px}
.bakery-next{position:absolute;right:5vw;bottom:max(28px,env(safe-area-inset-bottom));min-height:44px;padding:10px 4px;border:0;background:transparent;color:#fff;font:600 12px Montserrat,sans-serif;letter-spacing:.06em;cursor:pointer}
.bakery-next:focus-visible,.bakery-link:focus-visible{outline:2px solid var(--prime,#9fe6d3);outline-offset:6px}
.bakery-progress{position:absolute;left:5vw;bottom:48px;width:30vw;height:1px;background:#ffffff30;pointer-events:none}
.bakery-progress::after{content:"";display:block;height:100%;width:calc(var(--progress,0)*100%);background:#fff}
html.bakery-active .hud{color:#fff;background:transparent;--ink:#fff;--ink-2:#ffffffb0}
html.bakery-active .hud-brand,html.bakery-active .hud-reserve{color:#fff}
html.bakery-active .hud-chip{color:#fff;background:#08090b88}
html.bakery-active .sticky-cta{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.bakery{height:auto}.bakery-stage{position:relative;height:auto;background:#08090b}.bakery canvas,.bakery-next,.bakery-progress{display:none}.bakery-beat{position:relative;visibility:visible;pointer-events:auto;min-height:100svh;background:var(--field,#08090b)}.bakery-word{filter:none;transform:none;opacity:1;letter-spacing:-.055em;will-change:auto;transition:none}}

/* 029: four photographic memories, then the recognition and the turn. */
.bakery canvas{z-index:2}
.bakery-media{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.bakery-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.bakery-backdrop{display:none}
.bakery-panel{filter:blur(calc((1 - var(--land,1))*14px));transform:scale(calc(1 + (1 - var(--land,1))*.06));transition:filter .35s ease,transform .35s ease}
.bakery-memory::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:rgba(0,0,0,.20)}
.bakery-word,.bakery-line,.bakery-teal,.bakery-link,.bakery-echo{position:relative;z-index:4}
.bakery-next,.bakery-progress{z-index:5}
.bakery-echo{font-size:clamp(38px,7.2vw,112px);font-weight:900;letter-spacing:-.055em;line-height:1;max-width:15ch;margin:24px 0 0;opacity:0;transform:translateY(.15em);transition:opacity .25s ease,transform .35s ease}
.bakery-summary.is-active .bakery-echo{opacity:1;transform:none;transition-delay:var(--delay)}
.bakery-turn .bakery-line{margin-top:28px}
.bakery-turn .bakery-link{margin-top:12px}
@media(min-width:900px){
 .bakery-memory{align-items:flex-start;text-align:left}
 .bakery-backdrop{display:block;filter:blur(40px) brightness(.50);transform:scale(1.12)}
 .bakery-media .bakery-panel{left:auto;right:0;width:min(42vw,calc(100svh * 940 / 1672));height:100%;object-fit:cover}
 .bakery-memory .bakery-line{max-width:35ch}
}
@media(prefers-reduced-motion:reduce){
 .bakery{height:auto}
 .bakery-media,.bakery-shade,.bakery-memory::after{display:none}
 .bakery-echo{opacity:1;transform:none;transition:none}
 .bakery-memory .bakery-word{transition:none}
}

/* 030: a local soft scrim follows the text, leaving the picture edges bright. */
.bakery-shade{position:absolute;z-index:3;pointer-events:none;left:var(--shade-x,50%);top:var(--shade-y,50%);width:var(--shade-w,130vw);height:var(--shade-h,65svh);transform:translate(-50%,-50%);background:radial-gradient(ellipse closest-side at center,rgba(0,0,0,.55) 0%,rgba(0,0,0,.55) 48%,rgba(0,0,0,0) 100%)}
/* 058 · CLS: fixed letter-spacing; the landing widens the word with a transform instead (no layout shift) */
.bakery-word{letter-spacing:-.055em;transform:scale(calc(.94 + var(--land,1) * .06)) scaleX(calc(1 + (1 - var(--land,1)) * .22))}
