/* SOA Modern Kitchen & Bar · v2 Deluxe · share2create Preview */

/* ---------- Fonts (lokal) ---------- */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bodoni-moda-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/bodoni-moda-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/bodoni-moda-latin-400-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/bodoni-moda-latin-ext-400-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/bodoni-moda-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/bodoni-moda-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/bodoni-moda-latin-500-italic.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/bodoni-moda-latin-ext-500-italic.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens ---------- */
:root{
  --ink:#0b0e0c;          /* Nachtgrund, grün getönt */
  --ink-2:#111612;
  --ink-3:#18201b;
  --velvet:#0f2b21;       /* Samtbank-Grün aus den Reels */
  --velvet-2:#143628;
  --velvet-line:rgba(201,226,211,.16);
  --candle:#c9a56c;       /* Champagner-Gold, einziger Akzent */
  --candle-2:#e4cb98;
  --gold-line:rgba(201,165,108,.38);
  --gold-soft:rgba(201,165,108,.14);
  --gold-grad:linear-gradient(135deg, #e6cc97 0%, #c9a56c 48%, #a8844f 100%);
  --text:#efe9df;
  --text-2:rgba(239,233,223,.76);
  --text-3:rgba(239,233,223,.58);
  --line:rgba(239,233,223,.14);
  --serif:"Bodoni Moda",ui-serif,serif;
  --sans:"Manrope",ui-sans-serif,system-ui,sans-serif;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --pad:clamp(20px, 5vw, 72px);
  --max:1440px;
  --z-header:30;--z-sticky:25;--z-modal:50;--z-toast:60;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:clamp(17px, 0.95rem + 0.25vw, 19px);line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
::selection{background:var(--candle);color:var(--ink)}
:focus-visible{outline:2px solid var(--candle);outline-offset:3px;border-radius:4px}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--candle);color:var(--ink);padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Filmkorn (fixiertes Pseudo-Element, statisch) */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* ---------- Typo ---------- */
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-0.01em;margin:0;text-wrap:balance}
h2{font-size:clamp(40px, 1.8rem + 3vw, 84px)}
h3{font-size:clamp(28px, 1.4rem + 0.9vw, 38px);line-height:1.12}
h1 em,h2 em,h3 em{font-style:italic;color:var(--candle-2)}
p{margin:0;text-wrap:pretty}
.lede{font-size:clamp(19px, 1rem + 0.6vw, 24px);line-height:1.6;color:var(--text-2);max-width:56ch}
.kicker{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-style:italic;font-size:clamp(19px, 1rem + .4vw, 24px);color:var(--candle);margin-bottom:22px}
.kicker::before,.kicker::after{content:"";width:7px;height:7px;background:currentColor;transform:rotate(45deg);opacity:.85;flex:none}
.kicker::after{display:none}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 30px;border-radius:2px;border:1px solid transparent;font-family:var(--sans);font-weight:600;font-size:16px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn-candle{background:var(--gold-grad);color:#15110a;box-shadow:inset 0 1px 0 rgba(255,255,255,.35)}
.btn-ghost{border-color:var(--gold-line);color:var(--candle-2)}
.btn svg{width:18px;height:18px;flex:none}
@media (hover:hover) and (pointer:fine){
  .btn-candle:hover{filter:brightness(1.07)}
  .btn-ghost:hover{border-color:var(--candle);background:var(--gold-soft)}
}

/* ---------- Header ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:var(--z-header);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad);transition:transform 420ms var(--ease-out),background-color 300ms ease}
.site-header.is-solid{background:linear-gradient(180deg, rgba(11,14,12,.94), rgba(11,14,12,.82))}
.site-header.is-hidden{transform:translateY(-110%)}
.brand{display:flex;align-items:center;color:var(--text);text-decoration:none;opacity:0;transition:opacity 400ms ease}
.site-header.show-brand .brand{opacity:1}
.brand svg{width:86px;height:65px;fill:currentColor}
.nav{display:flex;gap:clamp(18px, 2.2vw, 36px)}
.nav a{font-size:16px;font-weight:500;text-decoration:none;color:var(--text-2);padding:10px 0;position:relative;transition:color 200ms ease}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--candle);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.nav a:hover{color:var(--text)}.nav a:hover::after{transform:scaleX(1)}}
.header-cta{min-height:46px;padding:0 22px}
.menu-toggle{display:none;width:48px;height:48px;border-radius:50%;border:1px solid rgba(239,233,223,.3);background:transparent;align-items:center;justify-content:center}
.menu-toggle span{display:block;width:18px;height:1.5px;background:var(--text);position:relative}
.menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0;width:18px;height:1.5px;background:var(--text)}
.menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
.mobile-nav{position:fixed;inset:0;z-index:var(--z-modal);background:var(--ink);display:flex;flex-direction:column;padding:28px var(--pad) 40px;opacity:0;visibility:hidden;transition:opacity 260ms ease,visibility 260ms}
.mobile-nav.open{opacity:1;visibility:visible}
.mobile-nav .mn-top{display:flex;justify-content:space-between;align-items:center}
.mobile-nav .mn-top svg{width:80px;height:60px;fill:var(--text)}
.mobile-nav nav{display:flex;flex-direction:column;gap:6px;margin:auto 0}
.mobile-nav nav a{font-family:var(--serif);font-size:clamp(38px, 10vw, 56px);text-decoration:none;line-height:1.25}
.icon-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(239,233,223,.3);background:transparent;display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1}

/* ---------- HERO: Fly-through durch das „o" ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:var(--ink)}
.hero-media{position:absolute;inset:0;will-change:transform}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero-media::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 60%, rgba(11,14,12,0) 35%, rgba(11,14,12,.72) 100%)}
.hero-veil{position:absolute;inset:0;width:100%;height:100%;will-change:opacity}
.hero-embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.9}
.hero-intro{position:absolute;left:0;right:0;bottom:clamp(28px, 7vh, 76px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:0 var(--pad)}
.hero-intro .tag{font-size:16px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--text-2)}
.hero-intro .names{font-family:var(--serif);font-style:italic;font-size:clamp(20px, 1rem + .7vw, 28px);color:var(--candle-2)}
.hero-intro .names b{font-style:normal;font-weight:500;color:var(--text)}
.hero-final::before{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(0deg, rgba(11,14,12,.92) 0%, rgba(11,14,12,.6) 45%, rgba(11,14,12,0) 100%);z-index:-1}
.hero-final{position:absolute;inset:0;z-index:2;isolation:isolate;display:grid;align-content:end;padding:0 var(--pad) clamp(44px, 10vh, 110px);pointer-events:none}
.hero-final-inner{max-width:var(--max);width:100%;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:40px;align-items:end}
.hero-final h1{font-size:clamp(46px, 2rem + 4.4vw, 96px);letter-spacing:-0.025em;text-shadow:0 2px 40px rgba(0,0,0,.45)}
.hero-final .side{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.hero-final .side p{color:var(--text);font-size:clamp(18px, 1rem + .3vw, 21px);max-width:34ch;text-shadow:0 1px 24px rgba(0,0,0,.6)}
.hero-final .ctas{display:flex;flex-wrap:wrap;gap:12px;pointer-events:auto}
.hero-final .open{font-size:16px;color:var(--text-2);display:flex;align-items:center;gap:10px}
.hero-final .open i{width:8px;height:8px;border-radius:50%;background:#7fbf8f;box-shadow:0 0 0 4px rgba(127,191,143,.18)}
html.anim .hero-final{opacity:0}
html:not(.anim) .hero-veil,html:not(.anim) .hero-intro{display:none}
html:not(.anim) .site-header .brand{opacity:1}

/* ---------- Abschnitte allgemein ---------- */
.section{position:relative;padding:clamp(96px, 14vw, 200px) var(--pad)}
.wrap{max-width:var(--max);margin:0 auto}

/* Reveals (nur unter html.anim versteckt) */
html.anim .rv{opacity:0;transform:translateY(28px);transition:opacity 900ms var(--ease-out),transform 900ms var(--ease-out)}
html.anim .rv.in{opacity:1;transform:none}
html.anim .rv-img{clip-path:inset(10% 0 10% 0);transition:clip-path 1200ms var(--ease-io)}
html.anim .rv-img.in{clip-path:inset(-30px -30px -30px -30px)}
html.anim .rv-img img{transform:scale(1.12);transition:transform 1600ms var(--ease-out)}
html.anim .rv-img.in img{transform:scale(1)}

/* ---------- SOA = Familie ---------- */
.family{background:var(--ink);overflow:hidden}
.family .head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px, 6vw, 96px);align-items:end;margin-bottom:clamp(56px, 8vw, 120px)}
.letters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.letter{position:relative;padding:clamp(28px, 4vw, 56px) clamp(8px, 2vw, 32px) clamp(36px, 4vw, 60px);display:flex;flex-direction:column;align-items:center;text-align:center}
.letter + .letter{border-left:1px solid var(--line)}
.letter .glyph{font-family:var(--serif);font-weight:400;font-size:clamp(120px, 21vw, 340px);line-height:.92;letter-spacing:0;color:var(--text)}
.letter .glyph::after{content:"";display:block;width:9px;height:9px;margin:clamp(14px, 2vw, 26px) auto 0;border-radius:50%;background:var(--candle)}
.letter .name{font-family:var(--serif);font-style:italic;font-size:clamp(30px, 1.4rem + 1.6vw, 52px);line-height:1.1;margin-top:clamp(10px, 1.4vw, 18px);color:var(--candle-2)}
.letter .rest{color:var(--text-3)}
.letter .name .first{color:var(--text);font-style:normal}
html.anim .letter .glyph{opacity:.16;transform:translateY(24px);transition:opacity 900ms var(--ease-out),transform 1100ms var(--ease-out)}
html.anim .letter .name{opacity:0;transform:translateY(16px);filter:blur(6px);transition:opacity 800ms var(--ease-out),transform 900ms var(--ease-out),filter 800ms ease}
html.anim .letters.in .letter .glyph{opacity:1;transform:none}
html.anim .letters.in .letter .name{opacity:1;transform:none;filter:none}
html.anim .letters.in .letter:nth-child(2) .glyph{transition-delay:550ms}
html.anim .letters.in .letter:nth-child(2) .name{transition-delay:750ms}
html.anim .letters.in .letter:nth-child(3) .glyph{transition-delay:1100ms}
html.anim .letters.in .letter:nth-child(3) .name{transition-delay:1300ms}
html.anim .letters.in .letter:nth-child(1) .name{transition-delay:200ms}
.family .story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px, 6vw, 110px);align-items:center;margin-top:clamp(64px, 9vw, 140px)}
.family .story figure{margin:0;border-radius:2px;overflow:visible;aspect-ratio:4/5;position:relative}
.family .story figure img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.family .story figcaption{position:absolute;left:18px;bottom:16px;font-size:16px;color:var(--text);background:rgba(11,14,12,.66);padding:6px 14px;border-radius:999px}
.family .story .quote{font-family:var(--serif);font-size:clamp(30px, 1.2rem + 2.2vw, 58px);line-height:1.14;letter-spacing:-0.015em;margin-bottom:30px}
.family .story .quote em{color:var(--candle-2)}
.family .story p + p{margin-top:18px}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;background:var(--velvet);border-block:1px solid var(--velvet-line);padding:22px 0}
.marquee-track{display:flex;width:max-content;animation:marquee 46s linear infinite}
.marquee span{font-family:var(--serif);font-style:italic;font-size:clamp(30px, 1.4rem + 1.8vw, 56px);white-space:nowrap;padding:0 28px;color:var(--text)}
.marquee i{align-self:center;width:10px;height:10px;border-radius:50%;background:var(--candle);flex:none}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Küche / Haltung ---------- */
.kitchen{background:var(--ink-2)}
.kitchen .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px, 6vw, 110px);align-items:start}
.kitchen .points{display:grid;gap:0;margin-top:clamp(36px, 4vw, 56px);border-top:1px solid var(--line)}
.kitchen .point{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}
.kitchen .point h3{font-size:clamp(28px, 1.3rem + .8vw, 34px)}
.kitchen .point p{color:var(--text-2)}
.fire{position:relative;margin-top:clamp(72px, 10vw, 150px);border-radius:2px;overflow:hidden;aspect-ratio:16/8}
.fire img{width:100%;height:118%;object-fit:cover;will-change:transform}
.fire::after{content:"";position:absolute;inset:auto 0 0 0;height:60%;background:linear-gradient(0deg, rgba(11,14,12,.85), rgba(11,14,12,0));pointer-events:none}
.fire figcaption{z-index:1;position:absolute;left:clamp(20px, 4vw, 56px);bottom:clamp(20px, 4vw, 52px);font-family:var(--serif);font-size:clamp(34px, 1.4rem + 2.6vw, 76px);line-height:1.02;text-shadow:0 2px 30px rgba(0,0,0,.55)}
.fire figcaption em{color:var(--candle-2)}
.fire figcaption small{display:block;font-family:var(--sans);font-size:16px;letter-spacing:.02em;margin-top:14px;color:var(--text-2);text-shadow:none}

/* ---------- Signature-Teller (Rail) ---------- */
.plates{background:var(--ink);padding-right:0}
.plates .top{display:flex;justify-content:space-between;align-items:end;gap:28px;padding-right:var(--pad);margin-bottom:clamp(40px, 5vw, 72px)}
.rail-ctrl{display:flex;gap:10px}
.rail-ctrl button{width:56px;height:56px;border-radius:50%;border:1px solid rgba(239,233,223,.3);background:transparent;display:inline-flex;align-items:center;justify-content:center;transition:transform 160ms var(--ease-out),border-color 200ms}
.rail-ctrl button:active{transform:scale(.95)}
.rail-ctrl svg{width:20px;height:20px}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(280px, 30vw, 440px);gap:clamp(16px, 2vw, 28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-right:var(--pad);padding-bottom:8px;cursor:grab}
.rail::-webkit-scrollbar{display:none}
.rail.dragging{cursor:grabbing;scroll-snap-type:none}
.plate{scroll-snap-align:start;margin:0}
.plate .ph{position:relative;border-radius:2px;overflow:hidden;aspect-ratio:4/5.4;background:var(--ink-3)}
.plate .ph img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.plate:hover .ph img{transform:scale(1.045)}}
.plate .badge{position:absolute;top:16px;left:16px;font-size:16px;font-weight:500;background:rgba(11,14,12,.78);color:var(--candle-2);border:1px solid var(--gold-line);padding:6px 14px;border-radius:2px}
.plate figcaption{padding:20px 4px 0}
.plate .cat{font-size:16px;color:var(--text-3)}
.plate h3{margin:6px 0 10px}
.plate p{color:var(--text-2);font-size:17px}
.plate .price{font-family:var(--serif);font-size:24px;color:var(--candle-2);margin-top:12px;display:block}

/* ---------- Karte ---------- */
.menu{background:var(--velvet)}
.menu::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 85% 0%, rgba(217,165,96,.10), transparent 70%);pointer-events:none}
.menu .head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px, 6vw, 96px);align-items:end;margin-bottom:clamp(40px, 5vw, 72px)}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(32px, 4vw, 52px)}
.tab{min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--velvet-line);background:transparent;font-weight:600;font-size:16px;color:var(--text-2);transition:background-color 220ms ease,color 220ms ease,border-color 220ms ease,transform 160ms var(--ease-out)}
.tab:active{transform:scale(.97)}
.tab[aria-selected="true"]{background:var(--text);color:var(--velvet);border-color:var(--text)}
@media (hover:hover) and (pointer:fine){.tab:not([aria-selected="true"]):hover{border-color:rgba(239,233,223,.5);color:var(--text)}}
.panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(32px, 5vw, 88px)}
html.js .panel[hidden]{display:none}
.panel-title{grid-column:1/-1;font-family:var(--serif);font-style:italic;font-size:clamp(28px, 1.3rem + 1vw, 40px);color:var(--candle-2);margin:0 0 8px}
.panel-title:not(:first-child){margin-top:36px}
.dish{padding:24px 0;border-top:1px solid var(--velvet-line);display:grid;grid-template-columns:1fr auto;gap:6px 20px}
.dish h4{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(26px, 1.2rem + .6vw, 32px);line-height:1.15;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dish .pr{font-family:var(--serif);font-size:24px;color:var(--candle-2);white-space:nowrap}
.dish p{grid-column:1/-1;color:var(--text-2);font-size:17px;max-width:52ch}
.dish .extra{grid-column:1/-1;font-size:16px;color:var(--text-3)}
.dish.rec{position:relative}
.rec-tag{font-family:var(--sans);font-size:16px;font-weight:600;color:var(--candle);display:block;grid-column:1/-1;margin-bottom:2px}
.veg{display:inline-flex;width:24px;height:24px;color:#9ccf9f}
.veg svg{width:100%;height:100%}
.menu-foot{display:flex;flex-wrap:wrap;gap:16px 36px;justify-content:space-between;align-items:center;margin-top:clamp(40px, 5vw, 64px);padding-top:28px;border-top:1px solid var(--velvet-line);color:var(--text-2);font-size:16px}
.menu-foot .legend{display:flex;align-items:center;gap:8px}
html.anim .panel:not([hidden]) .dish{animation:dishIn 520ms var(--ease-out) both}
@keyframes dishIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Küchenchef ---------- */
.chef{background:var(--ink)}
.chef .grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px, 7vw, 120px);align-items:center}
.chef figure{margin:0;border-radius:2px;overflow:visible;aspect-ratio:4/5;position:relative}
.chef figure img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.chef .route{display:flex;align-items:center;gap:0;margin:clamp(32px, 4vw, 48px) 0;max-width:560px}
.chef .stop{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex:none}
.chef .stop b{width:14px;height:14px;border-radius:50%;border:1px solid var(--candle);background:var(--ink)}
.chef .stop.on b{background:var(--candle)}
.chef .stop span{font-family:var(--serif);font-size:clamp(22px, 1rem + .8vw, 30px)}
.chef .leg{flex:1;height:1px;background:var(--line);margin:0 14px;align-self:flex-start;margin-top:7px;position:relative;overflow:hidden}
.chef .leg::after{content:"";position:absolute;inset:0;background:var(--candle);transform-origin:left;transform:scaleX(0);transition:transform 1200ms var(--ease-io)}
.chef .route.in .leg::after{transform:scaleX(1)}
.chef .route.in .leg:nth-of-type(4)::after{transition-delay:700ms}
html:not(.anim) .chef .leg::after{transform:scaleX(1)}
.chef p + p{margin-top:18px}
.chef .sign{font-family:var(--serif);font-style:italic;font-size:clamp(24px, 1rem + 1vw, 32px);color:var(--candle-2);margin-top:30px}

/* ---------- Bar ---------- */
.bar{background:var(--ink-2)}
.bar .grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px, 7vw, 120px);align-items:center}
.bar figure{margin:0;border-radius:2px;aspect-ratio:4/5;position:relative}
.bar figure img{width:100%;height:100%;object-fit:cover}
.bar .times{margin-top:32px;display:grid;gap:0;border-top:1px solid var(--line)}
.bar .times div{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.bar .times span:last-child{font-family:var(--serif);font-size:22px}

/* ---------- Reels ---------- */
.reels{background:var(--ink);overflow:hidden}
.reels .head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:clamp(40px, 5vw, 72px)}
.reel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px, 1.6vw, 24px)}
.reel{position:relative;border:1px solid var(--gold-soft);padding:0;background:var(--ink-3);border-radius:2px;overflow:hidden;aspect-ratio:9/16;text-align:left;isolation:isolate;transition:transform 220ms var(--ease-out)}
.reel:nth-child(even){margin-top:clamp(28px, 5vw, 80px)}
.reel:active{transform:scale(.98)}
.reel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kenburns 18s ease-in-out infinite alternate}
.reel:nth-child(2n) img{animation-delay:-6s}
.reel:nth-child(3n) img{animation-delay:-11s}
@keyframes kenburns{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-2%,-2%,0)}}
.reel::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg, rgba(11,14,12,.0) 40%, rgba(11,14,12,.88) 100%)}
.reel .meta{position:absolute;left:18px;right:18px;bottom:18px;display:grid;gap:6px}
.reel .t{font-family:var(--serif);font-size:clamp(24px, 1rem + .8vw, 30px);line-height:1.12;color:var(--text)}
.reel .d{font-size:16px;color:var(--text-2);display:flex;align-items:center;gap:10px}
.reel .play{position:absolute;top:16px;right:16px;width:52px;height:52px;border-radius:50%;background:rgba(11,14,12,.6);border:1px solid var(--gold-line);display:inline-flex;align-items:center;justify-content:center;transition:transform 220ms var(--ease-out),background-color 220ms}
.reel .play svg{width:18px;height:18px;margin-left:3px;fill:var(--candle-2)}
@media (hover:hover) and (pointer:fine){.reel:hover .play{transform:scale(1.08);background:var(--candle)}.reel:hover .play svg{fill:#16110a}}
.reel.logo-card{background:var(--velvet);display:flex;align-items:center;justify-content:center}
.reel.logo-card .lockup{width:80%;margin-bottom:60px}
.reels .note{margin-top:28px;font-size:16px;color:var(--text-3);max-width:70ch}

/* Video-Dialog */
.vdialog{border:0;padding:0;background:transparent;color:var(--text);max-width:none;max-height:none;width:100%;height:100%;margin:0}
.vdialog::backdrop{background:rgba(6,8,7,.9)}
.vdialog[open]{display:grid;place-items:center}
.vd-box{position:relative;width:min(420px, 92vw);display:grid;gap:16px}
.vd-frame{position:relative;aspect-ratio:9/16;max-height:78vh;border-radius:2px;border:1px solid var(--gold-line);overflow:hidden;background:var(--ink-3)}
.vd-frame img.poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.45)}
.vd-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#fff}
.vd-consent{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:14px;padding:24px}
.vd-consent p{font-size:16px;color:var(--text)}
.vd-consent .row{display:flex;flex-wrap:wrap;gap:10px}
.vd-close{position:absolute;top:-60px;right:0}
.vd-cap{font-family:var(--serif);font-size:24px}
@media (prefers-reduced-motion:no-preference){.vdialog[open] .vd-box{animation:pop 280ms var(--ease-out)}}
@keyframes pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}

/* ---------- Besuch & Reservierung ---------- */
.visit{background:var(--ink-2);overflow:hidden}
.visit .bgimg{position:absolute;inset:0;opacity:.22}
.visit .bgimg img{width:100%;height:100%;object-fit:cover}
.visit .bgimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, var(--ink-2) 0%, rgba(17,22,18,.6) 40%, var(--ink-2) 100%)}
.visit .wrap{position:relative}
.visit h2{font-size:clamp(46px, 2rem + 4.4vw, 96px);max-width:12ch}
.visit .grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px, 6vw, 100px);margin-top:clamp(48px, 6vw, 88px);align-items:start}
.resv{background:linear-gradient(180deg, #151c17, #0f1411);border:1px solid var(--gold-line);border-radius:2px;padding:clamp(24px, 3.4vw, 44px);position:relative}
.resv::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg, transparent, rgba(240,199,137,.6), transparent)}
.resv h3{margin-bottom:6px}
.resv .sub{color:var(--text-2);font-size:17px;margin-bottom:26px}
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:16px;font-weight:600;color:var(--text)}
.field input,.field select{appearance:none;-webkit-appearance:none;width:100%;min-height:54px;padding:0 16px;border-radius:2px;border:1px solid rgba(239,233,223,.22);background:#0d1310;color:var(--text);font:inherit;font-size:17px;color-scheme:dark}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%23efe9df' stroke-width='1.6' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.field input:focus,.field select:focus{outline:none;border-color:var(--candle);box-shadow:0 0 0 3px rgba(217,165,96,.22)}
.field .err{font-size:16px;color:#f0a58a;min-height:0}
.resv .btn{width:100%;margin-top:22px}
.resv .micro{font-size:16px;color:var(--text-3);margin-top:14px}
.hours{display:grid;gap:0;border-top:1px solid var(--line)}
.hours div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line);color:var(--text-2)}
.hours div span:last-child{font-family:var(--serif);font-size:22px;color:var(--text)}
.hours div.today{color:var(--text)}
.hours div.today span:first-child::after{content:"heute";margin-left:12px;font-size:16px;color:var(--ink);background:var(--candle);padding:2px 10px;border-radius:999px;font-weight:600}
.addr{margin-top:36px;display:grid;gap:8px}
.addr .big{font-family:var(--serif);font-size:clamp(30px, 1.3rem + 1.4vw, 44px);line-height:1.15}
.addr a{color:var(--candle-2);text-underline-offset:5px}
.addr .links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}

/* ---------- Footer ---------- */
.footer{background:var(--ink);padding:clamp(72px, 9vw, 130px) var(--pad) 40px;border-top:1px solid var(--line)}
.footer .wrap{display:grid;gap:clamp(48px, 6vw, 80px)}
.lockup{position:relative;display:block;aspect-ratio:2612/1192;container-type:inline-size;color:var(--text)}
.lockup svg{position:absolute;left:0;top:0;width:61%;height:auto;fill:currentColor}
.lockup .by{position:absolute;left:35.5%;top:62%;font-family:var(--sans);font-weight:400;font-size:4.4cqw;letter-spacing:.42em;text-transform:uppercase;white-space:nowrap;line-height:1}
.lockup .kb{position:absolute;left:46.5%;top:76%;font-family:var(--sans);font-weight:500;font-size:3cqw;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;line-height:1}
.lockup .kb::after{content:"";position:absolute;left:-4%;right:-4%;top:calc(100% + 2.4cqw);height:1px;background:currentColor;opacity:.5}
.footer .logo-xl .lockup{width:min(760px, 100%)}
.footer .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;font-size:16px;color:var(--text-2)}
.footer .cols b{display:block;color:var(--text);font-weight:600;margin-bottom:8px}
.footer .cols a{text-decoration:none}
@media (hover:hover) and (pointer:fine){.footer .cols a:hover{color:var(--candle-2)}}
.footer .legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:16px;color:var(--text-3);padding-top:28px;border-top:1px solid var(--line)}
.footer .legal a{text-decoration:none}

/* Mobile Sticky-Reservierung */
.m-reserve{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-sticky);display:none;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 20px;border-radius:999px;background:#151d18;border:1px solid var(--line);box-shadow:0 18px 40px rgba(0,0,0,.45);transform:translateY(140%);transition:transform 380ms var(--ease-out)}
.m-reserve.show{transform:none}
.m-reserve span{font-size:16px;color:var(--text-2)}
.m-reserve .btn{min-height:46px;padding:0 20px}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .nav{display:none}
  .menu-toggle{display:inline-flex}
  .reel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .hero-final::before{height:88%;background:linear-gradient(0deg, rgba(11,14,12,.95) 0%, rgba(11,14,12,.75) 55%, rgba(11,14,12,0) 100%)}
  .hero-final-inner,.family .head,.family .story,.kitchen .grid,.menu .head,.chef .grid,.bar .grid,.visit .grid,.reels .head{grid-template-columns:minmax(0,1fr)}
  .panel{grid-template-columns:minmax(0,1fr)}
  .kitchen .point{grid-template-columns:minmax(0,1fr);gap:8px}
  .fire{aspect-ratio:4/5}
  .fire img{height:112%}
  .header-cta{display:none}
  .m-reserve{display:flex}
  .footer .cols{grid-template-columns:minmax(0,1fr)}
  .footer{padding-bottom:110px}
  .chef figure{aspect-ratio:4/4.6}
  .bar figure{order:-1}
}
@media (max-width:560px){
  .letter{padding-inline:4px}
  .letter .name{font-size:clamp(20px, 6vw, 30px)}
  .fgrid{grid-template-columns:minmax(0,1fr)}
  .reel:nth-child(even){margin-top:28px}
  .rail{grid-auto-columns:78vw}
  .plates .top{flex-direction:column;align-items:flex-start}
  .brand svg{width:70px;height:53px}
}

/* ---------- Reduced Motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .marquee-track{animation:none}
  .reel img{animation:none}
}
@media print{.site-header,.m-reserve,.hero-veil,.hero-embers,body::after{display:none}}

/* =================== v2 Deluxe =================== */
/* Goldrahmen für Bilder (versetzte Haarlinie) */
.frame{position:relative;margin:0}
.frame::before{content:"";position:absolute;inset:-14px;border:1px solid var(--gold-line);pointer-events:none;z-index:1}
.frame::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(228,203,152,.12);pointer-events:none;z-index:1}
.frame img{width:100%;height:100%;object-fit:cover}
.plate .ph::after{content:"";position:absolute;inset:10px;border:1px solid rgba(228,203,152,.28);pointer-events:none}
.reel::after{content:"";position:absolute;inset:8px;border:1px solid rgba(228,203,152,.16);pointer-events:none}

/* Ornament statt Laufzeile */
.ornament{display:flex;align-items:center;justify-content:center;gap:clamp(18px, 3vw, 36px);padding:clamp(28px, 4vw, 52px) var(--pad);background:var(--ink)}
.ornament span{flex:1;max-width:420px;height:1px;background:linear-gradient(90deg, transparent, var(--gold-line))}
.ornament span:last-child{background:linear-gradient(270deg, transparent, var(--gold-line))}
.ornament svg{width:84px;height:64px;fill:var(--candle);opacity:.9}

/* Willkommen */
.welcome{background:var(--ink)}
.wel-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(48px, 8vw, 140px);align-items:center}
.wel-text .lede + .lede{margin-top:18px}
.wel-text h2{margin-bottom:clamp(26px, 3vw, 40px)}
.wel-img{aspect-ratio:4/5;max-width:520px;justify-self:end;width:100%}
.monogram{margin-top:clamp(40px, 5vw, 64px);padding-top:28px;border-top:1px solid var(--gold-line);display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.mono-letters{display:inline-flex;align-items:center;gap:12px;font-family:var(--serif);font-size:30px;line-height:1;color:var(--candle-2);letter-spacing:.06em}
.mono-letters i{width:5px;height:5px;background:var(--candle);transform:rotate(45deg);opacity:.8}
.mono-cap{font-family:var(--serif);font-style:italic;font-size:clamp(18px, 1rem + .25vw, 21px);color:var(--text-2)}

/* Karte: Tabs mit Icons */
.tabs{gap:0;border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:1 0 auto;min-width:150px;min-height:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 14px 20px;border:0;border-radius:0;background:transparent;color:var(--text-2);font-weight:500;letter-spacing:.02em;position:relative;scroll-snap-align:start}
.tab + .tab{border-left:1px solid rgba(201,165,108,.16)}
.tab-ic{width:58px;height:58px;border-radius:50%;border:1px solid var(--gold-line);display:inline-flex;align-items:center;justify-content:center;color:var(--candle);transition:background-color 260ms ease,color 260ms ease,border-color 260ms ease,transform 260ms var(--ease-out)}
.tab-ic svg{width:30px;height:30px}
.tab::after{content:"";position:absolute;left:24%;right:24%;bottom:-1px;height:2px;background:var(--gold-grad);transform:scaleX(0);transition:transform 320ms var(--ease-out)}
.tab[aria-selected="true"]{background:transparent;color:var(--text);border-color:rgba(201,165,108,.16)}
.tab[aria-selected="true"] .tab-ic{background:var(--gold-grad);color:#15110a;border-color:transparent}
.tab[aria-selected="true"]::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.tab:not([aria-selected="true"]):hover{color:var(--text)}.tab:not([aria-selected="true"]):hover .tab-ic{transform:translateY(-3px);border-color:var(--candle)}}
.tab:active .tab-ic{transform:scale(.95)}

/* Karte: Gold-Rahmen + Punktlinien wie auf der Karte */
.menu .menu-card{position:relative;padding:clamp(28px, 4vw, 64px);border:1px solid var(--gold-line);background:linear-gradient(180deg, rgba(8,20,15,.35), rgba(8,20,15,.15))}
.menu .menu-card::before{content:"";position:absolute;inset:8px;border:1px solid rgba(201,165,108,.14);pointer-events:none}
.panel{align-items:start}
.dish{align-content:start;grid-template-columns:auto minmax(24px,1fr) auto;align-items:baseline;border-top-color:rgba(201,165,108,.16)}
.dish .lead{border-bottom:1px dotted rgba(201,165,108,.45);transform:translateY(-6px)}
.dish p,.dish .extra,.rec-tag{grid-column:1/-1}
.rec-tag{display:inline-flex;align-items:center;gap:8px;font-weight:500;letter-spacing:.04em}
.rec-tag::before{content:"";width:6px;height:6px;background:var(--candle);transform:rotate(45deg)}
.panel-title{font-size:clamp(28px, 1.2rem + .9vw, 36px)}
.menu-foot{border-top-color:var(--gold-line)}

/* Küchenchef Deluxe */
.chef{background:radial-gradient(70% 60% at 78% 40%, rgba(201,165,108,.10), transparent 70%), var(--ink);overflow:hidden}
.chef-mark{position:absolute;right:-2vw;top:50%;transform:translateY(-50%);font-family:var(--serif);font-style:italic;font-size:clamp(160px, 26vw, 460px);line-height:1;color:var(--candle);opacity:.05;pointer-events:none;white-space:nowrap}
.chef .grid{position:relative;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.chef-img{aspect-ratio:4/5;max-width:520px;width:100%}
.chef-img img{object-position:50% 20%}
.chef-img figcaption{position:absolute;left:-14px;bottom:28px;z-index:2;background:var(--ink);border:1px solid var(--gold-line);padding:12px 20px;font-size:16px;color:var(--text-2);display:grid;gap:2px}
.chef-img figcaption span{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--candle-2);line-height:1.1}
.chef-from{font-family:var(--serif);font-style:italic;font-size:clamp(22px, 1rem + .8vw, 30px);color:var(--candle-2);margin-top:18px}
.chef .route{list-style:none;padding:0;display:flex;align-items:center;margin:clamp(26px, 3vw, 40px) 0;max-width:560px}
.chef .route .stop{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex:none}
.chef .route .stop svg{width:12px;height:12px;fill:none;stroke:var(--candle);stroke-width:1.4}
.chef .route .stop.on svg{fill:var(--candle)}
.chef .route .stop span{font-family:var(--sans);font-size:16px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}
.chef .route .leg{flex:1;height:1px;background:rgba(201,165,108,.2);margin:0 16px;align-self:flex-start;margin-top:6px;position:relative;overflow:hidden}
.chef .route .leg::after{content:"";position:absolute;inset:0;background:var(--gold-grad);transform-origin:left;transform:scaleX(0);transition:transform 1200ms var(--ease-io)}
.chef .route.in .leg::after{transform:scaleX(1)}
.chef .route.in .leg:nth-of-type(4)::after{transition-delay:700ms}
html:not(.anim) .chef .route .leg::after{transform:scaleX(1)}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:clamp(32px, 4vw, 48px) 0 0;border-top:1px solid var(--gold-line);border-bottom:1px solid var(--gold-line)}
.facts div{padding:22px 16px 20px;display:grid;gap:4px}
.facts div + div{border-left:1px solid rgba(201,165,108,.2)}
.facts dt{font-family:var(--serif);font-size:clamp(34px, 1.4rem + 1.6vw, 52px);line-height:1;color:var(--candle-2)}
.facts dd{margin:0;font-size:16px;color:var(--text-2)}
.chef-quote{margin:clamp(32px, 4vw, 48px) 0 0;padding:0 0 0 0;position:relative}
.chef-quote::before{content:"\201E";position:absolute;left:-4px;top:-62px;font-family:var(--serif);font-size:120px;line-height:1;color:var(--candle);opacity:.35}
.chef-quote p{font-family:var(--serif);font-style:italic;font-size:clamp(24px, 1rem + 1.1vw, 34px);line-height:1.3;color:var(--text);max-width:30ch;padding-top:38px}

/* Footer-Credit */
.credit{display:inline-flex;align-items:center;gap:8px;align-self:center;justify-self:center;font-size:16px;color:var(--text-3);text-decoration:none;letter-spacing:.04em;padding:10px 0;transition:color 200ms ease}
.credit svg{width:16px;height:16px;fill:var(--candle)}
.credit b{font-weight:600;color:var(--text-2)}
@media (hover:hover) and (pointer:fine){.credit:hover{color:var(--text)}.credit:hover b{color:var(--candle-2)}}

/* Header-CTA etwas schlanker */
.header-cta{min-height:46px;padding:0 22px;font-size:16px}

@media (max-width:860px){
  .wel-grid,.chef .grid{grid-template-columns:minmax(0,1fr)}
  .wel-img,.chef-img{justify-self:center;max-width:440px;margin:14px auto 0;width:calc(100% - 28px)}
  .chef-img figcaption{left:0}
  .facts div{padding:18px 10px}
  .tab{min-width:128px}
  .chef-mark{display:none}
}
@media (max-width:560px){
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts div + div{border-left:0;border-top:1px solid rgba(201,165,108,.2)}
  .btn{padding:0 22px;letter-spacing:.1em}
  .monogram{gap:14px}
}
@media (max-width:560px){
  .menu .menu-card{padding:20px 16px;border-left:0;border-right:0;margin-inline:calc(var(--pad) * -1)}
  .menu .menu-card::before{display:none}
  .dish{grid-template-columns:minmax(0,1fr) auto}
  .dish .lead{display:none}
}
.bar{overflow:hidden}
@media (max-width:860px){.bar figure{width:calc(100% - 28px);margin:14px auto 0}}
.chef-quote::before{position:static;display:block;height:56px;line-height:1;margin-left:-4px}
.chef-quote p{padding-top:0}
