@font-face{font-family:"Fraunces";src:url(fonts/Fraunces-Variable.woff) format("woff");font-weight:300 800;font-style:normal;font-display:swap}
@font-face{font-family:"Inter Tight";src:url(fonts/InterTight-Variable.woff) format("woff");font-weight:300 700;font-display:swap}
:root{--papier:#efe9e0;--creme:#efe9e0;--weiss:#f8f5f0;--flaeche:#e6ded2;--ink:#23201d;--text:#23201d;--grau:#6f675e;--linie:rgba(35,32,29,.14);
--wein:#5e2f3a;--wein-h:#472330;--rose:#b58468;--champ:#d6c6ab;--olive:#5f6450;--salbei:#8f9682;--dunkel:#2a2724;--olivdunkel:#34372c;
--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
--r:6px;--r-gross:10px;--rand:clamp(18px,4.5vw,56px);--schatten:0 24px 50px -30px rgba(35,32,29,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
em,i,cite{font-style:normal}
body{margin:0;background:var(--papier);color:var(--text);font:400 17px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}a{color:var(--wein);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--rose)}
b,strong{font-weight:600}
h1,h2,h3{font-family:var(--serif);font-weight:300;font-variation-settings:'opsz' 144,'SOFT' 30;line-height:1.04;margin:0 0 .5em;letter-spacing:-.022em;color:inherit}
h1{font-size:clamp(48px,7.6vw,112px);line-height:.98}h2{font-size:clamp(36px,4.8vw,64px)}
h3{font-family:var(--sans);font-weight:600;font-variation-settings:normal;font-size:19px;line-height:1.3;letter-spacing:-.01em}
h1 em,h2 em{color:var(--rose);font-weight:300}
.i{display:inline-block;vertical-align:-3px;flex:none}
.sprung{position:absolute;left:-999px}.sprung:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
.breite{max-width:1320px;margin:0 auto;padding:0 var(--rand)}.schmal{max-width:820px}
.eyebrow{font:600 11.5px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--grau);margin:0 0 22px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor;flex:none}
.eyebrow.hell{color:rgba(248,245,240,.7)}
.lead{font-size:clamp(18px,1.55vw,21px);line-height:1.6}.lead.hell{color:rgba(248,245,240,.82)}
.klein{font-size:13px;color:var(--grau)}.klein.hell{color:rgba(248,245,240,.55)}
.mitte{text-align:center;margin-top:56px}
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--weiss);font:500 14.5px/1 var(--sans);letter-spacing:.01em;padding:15px 26px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.knopf:hover{background:var(--wein);border-color:var(--wein);color:#fff}
.knopf .i{transition:transform .3s}.knopf:hover .i{transform:translateX(3px)}
.knopf.zweit{background:transparent;color:var(--ink);border-color:var(--linie)}.knopf.zweit:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.knopf.hell{background:var(--weiss);border-color:var(--weiss);color:var(--ink)}.knopf.hell:hover{background:var(--champ);border-color:var(--champ);color:var(--ink)}
.knopf.glas,.knopf.rand{background:transparent;border-color:rgba(248,245,240,.45);color:#fff}.knopf.glas:hover,.knopf.rand:hover{background:rgba(248,245,240,.12);border-color:#fff;color:#fff}
.knopf.gross{padding:18px 30px;font-size:15px}.knopf.klein{padding:11px 18px;font-size:13.5px}
.knopf:focus-visible,.chip:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
/* Infoleiste & Kopf */
.infoleiste{display:flex;justify-content:center;gap:clamp(14px,4vw,48px);flex-wrap:wrap;background:var(--dunkel);color:rgba(248,245,240,.78);font:500 12px/1 var(--sans);letter-spacing:.05em;padding:10px 16px;position:relative;z-index:31}
.infoleiste span{display:inline-flex;gap:8px;align-items:center}.infoleiste .i{color:var(--champ)}
.kopf{position:fixed;top:34px;left:0;right:0;z-index:30;color:#fff;transition:background .35s,color .35s,top .35s,box-shadow .35s}
.kopf-in{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:24px;height:76px;padding:0 var(--rand);transition:height .35s}
.kopf.fest,.ohne-hero .kopf{top:0;background:rgba(239,233,224,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--text);box-shadow:0 1px 0 var(--linie)}
.kopf.fest .kopf-in{height:64px}
.logo{display:flex;flex-direction:column;text-decoration:none;color:inherit;margin-right:auto;line-height:1}
.logo-wort{font:400 23px/1 var(--serif);font-variation-settings:'opsz' 72;letter-spacing:-.02em;white-space:nowrap}
.logo-wort b{font-weight:400;color:var(--champ)}.logo-wort i{opacity:.55}
.kopf.fest .logo-wort b,.ohne-hero .logo-wort b{color:var(--rose)}
.logo-unter{font:600 9.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;opacity:.6;margin-top:6px}
.nav{display:flex;align-items:center;gap:26px}
.nav a:not(.knopf){color:inherit;text-decoration:none;font-size:14px;position:relative;padding:6px 0}
.nav a:not(.knopf)::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .3s}
.nav a:not(.knopf):hover::after,.nav a[aria-current]::after{right:0}
.kopf:not(.fest) .nav .knopf{background:transparent;border-color:rgba(248,245,240,.55)}.kopf:not(.fest) .nav .knopf:hover{background:rgba(248,245,240,.14)}
.ohne-hero .kopf .nav .knopf{background:var(--ink);border-color:var(--ink)}
.nav-knopf{display:none;background:none;border:0;color:inherit;cursor:pointer;padding:8px}
/* Hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;background:var(--dunkel)}
.hero-bild{position:absolute;inset:0}.hero-bild img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transform:scale(1.04);animation:zoom 22s ease-out forwards}
@keyframes zoom{to{transform:scale(1)}}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,27,24,.72) 0%,rgba(30,27,24,.45) 40%,rgba(30,27,24,0) 70%),linear-gradient(180deg,rgba(30,27,24,.5) 0%,rgba(30,27,24,0) 30%,rgba(30,27,24,.2) 60%,rgba(30,27,24,.85) 100%)}
.hero-inhalt,.hero-unten{position:relative;z-index:2;width:100%}
.hero-inhalt{padding-top:170px;padding-bottom:8px}
.hero-raster{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:end}
.pille-hell{display:inline-flex;align-items:center;gap:12px;font:600 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;margin:0 0 26px;color:rgba(248,245,240,.85)}
.punkt{width:28px;height:1px;background:currentColor}
.hero h1{max-width:980px;color:#fff;text-shadow:0 2px 40px rgba(0,0,0,.25)}.hero h1 em{color:var(--champ)}
.hero-lead{font-size:clamp(17px,1.4vw,19px);max-width:620px;color:rgba(248,245,240,.88);margin:20px 0 34px}
.hero-knoepfe{display:flex;flex-wrap:wrap;gap:12px}
.hero-fakten{list-style:none;margin:56px 0 0;padding:24px 0 34px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(248,245,240,.28)}
.hero-fakten li{padding-right:18px}.hero-fakten b{display:block;font:300 30px/1.1 var(--serif);color:#fff}.hero-fakten span{font-size:13px;color:rgba(248,245,240,.7)}
.naechster{background:var(--weiss);color:var(--text);border-radius:var(--r);padding:24px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.naechster[hidden]{display:none}
.naechster .n-kopf{display:flex;justify-content:space-between;align-items:center;font:600 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--grau);margin:0 0 16px}
.naechster .n-count{color:var(--olive);letter-spacing:.1em}
.naechster h3{font:300 26px/1.12 var(--serif);letter-spacing:-.02em;margin:0 0 10px}
.naechster p{margin:0 0 18px;font-size:14px;color:var(--grau)}.naechster .knopf{width:100%}
/* Laufband */
.band{overflow:hidden;border-bottom:1px solid var(--linie);padding:22px 0;background:var(--papier)}
.band-in{display:flex;gap:34px;width:max-content;animation:band 60s linear infinite;align-items:center}
.band a{font:300 clamp(22px,2.4vw,32px)/1 var(--serif);letter-spacing:-.015em;white-space:nowrap;color:var(--ink);text-decoration:none;transition:color .25s}.band a:nth-of-type(3n+1){color:var(--rose)}.band a:hover,.band a:focus-visible{color:var(--wein);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.band-kopie{display:contents}.band:hover .band-in,.band:focus-within .band-in{animation-play-state:paused}
.band i{color:var(--salbei);font-size:12px}
@keyframes band{to{transform:translateX(-50%)}}
/* Abschnitte */
.abschnitt{padding:clamp(90px,11vw,160px) 0}.abschnitt.weiss{background:var(--weiss)}
.abschnitt.dunkel{background:var(--dunkel);color:#ece6dd}
.dunkel h2,.firmen h2{color:#f8f5f0}.dunkel h2 em,.firmen h2 em{color:var(--champ)}.dunkel .kopfzeile p,.hell-p{color:rgba(236,230,221,.7)!important}
.kopfzeile{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,6vw,96px);align-items:end;margin-bottom:clamp(44px,5vw,72px)}
.kopfzeile h2{margin:0}.kopfzeile p{color:var(--grau);margin:0 0 8px;max-width:520px}
.intro-raster{display:grid;grid-template-columns:7fr 5fr;gap:clamp(40px,7vw,110px);align-items:center}
.intro-bild{margin:0;order:2}.intro-bild img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.intro-text p{color:#4b453f}.intro-text .lead{color:var(--text)}
.kennzahlen{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linie)}
.kennzahlen li{padding:22px 16px 0 0}.kennzahlen b{display:block;font:300 46px/1 var(--serif);color:var(--wein)}.kennzahlen span{font-size:13.5px;color:var(--grau)}
/* Panorama */
.panorama{position:relative;margin:0;height:clamp(320px,62vh,720px);overflow:hidden;background:var(--dunkel)}
.panorama img{width:100%;height:100%;object-fit:cover}
.panorama figcaption{position:absolute;left:var(--rand);bottom:28px;color:#fff;font:500 12px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.panorama::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(30,27,24,.45))}
.panorama figcaption{z-index:2}
/* Termine */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.chip{border:1px solid var(--linie);background:transparent;border-radius:999px;padding:10px 20px;font:500 14px/1 var(--sans);color:var(--text);cursor:pointer;transition:all .2s}
.chip b{color:var(--grau);margin-left:6px;font-weight:500}.chip:hover{border-color:var(--ink)}.chip.an{background:var(--ink);border-color:var(--ink);color:#fff}.chip.an b{color:var(--champ)}
.monat{font:600 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--grau);margin:52px 0 0;padding-bottom:16px;border-bottom:1px solid var(--linie)}
.monat:first-child{margin-top:0}
.termin{display:grid;grid-template-columns:220px 1fr auto;gap:clamp(18px,3vw,40px);align-items:center;padding:22px 0;border-bottom:1px solid var(--linie)}
.termin:target{background:rgba(181,132,104,.08)}
.t-bild{position:relative;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--flaeche)}
.t-bild img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.termin:hover .t-bild img{transform:scale(1.05)}
.t-bild .t-datum{position:absolute;left:10px;top:10px;background:var(--weiss);border-radius:4px;padding:9px 12px 8px;min-width:58px}
.t-bild .t-tag{font-size:30px;margin:4px 0 3px}
.t-datum{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1}
.t-wt{font:600 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--grau)}
.t-tag{font:300 50px/1 var(--serif);color:var(--wein);margin:6px 0 4px}
.t-mon{font:600 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--wein)}
.t-ober{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:0 0 8px;font:600 11px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--grau)}
.t-stadt{color:var(--olive)}
.termin h3{font:300 clamp(22px,2vw,27px)/1.2 var(--serif);letter-spacing:-.015em;margin:0 0 8px}
.t-meta{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:14.5px;color:var(--grau);margin:0}.t-meta .i{color:var(--salbei)}
.t-text{font-size:15px;color:#57504a;margin:10px 0 0;max-width:720px}
.t-rechts{display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right;min-width:190px}
.t-preis{font:300 22px/1.2 var(--serif);color:var(--text)}
.t-link{font-size:13px;color:var(--grau)}
.leer{border:1px solid var(--linie);border-radius:var(--r);padding:40px;text-align:center}.leer p{max-width:640px;margin:0 auto 10px;color:var(--grau)}
.leer[hidden]{display:none}
.termin.voll .t-bild img{filter:grayscale(.8) brightness(.9)}.termin.voll h3,.termin.voll .t-preis{color:var(--grau)}
.t-status{font:600 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.t-status.voll{background:var(--ink);color:#fff}.t-status.wenig{background:var(--champ);color:var(--ink)}
.t-bild .t-stempel{position:absolute;right:10px;bottom:10px;background:var(--ink);color:#fff;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border-radius:4px}
.knopf[disabled]{opacity:.4;cursor:not-allowed}
.knopf.warte{background:transparent;color:var(--ink);border-color:var(--ink)}.knopf.warte:hover{background:var(--ink);color:#fff}
/* Bilder */
.mosaik{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,17vw,260px);gap:10px}
.mosaik figure,.leiste figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r);cursor:zoom-in;background:var(--flaeche)}
.mosaik img,.leiste img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.mosaik figure:hover img,.leiste figure:hover img{transform:scale(1.05)}
.mosaik figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(30,27,24,.7));color:#fff;font:500 13px/1.3 var(--sans);opacity:0;transition:opacity .35s}
.mosaik figure:hover figcaption{opacity:1}
.mosaik{grid-auto-flow:dense}.mosaik .m0{grid-column:span 2;grid-row:span 2}.mosaik .m3{grid-row:span 2}.mosaik .m6{grid-column:span 2}.mosaik .m9{grid-column:span 2}
/* Formate */
.formate{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:clamp(18px,2vw,28px)}
.format{display:flex;flex-direction:column;background:transparent;color:inherit}
.f-bild{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);background:#3a3632}.f-bild img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.format:hover .f-bild img{transform:scale(1.05)}
.f-preis-marke{position:absolute;left:12px;top:12px;background:var(--weiss);color:var(--ink);font:400 18px/1 var(--serif);padding:9px 12px;border-radius:4px}
.f-preis-marke small{font:500 11px/1 var(--sans);color:var(--grau)}
.f-text{display:flex;flex-direction:column;flex:1;padding:22px 0 0}
.f-tag{font:600 11px/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--champ);margin:0 0 10px}
.format h3{font:300 27px/1.15 var(--serif);letter-spacing:-.015em;margin:0 0 12px;color:#f8f5f0}.format p{margin:0 0 16px;color:rgba(236,230,221,.72);font-size:15.5px}
.format ul{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:7px;font-size:15px;color:rgba(236,230,221,.88)}.format li{display:flex;gap:10px;align-items:flex-start}.format li .i{color:var(--champ);margin-top:5px}
.f-unten{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid rgba(236,230,221,.16)}
.f-dauer{font-size:14px;color:rgba(236,230,221,.6)}.f-dauer .i{color:var(--champ)}
.dunkel .format .knopf.zweit{color:#f8f5f0;border-color:rgba(236,230,221,.35)}.dunkel .format .knopf.zweit:hover{background:#f8f5f0;color:var(--ink)}
.format.wunsch .f-bild{outline:1px solid rgba(214,198,171,.4)}.format.wunsch .knopf{background:var(--champ);border-color:var(--champ);color:var(--ink)}
.hinweis-hell{font-size:14px;color:rgba(236,230,221,.6);margin-top:36px;display:flex;gap:10px;align-items:center}.hinweis-hell .i{color:var(--champ)}
.schlagworte{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px}.schlagworte li{font-size:12.5px;border:1px solid rgba(236,230,221,.2);border-radius:999px;padding:6px 14px;color:rgba(236,230,221,.7)}
/* Firmen */
.abschnitt.firmen{background:var(--olivdunkel);color:#ece6dd}
.firmen-kopf{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;margin-bottom:clamp(44px,5vw,72px)}
.firmen-bild{margin:0}.firmen-bild img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r)}
.bento{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(236,230,221,.18)}
.bento li{padding:30px 24px 10px 0}
.bento .i{color:var(--champ);display:block;margin-bottom:18px}.bento b{display:block;font:300 22px/1.2 var(--serif);color:#f8f5f0;margin-bottom:8px}.bento span{font-size:14.5px;color:rgba(236,230,221,.68)}
.ablauf{list-style:none;counter-reset:a;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linie)}
.ablauf li{counter-increment:a;padding:28px 24px 0 0}
.ablauf li::before{content:"0" counter(a);display:block;font:300 48px/1 var(--serif);color:var(--rose);margin-bottom:20px}
.ablauf b{display:block;font-weight:600;font-size:17px;margin-bottom:6px}.ablauf span{font-size:15px;color:var(--grau)}
/* Team */
.team-kopf{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,110px);align-items:center}
.ich-bild{margin:0;position:relative}.ich-bild img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.ich-bild figcaption{margin-top:14px}.ich-bild figcaption b{display:block;font:300 22px/1.2 var(--serif)}.ich-bild figcaption span{font-size:13.5px;color:var(--grau)}
.siegel{position:absolute;right:16px;top:16px;width:104px;height:104px;border-radius:50%;background:var(--weiss);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:400 24px/1.05 var(--serif)}
.siegel small{font:600 8px/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--grau)}
.werte{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linie)}
.werte li{padding:22px 18px 0 0}.werte .i{color:var(--olive);display:block;margin-bottom:12px}.werte b{display:block;font-weight:600;font-size:15.5px;margin-bottom:4px}.werte span{font-size:14px;color:var(--grau);line-height:1.5;display:block}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px;margin-top:clamp(48px,6vw,80px)}
.t-karte{margin:0}.t-karte img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;border-radius:var(--r)}
.t-karte figcaption{margin-top:12px}.t-karte figcaption b{display:block;font:300 21px/1.2 var(--serif)}.t-karte figcaption span{font-size:13px;color:var(--olive);font-weight:600}.t-karte figcaption small{display:block;font-size:13.5px;color:var(--grau);margin-top:4px}
.t-karte .initialen{display:flex;aspect-ratio:4/5;align-items:center;justify-content:center;background:var(--flaeche);border-radius:var(--r);font:300 64px/1 var(--serif);color:var(--rose)}
/* Zitat, Anlässe */
.zitat{position:relative;min-height:clamp(380px,66vh,720px);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;background:var(--dunkel)}
.zitat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zitat::after{content:"";position:absolute;inset:0;background:rgba(30,27,24,.38)}
.zitat blockquote{position:relative;z-index:2;margin:0;padding:0 var(--rand)}
.zitat p{font:300 clamp(36px,5.6vw,80px)/1.08 var(--serif);letter-spacing:-.02em;margin:0 0 18px}
.zitat cite{font:600 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--champ)}
.anlaesse{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linie)}
.anlaesse li{padding:34px 28px 34px 0;border-bottom:1px solid var(--linie)}
.anlaesse .i{color:var(--rose);margin-bottom:18px;display:block}.anlaesse b{display:block;font:300 24px/1.2 var(--serif);margin-bottom:8px}.anlaesse span{font-size:15px;color:var(--grau)}
.leiste{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--rand) 14px;scrollbar-width:thin;scrollbar-color:var(--salbei) transparent}
@media (min-width:1380px){.leiste{padding-left:calc((100vw - 1320px)/2 + var(--rand))}}
.leiste figure{flex:0 0 clamp(280px,38vw,560px);aspect-ratio:3/2;scroll-snap-align:start}
/* Instagram */
.insta{background:var(--flaeche)}
.insta-raster{display:grid;grid-template-columns:5fr 6fr;gap:clamp(40px,7vw,100px);align-items:center}
.insta .eyebrow.hell{color:var(--grau)}.insta .klein.hell{color:var(--grau)}.insta .knopf.hell{background:var(--ink);border-color:var(--ink);color:#fff}
.insta-bild{position:relative;display:block;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;max-height:620px}.insta-bild img{width:100%;height:100%;object-fit:cover;transition:transform 1s}
.insta-bild:hover img{transform:scale(1.04)}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:rgba(248,245,240,.92);color:var(--ink);display:flex;align-items:center;justify-content:center}
.play .i{margin-left:4px}
/* Orte */
.orte{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:clamp(24px,3vw,44px)}
.ort{display:flex;flex-direction:column}
.ort-text{padding:24px 0 0}
.ort-bild{margin:0;aspect-ratio:3/2;overflow:hidden;cursor:zoom-in;border-radius:var(--r)}.ort-bild img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.ort-bild:hover img{transform:scale(1.04)}
.ort-mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.ort-mini figure{margin:0;aspect-ratio:3/2;overflow:hidden;cursor:zoom-in;border-radius:var(--r)}.ort-mini img{width:100%;height:100%;object-fit:cover}
.ort h3{font:300 28px/1.15 var(--serif);letter-spacing:-.015em}.ort p{margin:0 0 10px;color:#57504a}.ort .i{color:var(--salbei)}
.ort-kontakt{display:flex;flex-wrap:wrap;gap:6px 22px}.ort-kontakt a{text-decoration:none;color:var(--text)}.ort-kontakt a:hover{color:var(--wein)}
.zeiten{list-style:none;padding:14px 0;margin:16px 0 20px;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie);font-size:15px}
.zeiten li{display:flex;justify-content:space-between;padding:3px 0}.zeiten li span:first-child{color:var(--grau)}
.pfeil-link{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;display:inline-flex;gap:8px;align-items:center;color:var(--ink)}
.ort-raster{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,100px);align-items:center}.ort-raster p{color:var(--grau)}
/* FAQ */
.faq-raster{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,7vw,100px);align-items:start}.faq-raster>div>p{color:var(--grau)}
.faq details{border-bottom:1px solid var(--linie)}
.faq summary{cursor:pointer;list-style:none;font:300 22px/1.35 var(--serif);padding:24px 44px 24px 0;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:34px;width:11px;height:11px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(-135deg);top:40px}.faq p{margin:0 0 26px;color:#57504a}
/* Buchung */
.buchen{position:relative;background:var(--dunkel);color:#ece6dd;overflow:hidden}
.buchen-bild{position:absolute;top:0;bottom:0;left:0;width:46%}.buchen-bild img{width:100%;height:100%;object-fit:cover;opacity:.5}
.buchen-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,39,36,.2),var(--dunkel))}
.buchen-raster{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,7vw,100px);align-items:start}
.buchen h2{color:#f8f5f0}.buchen h2 em{color:var(--champ)}.buchen-text p{color:rgba(236,230,221,.8)}.buchen .eyebrow{color:rgba(236,230,221,.65)}
.schritte{list-style:none;counter-reset:s;padding:0;margin:34px 0;display:grid;gap:18px}
.schritte li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;column-gap:16px}
.schritte li::before{content:counter(s);grid-row:span 2;width:48px;height:48px;border-radius:50%;border:1px solid rgba(214,198,171,.6);color:var(--champ);display:flex;align-items:center;justify-content:center;font:300 20px/1 var(--serif)}
.schritte b{font-weight:600;color:#f8f5f0}.schritte span{font-size:14.5px;color:rgba(236,230,221,.65)}
.direkt a{color:#fff;font-weight:600;text-decoration:none;margin-left:6px}.direkt a:hover{color:var(--champ)}
.formular{background:var(--weiss);color:var(--text);border-radius:var(--r-gross);padding:clamp(24px,3.4vw,46px)}
.formular .klein{margin:14px 0 0}
.art{border:0;padding:0;margin:0 0 22px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.art legend{font:300 24px/1.3 var(--serif);margin-bottom:14px;padding:0}
.art label{position:relative}.art input{position:absolute;opacity:0}
.art span{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--linie);border-radius:999px;padding:13px 10px;font-size:14px;cursor:pointer;text-align:center;transition:all .2s}
.art input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}.art input:focus-visible+span{outline:2px solid var(--rose);outline-offset:2px}
.feld{display:block;margin-bottom:15px}.feld>span{display:block;font:600 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px;color:var(--grau)}.feld i{text-transform:none;letter-spacing:0;font-weight:400}
.feld input,.feld select,.feld textarea{width:100%;font:400 16px/1.4 var(--sans);color:var(--text);background:var(--papier);border:1px solid transparent;border-radius:var(--r);padding:14px 15px;transition:border-color .2s,background .2s}
.feld input:focus,.feld select:focus,.feld textarea:focus{outline:none;background:#fff;border-color:var(--ink)}
.feld .falsch{border-color:#9a3b3b}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fallen{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.einwilligung{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--grau);margin:8px 0 22px}.einwilligung input{margin-top:3px;accent-color:var(--ink);width:18px;height:18px;flex:none}
.formular .knopf.gross{width:100%}
.b-meldung{margin:14px 0 0;font-size:15px}.b-meldung:empty{display:none}.b-meldung.ok{color:#3c5a3e;background:#e7eee3;border-radius:var(--r);padding:13px 15px}.b-meldung.fehler{color:#8a2f2f;background:#f4e6e2;border-radius:var(--r);padding:13px 15px}
/* Fuß */
.fuss{background:#1f1d1b;color:rgba(236,230,221,.62);padding:90px 0 30px;font-size:14.5px}.fuss a{color:rgba(236,230,221,.85);text-decoration:none}.fuss a:hover{color:var(--champ)}
.fuss-gross{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:24px;padding-bottom:64px;margin-bottom:56px;border-bottom:1px solid rgba(236,230,221,.12)}
.fuss-gross p{margin:0;font:300 clamp(40px,6vw,88px)/1 var(--serif);letter-spacing:-.025em;color:#f8f5f0}.fuss-gross em{color:var(--champ)}
.fuss .logo-wort{color:#f8f5f0;display:block;margin-bottom:16px;font-size:24px}
.fuss h3{font:600 11.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--champ);margin-bottom:14px}
.fuss-raster{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}.fuss-tel{display:inline-flex;gap:8px;align-items:center}
.fuss-unten{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(236,230,221,.12);margin-top:56px;padding-top:24px;font-size:12.5px}
.textseite{padding-top:170px}.text h1{font-size:clamp(40px,6vw,72px)}.text h2{font:300 26px/1.25 var(--serif);margin-top:36px}.text p{color:#4b453f}.text mark{background:#efe1b8;padding:0 4px}
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(24,22,20,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px}
.lightbox[hidden]{display:none}.lightbox img{max-width:min(1300px,94vw);max-height:82vh;object-fit:contain}
.lightbox p{color:rgba(255,255,255,.7);font:400 15px/1.4 var(--sans);margin:16px 0 0}
.lightbox button{position:absolute;top:18px;right:24px;background:none;border:0;color:#fff;font:300 44px/1 var(--sans);cursor:pointer}
.leiste-buchen{display:none}
.auf{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.auf.da{opacity:1;transform:none}
@media (max-width:1180px){.nav{gap:18px}.nav a:not(.knopf){font-size:13.5px}.bento{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1060px){
 .termin{grid-template-columns:190px 1fr}.t-rechts{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;min-width:0;gap:12px 20px}
 .kopfzeile,.intro-raster,.team-kopf,.insta-raster,.ort-raster,.faq-raster,.buchen-raster,.firmen-kopf,.hero-raster{grid-template-columns:1fr}
 .intro-bild{order:0;max-width:560px}.ich-bild{max-width:520px}.naechster{max-width:420px}
 .buchen-bild{width:100%;bottom:auto;height:420px}.buchen-bild::after{background:linear-gradient(180deg,rgba(42,39,36,.2),var(--dunkel))}
 .nav-knopf{display:flex;position:relative;z-index:2}
 .nav{position:fixed;inset:0;background:var(--dunkel);color:#fff;flex-direction:column;justify-content:center;gap:6px;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
 .nav a:not(.knopf){font:300 32px/1.5 var(--serif)}.nav .knopf{margin-top:24px}
 .nav-offen .nav{opacity:1;visibility:visible}.nav-offen .kopf{color:#fff;background:transparent!important;box-shadow:none}.nav-offen .logo{position:relative;z-index:2}
 .anlaesse,.ablauf{grid-template-columns:1fr 1fr}.fuss-raster{grid-template-columns:1fr 1fr}
 .mosaik{grid-template-columns:repeat(2,1fr)}.mosaik .m0,.mosaik .m5{grid-column:span 2}
}
@media (max-width:760px){.infoleiste span:not(:first-child){display:none}.kopf{top:32px}
 .leiste-buchen{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:40;gap:8px;transform:translateY(140%);transition:transform .35s}
 .leiste-buchen.da{transform:none}.leiste-buchen .knopf{flex:1;box-shadow:0 12px 30px -10px rgba(0,0,0,.45)}.leiste-buchen .tel{flex:none;width:54px;padding:0;background:var(--weiss);color:var(--ink);border-color:var(--weiss)}
 .fuss{padding-bottom:100px}}
@media (max-width:640px){
 body{font-size:16px}.kopf-in{height:64px}.logo-wort{font-size:20px}.logo-unter{display:none}
 .hero-inhalt{padding-top:130px}.hero-fakten{grid-template-columns:1fr 1fr;gap:16px 0}.hero-fakten b{font-size:23px}
 .hero-knoepfe .knopf{width:100%}
 .termin{grid-template-columns:1fr;gap:14px}.t-bild{aspect-ratio:16/9}
 .t-rechts{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;text-align:left;min-width:0}.t-rechts .t-link{width:100%}
 .formate,.anlaesse,.bento,.ablauf,.werte,.kennzahlen{grid-template-columns:1fr}
 .zwei,.art{grid-template-columns:1fr}.fuss-raster{grid-template-columns:1fr}
 .mosaik{grid-auto-rows:150px;gap:8px}.panorama{height:46vh}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before{transition:none!important;animation:none!important}.auf{opacity:1;transform:none}}

.impressionen{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1320px;margin:-70px auto 0;padding:0 var(--rand)}
.impressionen figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--r);cursor:zoom-in;box-shadow:0 24px 40px -26px rgba(0,0,0,.6);background:var(--flaeche)}
.impressionen img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.impressionen figure:hover img{transform:scale(1.05)}
.impressionen figcaption{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 10px;background:linear-gradient(transparent,rgba(30,27,24,.7));color:#fff;font:500 12.5px/1.3 var(--sans)}
.hero-fakten{padding-bottom:110px}
.impressionen+.band{margin-top:50px;border-top:1px solid var(--linie)}
@media (max-width:760px){.impressionen{grid-template-columns:1fr 1fr;margin-top:-40px;gap:8px}.hero-fakten{padding-bottom:70px}}

/* Stimmung */
.abschnitt.stimmung{background:#24201d;color:#ece6dd}
.stimmung h2{color:#f8f5f0}.stimmung h2 em{color:var(--champ)}.stimmung .kopfzeile p{color:rgba(236,230,221,.7)}
.stimmung-raster{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,11vw,170px);gap:12px}
.stimmung-raster figure{margin:0;position:relative;overflow:hidden;border-radius:var(--r);cursor:zoom-in;background:#3a3632}
.stimmung-raster img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.stimmung-raster figure:hover img{transform:scale(1.05)}
.stimmung-raster figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 18px 16px;background:linear-gradient(transparent,rgba(20,18,16,.75));color:#fff;font:500 13px/1.35 var(--sans)}
.s-gross{grid-column:1/8;grid-row:span 4}.s-hoch{grid-column:8/13;grid-row:span 4}
.s-hoch2{grid-column:1/5;grid-row:span 3}.s-zitat{grid-column:5/10;grid-row:span 3}.s-klein{grid-column:10/13;grid-row:span 3}
.s-zitat{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(24px,3vw,44px);border:1px solid rgba(236,230,221,.16);border-radius:var(--r)}
.s-zitat p{font:300 clamp(26px,2.6vw,38px)/1.15 var(--serif);color:#f8f5f0;margin:0 0 14px;letter-spacing:-.015em}
.s-zitat span{color:rgba(236,230,221,.65);font-size:15px;margin-bottom:26px}
/* Genuss */
.genuss-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px)}
.g-karte figure{margin:0 0 20px;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r);cursor:zoom-in;background:var(--flaeche)}
.g-karte img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.g-karte:hover img{transform:scale(1.05)}
.g-karte h3{font:300 26px/1.2 var(--serif);margin:0 0 8px}.g-karte p{color:var(--grau);margin:0}
@media (max-width:1060px){.stimmung-raster{grid-auto-rows:120px}.s-gross{grid-column:1/13;grid-row:span 4}.s-hoch{grid-column:1/7;grid-row:span 4}.s-hoch2{grid-column:7/13;grid-row:span 4}.s-zitat{grid-column:1/8;grid-row:span 3}.s-klein{grid-column:8/13;grid-row:span 3}}
@media (max-width:640px){.stimmung-raster{grid-template-columns:1fr 1fr;grid-auto-rows:110px;gap:8px}.s-gross{grid-column:1/3;grid-row:span 3}.s-hoch,.s-hoch2{grid-column:span 1;grid-row:span 3}.s-zitat{grid-column:1/3;grid-row:auto}.s-klein{grid-column:1/3;grid-row:span 3}.genuss-raster{grid-template-columns:1fr}.g-karte figure{aspect-ratio:4/3}}

.leiste figure{position:relative}.leiste figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(30,27,24,.7));color:#fff;font:500 13px/1.3 var(--sans)}
.format,[id]{scroll-margin-top:90px}
.leiste{padding-left:0!important;padding-right:0!important;scroll-padding-inline:max(var(--rand),(100vw - 1320px)/2 + var(--rand))}.leiste::before,.leiste::after{content:"";flex:0 0 calc(max(var(--rand),(100vw - 1320px)/2 + var(--rand)) - 12px)}
.format:target .f-bild{outline:2px solid var(--champ);outline-offset:4px}

.ort-links{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center}.pfeil-link.zweit{color:var(--grau)}
.insta-profile{list-style:none;padding:0;margin:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:480px}
.insta-profile li{border-top:1px solid var(--linie);padding-top:12px}.insta-profile b{display:block;font:400 20px/1.2 var(--serif)}.insta-profile span{font-size:13.5px;color:var(--grau)}
.text ul{padding-left:20px;color:#4b453f}.text li{margin-bottom:6px}
.ohne-hero .kopf:not(.fest){top:34px}@media (max-width:760px){.ohne-hero .kopf:not(.fest){top:32px}}

/* Wein & Weitblick */
.weinkarte{border-top:1px solid rgba(236,230,221,.2)}
.wk-zeile{display:grid;grid-template-columns:70px 1fr 220px;gap:clamp(16px,3vw,40px);align-items:start;padding:30px 0;border-bottom:1px solid rgba(236,230,221,.14);scroll-margin-top:100px}
.wk-zeile:target{background:rgba(214,198,171,.07)}
.wk-nr{font:300 38px/1 var(--serif);color:var(--champ)}
.wk-text h3{font:300 34px/1.1 var(--serif);color:#f8f5f0;margin:0 0 6px;letter-spacing:-.015em}
.wk-tipp{display:inline-block;vertical-align:middle;margin-left:10px;font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;background:var(--champ);color:var(--ink);padding:6px 10px;border-radius:999px}
.wk-art{font:600 11.5px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--champ);margin:0 0 10px}
.wk-text p:last-child{color:rgba(236,230,221,.72);margin:0;max-width:640px}
.wk-preis{display:flex;flex-direction:column;align-items:flex-end;gap:12px;text-align:right}
.wk-preis b{font:300 30px/1 var(--serif);color:#f8f5f0;font-weight:300}.wk-preis s{color:rgba(236,230,221,.5);font-size:14px;margin-top:-6px}
.dunkel .wk-preis .knopf.zweit{color:#f8f5f0;border-color:rgba(236,230,221,.35)}.dunkel .wk-preis .knopf.zweit:hover{background:#f8f5f0;color:var(--ink)}
.wk-zeile.tipp .wk-nr{color:var(--rose)}
.perspektiven{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);border-top:1px solid var(--linie)}
.perspektiven article{padding-top:26px}.perspektiven h3{font:300 28px/1.15 var(--serif);margin:0 0 12px}.perspektiven p:last-child{color:var(--grau);margin:0}
.impulse{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px}
.impulse li{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:8px}
.im-nr{font:600 11px/1 var(--sans);letter-spacing:.14em;color:var(--grau)}.impulse b{font:300 24px/1.1 var(--serif);font-weight:300}
.impulse li>span:not(.im-nr){font-size:14.5px;color:var(--grau);line-height:1.55}.impulse em{font:600 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-top:auto}
.gruende{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linie)}
.gruende li{padding:30px 28px 30px 0;border-bottom:1px solid var(--linie)}.gruende .i{color:var(--olive);display:block;margin-bottom:16px}
.gruende b{display:block;font:300 24px/1.2 var(--serif);font-weight:300;margin-bottom:8px}.gruende span{color:var(--grau);font-size:15px}
@media (max-width:1060px){.impulse{grid-template-columns:1fr 1fr}.gruende,.perspektiven{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.wk-zeile{grid-template-columns:44px 1fr}.wk-preis{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;text-align:left}.wk-nr{font-size:28px}.wk-text h3{font-size:28px}
.impulse,.gruende,.perspektiven{grid-template-columns:1fr}}
