/* ============================================================
   Gasthof zur Linde — gemeinsames Stylesheet (Flaggschiff-Stil)
   Eine zentrale Datei für alle Seiten. Bildquellen unten bei
   den .scene-Klassen zentral pflegbar.
   ============================================================ */
:root{
  --paper:#f5efe4;
  --paper-2:#ece3d3;
  --ink:#221a14;
  --ink-soft:#5c5043;
  --ember:#a8521f;
  --ember-deep:#7d3a13;
  --gold:#b88a3e;
  --line:rgba(34,26,20,.14);
  --line-soft:rgba(34,26,20,.08);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Hanken Grotesk',sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.65;overflow-x:hidden;position:relative}
body::after{content:"";position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.05;mix-blend-mode:multiply;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='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:.98;letter-spacing:-.012em}
.it{font-style:italic}
a{color:inherit;text-decoration:none}
::selection{background:var(--ember);color:var(--paper)}
.wrap{max-width:1320px;margin:0 auto;padding:0 48px}
.lbl{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ember-deep);font-weight:400}
.mono{font-family:'Space Mono',monospace}
img{max-width:100%;display:block}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;font-family:'Hanken Grotesk';font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;padding:1.15em 2.1em;border-radius:2px;transition:.5s var(--ease);cursor:pointer;border:1px solid transparent;position:relative}
.btn .ar{transition:transform .5s var(--ease)}
.btn:hover .ar{transform:translateX(5px)}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:var(--ember-deep)}
.btn-ghost{border-color:currentColor;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--ember-deep);color:var(--paper)}
.link-ar{display:inline-flex;align-items:center;gap:.6em;font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:4px;transition:.4s var(--ease)}
.link-ar:hover{color:var(--ember-deep);border-color:var(--ember-deep);gap:1em}

/* image plates */
.plate{position:relative;overflow:hidden;background:var(--paper-2)}
.plate .img{position:absolute;inset:0;transition:transform 1.4s var(--ease)}
.plate .img::after{content:"";position:absolute;inset:0;background:radial-gradient(130% 100% at 30% 18%,rgba(255,255,255,.20),transparent 55%),radial-gradient(120% 120% at 80% 100%,rgba(0,0,0,.32),transparent 60%)}
.plate .grain{position:absolute;inset:0;z-index:2;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}
.plate .cap{position:absolute;left:18px;bottom:16px;z-index:4;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.06em;color:rgba(255,255,255,.92);background:rgba(20,14,10,.34);backdrop-filter:blur(4px);padding:.4em .75em;border-radius:2px}
.hover-zoom:hover .img{transform:scale(1.05)}

/* ---- ZENTRALE BILDQUELLEN — echte Linde-Fotos (zentral tauschbar) ---- */
.sunset .img{background-image:url('img/stube-hero.webp');background-size:cover;background-position:center}
.lake .img{background-image:url('img/papillon-lake.webp');background-size:cover;background-position:center}
.interior .img{background-image:url('img/stube1.webp');background-size:cover;background-position:center}
.interior2 .img{background-image:url('img/stube7.webp');background-size:cover;background-position:center}
.dish .img{background-image:url('img/tomatoes.webp');background-size:cover;background-position:center}
.dish2 .img{background-image:url('img/grapes.webp');background-size:cover;background-position:center}
.dish3 .img{background-image:url('img/stube5.webp');background-size:cover;background-position:center}
.room .img{background-image:url('img/room.webp');background-size:cover;background-position:center}
.room2 .img{background-image:url('img/stube2.webp');background-size:cover;background-position:center}
.garden .img{background-image:url('img/exterior1.webp');background-size:cover;background-position:center}
.garden2 .img{background-image:url('img/exterior2.webp');background-size:cover;background-position:center}
.cocktail .img{background-image:url('img/barman.webp');background-size:cover;background-position:center}
.bar .img{background-image:url('img/bar.webp');background-size:cover;background-position:center}
.dessert .img{background-image:url('img/papillon-softeis.webp');background-size:cover;background-position:center}
.wedding .img{background-image:url('img/wedding1.webp');background-size:cover;background-position:center}
.event .img{background-image:url('img/wedding2.webp');background-size:cover;background-position:center}
.plated .img{background-image:url('img/stube6.webp');background-size:cover;background-position:center}
.table .img{background-image:url('img/bar.webp');background-size:cover;background-position:center}
.wine .img{background-image:url('img/grapes.webp');background-size:cover;background-position:center}
.pizza .img{background-image:url('img/tomatoes.webp');background-size:cover;background-position:center}
.bread .img{background-image:url('img/grapes.webp');background-size:cover;background-position:center}
.candle .img{background-image:url('img/bar.webp');background-size:cover;background-position:center}
.team .img{background-image:url('img/team.webp');background-size:cover;background-position:center}
.service .img{background-image:url('img/service.webp');background-size:cover;background-position:center}
.nature1 .img{background-image:url('img/nature1.webp');background-size:cover;background-position:center}
.nature2 .img{background-image:url('img/nature2.webp');background-size:cover;background-position:center}
.nature3 .img{background-image:url('img/nature3.webp');background-size:cover;background-position:center}
.sign .img{background-image:url('img/exterior-sign.webp');background-size:cover;background-position:center}
.weddingB .img{background-image:url('img/wedding3.webp');background-size:cover;background-position:center}
/* Strandbar Papillon — echte Fotos (Familie Husz-Gelbmann, gasthofzurlinde.at) */
.papsun .img{background-image:url('img/papillon-sunset.webp');background-size:cover;background-position:center}
.papbar .img{background-image:url('img/papillon-bar.webp');background-size:cover;background-position:center}

/* ken-burns hero motion */
@keyframes ken{from{transform:scale(1.06)}to{transform:scale(1.18)}}
.hero .plate .img.kb{animation:ken 20s ease-out both}
.hero h1{font-size:clamp(3.6rem,10.5vw,11rem)}

/* full-bleed dramatic statement over photo */
.fb-state{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--paper);overflow:hidden}
.fb-state .plate{position:absolute;inset:0}
.fb-state .plate .img{transition:transform 3s var(--ease)}
.fb-state .veil{position:absolute;inset:0;z-index:2;background:radial-gradient(120% 100% at 50% 50%,rgba(20,12,8,.5),rgba(20,12,8,.78))}
.fb-state .in{position:relative;z-index:3;max-width:980px;padding:0 40px}
.fb-state .lbl{color:var(--gold)}
.fb-state p.q{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5.4vw,4.8rem);line-height:1.1;font-weight:500;margin-top:22px;letter-spacing:-.01em}
.fb-state p.q .it{color:var(--gold)}

/* lookbook — große Foto-Cards */
.lookbook{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:300px;gap:16px}
.lookbook a{position:relative;overflow:hidden;border-radius:4px;display:flex;align-items:flex-end;color:var(--paper);text-decoration:none}
.lookbook a .plate{position:absolute;inset:0}
.lookbook a::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(18,11,7,.92),rgba(18,11,7,.1) 62%);z-index:2;transition:.5s var(--ease)}
.lookbook a:hover::after{background:linear-gradient(to top,rgba(18,11,7,.95),rgba(120,55,20,.25) 70%)}
.lookbook a:hover .img{transform:scale(1.07)}
.lookbook a .c{position:relative;z-index:3;padding:38px;width:100%}
.lookbook a .wn{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.16em;color:var(--gold)}
.lookbook a h3{font-size:clamp(2rem,3vw,2.8rem);margin-top:8px}
.lookbook a p{color:rgba(245,239,228,.82);font-size:.96rem;margin-top:8px;max-width:38ch;opacity:0;max-height:0;overflow:hidden;transition:.5s var(--ease)}
.lookbook a:hover p{opacity:1;max-height:80px;margin-top:10px}
.lookbook a .more{display:inline-flex;align-items:center;gap:.5em;margin-top:14px;font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lookbook .feat{grid-row:span 2}

/* horizontal food showcase */
.showcase-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.showcase-head h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.showcase-head p{color:var(--ink-soft);max-width:34ch}
.hscroll{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;-ms-overflow-style:none;scrollbar-width:none;cursor:grab}
.hscroll::-webkit-scrollbar{display:none}
.hscroll .slide{flex:0 0 clamp(260px,34vw,480px);scroll-snap-align:start}
.hscroll .slide .plate{height:540px;border-radius:4px}
.hscroll .slide .sc-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;gap:14px;border-top:1px solid var(--line);padding-top:14px}
.hscroll .slide .sc-meta .n{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600}
.hscroll .slide .sc-meta .t{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ember-deep)}

/* ===== Premium-Effekte (scroll, reveals, lightbox) ===== */
[id]{scroll-margin-top:96px}
#progress{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold),var(--ember));z-index:210;transition:width .12s linear}
nav.bar{will-change:transform}
nav.bar.hide{transform:translateY(-100%)}
.btn{will-change:transform}
/* sanftes Bild-Hineinzoomen beim Reveal */
.imgreveal .img{transform:scale(1.14)}
.imgreveal.in .img{transform:scale(1);transition:transform 1.7s var(--ease)}
/* Galerie/Showcase Hover-Zoom + zoom-Cursor */
.gallery .plate,.hscroll .slide .plate{cursor:zoom-in}
.gallery .plate .img{transition:transform 1.1s var(--ease)}
.gallery .plate:hover .img{transform:scale(1.06)}
.hscroll .slide .plate:hover .img{transform:scale(1.05)}
/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(16,10,6,.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .45s var(--ease);padding:6vh 7vw}
.lightbox.open{opacity:1;pointer-events:auto}
.lightbox figure{margin:0;text-align:center;max-width:100%}
.lightbox img{max-width:100%;max-height:84vh;border-radius:3px;box-shadow:0 50px 120px -30px #000;transform:scale(.95);transition:transform .55s var(--ease)}
.lightbox.open img{transform:scale(1)}
.lightbox figcaption{color:rgba(245,239,228,.7);font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;margin-top:16px}
.lightbox .lb-x{position:absolute;top:26px;right:30px;color:var(--paper);font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.12em;cursor:pointer;border:1px solid rgba(245,239,228,.4);padding:.55em 1.1em;border-radius:2px;transition:.3s}
.lightbox .lb-x:hover{background:var(--paper);color:var(--ink)}
.lightbox .lb-a{position:absolute;top:50%;transform:translateY(-50%);color:var(--paper);font-size:2.4rem;cursor:pointer;padding:14px 22px;opacity:.6;transition:.3s;user-select:none;font-family:'Cormorant Garamond',serif}
.lightbox .lb-a:hover{opacity:1}
.lightbox .lb-prev{left:8px}
.lightbox .lb-next{right:8px}
@media (prefers-reduced-motion: reduce){
  .imgreveal .img{transform:none!important}
  nav.bar.hide{transform:none}
}

/* top utility */
.util{position:relative;z-index:60;border-bottom:1px solid var(--line-soft)}
.util .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.1em;color:var(--ink-soft)}
.util a:hover{color:var(--ember-deep)}
.util .r{display:flex;gap:24px}

/* nav */
nav.bar{position:sticky;top:0;z-index:80;background:rgba(245,239,228,.86);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.4s}
nav.bar.stuck{border-color:var(--line);background:rgba(245,239,228,.94)}
nav .in{display:flex;align-items:center;justify-content:space-between;height:78px;max-width:1320px;margin:0 auto;padding:0 48px}
.brand{display:flex;flex-direction:column;line-height:.9}
.brand .b1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.7rem;letter-spacing:.01em;white-space:nowrap}
.brand .b2{font-family:'Space Mono',monospace;font-size:.56rem;letter-spacing:.34em;text-transform:uppercase;color:var(--ember-deep);margin-top:5px}
nav .links{display:flex;gap:30px;align-items:center;font-size:.82rem;font-weight:500;letter-spacing:.04em}
nav .links a.l{position:relative;color:var(--ink-soft);padding:4px 0;transition:.3s}
nav .links a.l::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--ember-deep);transition:.4s var(--ease)}
nav .links a.l:hover,nav .links a.l.active{color:var(--ink)}
nav .links a.l:hover::after,nav .links a.l.active::after{width:100%}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;position:relative}
.burger span{width:24px;height:1.5px;background:var(--ink)}
.burger::after{content:"Menü";position:absolute;right:32px;top:50%;transform:translateY(-50%);font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.12em;color:var(--ink);white-space:nowrap}

/* home hero */
.hero{position:relative;height:92vh;min-height:660px;display:flex;align-items:flex-end;color:var(--paper);overflow:hidden}
.hero .plate{position:absolute;inset:0}
.hero .plate .img{transform:scale(1.08)}
.hero .veil{position:absolute;inset:0;z-index:3;background:linear-gradient(to top,rgba(20,12,8,.82),rgba(20,12,8,.12) 52%,rgba(20,12,8,.42))}
.hero-inner{position:relative;z-index:5;width:100%;padding-bottom:7vh}
.hero-top{position:absolute;top:42px;left:0;right:0;z-index:5}
.hero-top .wrap{display:flex;justify-content:space-between;align-items:flex-start;width:100%}
.geo{font-family:'Space Mono',monospace;font-size:.64rem;letter-spacing:.14em;color:rgba(255,255,255,.7);line-height:1.8}
.seal{width:128px;height:128px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--paper);backdrop-filter:blur(3px);background:rgba(20,12,8,.18)}
.seal .st{color:var(--gold);font-size:1rem;letter-spacing:.1em;line-height:1}
.seal .s1{font-family:'Cormorant Garamond',serif;font-size:.92rem;font-weight:600;line-height:1.05;margin-top:4px}
.seal .s2{font-family:'Space Mono',monospace;font-size:.44rem;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;color:rgba(255,255,255,.82)}
.hero h1{font-size:clamp(3.4rem,9.5vw,9.5rem);font-weight:500;letter-spacing:-.02em}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line span{display:block;animation:lineUp 1.1s var(--ease) both}
.hero h1 .line:nth-child(2) span{animation-delay:.12s}
.hero h1 .line:nth-child(3) span{animation-delay:.24s}
@keyframes lineUp{from{transform:translateY(105%)}to{transform:none}}
.hero h1 em{color:var(--gold)}
.hero .lede{max-width:480px;font-size:1.06rem;margin:26px 0 30px;color:rgba(255,255,255,.9);animation:fadeUp 1s var(--ease) .5s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero .cta-row{display:flex;gap:16px;flex-wrap:wrap;align-items:center;animation:fadeUp 1s var(--ease) .65s both}
.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:5;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:rgba(255,255,255,.72);display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-cue .ln{width:1px;height:40px;background:linear-gradient(rgba(255,255,255,.7),transparent);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* page hero (subpages) */
.phero{position:relative;height:62vh;min-height:440px;display:flex;align-items:flex-end;color:var(--paper);overflow:hidden}
.phero .plate{position:absolute;inset:0}
.phero .plate .img{transform:scale(1.06)}
.phero .veil{position:absolute;inset:0;z-index:3;background:linear-gradient(to top,rgba(20,12,8,.8),rgba(20,12,8,.1) 60%,rgba(20,12,8,.4))}
.phero .in{position:relative;z-index:5;width:100%;padding-bottom:54px}
.crumb{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:18px}
.crumb a:hover{color:var(--gold)}
.phero h1{font-size:clamp(2.8rem,7vw,6.4rem);font-weight:500;animation:fadeUp 1s var(--ease) both}
.phero h1 em{color:var(--gold)}
.phero .sub{max-width:520px;margin-top:18px;color:rgba(255,255,255,.9);font-size:1.06rem;animation:fadeUp 1s var(--ease) .15s both}

/* statement */
.statement{padding:130px 0;text-align:center}
.statement p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,4.2vw,3.5rem);line-height:1.18;font-weight:500;max-width:20ch;margin:0 auto;letter-spacing:-.01em}
.statement p .it{color:var(--ember)}
.statement .lbl{display:block;margin-bottom:34px}

/* reveal */
.reveal{opacity:0;transform:translateY(40px);transition:1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.clip{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease)}
.clip.in{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion: reduce){
  .reveal,.clip{opacity:1!important;transform:none!important;clip-path:none!important}
  .hero h1 .line span,.hero .lede,.hero .cta-row,.phero h1,.phero .sub{animation:none!important}
}

section{padding:120px 0}
.divider{height:1px;background:var(--line);margin:0 48px}

/* Signatur: Lindenblatt-Ornament (Wortmarke „zur Linde") */
.orn{display:flex;align-items:center;justify-content:center;gap:26px;color:var(--ember-deep)}
.orn .ln{height:1px;width:clamp(40px,16vw,150px)}
.orn .ln.l{background:linear-gradient(90deg,transparent,var(--line))}
.orn .ln.r{background:linear-gradient(90deg,var(--line),transparent)}
.orn .leaf{width:30px;height:auto;flex:none}
.orn .leaf path{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.orn.on-dark{color:var(--gold)}
.orn.on-dark .ln.l{background:linear-gradient(90deg,transparent,rgba(245,239,228,.22))}
.orn.on-dark .ln.r{background:linear-gradient(90deg,rgba(245,239,228,.22),transparent)}
.sec-break{padding:30px 0}
footer .orn{margin-bottom:52px}
.sec-head{max-width:660px;margin:0 auto 60px;text-align:center}
.sec-head.left{margin-left:0;text-align:left}
.sec-head h2{font-size:clamp(2.4rem,5vw,4.2rem);margin-top:14px}
.sec-head p{color:var(--ink-soft);margin-top:16px}

/* split feature (image + text) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:stretch}
.split.wide-l{grid-template-columns:1.1fr 1fr}
.split .figure{position:relative;display:flex}
.split .figure .plate{flex:1;min-height:600px;height:auto;border-radius:3px}
.split > div:last-child{display:flex;flex-direction:column;justify-content:center}
.split h2{font-size:clamp(2.2rem,4.4vw,3.8rem);margin:16px 0 22px}
.split p{color:var(--ink-soft);font-size:1.05rem;margin-bottom:16px;max-width:46ch}
.split .sign{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;color:var(--ember-deep);margin-top:10px}
.split .figure .tag{position:absolute;left:-24px;bottom:44px;background:var(--paper);padding:18px 24px;border:1px solid var(--line);max-width:230px}
.split .figure .tag .n{font-family:'Cormorant Garamond',serif;font-size:2.4rem;font-weight:600;line-height:1;color:var(--ember-deep)}
.split .figure .tag .t{font-size:.78rem;color:var(--ink-soft);margin-top:4px}
.first::first-letter{font-family:'Cormorant Garamond',serif;font-size:3.6rem;font-weight:600;float:left;line-height:.78;margin:6px 12px 0 0;color:var(--ember)}

/* stat row */
.stat-row{display:flex;gap:40px;margin-top:34px;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap}
.stat .n{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:600;color:var(--ember-deep);line-height:1}
.stat .l{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}

/* worlds index */
.worlds{background:var(--ink);color:var(--paper)}
.worlds .lbl{color:var(--gold)}
.worlds .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:64px;gap:30px;flex-wrap:wrap}
.worlds h2{font-size:clamp(2.6rem,5.5vw,5rem);color:var(--paper)}
.worlds .head p{color:rgba(245,239,228,.6);max-width:34ch}
.world{display:grid;grid-template-columns:80px 1.1fr 1fr;gap:40px;align-items:center;padding:36px 0;border-top:1px solid rgba(245,239,228,.16);transition:.5s var(--ease)}
.world:last-child{border-bottom:1px solid rgba(245,239,228,.16)}
.world .wn{font-family:'Space Mono',monospace;font-size:.8rem;color:var(--gold)}
.world .wtxt h3{font-size:clamp(1.8rem,3.4vw,2.8rem);color:var(--paper);transition:.4s var(--ease)}
.world .wtxt p{color:rgba(245,239,228,.62);font-size:.96rem;margin-top:8px;max-width:42ch}
.world .wmore{justify-self:end;color:var(--gold);font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.5;transition:.4s var(--ease)}
.world .wimg{position:absolute;width:340px;height:240px;border-radius:3px;pointer-events:none;opacity:0;transform:scale(.92) rotate(-2deg);transition:.5s var(--ease);z-index:40;left:var(--mx,50%);top:var(--my,50%);translate:-50% -50%;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.world:hover{padding-left:18px}
.world:hover h3{color:var(--gold)}
.world:hover .wmore{opacity:1}
.worlds .stage{position:relative}

/* aktuelles / news cards */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ncard{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--paper);transition:.45s var(--ease)}
.ncard:hover{transform:translateY(-6px);box-shadow:0 30px 60px -40px rgba(0,0,0,.5)}
.ncard .plate{height:210px}
.ncard .c{padding:26px}
.ncard .when{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ember-deep)}
.ncard h3{font-size:1.7rem;margin:10px 0 8px}
.ncard p{font-size:.92rem;color:var(--ink-soft)}

/* menu spread + items */
.menu-spread{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:stretch}
.menu-spread .figure{display:flex}
.menu-spread .figure .plate{flex:1;min-height:720px;height:auto;border-radius:3px}
.menu h2{font-size:clamp(2.4rem,4.6vw,4rem);margin:16px 0 14px}
.menu .intro{color:var(--ink-soft);max-width:42ch;margin-bottom:36px}
.mitem{padding:22px 0;border-bottom:1px solid var(--line-soft)}
.mitem .top{display:flex;align-items:baseline;gap:14px}
.mitem .nm{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600}
.mitem .dots{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-4px)}
.mitem .pr{font-family:'Space Mono',monospace;font-size:.92rem;color:var(--ember-deep);white-space:nowrap}
.mitem .ds{font-size:.9rem;color:var(--ink-soft);margin-top:5px;max-width:52ch}
.menu-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:40px}

/* full menu in columns w/ categories */
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.cat{margin-bottom:48px}
.cat .ch{display:flex;align-items:baseline;gap:16px;margin-bottom:8px}
.cat .ch h3{font-size:2rem;color:var(--ember-deep)}
.cat .ch .cn{font-family:'Space Mono',monospace;font-size:.7rem;color:var(--ink-soft);letter-spacing:.14em}
.cat .ch .cl{flex:1;border-bottom:1px solid var(--line);transform:translateY(-5px)}

/* drinks two-col */
.drinks{columns:2;column-gap:60px}
.drinks .di{break-inside:avoid;display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-soft)}
.drinks .di .n{font-weight:500}
.drinks .di .p{font-family:'Space Mono',monospace;font-size:.86rem;color:var(--ember-deep)}

/* seasons */
.seasons{background:var(--paper-2)}
.seasons .head{text-align:center;max-width:640px;margin:0 auto 60px}
.seasons h2{font-size:clamp(2.4rem,5vw,4.2rem);margin-top:14px}
.srow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}
.scell{padding:40px 22px;border-right:1px solid var(--line);transition:.45s var(--ease)}
.scell:last-child{border-right:none}
.scell:hover{background:var(--ink);color:var(--paper)}
.scell .se{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-deep);transition:.4s}
.scell:hover .se{color:var(--gold)}
.scell h4{font-size:1.9rem;margin:14px 0 8px}
.scell p{font-size:.84rem;color:var(--ink-soft);transition:.4s}
.scell:hover p{color:rgba(245,239,228,.7)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery .plate{height:280px;border-radius:3px}
.gallery .g-tall{grid-row:span 2;height:auto}
.gallery .g-wide{grid-column:span 2}

/* amenities / checklist */
.amen{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 40px}
.amen .a{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.amen .a .k{color:var(--ember-deep);font-family:'Space Mono',monospace}
.amen .a .t{font-size:.96rem}

/* cards row (prices / offers) */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pcard{border:1px solid var(--line);border-radius:3px;padding:40px;background:var(--paper);display:flex;flex-direction:column}
.pcard.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.pcard .pl{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-deep)}
.pcard.dark .pl{color:var(--gold)}
.pcard h3{font-size:2rem;margin:10px 0}
.pcard .price{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:600;color:var(--ember-deep);line-height:1}
.pcard.dark .price{color:var(--gold)}
.pcard .price small{font-family:'Hanken Grotesk';font-size:.9rem;color:var(--ink-soft)}
.pcard.dark .price small{color:rgba(245,239,228,.6)}
.pcard ul{list-style:none;margin:20px 0;display:flex;flex-direction:column;gap:10px}
.pcard li{font-size:.94rem;padding-left:22px;position:relative;color:var(--ink-soft)}
.pcard.dark li{color:rgba(245,239,228,.75)}
.pcard li::before{content:"—";position:absolute;left:0;color:var(--ember-deep)}
.pcard.dark li::before{color:var(--gold)}
.pcard .btn{margin-top:auto}

/* parallax band */
.band{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--paper);overflow:hidden}
.band .bg{position:absolute;inset:0;background-image:linear-gradient(rgba(20,12,8,.4),rgba(20,12,8,.55)),url('img/wedding1.webp'),linear-gradient(150deg,#caa15f,#7d3a13);background-size:cover;background-position:center;background-attachment:fixed}
.band .grain{position:absolute;inset:0;z-index:2;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='gb'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23gb)'/%3E%3C/svg%3E")}
.band .in{position:relative;z-index:3;max-width:900px;padding:0 40px}
.band .lbl{color:var(--gold)}
.band p.q{font-family:'Cormorant Garamond',serif;font-size:clamp(2.2rem,5.5vw,4.6rem);line-height:1.12;font-weight:500;margin:24px 0 0;letter-spacing:-.01em}
.band p.q .it{color:var(--gold)}

/* papillon block */
.papillon{position:relative;color:var(--paper);overflow:hidden}
.papillon .plate{position:absolute;inset:0}
.papillon .veil{position:absolute;inset:0;z-index:2;background:linear-gradient(80deg,rgba(20,12,8,.8),rgba(40,20,30,.3) 60%,transparent)}
.papillon .in{position:relative;z-index:3;display:grid;grid-template-columns:1.1fr .85fr;gap:70px;align-items:center}
.papillon .lbl{color:var(--gold)}
.papillon h2{font-size:clamp(2.8rem,6vw,5.4rem);margin:16px 0}
.papillon h2 em{color:var(--gold)}
.papillon p{color:rgba(245,239,228,.85);font-size:1.08rem;margin-bottom:28px;max-width:44ch}
.pbtn{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.pbtn span{border:1px solid rgba(245,239,228,.32);padding:.55em 1.15em;border-radius:2px;font-size:.8rem;letter-spacing:.04em}
.pmeta{border:1px solid rgba(245,239,228,.28);background:rgba(20,12,8,.4);backdrop-filter:blur(8px);display:grid;grid-template-columns:1fr 1fr}
.pmeta .r{display:flex;flex-direction:column;gap:7px;padding:22px 26px;border-bottom:1px solid rgba(245,239,228,.16);font-size:.96rem}
.pmeta .r:nth-child(odd){border-right:1px solid rgba(245,239,228,.16)}
.pmeta .r:nth-last-child(-n+2){border-bottom:none}
.pmeta .r > span:first-child{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,239,228,.6)}
.pmeta .r .h{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-size:1.25rem;line-height:1.15}
.flutter{display:inline-block;animation:flut 5s var(--ease) infinite;transform-origin:center}
@keyframes flut{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(6deg)}}

/* reserve / cta band */
.reserve{position:relative;color:var(--paper);text-align:center;overflow:hidden}
.reserve .plate{position:absolute;inset:0}
.reserve .veil{position:absolute;inset:0;z-index:2;background:rgba(20,12,8,.7)}
.reserve .in{position:relative;z-index:3;max-width:720px;margin:0 auto}
.reserve h2{font-size:clamp(2.8rem,6.5vw,6rem);margin:14px 0 10px}
.reserve h2 em{color:var(--gold)}
.reserve p{color:rgba(245,239,228,.85);font-size:1.1rem;margin-bottom:30px}
.reserve .phone{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:600;color:var(--gold);display:inline-block;margin:6px 0 28px;letter-spacing:.02em}
.reserve .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.reserve .btn-ghost{color:var(--paper);border-color:rgba(245,239,228,.5)}
.reserve .btn-ghost:hover{background:var(--paper);color:var(--ink)}

/* forms */
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.form .full{grid-column:1/-1}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.field input,.field select,.field textarea{font-family:'Hanken Grotesk';font-size:1rem;padding:14px 16px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);transition:.3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ember-deep);background:#fff}
.field textarea{min-height:130px;resize:vertical}
.form-note{font-size:.82rem;color:var(--ink-soft);grid-column:1/-1}
.form-ok{grid-column:1/-1;display:none;padding:18px 20px;border:1px solid var(--ember-deep);background:rgba(168,82,31,.08);border-radius:2px;font-size:.94rem}
.form-ok.show{display:block}

/* faq accordion */
.faq{max-width:840px;margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa .q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;color:var(--ink)}
.qa .q .pm{font-family:'Space Mono',monospace;font-size:1.4rem;color:var(--ember-deep);transition:.3s}
.qa.open .q .pm{transform:rotate(45deg)}
.qa .a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.qa .a p{padding-bottom:26px;color:var(--ink-soft);max-width:64ch}

/* map */
.mapwrap{position:relative;height:420px;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--paper-2)}
.mapwrap iframe{width:100%;height:100%;border:0;filter:grayscale(.3) sepia(.15) contrast(.95)}

/* info block */
.info{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.info > div{padding:54px}
.info .left{border-right:1px solid var(--line)}
.info h3{font-size:2.2rem;margin-bottom:6px}
.hr{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.hr .d{font-weight:500}
.hr .h{font-family:'Space Mono',monospace;font-size:.84rem;color:var(--ink-soft)}
.hr:last-child{border-bottom:none}
.cl{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.cl:last-child{border-bottom:none}
.cl .ic{width:36px;height:36px;border-radius:50%;border:1px solid var(--ember-deep);color:var(--ember-deep);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.9rem}
.cl .lab{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.cl .val{font-weight:600}

/* footer */
footer{background:var(--ink);color:rgba(245,239,228,.65);padding:88px 0 32px}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;padding-bottom:50px;border-bottom:1px solid rgba(245,239,228,.14)}
footer .b1{color:var(--paper);font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600}
footer .b2{font-family:'Space Mono',monospace;font-size:.56rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-top:6px;display:block}
footer p{font-size:.92rem;margin-top:16px;max-width:32ch}
.fc h5{font-family:'Space Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.fc a{display:block;padding:6px 0;font-size:.94rem;color:rgba(245,239,228,.7)}
.fc a:hover{color:var(--paper)}
.fb{display:flex;justify-content:space-between;padding-top:26px;font-family:'Space Mono',monospace;font-size:.72rem;color:rgba(245,239,228,.45);flex-wrap:wrap;gap:12px;align-items:center}
.fb b{color:var(--gold)}
/* Studio-Credit (wie fb-erdbau) */
.fc-credit a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;opacity:.55;transition:opacity .4s ease}
.fc-credit a:hover{opacity:1}
.fc-credit .fc-text{font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,239,228,.55)}
.fc-credit .fc-icon{font-size:.85rem;line-height:1;transition:transform .35s ease}
.fc-credit a:hover .fc-icon{transform:scale(1.2)}
.fc-credit .fc-brand{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:.95rem;letter-spacing:-.2px;color:rgba(245,239,228,.8);transition:color .4s ease}
.fc-credit .fc-dot{color:var(--ember)}
.fc-credit a:hover .fc-brand{color:var(--paper)}

@media(max-width:980px){
  .wrap{padding:0 24px}
  nav .in{padding:0 24px}
  nav .links{display:none}
  .burger{display:flex}
  .util .r{gap:14px}
  .util .wrap span{display:none}
  .split,.menu-spread,.papillon .in,.menu-cols,.form{grid-template-columns:1fr;gap:40px}
  .split .figure .plate,.menu-spread .figure .plate{min-height:420px;height:420px;flex:none}
  .pmeta{grid-template-columns:1fr}
  .pmeta .r:nth-child(odd){border-right:none}
  .pmeta .r:nth-last-child(-n+2):not(:last-child){border-bottom:1px solid rgba(245,239,228,.16)}
  .world{grid-template-columns:50px 1fr;gap:18px}
  .world .wmore,.world .wimg{display:none}
  .srow{grid-template-columns:1fr 1fr}
  .scell{border-bottom:1px solid var(--line)}
  .news,.cards3,.amen{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery .g-wide{grid-column:span 2}
  .drinks{columns:1}
  .info{grid-template-columns:1fr}
  .info .left{border-right:none;border-bottom:1px solid var(--line)}
  .info > div{padding:32px}
  .fg{grid-template-columns:1fr;gap:30px}
  section{padding:84px 0}
  .divider{margin:0 24px}
}
