/* The opening arch becomes the real hero frame; no separate door splash. */
.hero-slide-frame{animation:none}
.oven-stage{position:fixed;inset:0;z-index:1000;pointer-events:none;overflow:hidden}
.oven-backdrop{position:absolute;inset:0;background:var(--paper);animation:oven-room-reveal 3.3s both}
.oven-portal{position:fixed;box-sizing:border-box;border-radius:48% 48% 0 0;overflow:hidden;background:#30251a;box-shadow:0 0 0 12px #483f34,0 0 0 16px #c9b999,0 20px 80px #26180b55;isolation:isolate}
.oven-portal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .45s ease}
.oven-portal img.is-active{opacity:1}
.oven-heat{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,#ffb95744,transparent 65%);box-shadow:inset 0 0 55px #4b2a18aa;animation:oven-heat-clear 2.7s both}
.oven-shutter{position:absolute;inset:0;border-radius:48% 48% 0 0;background:linear-gradient(100deg,#463e35,#6c5c46 50%,#463e35);border:9px solid #b59b70;box-shadow:inset 0 0 0 2px #fce3b96b;animation:oven-lift 1.15s .15s cubic-bezier(.5,0,.15,1) both}
.oven-shutter:before{content:'';position:absolute;left:15%;right:15%;height:10px;bottom:22%;border-radius:10px;background:#c9b999;box-shadow:0 5px 8px #0005}
.oven-shutter img{position:absolute;opacity:1;top:30%;left:25%;width:50%;height:auto;object-fit:contain;filter:brightness(0) invert(.92)}
.oven-smoke{position:absolute;inset:-15%;filter:blur(18px);pointer-events:none;z-index:4;animation:smoke-release 2.5s .3s both}
.oven-smoke i{position:absolute;display:block;width:65%;height:60%;border-radius:50%;background:radial-gradient(ellipse,#fff9eeca 0%,#f9f0df99 22%,#eee5d748 48%,transparent 70%);mix-blend-mode:screen;animation:smoke-curl 2.3s ease-out both}
.oven-smoke i:nth-child(1){left:-8%;top:35%;--smoke-x:-18%;--smoke-turn:-24deg}
.oven-smoke i:nth-child(2){left:27%;top:40%;--smoke-x:25%;--smoke-turn:30deg;animation-delay:.14s}
.oven-smoke i:nth-child(3){left:12%;top:3%;--smoke-x:-6%;--smoke-turn:-12deg;animation-delay:.25s}
.oven-smoke i:nth-child(4){left:46%;top:15%;--smoke-x:18%;--smoke-turn:18deg;animation-delay:.08s}
@keyframes oven-lift{from{transform:translateY(0)}to{transform:translateY(-105%)}}
@keyframes smoke-release{0%{opacity:0;transform:translateY(15%) scale(.8)}22%{opacity:.9}65%{opacity:.45}100%{opacity:0;transform:translateY(-30%) scale(1.4)}}
@keyframes smoke-curl{from{transform:translate(0,25%) rotate(0)}to{transform:translate(var(--smoke-x),-35%) rotate(var(--smoke-turn)) scale(1.35)}}
@keyframes oven-room-reveal{0%,24%{opacity:1}65%,100%{opacity:0}}
@keyframes oven-heat-clear{0%,30%{opacity:1}100%{opacity:0}}
body.oven-entering .hero-slide-frame{visibility:hidden}body.oven-entering .hero-photo figcaption,body.oven-entering .round-stamp{opacity:0;animation:none}
@media(prefers-reduced-motion:reduce){.oven-stage{display:none}body.oven-entering .hero-slide-frame{visibility:visible}body.oven-entering .hero-photo figcaption,body.oven-entering .round-stamp{opacity:1}}
