:root{
  --ink:#15110f;
  --ink-soft:#2a2320;
  --wine:#973027;
  --wine-deep:#6e201a;
  --wine-bright:#b5453a;
  --gold:#c2a25b;
  --cream:#f6f0e7;
  --cream-card:#fffdf9;
  --paper:#efe7da;
  --muted:#7a6f64;
  --line:rgba(21,17,15,.12);
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  --ease-in-out:cubic-bezier(0.77,0,0.175,1);
  --ease-drawer:cubic-bezier(0.32,0.72,0,1);
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
h1,h2,h3{font-family:'Montserrat','Inter',sans-serif;font-weight:600;line-height:1.06;letter-spacing:-.022em}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{
  font-family:'Inter',sans-serif;font-weight:500;font-size:12px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--wine);
}

/* ---------- NAV ---------- */
.header{position:fixed;top:0;left:0;right:0;z-index:60}
.topbar{position:relative;background:var(--wine);color:var(--cream);text-align:center;font-size:13px;line-height:1.4;padding:8px 44px 8px 18px}
.topbar p{margin:0;letter-spacing:.01em}
.topbar b{font-weight:600;color:#fff}
.topbar .sep{opacity:.55;margin:0 .55em}
.tb-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(246,240,231,.75);font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;transition:color .25s var(--ease-out)}
.tb-close:hover{color:#fff}
.nav{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 28px;
  transition:background .4s var(--ease-out),box-shadow .4s var(--ease-out),padding .4s var(--ease-out);
}
.nav.scrolled{
  background:rgba(246,240,231,.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 1px 0 var(--line);
  padding:12px 28px;
}
.brand{display:flex;align-items:center;height:58px}
.brand img{height:58px;width:auto;display:block;transition:filter .4s var(--ease-out),height .4s var(--ease-out)}
.nav.scrolled .brand{height:50px}.nav.scrolled .brand img{height:50px}
.brand .logo-dark{display:none}
.nav.scrolled .brand .logo-light{display:none}
.nav.scrolled .brand .logo-dark{display:block}
.nav-links{position:fixed;inset:0;z-index:55;background:rgba(18,12,10,.985);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;visibility:hidden;transition:opacity .45s var(--ease-out),visibility .45s}
.nav-links.open{opacity:1;visibility:visible}
.nav-links a{font-family:'Montserrat','Inter',sans-serif;font-weight:500;font-size:clamp(26px,5vw,42px);letter-spacing:-.01em;color:var(--cream);padding:7px 0;opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out),color .3s var(--ease-out)}
.nav-links.open a{opacity:1;transform:none}
.nav-links.open a:nth-child(1){transition-delay:.08s}.nav-links.open a:nth-child(2){transition-delay:.14s}.nav-links.open a:nth-child(3){transition-delay:.2s}.nav-links.open a:nth-child(4){transition-delay:.26s}.nav-links.open a:nth-child(5){transition-delay:.32s}.nav-links.open a:nth-child(6){transition-delay:.38s}.nav-links.open a:nth-child(7){transition-delay:.44s}.nav-links.open a:nth-child(8){transition-delay:.52s}
.nav-links a:hover{color:var(--wine-bright)}
.nav-cta{
  border:1px solid var(--wine);color:var(--wine);
  padding:9px 18px;border-radius:100px;font-size:13px;font-weight:500;
  transition:transform .16s var(--ease-out),background .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out);
}
.nav.scrolled .nav-cta{border-color:var(--wine);color:var(--wine)}
.nav-cta:hover{background:var(--wine);border-color:var(--wine);color:#fff}
.nav-cta:active{transform:scale(.97)}
.nav-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:8px;position:relative;z-index:70}
.nav-toggle span{width:26px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease-out),opacity .25s var(--ease-out),background .3s var(--ease-out)}
.nav-toggle.x span:nth-child(1){transform:translateY(8px) rotate(45deg);background:var(--cream)}
.nav-toggle.x span:nth-child(2){opacity:0}
.nav-toggle.x span:nth-child(3){transform:translateY(-8px) rotate(-45deg);background:var(--cream)}

/* ---------- HERO (image + fly-in) ---------- */
.hero2{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#e9dec8}
.hero2 .hero-img,.hero2 .hov{display:none}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);filter:blur(0);opacity:1;transition:filter 3.4s var(--ease-out),transform 4s var(--ease-out),opacity 2.2s ease}
body:not(.entered) .hero-img{filter:blur(46px);transform:scale(1.24);opacity:.12}
.hov{position:absolute;inset:0;pointer-events:none}
.hov.ov{background:linear-gradient(180deg,rgba(246,240,231,.7),rgba(246,240,231,.42) 38%,rgba(246,240,231,.5) 64%,rgba(246,240,231,.92))}
.hov.glow{display:block;background:radial-gradient(58% 52% at 50% 48%,rgba(251,247,239,.6),transparent 72%)}
.hov.grain{opacity:.06;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='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero2 .hero-content{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 24px}
.fin{opacity:0;transform:translateY(40px);filter:blur(16px)}
body.entered .hero-slide.is-active .fin{animation:flyin 1.4s var(--ease-out) forwards}
.fin.d1{animation-delay:.6s}.fin.d2{animation-delay:1.0s}.fin.d3{animation-delay:1.5s}.fin.d4{animation-delay:2.0s}.fin.d4b{animation-delay:2.2s}.fin.d5{animation-delay:2.4s}
@keyframes flyin{to{opacity:1;transform:none;filter:blur(0)}}
.hero2 .eyebrow{color:var(--wine);margin-bottom:24px}
.hero-h{font-family:'Montserrat','Inter',sans-serif;color:var(--ink);font-weight:600;letter-spacing:-.03em;line-height:1.02;font-size:clamp(44px,7.4vw,108px);margin:0;text-shadow:0 1px 0 rgba(255,255,255,.4)}
.hero-h .script{display:block;margin-top:.02em}
.hero-sub2{margin-top:26px;color:var(--ink-soft);font-size:clamp(15px,1.7vw,19px);font-weight:300;max-width:540px;line-height:1.55}
.hero-chips{margin-top:22px;display:flex;gap:9px;justify-content:center;flex-wrap:wrap;max-width:560px}
.hero-chips span{font-size:12.5px;letter-spacing:.03em;color:var(--wine);border:1px solid rgba(151,48,39,.32);border-radius:100px;padding:6px 14px;background:rgba(151,48,39,.04);white-space:nowrap}
.hero-cta2{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-cta2 .btn{background:var(--wine);color:#fff;box-shadow:0 18px 46px -22px rgba(151,48,39,.55)}
.hero-cta2 .btn:hover{background:var(--wine-deep)}
.hero-cta2 .btn.ghost{background:transparent;border:1px solid rgba(21,17,15,.26);color:var(--ink)}
.hero-cta2 .btn.ghost:hover{background:rgba(21,17,15,.05)}
.hero-scroll2{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:4;color:var(--muted);font-size:11px;letter-spacing:.24em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:9px;opacity:0;color:var(--muted)}
body.entered .hero-scroll2{animation:flyin 1s var(--ease-out) 2.8s forwards}
.hero-scroll2 .bar{width:1px;height:42px;background:linear-gradient(var(--wine-bright),transparent);position:relative;overflow:hidden}
.hero-scroll2 .bar::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--wine);animation:scrolldot 2.1s var(--ease-in-out) infinite}
@keyframes scrolldot{0%{top:-50%}60%,100%{top:100%}}
@media (prefers-reduced-motion:reduce){.fin,.hero-scroll2,.hero-img{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}

/* ---------- SECTION SHELL ---------- */
section{position:relative;scroll-margin-top:128px}
.band{padding:clamp(80px,11vw,150px) 0}
.section-head{max-width:680px;margin-bottom:54px}
.section-head .eyebrow{display:block;margin-bottom:16px}
.section-head h2{font-size:clamp(34px,5.2vw,62px)}
.section-head p{margin-top:20px;color:var(--muted);font-size:17px;line-height:1.65;font-weight:300;max-width:560px}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.06s}.reveal[data-d="2"]{transition-delay:.12s}
.reveal[data-d="3"]{transition-delay:.18s}.reveal[data-d="4"]{transition-delay:.24s}
.reveal[data-d="5"]{transition-delay:.3s}

/* ---------- MANIFESTO ---------- */
.manifesto{background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%);text-align:center}
.manifesto h2{font-size:clamp(30px,4.6vw,54px);max-width:880px;margin:0 auto}
.manifesto h2 em{font-style:italic;color:var(--wine)}
.manifesto p{max-width:620px;margin:28px auto 0;color:var(--muted);font-size:17px;line-height:1.7;font-weight:300}

/* ---------- SORTIMENT GRID ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{
  position:relative;background:var(--cream-card);border:1px solid var(--line);border-radius:18px;
  padding:34px 30px 30px;overflow:hidden;
  transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s var(--ease-out);
}
.card .ico{width:46px;height:46px;margin-bottom:22px;color:var(--wine);position:relative;z-index:2}
.card h3{font-size:27px;margin-bottom:10px;position:relative;z-index:2}
.card p{color:var(--muted);font-size:15px;line-height:1.62;font-weight:300;position:relative;z-index:2}
.card .glow{position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(151,48,39,.12),transparent 70%);opacity:0;transition:opacity .5s var(--ease-out)}
.card.feature{background:linear-gradient(155deg,#1b1310,#2a1a14);color:var(--cream);border-color:transparent;grid-column:span 1}
.card.feature h3{color:var(--cream)}
.card.feature p{color:rgba(246,240,231,.72)}
.card.feature .ico{color:var(--gold)}
.card .tag{display:inline-block;margin-top:18px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);position:relative;z-index:2}
.card.feature .tag{color:var(--gold)}
@media (hover:hover) and (pointer:fine){
  .card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(21,17,15,.4);border-color:rgba(151,48,39,.35)}
  .card:hover .glow{opacity:1}
}

/* ---------- PERSONAS ---------- */
.personas{background:var(--ink);color:var(--cream)}
.personas .section-head h2{color:var(--cream)}
.personas .section-head p{color:rgba(246,240,231,.62)}
.prow{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(246,240,231,.12);border:1px solid rgba(246,240,231,.12);border-radius:16px;overflow:hidden}
.pcell{background:var(--ink);padding:34px 26px;transition:background .4s var(--ease-out)}
.pcell .n{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--wine-bright);margin-bottom:14px}
.pcell h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;margin-bottom:8px}
.pcell p{color:rgba(246,240,231,.6);font-size:14px;line-height:1.6;font-weight:300}
@media (hover:hover) and (pointer:fine){.pcell:hover{background:#1d1512}}

/* ---------- AUSSCHANK ---------- */
.pour{background:linear-gradient(180deg,var(--paper),var(--cream))}
.pour .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.pour-text h2{font-size:clamp(32px,4.8vw,56px)}
.pour-text p{margin-top:22px;color:var(--muted);font-size:17px;line-height:1.7;font-weight:300;max-width:480px}
.pour-list{margin-top:30px;display:flex;flex-direction:column;gap:14px}
.pour-list div{display:flex;gap:14px;align-items:center;font-size:15px;color:var(--ink-soft)}
.pour-list .dot{width:7px;height:7px;border-radius:50%;background:var(--wine);flex:none}
.pour-visual{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:radial-gradient(120% 100% at 30% 20%,#3a221b,#160d0a);box-shadow:0 40px 80px -40px rgba(21,17,15,.6)}
.pour-visual .sheen{position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(194,162,91,.14) 50%,transparent 70%)}
.pour-visual .label{position:absolute;left:28px;bottom:26px;color:var(--cream)}
.pour-visual .label .k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.pour-visual .label .v{font-family:'Cormorant Garamond',serif;font-size:30px;margin-top:6px}
.pour-glass{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}

/* ---------- B2B ---------- */
.b2b{background:radial-gradient(120% 120% at 80% 0%,#7a231b 0%,#4f140f 45%,#2a0b08 100%);color:var(--cream);text-align:center}
.b2b .eyebrow{color:var(--gold)}
.b2b h2{font-size:clamp(34px,5.4vw,64px);max-width:820px;margin:16px auto 0}
.b2b p{max-width:600px;margin:24px auto 0;color:rgba(246,240,231,.82);font-size:17px;line-height:1.7;font-weight:300}
.b2b-stats{display:flex;justify-content:center;gap:clamp(30px,6vw,80px);margin:48px 0 44px;flex-wrap:wrap}
.b2b-stats .s .num{font-family:'Cormorant Garamond',serif;font-size:48px;color:#fff}
.b2b-stats .s .lab{font-size:13px;letter-spacing:.06em;color:rgba(246,240,231,.7);margin-top:4px}
.btn{
  display:inline-flex;align-items:center;gap:10px;background:var(--cream);color:var(--ink);
  padding:15px 30px;border-radius:100px;font-weight:500;font-size:15px;
  transition:transform .16s var(--ease-out),box-shadow .3s var(--ease-out),background .3s var(--ease-out);
}
.btn:hover{box-shadow:0 16px 40px -16px rgba(0,0,0,.6);background:#fff}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent;border:1px solid rgba(246,240,231,.5);color:var(--cream)}
.btn.ghost:hover{background:rgba(246,240,231,.1)}
.btn .arr{transition:transform .3s var(--ease-out)}
.btn:hover .arr{transform:translateX(4px)}

/* ---------- VISIT ---------- */
.visit .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.visit-info h2{font-size:clamp(32px,4.8vw,56px)}
.hours{margin-top:34px;border-top:1px solid var(--line)}
.hours .row{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
.hours .row span:first-child{color:var(--ink-soft)}
.hours .row span:last-child{color:var(--muted)}
.hours .row.today span:first-child{color:var(--wine);font-weight:600}
.contact-line{margin-top:30px;display:flex;flex-direction:column;gap:10px;font-size:16px;color:var(--ink-soft)}
.contact-line a{border-bottom:1px solid var(--line);transition:border-color .3s var(--ease-out)}
.contact-line a:hover{border-color:var(--wine)}
.map{border-radius:20px;overflow:hidden;border:1px solid var(--line);min-height:340px;position:relative;background:
  linear-gradient(135deg,#ece3d4,#f4eee4);
  display:flex;align-items:center;justify-content:center}
.map .pin{text-align:center}
.map .pin .dot{width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--wine);transform:rotate(-45deg);margin:0 auto 16px;box-shadow:0 8px 20px -6px rgba(151,48,39,.7);position:relative}
.map .pin .dot::after{content:"";position:absolute;inset:5px;background:var(--cream);border-radius:50%;transform:rotate(45deg)}
.map .pin .a{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--ink)}
.map .pin .b{font-size:14px;color:var(--muted);margin-top:4px}
.map .grid-bg{position:absolute;inset:0;opacity:.5;background-image:linear-gradient(rgba(21,17,15,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(21,17,15,.06) 1px,transparent 1px);background-size:34px 34px}

/* ---------- FOOTER ---------- */
.footer{background:var(--ink);color:rgba(246,240,231,.7);padding:70px 0 36px}
.footer .top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.footer .logo-wrap{display:flex;align-items:baseline;gap:.5ch;font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--cream)}
.footer .logo-wrap .sup{font-size:16px;transform:translateY(-.7em);color:var(--wine-bright)}
.footer .tagline{margin-top:14px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,240,231,.45)}
.footer .cols{display:flex;gap:56px;flex-wrap:wrap}
.footer .col h5{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:rgba(246,240,231,.45);margin-bottom:14px;font-weight:600}
.footer .col a{display:block;font-size:14px;padding:5px 0;color:rgba(246,240,231,.72);transition:color .3s var(--ease-out)}
.footer .col a:hover{color:var(--wine-bright)}
.footer .base{margin-top:50px;padding-top:24px;border-top:1px solid rgba(246,240,231,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:rgba(246,240,231,.45)}
.footer .legal{font-size:12px;color:rgba(246,240,231,.38);margin-top:18px;line-height:1.6;max-width:640px}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .prow{grid-template-columns:repeat(2,1fr)}
  .pour .wrap,.visit .wrap{grid-template-columns:1fr !important;gap:40px}.pour-visual{aspect-ratio:5/4;max-width:100%}
}
@media (max-width:560px){
  .grid{grid-template-columns:1fr}
  .prow{grid-template-columns:1fr}
  .b2b-stats{gap:30px}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}

/* footer logo */
.footer-logo{height:86px;width:auto;display:block}


/* ---------- SCRIPT / HANDWRITING ---------- */
.script{color:inherit}
.script-rise{opacity:0;transform:translateY(.18em);filter:blur(8px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out),filter 1s var(--ease-out)}
.script-rise.inked{opacity:1;transform:none;filter:blur(0)}
@media (prefers-reduced-motion:reduce){.script-rise{opacity:1!important;transform:none!important;filter:none!important;transition:none}}
.count .script,.personas .script,.b2b .script{color:inherit}

/* ---------- COUNTDOWN ---------- */
.count{background:radial-gradient(125% 130% at 50% -15%,#7c231b 0%,#3c100c 52%,#1b0807 100%);color:var(--cream);text-align:center;overflow:hidden}
.count .eyebrow{color:var(--gold);display:block;margin-bottom:14px}
.count h2{font-size:clamp(30px,4.8vw,54px);margin:0 auto 8px;color:#fff}
.count .cdate{color:rgba(246,240,231,.82);font-size:16px;letter-spacing:.03em;margin-bottom:40px}
.count-grid{display:flex;justify-content:center;gap:clamp(10px,2.4vw,22px);flex-wrap:wrap}
.cu{min-width:108px;background:rgba(246,240,231,.06);border:1px solid rgba(246,240,231,.16);border-radius:16px;padding:22px 14px}
.cu .v{font-family:'Montserrat',sans-serif;font-weight:600;font-size:clamp(38px,6vw,62px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
.cu .l{margin-top:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,240,231,.6)}
.count .cta-row{margin-top:44px}
@media (max-width:520px){.cu{min-width:42%}}

/* ---------- EVENTS ---------- */
.events{background:var(--cream)}
.ev-list{border-top:1px solid var(--line)}
.ev{display:grid;grid-template-columns:96px 1fr auto;gap:28px;align-items:center;padding:24px 10px;border-bottom:1px solid var(--line);transition:background .35s var(--ease-out),padding-left .35s var(--ease-out)}
.ev .evdate{display:flex;flex-direction:column;align-items:center;justify-content:center;width:96px;height:96px;border-radius:14px;background:var(--ink);color:var(--cream);flex:none}
.ev .evdate .d{font-family:'Montserrat',sans-serif;font-weight:600;font-size:30px;line-height:1}
.ev .evdate .mo{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--wine-bright);margin-top:5px}
.ev .info h3{font-size:24px;margin-bottom:6px}
.ev .info p{color:var(--muted);font-size:15px;line-height:1.55;font-weight:300;max-width:540px}
.ev .info .tag{display:inline-block;margin-top:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--wine)}
.ev .go{color:var(--wine);font-size:22px;opacity:0;transform:translateX(-6px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.ev:hover{background:var(--cream-card);padding-left:20px}.ev:hover .go{opacity:1;transform:none}}
@media (max-width:680px){.ev{grid-template-columns:64px 1fr;gap:16px}.ev .go{display:none}.ev .evdate{width:64px;height:64px}.ev .evdate .d{font-size:22px}}


/* ---------- CEM (Inhaber) ---------- */
.cem{background:var(--paper)}
.cem-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(34px,6vw,78px);align-items:center}
.cem-photo{position:relative;border-radius:20px;overflow:hidden;box-shadow:0 44px 90px -45px rgba(21,17,15,.65);aspect-ratio:2/3}
.cem-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cem-badge{position:absolute;left:18px;top:18px;background:var(--wine);color:#fff;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:7px 14px;border-radius:100px}
.cem-text h2{font-size:clamp(34px,5vw,60px);margin-top:14px}
.cem-text p{margin-top:20px;color:var(--muted);font-size:17px;line-height:1.7;font-weight:300;max-width:560px}
.cem-quote{margin:24px 0 0;padding-left:20px;border-left:2px solid var(--wine);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;line-height:1.5;color:var(--ink-soft);max-width:560px}
.cem-sign{margin-top:22px;font-family:'Montserrat','Inter',sans-serif;font-weight:600;font-size:19px;letter-spacing:.01em;color:var(--ink)}
@media (max-width:820px){.cem-grid{grid-template-columns:1fr;gap:28px}.cem-photo{max-width:420px}}

/* ---------- GALLERY ---------- */
.gallery{background:var(--cream)}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal-item{position:relative;margin:0;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--paper);aspect-ratio:3/2}
.gal-item.gtall{grid-row:auto}
.gal-item.soon{display:flex;align-items:center;justify-content:center;text-align:center;cursor:default;background:linear-gradient(155deg,var(--paper),#e3d6bf)}
.gal-item.soon .s-in{display:flex;flex-direction:column;gap:8px;padding:18px}
.gal-item.soon .s-k{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--wine)}
.gal-item.soon .s-t{font-family:'Montserrat','Inter',sans-serif;font-weight:600;font-size:clamp(17px,2.2vw,23px);color:var(--ink);line-height:1.15}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-out)}
.gal-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;color:#fff;font-size:14px;letter-spacing:.04em;background:linear-gradient(transparent,rgba(12,6,5,.72));opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease-out),transform .4s var(--ease-out)}
@media (hover:hover) and (pointer:fine){.gal-item:hover img{transform:scale(1.07)}.gal-item:hover figcaption{opacity:1;transform:none}}
@media (hover:none){.gal-item figcaption{opacity:1;transform:none}}
@media (max-width:820px){.gal-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.gal-grid{grid-template-columns:repeat(2,1fr)}}


/* ---------- AGE GATE (18+) ---------- */
.agegate{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:28px;
  background:radial-gradient(120% 120% at 50% 28%,#1c130d 0%,#0a0605 55%,#000 100%);
  transition:opacity .45s var(--ease-out),visibility .45s}
.agegate.out{opacity:0;visibility:hidden;pointer-events:none}
.agegate-card{max-width:460px;text-align:center;animation:agein .7s var(--ease-out) both}
@keyframes agein{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.agegate-logo{height:74px;width:auto;margin:0 auto 26px;display:block}
.agegate-h{font-family:'Montserrat',sans-serif;color:#fff;font-weight:600;font-size:clamp(26px,4.5vw,38px);line-height:1.12;letter-spacing:-.02em;margin:0}
.agegate-h em{font-style:normal;color:var(--wine-bright)}
.agegate-p{color:rgba(246,240,231,.72);font-size:15px;line-height:1.6;font-weight:300;margin:16px auto 0;max-width:380px}
.agegate-btns{display:flex;gap:12px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.agegate .btn{min-width:155px;justify-content:center}
.agegate .btn.ghost{border-color:rgba(246,240,231,.4);color:var(--cream)}
.agegate .btn.ghost:hover{background:rgba(246,240,231,.08)}
.agegate-deny{display:none;color:var(--wine-bright);font-size:15px;line-height:1.55;margin:24px auto 0;max-width:390px}
.agegate.denied .agegate-deny{display:block}
.agegate.denied .agegate-btns,.agegate.denied .agegate-p{display:none}
.agegate-note{color:rgba(246,240,231,.4);font-size:11px;letter-spacing:.02em;line-height:1.5;margin:30px auto 0;max-width:360px}


/* ---------- LEGAL (Markdown-Overlay) ---------- */
.legal{position:fixed;inset:0;z-index:150;display:none;align-items:flex-start;justify-content:center;padding:0;background:rgba(8,5,4,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow-y:auto}
.legal.open{display:flex}
.legal-sheet{position:relative;background:var(--cream);max-width:760px;width:calc(100% - 40px);border-radius:18px;padding:50px clamp(24px,5vw,58px);box-shadow:0 50px 120px -40px rgba(0,0,0,.7);margin:64px auto}
.legal-close{position:absolute;right:16px;top:14px;background:none;border:none;font-size:26px;line-height:1;color:var(--muted);cursor:pointer;padding:6px 10px;transition:color .25s var(--ease-out)}
.legal-close:hover{color:var(--wine)}
.legal-body{color:var(--ink-soft);font-size:16px;line-height:1.72}
.legal-body h1{font-family:'Montserrat',sans-serif;font-size:clamp(28px,4vw,40px);letter-spacing:-.02em;margin:0 0 20px;color:var(--ink)}
.legal-body h2{font-family:'Montserrat',sans-serif;font-size:21px;letter-spacing:-.01em;margin:30px 0 10px;color:var(--ink)}
.legal-body h3{font-size:17px;margin:22px 0 8px;color:var(--ink)}
.legal-body p{margin:0 0 14px}
.legal-body ul{margin:0 0 14px 22px}.legal-body li{margin:0 0 6px}
.legal-body a{color:var(--wine);text-decoration:underline}
.legal-body strong{color:var(--ink)}
.legal-body blockquote{border-left:3px solid var(--wine);background:var(--paper);margin:0 0 18px;padding:12px 16px;border-radius:0 8px 8px 0;color:var(--muted);font-size:14px}

.gifts{background:var(--paper)}
.gifts .btn.gifts-cta{background:var(--wine);color:#fff;box-shadow:0 16px 40px -20px rgba(151,48,39,.5)}
.gifts .btn.gifts-cta:hover{background:var(--wine-deep)}

/* ---------- HERO ORBS (beige + Bewegung) ---------- */
.hero-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1;transition:transform .2s ease-out}
.orb{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform}
.orb.o1{width:46vmax;height:46vmax;left:-12vmax;top:-12vmax;background:radial-gradient(circle,rgba(151,48,39,.26),transparent 64%);animation:drift1 24s var(--ease-in-out) infinite alternate}
.orb.o2{width:38vmax;height:38vmax;right:-10vmax;top:6vmax;background:radial-gradient(circle,rgba(194,162,91,.24),transparent 64%);animation:drift2 28s var(--ease-in-out) infinite alternate}
.orb.o3{width:30vmax;height:30vmax;left:28vmax;bottom:-14vmax;background:radial-gradient(circle,rgba(151,48,39,.16),transparent 64%);animation:drift3 32s var(--ease-in-out) infinite alternate}
@keyframes drift1{to{transform:translate(8vmax,6vmax) scale(1.1)}}
@keyframes drift2{to{transform:translate(-7vmax,5vmax) scale(1.08)}}
@keyframes drift3{to{transform:translate(6vmax,-6vmax) scale(1.12)}}
@media (prefers-reduced-motion:reduce){.orb{animation:none}}

/* ---------- HERO SLIDER ---------- */
.hero-slides{position:absolute;inset:0;z-index:3}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s var(--ease-out),visibility .8s}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--wine);color:#fff;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:9px 18px;border-radius:100px;margin-bottom:26px;box-shadow:0 14px 34px -14px rgba(151,48,39,.6)}
.hero-badge .star{color:var(--gold)}
.hero-sub2 b{color:var(--wine);font-weight:600}
.hero-dots{position:absolute;left:50%;bottom:98px;transform:translateX(-50%);z-index:6;display:flex;gap:11px}
.hero-dot{width:9px;height:9px;border-radius:50%;border:none;padding:0;cursor:pointer;background:rgba(21,17,15,.22);transition:background .3s var(--ease-out),transform .3s var(--ease-out)}
.hero-dot:hover{background:rgba(151,48,39,.5)}
.hero-dot.active{background:var(--wine);transform:scale(1.3)}

/* ---------- HERO: Datums-Badge + Footer-Leiste ---------- */
.date-badge{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;transform:rotate(-3deg);margin-bottom:26px}
.date-badge span{background:var(--wine);color:var(--cream);font-family:'Montserrat','Inter',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.12;padding:7px 16px;font-size:clamp(15px,1.9vw,23px);box-shadow:0 14px 32px -16px rgba(151,48,39,.55)}
.date-badge .l2{margin-left:28px}
.hero-foot{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:stretch;justify-content:center;padding:16px 24px;border-top:1px solid rgba(21,17,15,.09)}
.hf-col{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:130px}
.hf-col .ot{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hf-col .val{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;letter-spacing:.01em;color:var(--ink)}
.hf-sep{border-left:1px dashed rgba(21,17,15,.3);margin:2px 30px}
.hf-col a.val{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s var(--ease-out)}
.hf-col a.val:hover{border-color:var(--wine)}
@media (max-width:560px){.hf-sep{margin:2px 18px}.hf-col{min-width:0}}

/* ---------- OPEN STATUS ---------- */
.status{display:inline-flex;align-items:center;gap:11px;margin:26px 0 8px;padding:11px 20px 11px 16px;border-radius:100px;background:var(--cream-card);border:1px solid var(--line);box-shadow:0 10px 28px -18px rgba(21,17,15,.45)}
.status-dot{width:11px;height:11px;border-radius:50%;flex:none;position:relative;background:#9a8f86;--ring:rgba(0,0,0,0)}
.status[data-open="true"] .status-dot{background:#2fa85a;--ring:rgba(47,168,90,.5)}
.status[data-open="soon"] .status-dot{background:var(--gold);--ring:rgba(194,162,91,.5)}
.status[data-open="false"] .status-dot{background:var(--wine-bright)}
.status[data-open="true"] .status-dot::after,.status[data-open="soon"] .status-dot::after{content:"";position:absolute;inset:0;border-radius:50%;animation:statpulse 2.2s var(--ease-out) infinite}
@keyframes statpulse{0%{box-shadow:0 0 0 0 var(--ring)}70%,100%{box-shadow:0 0 0 13px rgba(0,0,0,0)}}
@media (prefers-reduced-motion:reduce){.status-dot::after{animation:none}}
.status-main{font-family:'Montserrat','Inter',sans-serif;font-weight:600;font-size:15px;color:var(--ink)}
.status-sub{color:var(--muted);font-size:14px;font-weight:300}
.status.compact{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:6px 14px;background:transparent;border:none;box-shadow:none;gap:9px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease-out),visibility .35s}
.nav.scrolled .status.compact{opacity:1;visibility:visible;pointer-events:auto}
.status.compact .status-main{font-size:13.5px}
.status.compact .status-sub{display:inline}
@media (max-width:680px){.status.compact{padding:5px 10px;gap:8px}.status.compact .status-main{font-size:12.5px}.status.compact .status-sub{display:none}}
@media (max-width:360px){.status.compact{display:none}}

body.menu-open .nav.scrolled{background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.brand .logo-inv{display:none}
body.menu-open .brand .logo-red{display:none}
body.menu-open .brand .logo-inv{display:block}
.nav-links .menu-addr{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:'Inter',sans-serif;font-weight:400;padding:0;color:rgba(246,240,231,.7)}
.menu-addr .ma-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.menu-addr .ma-line{font-family:'Montserrat','Inter',sans-serif;font-weight:500;font-size:clamp(16px,2vw,19px);letter-spacing:0;color:var(--cream);display:inline-flex;align-items:center;gap:9px;transition:color .3s var(--ease-out)}
.menu-addr .ma-line svg{width:16px;height:16px;color:var(--wine-bright)}
.menu-addr:hover .ma-line{color:var(--wine-bright)}
.nav-actions{position:absolute;right:150px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;gap:16px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease-out),visibility .35s}
.nav.scrolled .nav-actions{opacity:1;visibility:visible;pointer-events:auto}
body.menu-open .nav-actions{opacity:0;visibility:hidden}
.nav-addr{display:inline-flex;align-items:center;gap:7px;font-family:'Montserrat','Inter',sans-serif;font-weight:500;font-size:13.5px;color:var(--ink-soft);text-decoration:none;transition:color .3s var(--ease-out)}
.nav-addr svg{width:15px;height:15px;color:var(--wine);flex:none}
.nav-addr:hover{color:var(--wine)}
.nav-phone{display:inline-flex;color:var(--wine);text-decoration:none;transition:color .3s var(--ease-out),transform .2s var(--ease-out)}
.nav-phone svg{width:17px;height:17px}
.nav-phone:hover{color:var(--wine-deep);transform:scale(1.08)}
@media (max-width:1000px){.nav-actions{right:72px;gap:14px}.nav-addr #navAddrLine{display:none}.nav-addr svg{width:19px;height:19px}.nav-phone svg{width:19px;height:19px}}
/* ---- Events: Opening-Video rechts neben der Liste ---- */
.events-grid{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:clamp(30px,5vw,64px);align-items:start}
.events-grid .ev-list{margin-top:0}
.events-video{position:sticky;top:100px}
.ev-phone{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:9/16;background:#000;box-shadow:0 44px 90px -45px rgba(21,17,15,.7)}
.ev-phone video{width:100%;height:100%;object-fit:cover;display:block}
.ev-cover{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;background:rgba(21,17,15,.14);transition:background .3s var(--ease-out)}
.ev-cover:hover{background:rgba(21,17,15,.03)}
.ev-cover.hidden{display:none}
.ev-play{width:76px;height:76px;border:0;background:none;padding:0;cursor:pointer}
.ev-play svg{width:100%;height:100%;display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));transition:transform .3s var(--ease-out)}
.ev-cover:hover .ev-play svg{transform:scale(1.06)}
.ev-cap{position:absolute;left:0;right:0;bottom:0;padding:16px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);background:linear-gradient(to top,rgba(21,17,15,.62),transparent);text-align:center}
@media (max-width:900px){.events-grid{grid-template-columns:1fr;gap:36px}.events-video{position:static;max-width:300px;margin:0 auto}}

/* ---- Echte Google-Karte (2-Klick, DSGVO-freundlich) ---- */
.map-actions{position:absolute;left:0;right:0;bottom:46px;z-index:2;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding:0 16px}
.map-load,.map-route{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;letter-spacing:.02em;padding:11px 18px;border-radius:100px;cursor:pointer;transition:transform .3s var(--ease-out),background .3s;text-decoration:none;line-height:1}
.map-load{border:0;background:var(--wine);color:var(--cream);box-shadow:0 10px 28px -12px rgba(151,48,39,.7)}
.map-load:hover{background:var(--wine-deep);transform:translateY(-2px)}
.map-route{background:var(--cream-card);color:var(--ink);border:1px solid var(--line)}
.map-route:hover{transform:translateY(-2px)}
.map-note{position:absolute;left:0;right:0;bottom:16px;z-index:2;text-align:center;font-size:11px;color:var(--muted);padding:0 16px}
.map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:3}
.map.loaded .grid-bg,.map.loaded .pin,.map.loaded .map-actions,.map.loaded .map-note{display:none}

/* ---- Rezensionen / Social Proof ---- */
.reviews{background:var(--paper)}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;max-width:860px;margin:0 auto}
.rev-card{background:var(--cream-card);border:1px solid var(--line);border-radius:18px;padding:32px 30px;margin:0;box-shadow:0 24px 60px -42px rgba(21,17,15,.55);display:flex;flex-direction:column;gap:16px}
.rev-stars{color:var(--gold);font-size:18px;letter-spacing:3px;line-height:1}
.rev-card blockquote{margin:0;font-size:17px;line-height:1.62;color:var(--ink-soft);font-weight:300}
.rev-card figcaption{display:flex;flex-direction:column;gap:3px;margin-top:auto}
.rev-name{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:var(--ink)}
.rev-src{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rev-cta{margin-top:46px;text-align:center}
@media (max-width:680px){.rev-card{padding:26px 24px}}

/* ================= Bewerben-Seite (/bewerben) ================= */
.apply{--maxw:900px;color:var(--ink);background:var(--cream);min-height:100vh}
.apply-top{display:flex;align-items:center;justify-content:space-between;max-width:var(--maxw);margin:0 auto;padding:22px 24px}
.apply-brand img{height:40px;width:auto;display:block}
.apply-home{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:var(--wine);text-decoration:none}
.apply-home:hover{color:var(--wine-deep)}
.apply-hero{max-width:var(--maxw);margin:0 auto;padding:38px 24px 8px;text-align:center}
.apply-hero .eyebrow{color:var(--wine);display:block;margin-bottom:14px}
.apply-hero h1{font-size:clamp(40px,7vw,74px);line-height:1.02;letter-spacing:-.01em}
.apply-hero h1 .ln{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;color:var(--wine)}
.apply-sub{margin-top:16px;font-size:18px;color:var(--muted);font-weight:300}
.apply-err{margin:18px auto 0;max-width:540px;background:#fbeaea;border:1px solid #e6bcbc;color:#8f2a22;padding:12px 16px;border-radius:12px;font-size:14px}
.apply-desc{max-width:var(--maxw);margin:0 auto;padding:40px 24px}
.apply-lead{font-size:19px;line-height:1.6;color:var(--ink-soft);font-weight:300;max-width:680px;margin:0 auto 40px;text-align:center}
.apply-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.apply-col{background:var(--cream-card);border:1px solid var(--line);border-radius:18px;padding:26px 24px}
.apply-col h3{font-size:17px;font-family:'Montserrat',sans-serif;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.apply-col h3 .ic{color:var(--wine);display:inline-flex}
.apply-col ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0}
.apply-col li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.5;color:var(--ink-soft);font-weight:300}
.apply-col li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:50%;background:var(--gold)}
@media(max-width:760px){.apply-cols{grid-template-columns:1fr}}
.apply-flow{background:var(--ink);padding:64px 0 72px;margin-top:20px}
.apply-flow .wrap-a{max-width:640px;margin:0 auto;padding:0 24px}
.apply-flow .fl-head{text-align:center;margin-bottom:26px}
.apply-flow .eyebrow{color:var(--gold);display:block;margin-bottom:12px}
.apply-flow h2{color:var(--cream);font-size:clamp(28px,4.4vw,42px)}
.apply-progress{display:none;gap:8px;justify-content:center;margin:8px 0 30px}
.apply-wizard.is-js .apply-progress{display:flex}
.apply-dot{width:34px;height:4px;border-radius:3px;background:rgba(246,240,231,.18);transition:background .3s}
.apply-dot.on{background:var(--gold)}
.apply-step{background:var(--cream-card);border-radius:20px;padding:32px 28px;margin-bottom:20px}
.apply-wizard.is-js .apply-step{display:none;margin-bottom:0}
.apply-wizard.is-js .apply-step.active{display:block;animation:applyIn .4s var(--ease-out)}
@keyframes applyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.apply-q{font-family:'Montserrat',sans-serif;font-weight:600;font-size:20px;margin-bottom:6px;color:var(--ink)}
.apply-hint{font-size:13px;color:var(--muted);margin-bottom:20px}
.apply-opts{display:grid;gap:12px}
.apply-opts.two{grid-template-columns:1fr 1fr}
@media(max-width:520px){.apply-opts.two{grid-template-columns:1fr}}
.apply-opt{position:relative;display:flex;align-items:center;gap:12px;padding:15px 18px;border:1.5px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .2s,background .2s;font-size:15px;color:var(--ink)}
.apply-opt:hover{border-color:var(--wine-bright)}
.apply-opt input{position:absolute;opacity:0;pointer-events:none}
.apply-opt .box{width:20px;height:20px;border-radius:6px;border:2px solid var(--line);flex:none;display:grid;place-items:center;transition:.2s}
.apply-opt.round .box{border-radius:50%}
.apply-opt input:checked~.box{background:var(--wine);border-color:var(--wine)}
.apply-opt input:checked~.box::after{content:"";width:8px;height:8px;border-radius:inherit;background:var(--cream)}
.apply-opt:has(input:checked){border-color:var(--wine);background:rgba(151,48,39,.05)}
.apply-nav{display:none;justify-content:space-between;align-items:center;margin-top:24px}
.apply-wizard.is-js .apply-nav{display:flex}
.apply-back,.apply-next{font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px;padding:13px 24px;border-radius:100px;cursor:pointer;border:0}
.apply-back{background:transparent;color:var(--muted)}
.apply-back:hover{color:var(--ink)}
.apply-next{background:var(--wine);color:var(--cream)}
.apply-next:hover{background:var(--wine-deep)}
.apply-next:disabled{opacity:.4;cursor:not-allowed}
.apply-fields{display:grid;gap:16px}
.apply-field label{display:block;font-size:13px;font-weight:600;font-family:'Montserrat',sans-serif;margin-bottom:6px;color:var(--ink)}
.apply-field input,.apply-field textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font:inherit;font-size:15px;background:#fff;color:var(--ink);box-sizing:border-box}
.apply-field input:focus,.apply-field textarea:focus{outline:none;border-color:var(--wine)}
.apply-field textarea{min-height:110px;resize:vertical}
.apply-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.5;cursor:pointer}
.apply-consent input{margin-top:2px;flex:none}
.apply-summary{background:rgba(151,48,39,.06);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:20px;font-size:13.5px;color:var(--ink-soft);line-height:1.7}
.apply-summary b{color:var(--ink)}
.apply-submit{margin-top:18px;width:100%;background:var(--wine);color:var(--cream);border:0;border-radius:100px;padding:16px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:16px;cursor:pointer;transition:background .2s}
.apply-submit:hover{background:var(--wine-deep)}
.apply-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.apply-done{padding:70px 24px 40px}
.apply-done .chk{width:76px;height:76px;border-radius:50%;background:var(--wine);display:grid;place-items:center;margin:0 auto 26px;color:var(--cream)}
.apply-done .chk svg{width:38px;height:38px}
.apply-done .btn{margin-top:30px;display:inline-block}
.apply-foot{max-width:var(--maxw);margin:0 auto;padding:34px 24px;text-align:center;color:var(--muted);font-size:13px}
.apply-foot a{color:var(--wine);text-decoration:none}

/* ---- Rechtstext-Seiten (Datenschutz/Impressum) ---- */
.legal-wrap{max-width:760px;margin:0 auto;padding:30px 24px 64px}
.legal-wrap h1{font-size:clamp(32px,5vw,50px);margin-bottom:24px;color:var(--ink)}
.legal-body{font-size:15.5px;line-height:1.72;color:var(--ink-soft);font-weight:300}
.legal-body h2,.legal-body h3{font-family:'Montserrat',sans-serif;color:var(--ink);margin:30px 0 10px;font-size:19px;font-weight:600}
.legal-body p{margin:0 0 14px}
.legal-body a{color:var(--wine)}
.legal-body ul,.legal-body ol{margin:0 0 14px 22px}
.legal-body li{margin-bottom:6px}

/* Events: Leer-Zustand (keine kommenden Termine) */
.ev-empty{padding:26px 4px;color:var(--muted);font-size:16px;font-weight:300;border-top:1px solid var(--line)}

/* ---- Karten-Auszug (Getränke-Favoriten mit Preisen) ---- */
.menu-x{background:linear-gradient(180deg,#1c1310,var(--ink) 55%)}
.menu-note{max-width:600px}
.menu-cats{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;margin-top:8px}
.menu-cat h3{font-family:'Montserrat',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--wine);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.menu-cat h3 .mg{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}
.menu-row{display:grid;grid-template-columns:1fr auto;gap:4px 14px;align-items:baseline;margin-bottom:15px}
.menu-row:last-child{margin-bottom:0}
.menu-row .mn{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15.5px;color:var(--ink)}
.menu-row .mp{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:var(--wine);white-space:nowrap}
.menu-row .md{grid-column:1/-1;font-size:13px;color:var(--muted);font-weight:300;line-height:1.45}
.menu-foot{margin-top:38px;font-size:13.5px;color:var(--muted);font-weight:300;border-top:1px solid var(--line);padding-top:20px;max-width:640px}
@media(max-width:720px){.menu-cats{grid-template-columns:1fr;gap:32px}}

/* ---- Mitlaufendes "Wir suchen dich"-Badge ---- */
.hiring-badge{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;align-items:stretch;background:var(--wine);color:var(--cream);border-radius:100px;box-shadow:0 18px 40px -14px rgba(151,48,39,.6);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.hiring-badge.show{opacity:1;transform:none;pointer-events:auto}
.hb-link{display:flex;align-items:center;gap:11px;padding:12px 8px 12px 18px;color:inherit}
.hb-link:hover .hb-sub{opacity:1}
.hb-dot{width:9px;height:9px;border-radius:50%;background:#7ee0a0;flex:none;box-shadow:0 0 0 0 rgba(126,224,160,.6);animation:hbpulse 2s infinite}
@keyframes hbpulse{0%{box-shadow:0 0 0 0 rgba(126,224,160,.5)}70%{box-shadow:0 0 0 9px rgba(126,224,160,0)}100%{box-shadow:0 0 0 0 rgba(126,224,160,0)}}
.hb-text{display:flex;flex-direction:column;line-height:1.16}
.hb-text b{font-family:'Montserrat',sans-serif;font-weight:600;font-size:14px}
.hb-sub{font-size:12px;opacity:.85;transition:opacity .2s}
.hb-close{background:none;border:0;color:rgba(246,240,231,.7);font-size:19px;line-height:1;cursor:pointer;padding:0 15px 0 8px;align-self:center;transition:color .2s}
.hb-close:hover{color:#fff}
@media(max-width:520px){.hiring-badge{right:12px;bottom:12px}.hb-link{padding:10px 6px 10px 14px}.hb-text b{font-size:13px}.hb-sub{font-size:11px}}
@media (prefers-reduced-motion:reduce){.hb-dot{animation:none}.hiring-badge{transition:opacity .3s}}

/* CTA-Button zur Getränkekarte (Ausschank-Sektion) */
.pour-cta{margin-top:30px;background:var(--wine);color:#fff;box-shadow:0 18px 46px -22px rgba(151,48,39,.55)}
.pour-cta:hover{background:var(--wine-deep)}

/* Karten-Auszug als dunkle Menü-Tafel (klassisch modern clean) */
.menu-x .eyebrow{color:var(--gold)}
.menu-x .section-head h2{color:var(--cream)}
.menu-x .section-head h2 .script{color:var(--gold)}
.menu-x .menu-note{color:rgba(246,240,231,.62)}
.menu-x .menu-cat h3{color:var(--gold);border-bottom-color:rgba(246,240,231,.16)}
.menu-x .menu-cat h3 .mg{color:rgba(246,240,231,.5)}
.menu-x .menu-row .mn{color:var(--cream)}
.menu-x .menu-row .mp{color:var(--gold)}
.menu-x .menu-row .md{color:rgba(246,240,231,.52)}
.menu-x .menu-foot{color:rgba(246,240,231,.55);border-top-color:rgba(246,240,231,.16)}

/* ---- Galerie-Lightbox (Popup) ---- */
.gal-grid .gal-item{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(12,8,7,.94);padding:24px;opacity:0;transition:opacity .3s var(--ease-out)}
.lb.open{display:flex;opacity:1}
.lb-fig{margin:0;max-width:min(1100px,92vw);display:flex;flex-direction:column;align-items:center}
.lb-img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:10px;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.lb-cap{margin-top:14px;color:var(--cream);font-size:14px;letter-spacing:.04em;text-align:center}
.lb-close{position:absolute;top:16px;right:20px;background:none;border:0;color:rgba(246,240,231,.85);font-size:36px;line-height:1;cursor:pointer;padding:6px;transition:color .2s}
.lb-close:hover{color:#fff}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(246,240,231,.1);border:0;color:var(--cream);width:52px;height:52px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb-nav:hover{background:rgba(246,240,231,.22)}
.lb-prev{left:16px}.lb-next{right:16px}
@media(max-width:600px){.lb{padding:12px}.lb-nav{width:42px;height:42px;font-size:24px}.lb-prev{left:6px}.lb-next{right:6px}.lb-close{top:8px;right:12px}}
