/* Feuer am Tisch: Scroll-Szene mit der flambierten Ente */
.feuer { position: relative; height: 300vh; background: #060807; color: var(--stone); }
.feuer-stage { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; isolation: isolate; background: radial-gradient(90% 70% at 50% 62%, #141a15, #060807 70%); }
.feuer-heat { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: var(--heat, 0); background: radial-gradient(60% 55% at 50% 52%, rgba(255,128,36,.42), rgba(170,46,14,.22) 38%, rgba(60,14,6,.1) 62%, transparent 80%); }
.feuer-word { position: absolute; z-index: 1; left: 50%; top: 36%; transform: translate(-50%, -50%) scale(var(--word-s, 1)); margin: 0; white-space: nowrap; font-family: var(--serif); font-weight: 500; font-size: clamp(90px, 19vw, 330px); line-height: .8; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1px rgba(227,198,141,.28); pointer-events: none; user-select: none; }
.feuer-word span { position: absolute; inset: 0; color: transparent; -webkit-text-stroke: 0; background: linear-gradient(180deg, #ffd27a, #ff8a2a 45%, #b8361a 85%); -webkit-background-clip: text; background-clip: text; opacity: var(--word-fill, 0); filter: blur(.3px); }
.feuer canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.feuer-back { z-index: 2; }
.feuer-front { z-index: 5; }
.feuer-dish { position: absolute; z-index: 3; margin: 0; left: 50%; top: 52%; width: min(46vw, 700px); transform: translate(-50%, -50%) translateY(var(--dish-y, 0px)) scale(var(--dish-s, 1.04)); }
.feuer-plate { position: relative; animation: feuerReveal 1.5s .1s var(--ease) backwards; }
.feuer-plate img { display: block; width: 100%; height: auto; }
.feuer-plate .fd-base { filter: drop-shadow(0 34px 40px rgba(0,0,0,.75)); will-change: transform; }
.feuer-dish::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: -12%; height: 22%; border-radius: 50%; background: radial-gradient(closest-side, rgba(0,0,0,.65), transparent); z-index: -1; }
.feuer-dish i { position: absolute; inset: -8% -4%; z-index: 1; pointer-events: none; border-radius: 50%; opacity: var(--glaze, 0); background: radial-gradient(closest-side, rgba(255,170,70,.35), transparent 75%); mix-blend-mode: soft-light; }
@keyframes feuerReveal { from { opacity: 0; transform: translateY(70px) scale(.92); } }
@keyframes feuerFade { from { opacity: 0; } }
@keyframes feuerUp { from { opacity: 0; transform: translateY(30px); } }
.feuer-word { animation: feuerFade 1.8s .35s ease-out backwards; }
.feuer-copy { animation: feuerUp 1.1s .6s var(--ease) backwards; }

.feuer-copy { position: absolute; z-index: 6; left: var(--pad); bottom: clamp(40px, 9vh, 96px); width: min(420px, 30vw); }
.fc { position: absolute; left: 0; bottom: 0; width: 100%; opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .9s var(--ease); pointer-events: none; }
.fc.on { opacity: 1; transform: none; pointer-events: auto; }
.fc .eyebrow { margin-bottom: 14px; }
.fc .fc-h { margin: 0; font-family: var(--serif); font-size: clamp(40px, 4.4vw, 68px); line-height: .95; font-weight: 500; color: var(--stone); }
.fc .fc-h em { color: var(--gold-soft); }
.fc .fc-h small { display: inline-block; font-family: var(--khmer); font-size: .42em; color: var(--gold-soft); margin-left: 14px; vertical-align: middle; }
.fc .fc-tx { font-size: 16px; line-height: 1.6; color: rgba(244,237,225,.78); margin: 16px 0 0; max-width: 38ch; }
.fc-price { margin: 0; display: flex; align-items: baseline; gap: 16px; padding-top: 14px; border-top: 1px solid var(--line-light); }
.fc-price span { font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; color: var(--gold); }
.fc-price b { font-family: var(--serif); font-size: 32px; font-weight: 500; color: var(--gold-soft); }
.fc-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 20px; }

.feuer-live { position: absolute; z-index: 6; right: var(--pad); bottom: clamp(40px, 9vh, 96px); width: min(250px, 20vw); margin: 0; border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px -20px rgba(0,0,0,.8), 0 0 0 1px rgba(227,198,141,.25); opacity: 0; transform: translateY(40px) rotate(2deg); transition: opacity .8s var(--ease), transform 1s var(--ease); }
.feuer-live img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.feuer-live figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 14px 12px; font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--gold-soft); background: linear-gradient(transparent, rgba(6,8,7,.85)); }
.feuer.end .feuer-live { opacity: 1; transform: rotate(2deg); }

.feuer-skip { position: absolute; z-index: 7; right: var(--pad); bottom: clamp(40px, 9vh, 96px); display: inline-flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 999px; border: 1px solid rgba(227,198,141,.35); background: rgba(6,8,7,.45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); color: var(--gold-soft); font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; transition: opacity .5s, transform .6s var(--ease), background .3s; animation: feuerFade 1s 1.1s backwards; }
.feuer-skip svg { width: 15px; height: 15px; }
.feuer-skip:hover, .feuer-skip:focus-visible { background: rgba(201,163,92,.18); }
.feuer.end .feuer-skip { opacity: 0; transform: translateY(12px); pointer-events: none; }
.feuer + .menu-hero { padding-top: clamp(80px, 9vw, 112px); background: linear-gradient(#060807, var(--ink) 240px); }

.feuer-steps { position: absolute; z-index: 6; left: 50%; bottom: 26px; transform: translateX(-50%); display: flex; gap: 8px; }
.feuer-steps i { width: 34px; height: 2px; background: rgba(244,237,225,.2); border-radius: 2px; overflow: hidden; position: relative; }
.feuer-steps i::after { content: ""; position: absolute; inset: 0; background: var(--gold); transform-origin: left; transform: scaleX(var(--s, 0)); }
.feuer-hint { position: absolute; z-index: 6; left: 50%; top: 18%; transform: translateX(-50%); font-size: 10.5px; letter-spacing: .32em; text-transform: uppercase; color: rgba(244,237,225,.55); transition: opacity .5s; display: grid; justify-items: center; gap: 10px; }
.feuer-hint small { font-size: inherit; }
.feuer-hint span { width: 1px; height: 38px; background: linear-gradient(var(--gold), transparent); transform-origin: top; animation: feuerHint 1.8s var(--ease) infinite; }
.feuer.past-start .feuer-hint { opacity: 0; }
@keyframes feuerHint { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(1); opacity: 0; } }

@media (max-width: 900px) {
  .feuer { height: 270vh; }
  .feuer-word { top: 29%; font-size: 19.5vw; }
  .feuer-dish { top: 44%; width: 94vw; }
  .feuer-copy { left: var(--pad); right: var(--pad); width: auto; bottom: 118px; }
  .fc .fc-h { font-size: clamp(36px, 10.5vw, 54px); }
  .fc .fc-tx { font-size: 14.5px; margin-top: 10px; }
  .fc .eyebrow { font-size: 11px; margin-bottom: 10px; }
  .fc-price { padding-top: 10px; }
  .fc-price b { font-size: 26px; }
  .fc-actions { margin-top: 14px; }
  .fc-actions .btn { padding: 13px 18px; font-size: 11.5px; }
  .feuer-live { width: 27vw; top: 84px; bottom: auto; right: var(--pad); border-radius: 12px; }
  .feuer-live figcaption { font-size: 8.5px; letter-spacing: .12em; padding: 18px 8px 7px; }
  .feuer-steps { bottom: 98px; left: auto; right: var(--pad); transform: none; }
  .feuer-steps i { width: 22px; }
  .feuer-hint { top: 16%; }
  .feuer-skip { top: 84px; bottom: auto; padding: 9px 13px; font-size: 10px; letter-spacing: .12em; gap: 7px; }
  .feuer + .menu-hero { padding-top: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  .feuer { height: auto; }
  .feuer-stage { position: relative; height: auto; padding: 110px var(--pad) 70px; display: grid; gap: 30px; justify-items: center; }
  .feuer canvas, .feuer-steps, .feuer-hint, .feuer-word, .feuer-skip { display: none; }
  .feuer-heat { opacity: .7; }
  .feuer-dish { position: relative; left: auto; top: auto; transform: none; width: min(90vw, 720px); }
    .feuer-copy { position: relative; left: auto; bottom: auto; width: auto; max-width: 620px; display: grid; gap: 34px; }
  .fc { position: relative; opacity: 1; transform: none; pointer-events: auto; }
  .feuer-live { position: relative; right: auto; bottom: auto; top: auto; opacity: 1; transform: none; width: min(70vw, 300px); }
}
