/* BU01/BU02 share ONE photographic scene. No duplicate food layer. */
.foundation-story{position:relative;background:#e9eff4;isolation:isolate}
.foundation-visual{position:absolute;top:var(--scene-top,0px);left:0;width:100%;height:100svh;margin-bottom:0;overflow:hidden;z-index:-1;background:#e9eff4}
.foundation-visual img{position:absolute;top:0;left:0;width:100%;height:auto;display:block;transform:translateY(var(--scene-y,0px));will-change:transform;mask-image:linear-gradient(#000 0%,#000 93%,transparent 100%)}
#h01,#h02{background:transparent!important}
#h01+.shared-seam{position:absolute;top:calc(100svh - 80px);left:0;width:100%;opacity:.16;background:transparent!important}
#h02 .chapter-stage{background:none!important}
#h02 .h02-intro{top:11%}
#h02 .food-stage{top:65%}
#h02 .variable-panel{top:16%}
@media(max-width:700px){.foundation-visual{position:absolute;inset:0 0 auto;height:780px;margin:0}.foundation-visual img{height:780px;width:100%;object-fit:cover;object-position:center top;transform:none;mask-image:linear-gradient(#000 60%,transparent)}#h02{background:#e9eff4!important}#h02 .chapter-stage{background:linear-gradient(#e9eff4,transparent 20%),url("assets/bu02/food-scene-hd.png") center 200px/auto 500px no-repeat!important}#h01+.shared-seam{display:none}#h02 .h02-intro{top:auto}#h02 .variable-panel{top:auto}}

@media(max-width:700px){#h02 .chapter-stage{background:#e9eff4!important}#h02 .food-stage{padding-top:260px;background:linear-gradient(#e9eff4,transparent 18%,transparent 78%,#e9eff4),url("assets/bu02/food-scene-hd.png") 58% center/auto 300px no-repeat}#h02 .food-stage figcaption{position:relative;padding-top:15px}.variable svg{mix-blend-mode:normal;filter:none}}

@media(min-width:701px){#h02 .chapter-stage{position:sticky;top:88px;height:calc(100svh - 88px);min-height:calc(100svh - 88px)}#h02 .food-stage{top:60%}}
@media(min-width:701px) and (max-height:760px){#h02 .h02-intro{top:8%}#h02 .h02-intro h2{font-size:30px;margin-bottom:18px}#h02 .h02-intro .lead{font-size:24px;margin:14px 0}#h02 .intro-copy{font-size:15px}#h02 .variable-icons{margin-top:24px}#h02 .variable-panel{top:10%}}

/* Preserve readable hero copy over the bright shared steam foreground. */
@media(min-width:701px){#h01 .foundation,#h01 .hero-link{color:#183b50;text-shadow:0 1px 10px #fff}#h01 .hero-link{border-color:#537c92}}

@media(min-width:1700px){#h01 .foundation,#h01 .hero-link{color:#f3f7fa;text-shadow:0 1px 6px #061c2b}#h01 .hero-link{border-color:#aacbde88}}

/* Calibrated BU02 visual hold: compact content stage, extra scroll stays in the chapter. */
@media(min-width:701px){#h02 .chapter-stage{height:clamp(520px,62svh,680px);min-height:clamp(520px,62svh,680px)}#h02 .food-stage{top:var(--food-caption-top,80%)}}

/* V06 master copy: restore headline/body hierarchy and right-side annotations. */
#h03 .lead,#h04 .lead,#h05 .lead,#h06 .lead{font-size:clamp(16px,1.35vw,22px);line-height:1.65;margin-top:22px}
#h03 h2,#h04 h2,#h05 h2,#h06 h2{line-height:1.28}
.master-aside{position:absolute;z-index:51;font-size:clamp(16px,1.35vw,22px);line-height:1.7;color:#17334a;margin:0}
.scale-promise{right:6%;top:17%;width:16%}
.closing-promise{right:5%;top:12%;width:20%;font-style:italic}
#h02 .ui-note{font-size:11px}
@media(max-width:700px){#h03 .lead,#h04 .lead,#h05 .lead,#h06 .lead{font-size:17px;line-height:1.7}.master-aside{position:relative;inset:auto;width:auto;font-size:18px}.scale-promise{margin:28px 0}.closing-promise{margin:30px 0 0;text-align:right}}

#h01 .lead{font-size:clamp(19px,1.65vw,28px);line-height:1.6}#h02 .h02-intro .lead{font-size:clamp(17px,1.4vw,23px);line-height:1.6;margin:18px 0}#h02 .h02-intro h2{line-height:1.25;margin-bottom:18px}
@media(max-width:700px){#h01 .lead{font-size:20px}#h02 .h02-intro .lead{font-size:18px}}

/* Keep a short H02 hold without an empty viewport below its compact content. */
@media(min-width:701px){#h02{min-height:calc(clamp(520px,62svh,680px) + 32px)}}
/* Small-screen H03: chef and real product occupy separate visual columns. */
@media(max-width:700px){#h03 .program-scene{top:330px;bottom:auto;left:0;right:auto;width:59%;height:360px;opacity:.85;mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}#h03 .program-scene img{object-position:56% center}#h03 .program-scene::after{display:none}#h03 .real-product{top:365px;right:3%;width:36%;height:280px}}

/* Shared transitions overlap the two scenes instead of adding a standalone strip. */
@media(min-width:701px){.shared-seam[data-seam="S2"],.shared-seam[data-seam="S3"],.shared-seam[data-seam="S4"],.shared-seam[data-seam="S5"]{margin-top:-3vw;margin-bottom:-3vw}.shared-seam svg svg{overflow:hidden}}
@media(min-width:701px){.shared-seam[data-seam="S2"],.shared-seam[data-seam="S3"],.shared-seam[data-seam="S4"],.shared-seam[data-seam="S5"]{mask-image:linear-gradient(transparent,#000 25%,#000 75%,transparent)}}
/* Stable transform anchor eliminates the H01/H02 height-switch position jump. */
@media(min-width:701px){.foundation-story{overflow:clip}.foundation-visual{top:0;will-change:transform}}

#h04 .concept-boundary,#h06 .concept-boundary{position:relative;z-index:51;margin:14px 0 0;max-width:33ch;font-size:14px;line-height:1.55;letter-spacing:.02em}
#h04 .concept-boundary{color:#d4e5ee}
#h06 .concept-boundary{color:#455667}
@media(max-width:700px){#h04 .concept-boundary,#h06 .concept-boundary{max-width:36ch;margin-top:12px}}

@media(max-width:700px){.foundation-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,19,31,.78) 0%,rgba(2,19,31,.61) 42%,rgba(2,19,31,.27) 66%,transparent 84%)}#h01 .copy{text-shadow:0 2px 8px rgba(0,10,18,.85)}#h01 .foundation,#h01 .hero-link{color:#183b50;text-shadow:0 1px 7px #ffffff}#h01 .experience{color:#17384d;text-shadow:0 1px 6px #ffffff}#h01 .experience i{color:#216b91;text-shadow:0 1px 6px #ffffff}}
