/* sFinks – Stylesheet (Redesign Oktober 2026). Konzept: siehe design-konzept.md
   Dunkler Auftritt (Hero, Herbert, Newsletter, Footer) + heller, ruhiger Katalog. */
@font-face{font-family:"Montserrat";src:url("../fonts/Montserrat.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Rosario";src:url("../fonts/Rosario.woff2") format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Allura";src:url("../fonts/Allura.woff2") format("woff2");font-display:swap}

:root{
  --gold:#c29765; --gold-text:#8a6439; --gold-hell:#e6cfae;
  --night:#101015; --braun:#3c3634; --fuss:#15120f;
  --elfenbein:#f8f4ee; --papier:#fff; --ink:#1b1815; --ink-2:#5a524a; --linie:#e5ddd0;
  --f-text:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-titel:"Rosario",Georgia,"Times New Roman",serif;
  --f-schreib:"Allura","Snell Roundhand",cursive;
  --kopf-h:84px; --breite:1240px; --luft:clamp(72px,9vw,128px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --flaeche:#fff; --flaeche-t:rgba(255,255,255,.6); --kopf-bg:rgba(248,244,238,.94); --badge-bg:rgba(248,244,238,.95); --platz:#ece5d9; --knopf:#1b1815; --knopf-text:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1rem/1.75 var(--f-text);color:var(--ink-2);background:var(--elfenbein);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-text);text-underline-offset:4px;transition:color .2s}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-titel);font-weight:400;color:var(--ink);line-height:1.12;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem)}
h2{font-size:clamp(1.9rem,3.8vw,3.1rem)}
h3{font-size:clamp(1.25rem,1.6vw,1.55rem)}
h4{font-size:1.15rem}
p{margin:0 0 1.15em}
.wrap{width:min(100% - 48px,var(--breite));margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--night);color:#fff;padding:10px 16px;z-index:1000}
.skip:focus{left:8px;top:8px}
.eyebrow{display:flex;align-items:center;gap:14px;font:600 .72rem/1.2 var(--f-text);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text);margin:0 0 1.4rem}
.eyebrow:before{content:"";width:36px;height:1px;background:currentColor}
.dunkel .eyebrow,.hero .eyebrow,.newsletter .eyebrow,.herbert .eyebrow{color:var(--gold)}
.sektion{padding-block:var(--luft)}
.zentriert{text-align:center}
.zentriert .eyebrow{justify-content:center}
.schreib{font-family:var(--f-schreib);font-weight:400;color:var(--gold);letter-spacing:0}
.reveal{--d:0s}
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease) var(--d),transform .9s var(--ease) var(--d)}
.js .reveal.sichtbar{opacity:1;transform:none}

/* Buttons und Textlinks */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.8em;padding:1.1em 2.1em;background:var(--gold);color:#1b1815;border:1px solid var(--gold);border-radius:0;font:600 .74rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--flaeche);border-color:#fff;color:#1b1815}
.btn.hohl{background:transparent;color:inherit;border-color:currentColor}
.btn.hohl:hover{background:var(--knopf);border-color:var(--knopf);color:var(--knopf-text)}
.hero .btn.hohl,.herbert .btn.hohl,.newsletter .btn.hohl,.dank .btn.hohl{color:#fff}
.hero .btn.hohl:hover,.herbert .btn.hohl:hover,.newsletter .btn.hohl:hover,.dank .btn.hohl:hover{background:var(--flaeche);border-color:#fff;color:#1b1815}
.btn.breit{display:flex;width:100%}
.btn.dunkel{background:var(--knopf);border-color:var(--knopf);color:var(--knopf-text)}
.btn.dunkel:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.mehr{display:inline-flex;align-items:center;gap:.7em;font:600 .72rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding-bottom:6px;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat}
.mehr:after{content:"";width:22px;height:1px;background:currentColor;box-shadow:0 0 0 0;transition:width .3s var(--ease);position:relative}
.mehr:hover{color:var(--gold-text)}
.mehr:hover:after{width:34px}
.herbert .mehr,.news-sektion .mehr{color:#fff}

/* Header */
.kopf{position:fixed;inset:0 0 auto 0;z-index:500;height:var(--kopf-h);background:var(--kopf-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--linie);color:var(--ink);transition:background .35s,transform .4s var(--ease),border-color .35s}
.kopf .wrap{display:flex;align-items:center;gap:clamp(16px,3vw,48px);height:100%}
.kopf .logo{display:block;flex:none}
.kopf .logo img{height:58px;width:auto}
.kopf .l-weiss{display:none}
body.home .kopf:not(.gescrollt){background:transparent;border-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff}
body.home .kopf:not(.gescrollt) .l-weiss{display:block}
body.home .kopf:not(.gescrollt) .l-dunkel{display:none}
.kopf.versteckt{transform:translateY(-100%)}
main{padding-top:var(--kopf-h)}
body.home main{padding-top:0}
.kopf nav{flex:1;display:flex;justify-content:center}
.kopf nav>ul{display:flex;gap:clamp(6px,1.6vw,30px);list-style:none;margin:0;padding:0;align-items:center}
.kopf nav li{position:relative}
.kopf nav a,.kopf nav button.m{color:inherit;text-decoration:none;font:600 .72rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;background:none;border:0;cursor:pointer;padding:1.6em .5em;display:flex;align-items:center;gap:8px;position:relative}
.kopf nav a:after,.kopf nav button.m:before{content:"";position:absolute;left:.5em;right:.5em;bottom:1.1em;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.kopf nav a:hover:after,.kopf nav a[aria-current]:after,.kopf nav li:hover>button.m:before{transform:scaleX(1)}
.kopf nav .m:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg) translateY(-2px)}
.kopf nav ul ul{display:none;position:absolute;left:50%;top:calc(100% - 8px);transform:translateX(-50%);min-width:260px;background:var(--elfenbein);border:1px solid var(--linie);border-top:2px solid var(--gold);box-shadow:0 24px 50px rgba(16,16,21,.18);list-style:none;margin:0;padding:10px 0}
.kopf nav li:hover>ul,.kopf nav li:focus-within>ul,.kopf nav li.auf>ul{display:block}
.kopf nav ul ul a{padding:.95em 1.5em;color:var(--ink);letter-spacing:.14em;white-space:nowrap}
.kopf nav ul ul a:after{display:none}
.kopf nav ul ul a:hover{color:var(--gold-text);background:rgba(194,151,101,.1)}
.kontakt-btn{flex:none;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s;margin-left:0}
.kontakt-btn img{width:24px;height:auto}
body.home .kopf:not(.gescrollt) .kontakt-btn img{filter:invert(1)}
.kontakt-btn:hover{background:var(--gold);border-color:var(--gold)}
.menu-btn{display:none;align-items:center;gap:.8rem;min-height:44px;padding:0 .25rem;background:none;border:0;color:inherit;font:600 .72rem/1 var(--f-text);letter-spacing:.22em;text-transform:uppercase;cursor:pointer}
.menu-btn__icon{display:grid;gap:.36rem;width:1.5rem}
.menu-btn__icon i{display:block;height:1px;background:currentColor;transition:transform .25s}
.menu-btn:hover .menu-btn__icon i:first-child{transform:translateY(-1px)}
.menu-btn:hover .menu-btn__icon i:last-child{transform:translateY(1px)}
.menu-btn__x{width:1.5rem;height:1.5rem}
@media(max-width:960px){
  .kopf nav{display:none}
  .menu-btn[data-nav-auf]{display:inline-flex}
  .kontakt-btn{margin-left:0}
  .kopf .logo img{height:50px}
}

/* Mobiles Menü (Panel von rechts, Aufbau wie marle.at) */
.nav-dialog{position:fixed;inset:0 0 0 auto;width:min(32rem,100%);height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;border-left:1px solid rgba(194,151,101,.3);overflow:hidden;background:var(--night);color:#fff}
.nav-dialog[open]{display:block;animation:nav-rein .4s var(--ease)}
.nav-dialog::backdrop{background:rgba(16,16,21,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.nav-dialog__inner{height:100%;overflow-y:auto;display:flex;flex-direction:column;padding:0 28px max(1.5rem,env(safe-area-inset-bottom))}
.nav-dialog__bar{flex:none;display:flex;align-items:center;justify-content:space-between;height:var(--kopf-h)}
.nav-dialog__bar img{height:auto;width:110px}
.nav-dialog .menu-btn{display:inline-flex;color:#fff}
.index{list-style:none;margin:clamp(.5rem,3vh,2rem) 0 0;padding:0;border-top:1px solid rgba(255,255,255,.16)}
.index>li{border-bottom:1px solid rgba(255,255,255,.16)}
.index__link{display:grid;grid-template-columns:2.25rem 1fr auto;align-items:baseline;gap:.25rem;padding:1.1rem 0;color:#fff;text-decoration:none}
.index__num{font-size:.75rem;letter-spacing:.1em;color:var(--gold);align-self:center;display:flex}
.index__name{font:400 clamp(1.7rem,1.3rem + 1.4vw,2.2rem)/1.25 var(--f-titel)}
.index__pfeil{align-self:center;color:var(--gold);transition:transform .25s}
.index__link:hover .index__name{color:var(--gold)}
.index__link:hover .index__pfeil{transform:translateX(4px)}
.index__sub{list-style:none;margin:-.4rem 0 1rem 2.25rem;padding:0;display:grid}
.index__sub a{display:block;padding:.45em 0;color:rgba(255,255,255,.78);text-decoration:none;font-size:.98rem}
.index__sub a:hover,.index__sub a[aria-current]{color:var(--gold)}
.nav-dialog__fuss{margin-top:auto;padding-top:2rem;font-size:.9rem;color:rgba(255,255,255,.7)}
.nav-dialog__fuss a:not(.btn){color:var(--gold)}
.nav-dialog__fuss .btn{margin-bottom:1rem}
@keyframes nav-rein{from{transform:translateX(100%)}to{transform:none}}

/* Kontakt-Dialog */
dialog.kontakt{border:0;border-top:3px solid var(--gold);padding:40px;max-width:540px;width:calc(100% - 32px);background:var(--elfenbein);color:var(--ink-2);box-shadow:0 30px 80px rgba(0,0,0,.4)}
dialog.kontakt::backdrop{background:rgba(16,16,21,.65);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog.kontakt h2{font-size:1.7rem}
dialog.kontakt ul{list-style:none;margin:0 0 1.2em;padding:0}
dialog.kontakt li{margin-bottom:.4em}
dialog.kontakt .zu{position:absolute;right:14px;top:8px;background:none;border:0;font-size:2rem;line-height:1;cursor:pointer;color:var(--ink)}
dialog.kontakt .klein{font-size:.78rem;color:#7b7268}

/* Hero (Auftritt) */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:var(--night);overflow:hidden}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,16,21,.6) 0,rgba(16,16,21,.2) 38%,rgba(16,16,21,.88) 100%)}
.hero-inhalt{position:relative;z-index:2;padding:calc(var(--kopf-h) + 60px) 0 56px}
.hero h1{color:#fff;margin:0 0 .35em;display:flex;flex-direction:column;line-height:.98}
.hero .h1-gross{font-size:clamp(3.2rem,10.5vw,9rem);letter-spacing:-.02em}
.hero .h1-schreib{font:400 clamp(2rem,5.6vw,4.6rem)/1 var(--f-schreib);color:var(--gold);margin:-.1em 0 0 .06em}
.hero .lead{max-width:640px;font-size:clamp(1rem,1.5vw,1.2rem);color:rgba(255,255,255,.88);margin:0 0 2.2rem}
.hero .cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-leiste{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid rgba(255,255,255,.22);padding:22px 0 28px;font-size:.95rem;color:#fff}
.hero-leiste span{display:block;font:600 .66rem/1 var(--f-text);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.7em}
@media(max-width:700px){.hero-leiste{grid-template-columns:1fr;gap:14px}.hero-inhalt{padding-bottom:36px}}

/* Intro */
.intro .raster{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,96px);align-items:start}
.intro h2{font-size:clamp(1.9rem,3.6vw,3.2rem);line-height:1.2}
.intro h2 em{font-style:normal;color:var(--gold-text)}
.zahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--linie);margin-top:2.2rem;padding-top:1.8rem}
.zahlen strong{display:block;font:400 clamp(2rem,3.4vw,3rem)/1 var(--f-titel);color:var(--ink)}
.zahlen span{font-size:.78rem;letter-spacing:.06em;color:var(--ink-2)}
@media(max-width:860px){.intro .raster{grid-template-columns:1fr}}

/* Kleiderwelten */
.welten{background:var(--papier)}
.kopfzeile{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:clamp(32px,4vw,56px);flex-wrap:wrap}
.kopfzeile h2{margin:0}
.welten-raster{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.welt{position:relative;display:block;aspect-ratio:3/4.3;overflow:hidden;color:#fff;text-decoration:none;background:var(--night)}
.welt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.welt:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,16,21,0) 40%,rgba(16,16,21,.82) 100%);transition:opacity .5s}
.welt:hover img{transform:scale(1.07)}
.welt .text{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}
.welt .nr{display:block;font:600 .7rem/1 var(--f-text);letter-spacing:.26em;color:var(--gold);margin-bottom:.9rem}
.welt h3{color:#fff;font-size:clamp(1.6rem,2.3vw,2.2rem);margin:0 0 .5rem}
.welt .mehr{color:#fff}
@media(max-width:1000px){.welten-raster{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.welten-raster{grid-template-columns:1fr 1fr;gap:12px}.welt{aspect-ratio:3/4.4}.welt .text{left:14px;right:14px;bottom:16px}.welt h3{font-size:1.25rem}.welt .mehr{font-size:.6rem;letter-spacing:.14em}}

/* Kleiderkarten (überall gleich) */
.karten{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2.4vw,36px) clamp(16px,2vw,28px)}
.karte{position:relative;display:flex;flex-direction:column;background:transparent}
.karte .bild{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--platz)}
.karte .bild img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.karte:hover .bild img{transform:scale(1.05)}
.karte .status{position:absolute;top:14px;left:14px;z-index:2;background:var(--badge-bg);color:var(--ink);font:600 .62rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;padding:.7em .9em}
.karte .status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#5b8b5a;margin-right:.6em;vertical-align:1px}
.karte .status.vergriffen:before{background:#a89c8e}
.karte .inhalt{padding-top:18px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;flex:1}
.karte h3{font:400 1.12rem/1.4 var(--f-titel);margin:0;flex:1}
.karte h3 a{color:var(--ink);text-decoration:none}
.karte h3 a:hover{color:var(--gold-text)}
@media(max-width:1000px){.karten{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.karten.wischen{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin-inline:-24px;padding:0 24px 12px}.karten.wischen .karte{flex:0 0 74%;scroll-snap-align:start}.karten:not(.wischen){grid-template-columns:1fr 1fr;gap:20px 14px}}

/* Lieblingskleider */
.lieblinge{position:relative;background:var(--elfenbein);overflow:hidden}
.lieblinge:before,.lieblinge:after{content:"";position:absolute;width:260px;height:260px;opacity:.55;mix-blend-mode:multiply;pointer-events:none;background-repeat:no-repeat;background-size:contain}
.lieblinge:before{right:0;top:0;background-image:url("../../wp-content/uploads/2025/01/back-right-top.png");background-position:right top}
.lieblinge:after{left:0;bottom:0;background-image:url("../../wp-content/uploads/2025/01/back-left-bottom.png");background-position:left bottom}
.lieblinge .wrap{position:relative;z-index:1}
.lieblinge .schreib{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1;margin:0 0 .3em;display:block}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 clamp(36px,5vw,64px)}
.chips a{display:inline-block;padding:.85em 1.4em;border:1px solid var(--linie);background:var(--flaeche-t);color:var(--ink);font:600 .68rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:all .25s}
.chips a:hover,.chips a[aria-current]{background:var(--knopf);border-color:var(--knopf);color:var(--knopf-text)}
.btn-zeile{display:flex;justify-content:center;margin-top:clamp(40px,5vw,72px)}

/* Herbert (dunkel) */
.herbert{background:var(--braun);color:rgba(255,255,255,.8)}
.herbert .raster{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,6vw,96px);align-items:center}
.herbert h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.8rem)}
.herbert .signatur{width:min(100%,430px);filter:invert(1);margin:0 0 1.6rem;opacity:.95}
.herbert a:not(.btn):not(.mehr){color:var(--gold)}
.herbert .video-box{position:relative}
.herbert .video-box:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:0}
.herbert .video{position:relative;z-index:1}
@media(max-width:900px){.herbert .raster{grid-template-columns:1fr}.herbert .video-box:before{inset:12px -10px -12px 10px}}

/* Geschichte */
.geschichte{background:var(--papier)}
.geschichte .raster{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.geschichte figure{margin:0;position:relative}
.geschichte figure:after{content:"";position:absolute;inset:-16px 16px 16px -16px;border:1px solid var(--gold);z-index:0;pointer-events:none}
.geschichte figure img{position:relative;z-index:1;width:100%;aspect-ratio:4/3;object-fit:cover}
.geschichte p{max-width:520px}
@media(max-width:860px){.geschichte .raster{grid-template-columns:1fr}.geschichte figure:after{inset:-10px 10px 10px -10px}}

/* News */
.news-sektion{background:var(--night);color:rgba(255,255,255,.75)}
.news-sektion h2{color:#fff}
.news-liste{border-top:1px solid rgba(255,255,255,.16)}
.news-karte{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(24px,3vw,40px) 0;border-bottom:1px solid rgba(255,255,255,.16)}
.news-karte .bild{display:block;overflow:hidden;aspect-ratio:16/10;background:#000}
.news-karte .bild img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.news-karte:hover .bild img{transform:scale(1.05)}
.news-karte h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.3rem);line-height:1.2}
.news-karte h3 a{color:inherit;text-decoration:none}
.news-karte p{max-width:560px}
@media(max-width:760px){.news-karte{grid-template-columns:1fr}}


/* Kundenstimmen */
.stimmen{background:var(--elfenbein)}
.platzhalter{max-width:520px;margin:0 auto 2.4rem;padding:28px;border:1px solid var(--linie);background:var(--flaeche);font-size:.9rem;text-align:center}
.platzhalter p{margin:0 0 14px}
.platzhalter button{font:600 .7rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;padding:1em 1.6em;background:var(--knopf);color:var(--knopf-text);border:0;cursor:pointer}
.platzhalter button:hover{background:var(--gold);color:var(--ink)}
.platzhalter.breit{max-width:680px}

/* Newsletter */
.newsletter{background:var(--braun);color:rgba(255,255,255,.82);text-align:center;padding-block:var(--luft)}
.newsletter .wrap{max-width:820px}
.newsletter h2,.newsletter h1.h2gold{color:#fff;font-size:clamp(1.9rem,3.8vw,3.1rem)}
.newsletter .schreib{font-size:clamp(1.8rem,3vw,2.6rem);display:block;line-height:1;margin-bottom:.3em}
.newsletter a{color:var(--gold)}
.nl-form{display:grid;gap:18px;max-width:560px;margin:2.2rem auto 0;text-align:left}
.nl-form label{display:block;margin-bottom:6px;font:600 .66rem/1.3 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.nl-form .reihe{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:600px){.nl-form .reihe{grid-template-columns:1fr 1fr}}
.nl-form input[type=text],.nl-form input[type=email],.nl-form input[type=tel],.nl-form select{width:100%;padding:.95em 0;font:inherit;color:#fff;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4);border-radius:0;transition:border-color .25s}
.nl-form select{padding-right:8px}
.nl-form select option{color:var(--ink);background:var(--flaeche)}
.nl-form input::placeholder{color:rgba(255,255,255,.45)}
.nl-form input:focus,.nl-form select:focus{outline:0;border-color:var(--gold)}
.nl-form .sms{display:grid;grid-template-columns:130px 1fr;gap:14px}
.nl-form .hinweis{font-size:.75rem;opacity:.65;margin:6px 0 0}
.nl-form .opt{display:flex;gap:12px;align-items:flex-start;font:400 .85rem/1.5 var(--f-text);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.85)}
.nl-form .opt input{margin-top:4px;accent-color:var(--gold);flex:none}
.nl-form .brevo-info{font-size:.72rem;opacity:.6;line-height:1.55;margin:0}
.nl-form .honig{position:absolute;left:-9999px;opacity:0}
.nl-form .zentriert{text-align:center}
.nl-form .btn{width:100%}
.newsletter .btn:hover{background:var(--flaeche);color:var(--ink)}

/* Footer */
.fuss{background:var(--fuss);color:rgba(255,255,255,.62);padding:clamp(56px,7vw,96px) 0 28px;font-size:.92rem}
.fuss .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.fuss .logo img{width:230px;margin-bottom:1.4rem}
.fuss .adresse{max-width:300px;margin:0}
.fuss h2{font:600 .68rem/1 var(--f-text);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:.4rem 0 1.4rem}
.fuss ul{list-style:none;margin:0;padding:0}
.fuss li{margin-bottom:.7rem}
.fuss a{color:rgba(255,255,255,.78);text-decoration:none;transition:color .2s}
.fuss a:hover{color:var(--gold)}
.fuss .unten{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid rgba(255,255,255,.14);padding-top:24px;margin-top:20px;font-size:.8rem}
.fuss button.zustimmung{background:transparent;color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.3);padding:.8em 1.3em;font:600 .66rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.fuss button.zustimmung:hover{border-color:var(--gold);color:var(--gold)}
@media(max-width:900px){.fuss .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.fuss .wrap{grid-template-columns:1fr}}

/* Cookie-Banner */
.cc{position:fixed;left:24px;bottom:24px;z-index:900;width:min(100% - 32px,440px);background:var(--flaeche);color:var(--ink-2);border-top:3px solid var(--gold);box-shadow:0 20px 60px rgba(16,16,21,.35);padding:26px;display:none;font:400 .84rem/1.6 var(--f-text)}
.cc.offen{display:block}
.cc h2{font:400 1.4rem/1.2 var(--f-titel);margin:0 0 .6rem;color:var(--ink)}
.cc p{margin:0 0 1rem}
.cc a{color:var(--ink)}
.cc .optionen{display:none;gap:10px;margin-bottom:1.2rem}
.cc.mehr .optionen{display:grid}
.cc .optionen label{display:flex;gap:10px;align-items:flex-start}
.cc .optionen input{margin-top:4px;accent-color:var(--gold)}
.cc .knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.cc .knoepfe button{font:600 .66rem/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;padding:1.1em 1.3em;border:1px solid var(--ink);background:var(--flaeche);color:var(--ink);cursor:pointer}
.cc .knoepfe [data-cc=alle]{background:var(--knopf);color:var(--knopf-text)}
.cc .knoepfe button:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.cc.verzoegert.offen{animation:ein-hoch .9s var(--ease) 4.2s both}
.cc [data-cc=speichern]{display:none}
.cc.mehr [data-cc=speichern]{display:inline-block}
.cc.mehr [data-cc=mehr]{display:none}
@media(max-width:560px){.cc{left:8px;right:8px;bottom:8px;width:auto;max-height:90vh;overflow:auto}}

/* Seitenkopf (Kategorien, Listen) */
.seitenkopf{padding:clamp(48px,7vw,104px) 0 clamp(32px,4vw,56px)}
.seitenkopf .raster{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,96px);align-items:center}
.seitenkopf.ohne-bild .raster{grid-template-columns:1fr;max-width:860px}
.seitenkopf h1{font-size:clamp(2.2rem,4.8vw,4rem);margin-bottom:.5em}
.seitenkopf .text{max-width:620px}
.seitenkopf .text a{color:var(--gold-text)}
.seitenkopf .bild{position:relative}
.seitenkopf .bild:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold);z-index:0}
.seitenkopf .bild img{position:relative;z-index:1;width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:860px){.seitenkopf .raster{grid-template-columns:1fr}}
.liste{padding:clamp(32px,5vw,64px) 0 var(--luft)}
.liste .sub{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--linie);padding-top:clamp(28px,4vw,48px);margin-bottom:clamp(28px,4vw,48px)}
.liste .sub h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin:0;max-width:780px}
.gruppen{padding:0 0 12px}
.gruppe{margin-bottom:2.2rem}
.gruppe h2{font:600 .72rem/1 var(--f-text);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text);margin-bottom:1rem}
.gruppe .knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.gruppe .knoepfe a{display:inline-block;padding:.85em 1.4em;border:1px solid var(--linie);background:var(--flaeche-t);color:var(--ink);font:600 .68rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;text-decoration:none}
.gruppe .knoepfe a:hover,.gruppe .knoepfe .btn:hover{background:var(--knopf);border-color:var(--knopf);color:var(--knopf-text)}
.gruppe .knoepfe .btn{background:var(--flaeche-t);border:1px solid var(--linie);color:var(--ink)}

/* Produktseite */
.produkt{padding:clamp(32px,4vw,56px) 0 clamp(48px,6vw,88px)}
.produkt .krume{font:600 .68rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;margin:0 0 2rem}
.produkt .krume a{color:var(--ink-2);text-decoration:none}
.produkt .krume a:hover{color:var(--gold-text)}
.produkt-raster{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
@media(min-width:901px){.galerie{position:sticky;top:calc(var(--kopf-h) + 24px)}}
@media(max-width:900px){.produkt-raster{grid-template-columns:1fr}}
.galerie .gross{position:relative;background:var(--platz)}
.galerie .gross img{width:100%;height:auto}
.galerie .status{position:absolute;top:16px;left:16px;background:var(--badge-bg);color:var(--ink);font:600 .64rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;padding:.8em 1em}
.galerie .status:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#5b8b5a;margin-right:.6em;vertical-align:1px}
.galerie .status.vergriffen:before{background:#a89c8e}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin-top:8px}
.thumb{border:1px solid transparent;padding:0;background:none;cursor:pointer;opacity:.6;transition:opacity .25s,border-color .25s}
.thumb:hover,.thumb.aktiv{border-color:var(--gold);opacity:1}
.thumb img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.produkt-info h1{font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.15}
.kurzinfo{border-top:1px solid var(--linie);margin:1.8rem 0;padding:0}
.kurzinfo summary{display:none}
.kurzinfo dl{margin:0;display:grid}
.kurzinfo dl div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding:.85em 0;border-bottom:1px solid var(--linie);font-size:.92rem}
.kurzinfo dt{font:600 .66rem/1.7 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
.kurzinfo dd{margin:0;color:var(--ink)}
.kurzinfo a{color:var(--gold-text)}
.preis{letter-spacing:.12em;color:var(--gold-text)}.preis .leer{color:#d8cfc0}
.beschreibung{margin-top:2rem}
.beschreibung h3{font-size:1.6rem;margin:1.6em 0 .4em}
.beschreibung h4{font:600 .72rem/1.4 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text);margin:2em 0 .8em}
.beschreibung ul{padding:0;list-style:none;display:grid;gap:.5em}
.beschreibung li{padding-left:1.6em;position:relative}
.beschreibung li:before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--gold)}
.termin{background:var(--braun);color:rgba(255,255,255,.82);padding:28px;margin-top:2.2rem}
.termin h2{color:#fff;font-size:1.5rem;margin-bottom:.4em}
.termin p{font-size:.9rem}
.termin .zeile{display:flex;flex-wrap:wrap;gap:10px;margin-top:1rem}
.termin .btn.hohl{color:#fff}
.termin .btn.hohl:hover{background:var(--flaeche);color:var(--ink);border-color:#fff}
.hinweis-ref{font-size:.78rem;color:#7b7268;border-left:2px solid var(--gold);padding-left:14px;margin-top:2rem}

/* Textseiten (Info, Recht, Veranstaltungen, News) */
.seite{padding:clamp(48px,7vw,104px) 0 var(--luft)}
.seite .wrap{max-width:860px}
.seite .wrap.breit{max-width:1240px}
.seite.artikel .wrap{max-width:980px}
.seite h1{font-size:clamp(2.1rem,4.4vw,3.6rem);margin-bottom:.7em}
.seite .inhalt h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:2em 0 .5em}
.seite .inhalt h3{font-size:1.3rem;margin:1.6em 0 .4em}
.seite .inhalt h4{font-size:1.1rem;margin:1.4em 0 .4em}
.seite .inhalt img{max-width:100%;height:auto;margin:1.6em auto}
.seite .inhalt table{border-collapse:collapse;width:100%;font-size:.88rem;margin:1.4em 0;display:block;overflow-x:auto}
.seite .inhalt th{background:var(--papier);text-align:left;font:600 .66rem/1.4 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.seite .inhalt td,.seite .inhalt th{border-bottom:1px solid var(--linie);padding:.8em .9em;vertical-align:top}
.seite .inhalt ul,.seite .inhalt ol{padding-left:1.3em}
.seite .inhalt li{margin-bottom:.35em}
.seite .inhalt a{overflow-wrap:anywhere}
.seite .inhalt code{background:var(--platz);padding:.1em .4em;font-size:.88em}
.seite .inhalt .btn{color:var(--ink);text-decoration:none}
.seite .inhalt .btn:hover{color:var(--ink)}
.seite.zentriert-seite{text-align:center}
.seite .video{max-width:900px;margin:2em auto}
.kontakt-spalten{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:start;margin-bottom:2.4rem}
.kontakt-spalten img{width:100%}
@media(max-width:800px){.kontakt-spalten{grid-template-columns:1fr}}
.bilderreihe{padding-block:0 var(--luft)}
.bilderreihe .wrap{max-width:var(--breite);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.bilderreihe p{margin:0}
.bilderreihe img{width:100%;aspect-ratio:3/4;object-fit:cover}

/* Video (YouTube nach Klick) */
.video{position:relative;aspect-ratio:16/9;background:var(--night)}
.video img,.video iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;margin:0}
.video .titel{position:absolute;top:14px;left:18px;right:18px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);z-index:2;font-size:.85rem}
.video button{position:absolute;inset:0;width:100%;background:rgba(16,16,21,.18);border:0;cursor:pointer;display:grid;place-items:center;transition:background .3s}
.video button:hover{background:rgba(16,16,21,.05)}
.video .play{width:78px;height:78px;border-radius:50%;background:var(--gold);display:grid;place-items:center;box-shadow:0 8px 30px rgba(0,0,0,.4);transition:transform .3s var(--ease)}
.video button:hover .play{transform:scale(1.08)}
.video .play:after{content:"";border-left:20px solid var(--ink);border-block:12px solid transparent;margin-left:5px}
.video-hinweis{position:absolute;left:0;right:0;bottom:0;z-index:2;text-align:center;font-size:.68rem;background:var(--badge-bg);padding:.35em .6em;margin:0;color:var(--ink-2)}

/* Galerien und Bildbetrachtung */
.galerie-raster{column-width:260px;column-gap:10px;margin:24px 0 48px}
.galerie-raster a{display:block;background:var(--platz);overflow:hidden;margin:0 0 10px;break-inside:avoid;-webkit-column-break-inside:avoid;line-height:0}
.galerie-raster img{width:100%;height:auto;display:block;margin:0;transition:transform .6s var(--ease),filter .4s}
.galerie-raster a:hover img{transform:scale(1.05);filter:brightness(1.04)}
.anzahl{font:600 .7rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.zurueck{text-align:center}
dialog.lightbox{border:0;padding:0;background:rgba(16,16,21,.97);width:100%;height:100%;max-width:none;max-height:none;color:#fff}
dialog.lightbox::backdrop{background:#000}
.lightbox .bild{position:absolute;inset:56px 64px;display:grid;place-items:center}
.lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:2.4rem;cursor:pointer;padding:.3em .5em;line-height:1}
.lightbox .zu{top:6px;right:8px}
.lightbox .vor{right:6px;top:50%;transform:translateY(-50%)}
.lightbox .zurueck-b{left:6px;top:50%;transform:translateY(-50%)}
.lightbox .zaehler{position:absolute;left:18px;top:18px;font:600 .7rem/1 var(--f-text);letter-spacing:.2em;opacity:.75}
.lightbox button:hover{color:var(--gold)}
@media(max-width:600px){.lightbox .bild{inset:56px 0}.galerie-raster{column-count:2;column-width:auto;column-gap:6px}.galerie-raster a{margin-bottom:6px}}

/* Dankesseite, 404 */
.dank{background:var(--braun);color:rgba(255,255,255,.82);text-align:center;padding:calc(var(--kopf-h) + clamp(60px,10vw,140px)) 0 clamp(70px,11vw,150px);margin-top:calc(var(--kopf-h) * -1)}
.dank h1{color:#fff}
.dank .schreib{font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.1;margin:0 0 .2em}
.dank .btn{margin:4px}

/* Eingangsanimation Startseite (reines CSS, aus bei "weniger Bewegung") */
@keyframes ein-hoch{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes ein-weich{from{opacity:0}to{opacity:1}}
@keyframes ein-video{from{opacity:0;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
@keyframes ein-linie{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ein-schreiben{from{opacity:0;clip-path:inset(-25% 100% -25% -5%)}12%{opacity:1}to{opacity:1;clip-path:inset(-25% -5% -25% -5%)}}
.hero video{animation:ein-video 2.8s var(--ease) both}
body.home .kopf{animation:ein-weich 1s ease .2s both}
.hero .eyebrow{animation:ein-hoch .9s var(--ease) .5s both}
.hero .eyebrow:before{transform-origin:left;animation:ein-linie 1s var(--ease) .5s both}
.hero .h1-gross{animation:ein-hoch 1.2s var(--ease) .9s both}
.hero .h1-schreib{animation:ein-schreiben 1.9s cubic-bezier(.45,.05,.25,1) 1.7s both}
.hero .lead{animation:ein-hoch 1s var(--ease) 2.5s both}
.hero .cta .btn:nth-child(1){animation:ein-hoch .9s var(--ease) 2.9s both}
.hero .cta .btn:nth-child(2){animation:ein-hoch .9s var(--ease) 3.15s both}
.hero-leiste{animation:ein-hoch 1s var(--ease) 3.5s both}
@media(max-width:700px){
  .hero .eyebrow{animation-delay:.3s}.hero .eyebrow:before{animation-delay:.3s}
  .hero .h1-gross{animation-delay:.6s}.hero .h1-schreib{animation-delay:1.2s}
  .hero .lead{animation-delay:1.9s}.hero .cta .btn:nth-child(1){animation-delay:2.2s}.hero .cta .btn:nth-child(2){animation-delay:2.4s}.hero-leiste{animation-delay:2.7s}
}

/* Allgemein: Einleitungstext */
.lead{font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.6;color:var(--ink)}
.lead.klein{font-size:1rem;color:var(--ink-2)}
.seitenkopf .lead{max-width:640px}

/* Filterleiste (Kleiderübersicht) */
.filterleiste{margin-bottom:clamp(28px,4vw,48px)}
.filter-reihe{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.filter-label{font:600 .68rem/1 var(--f-text);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);margin-right:8px}
.fg{position:relative}
.fg summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.8em;padding:1em 1.4em;background:var(--flaeche);border:1px solid var(--linie);font:600 .68rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);user-select:none;transition:border-color .2s}
.fg summary::-webkit-details-marker{display:none}
.fg summary:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.fg[open] summary{border-color:var(--ink)}
.fg[open] summary:after{transform:rotate(-135deg) translateY(-2px)}
.fg summary:hover{border-color:var(--gold)}
.fg .n{display:none;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--gold);color:var(--ink);font-style:normal;font-size:.62rem;align-items:center;justify-content:center;letter-spacing:0}
.fg.hat .n{display:inline-flex}
.fg.hat summary{border-color:var(--gold)}
.fg .optionen{position:absolute;top:calc(100% + 8px);left:0;z-index:60;min-width:280px;max-width:min(92vw,440px);display:flex;flex-wrap:wrap;gap:8px;padding:18px;background:var(--flaeche);border:1px solid var(--linie);border-top:2px solid var(--gold);box-shadow:0 24px 50px rgba(16,16,21,.16)}
.chip{cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:.7em 1.1em;border:1px solid var(--linie);background:var(--elfenbein);color:var(--ink);font:500 .82rem/1 var(--f-text);transition:all .2s}
.chip small{opacity:.55;margin-left:.3em}
.chip:hover span{border-color:var(--gold)}
.chip input:checked+span{background:var(--knopf);border-color:var(--knopf);color:var(--knopf-text)}
.chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.chip input:disabled+span{opacity:.4;cursor:not-allowed}
.filter-reset{background:none;border:0;color:var(--gold-text);text-decoration:underline;cursor:pointer;font:600 .68rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;padding:1em .6em}
.filter-aktiv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.filter-aktiv:empty{display:none}
.tag{border:1px solid var(--gold);background:rgba(194,151,101,.12);color:var(--ink);padding:.6em .9em;font:500 .78rem/1 var(--f-text);cursor:pointer}
.tag:hover{background:var(--knopf);color:var(--knopf-text);border-color:var(--knopf)}
.filter-treffer{margin:16px 0 0;font-size:.9rem;color:var(--ink-2)}
.karte[hidden]{display:none}
.keine-treffer{text-align:center;padding:48px 0;font-size:1.05rem}
.seo-links{margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--linie);padding-top:20px}
.seo-links summary{cursor:pointer;font:600 .68rem/1 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2);padding:.6em 0}
.seo-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;margin-top:20px}
.seo-raster h3{font:600 .68rem/1.4 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);margin:0 0 .8em}
.seo-raster ul{list-style:none;margin:0;padding:0;font-size:.9rem}
.seo-raster a{color:var(--ink-2);text-decoration:none}
.seo-raster a:hover{color:var(--gold-text)}
@media(max-width:700px){.fg{width:calc(50% - 5px)}.fg summary{justify-content:space-between;width:100%}.fg .optionen{position:static;margin-top:8px;max-width:none;min-width:0;box-shadow:none}.fg[open]{width:100%}.filter-label{width:100%}}

/* Beitragskarten (Veranstaltungen, News) */
.b-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px) clamp(20px,2.4vw,36px)}
.b-karte{display:flex;flex-direction:column;gap:20px}
.b-karte .bild{display:block;overflow:hidden;aspect-ratio:4/5;background:var(--platz)}
.b-raster{align-items:start}
.b-karte .bild img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 1s var(--ease)}
.b-karte:hover .bild img{transform:scale(1.05)}
.b-text .eyebrow{margin-bottom:.8rem}
.b-karte h3{font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.25}
.b-karte h3 a{color:var(--ink);text-decoration:none}
.b-karte h3 a:hover{color:var(--gold-text)}
.b-text p:not(.eyebrow){font-size:.95rem;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.b-karte.gross{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,72px);align-items:center;margin-bottom:clamp(8px,2vw,24px)}
.b-karte.gross{align-items:center}
.b-karte.gross h3{font-size:clamp(1.8rem,3.2vw,2.8rem)}
.b-karte.gross .b-text p:not(.eyebrow){-webkit-line-clamp:6}
@media(max-width:900px){.b-raster{grid-template-columns:1fr 1fr}.b-karte.gross{grid-template-columns:1fr}}
@media(max-width:560px){.b-raster{grid-template-columns:1fr}}

/* Beitrag (Veranstaltung / News) */
.beitrag-kopf{padding:clamp(36px,6vw,88px) 0 clamp(28px,4vw,56px)}
.beitrag-kopf .kopf-raster{display:grid;gap:clamp(28px,6vw,96px);align-items:center;grid-template-columns:1fr}
.beitrag-kopf.mit-bild .kopf-raster{grid-template-columns:1.1fr .9fr}
.beitrag-kopf h1{font-size:clamp(2.1rem,4.4vw,3.6rem)}
.beitrag-kopf .lead{max-width:620px}
.beitrag-kopf .zurueck-link{margin:2rem 0 0}
.beitrag-bild{margin:0;position:relative;isolation:isolate}
.beitrag-bild:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold);z-index:-1}
.beitrag-bild img{width:100%;height:auto;max-height:78vh;object-fit:cover}
.beitrag-bild.hoch img{max-width:460px;margin-inline:auto}
@media(max-width:860px){.beitrag-kopf.mit-bild .kopf-raster{grid-template-columns:1fr}}
.beitrag-text{max-width:820px;padding-bottom:var(--luft)}
.beitrag-text h2{font-size:clamp(1.6rem,2.8vw,2.3rem);margin:1.8em 0 .5em}
.beitrag-text h3{font-size:1.4rem;margin:1.6em 0 .4em}
.beitrag-text a:not(.btn):not(.galerie-karte):not(.mehr){color:var(--gold-text)}
.beitrag-text figure.einzelbild{margin:2em 0}
.beitrag-text figure img{width:100%;height:auto}
.bildgruppe{display:grid;gap:10px;margin:2em 0}
.bildgruppe.n2{grid-template-columns:1fr 1fr}
.bildgruppe.n3{grid-template-columns:repeat(3,1fr)}
.bildgruppe.n4{grid-template-columns:repeat(2,1fr)}
.bildgruppe img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.beitrag-text .video{margin:2em 0}
.beitrag-text p.galerie-link{margin:0}
.galerie-link a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:1.2em 1.5em;margin:10px 0;border:1px solid var(--linie);background:var(--flaeche);color:var(--ink)!important;text-decoration:none;font-weight:500;transition:all .25s}
.galerie-link a:after{content:"→";color:var(--gold-text);font-size:1.2rem}
.galerie-link a:hover{border-color:var(--gold);transform:translateX(4px)}
.galerie-karten{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:1.6em 0}
.galerie-karte{display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink)!important;overflow:hidden}
.galerie-karte img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0;transition:transform .6s var(--ease)}
.galerie-karte:hover img{transform:scale(1.04)}
.galerie-karte span{display:flex;flex-direction:column;gap:2px}
.galerie-karte small{color:var(--ink-2)}
.beitrag-text .beitrag-kleider h3 a{color:var(--ink)!important}
.beitrag-text .beitrag-kleider .mehr{color:var(--ink)!important}
.beitrag-kleider{margin:3em calc((100% - min(100vw - 48px,1240px)) / 2) 1em}
.liste.weitere{background:var(--papier);border-top:1px solid var(--linie);padding-top:clamp(48px,6vw,88px)}
.liste.weitere .sub{border-top:0;padding-top:0}

/* Herbert Traumüller */
.h-hero{background:var(--night);color:rgba(255,255,255,.85);padding:clamp(48px,6vw,88px) 0 clamp(56px,8vw,112px)}
.h-raster{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,96px);align-items:center}
.h-hero h1{color:#fff;font-size:clamp(1.9rem,3.8vw,3.1rem);line-height:1.15;margin-bottom:.8rem}
.h-hero .eyebrow{color:var(--gold)}
.h-hero .signatur{filter:invert(1);width:min(100%,330px);margin:1rem 0 1.6rem;opacity:.95}
.h-hero .lead{color:rgba(255,255,255,.85);font-size:clamp(1rem,1.4vw,1.15rem)}
.h-hero .lead strong{color:#fff}
.h-hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.8rem}
.h-hero .btn.hohl{color:#fff}
.h-hero .btn.hohl:hover{background:var(--flaeche);border-color:#fff;color:var(--ink)}
.h-portrait{margin:0;position:relative;isolation:isolate}
.h-portrait:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}
.h-portrait img{width:100%;aspect-ratio:4/3.4;object-fit:cover}
@media(max-width:860px){.h-raster{grid-template-columns:1fr}}
.h-zahlen{background:var(--braun);color:#fff}
.h-zahlen .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-block:clamp(32px,4vw,56px)}
.h-zahlen strong{display:block;font:400 clamp(2.2rem,4.4vw,3.6rem)/1 var(--f-titel);color:var(--gold)}
.h-zahlen span{font-size:.85rem;letter-spacing:.04em;opacity:.8}
@media(max-width:600px){.h-zahlen .wrap{grid-template-columns:1fr}}
.h-kapitel{background:var(--elfenbein)}
.kapitel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:center;margin-bottom:clamp(64px,9vw,128px)}
.kapitel:last-child{margin-bottom:0}
.kapitel.umgekehrt .k-text{order:2}
.kapitel .nr{display:block;font:400 clamp(3.5rem,8vw,7rem)/1 var(--f-titel);color:var(--gold);opacity:.4;margin-bottom:-.15em}
.kapitel h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}
.kapitel figure{margin:0;position:relative;isolation:isolate}
.kapitel figure img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.kapitel .k-bild figure:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold);z-index:-1}
.kapitel blockquote{margin:1.2em 0;padding-left:1.4em;border-left:2px solid var(--gold);font:400 clamp(1.3rem,2.2vw,1.8rem)/1.35 var(--f-titel);color:var(--ink)}
.kapitel.voll{grid-template-columns:1fr;gap:2.4rem}
.kapitel.voll .k-text{max-width:720px}
.k-fotos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.k-fotos figure img{aspect-ratio:4/5}
.credit{font-size:.78rem;color:#8a8076;margin:.6rem 0 0}
.k-fotos .credit{grid-column:1/-1}
@media(max-width:860px){.kapitel{grid-template-columns:1fr}.kapitel.umgekehrt .k-text{order:0}}
.h-cta{background:var(--night);color:rgba(255,255,255,.82);text-align:center;padding-block:var(--luft)}
.h-cta .wrap{max-width:760px}
.h-cta h2{color:#fff}
.h-cta .eyebrow{color:var(--gold)}
.h-cta .cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:2rem}
.h-cta .btn.hohl{color:#fff}
.h-cta .btn.hohl:hover{background:var(--flaeche);border-color:#fff;color:var(--ink)}
.h-cta .credit{color:rgba(255,255,255,.45);margin-top:2rem}

/* Impressum */
.impressum .lead.klein{max-width:760px;margin-bottom:2.4rem}
.i-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.i-karte{background:var(--flaeche);border:1px solid var(--linie);padding:22px 24px;display:flex;flex-direction:column;gap:.5em;overflow-wrap:anywhere}
.i-karte span{font:600 .64rem/1.3 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text)}
.i-karte strong{font:400 1.02rem/1.55 var(--f-text);color:var(--ink)}
.i-karte strong a{color:var(--ink)}
.i-karte.i-gross{grid-column:1/-1}
.i-h{font:600 .72rem/1 var(--f-text);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text);margin:clamp(40px,5vw,64px) 0 1.2rem}
.i-partner{display:flex;flex-wrap:wrap;gap:8px}
.i-partner a{padding:.7em 1.1em;border:1px solid var(--linie);background:var(--flaeche);color:var(--ink);text-decoration:none;font-size:.85rem}
.i-partner a:hover{border-color:var(--gold)}
.i-liste{border-top:1px solid var(--linie)}
.i-acc{border-bottom:1px solid var(--linie)}
.i-acc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1.2em 0;font:400 1.15rem var(--f-titel);color:var(--ink)}
.i-acc summary::-webkit-details-marker{display:none}
.i-acc summary:after{content:"+";font-size:1.5rem;color:var(--gold-text);transition:transform .25s}
.i-acc[open] summary:after{transform:rotate(45deg)}
.i-acc>div{padding:0 0 1.4em;font-size:.95rem;max-width:760px}
.i-acc ul{columns:2;padding-left:1.2em}
.i-quelle{font-size:.75rem;color:#8a8076;margin-top:2.4rem}

/* Beitragskarten, modern: gleiche Bildhöhe, Etikett, Rahmen */
.b-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,32px);align-items:stretch}
.b-karte{display:flex;flex-direction:column;gap:0;background:var(--flaeche);border:1px solid var(--linie);transition:box-shadow .45s var(--ease),border-color .45s}
.b-karte:hover{box-shadow:0 30px 60px -28px rgba(16,16,21,.35);border-color:var(--gold-hell)}
.b-karte .bild{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#1a1816}
.b-karte .bild .hg{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);max-width:none;object-fit:cover;filter:blur(22px) brightness(.72) saturate(1.1);transform:scale(1.1);transition:none}
.b-karte:hover .bild .hg{transform:scale(1.1)}
.b-karte .bild.quer .hg{display:none}
.b-karte .bild img:not(.hg){position:relative;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform 1.1s var(--ease)}
.b-karte .bild.quer img:not(.hg){object-fit:cover;object-position:center 30%}
.b-karte:hover .bild img:not(.hg){transform:scale(1.05)}
.b-karte .badge{position:absolute;top:16px;left:16px;z-index:2;background:var(--badge-bg);color:var(--ink);font:600 .62rem/1 var(--f-text);letter-spacing:.22em;text-transform:uppercase;padding:.8em 1em}
.b-karte .b-text{display:flex;flex-direction:column;gap:14px;flex:1;padding:26px 26px 28px}
.b-karte h3{font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.25;margin:0}
.b-karte h3 a{color:var(--ink);text-decoration:none}
.b-karte h3 a:hover{color:var(--gold-text)}
.b-karte .b-text p{margin:0;font-size:.92rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.b-karte .mehr{margin-top:auto;align-self:flex-start}
@media(max-width:900px){.b-raster{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.b-raster{grid-template-columns:1fr}}

/* Veranstaltungs-Seiten (Magazin-Stil) */
.ev-hero{position:relative;min-height:min(92vh,880px);display:flex;align-items:flex-end;color:#fff;background:var(--night);overflow:hidden}
.ev-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:ein-video 2.4s var(--ease) both}
.ev-hero.poster .ev-bg{filter:blur(36px) brightness(.5) saturate(1.25);transform:scale(1.2);animation:none}
.ev-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,16,21,.6) 0,rgba(16,16,21,.18) 38%,rgba(16,16,21,.92) 100%)}
.ev-hero-raster{position:relative;z-index:2;width:min(100% - 48px,var(--breite));display:grid;grid-template-columns:1fr;gap:clamp(24px,5vw,80px);align-items:end;padding:calc(var(--kopf-h) + 70px) 0 clamp(48px,6vw,88px)}
.ev-hero:has(.ev-front) .ev-hero-raster{grid-template-columns:1.4fr .6fr}
.ev-hero h1{color:#fff;font-size:clamp(2.4rem,6.2vw,5.6rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 .3em;max-width:16ch}
.ev-hero h1.lang{font-size:clamp(2rem,4.6vw,4rem);max-width:22ch}
.ev-sub{font-size:clamp(1.05rem,1.7vw,1.35rem);color:rgba(255,255,255,.9);max-width:620px;margin:0}
.ev-meta{list-style:none;display:flex;flex-wrap:wrap;gap:14px clamp(24px,4vw,56px);margin:2rem 0 2.2rem;padding:1.4rem 0 0;border-top:1px solid rgba(255,255,255,.28)}
.ev-meta li{font-size:1rem;color:#fff}
.ev-meta span{display:block;font:600 .62rem/1 var(--f-text);letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.7em}
.ev-hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.ev-hero .btn.hohl{color:#fff}
.ev-hero .btn.hohl:hover{background:var(--flaeche);border-color:#fff;color:var(--ink)}
.ev-front{margin:0;justify-self:end;width:min(100%,360px);transform:rotate(2.2deg);box-shadow:0 50px 90px -24px rgba(0,0,0,.7)}
.ev-front img{display:block;width:100%;height:auto;border:10px solid #fff}
.ev-hero .eyebrow{animation:ein-hoch .9s var(--ease) .4s both;text-shadow:0 1px 8px rgba(0,0,0,.6)}
.ev-hero h1{animation:ein-hoch 1.1s var(--ease) .7s both}
.ev-sub{animation:ein-hoch 1s var(--ease) 1.1s both}
.ev-meta{animation:ein-hoch 1s var(--ease) 1.4s both}
.ev-hero .cta{animation:ein-hoch 1s var(--ease) 1.7s both}
.ev-front{animation:ein-hoch 1.2s var(--ease) 1s both}
@media(max-width:860px){.ev-hero:has(.ev-front) .ev-hero-raster{grid-template-columns:1fr}.ev-front{justify-self:start;width:min(70%,280px);transform:rotate(1.5deg)}}

.ev-bericht{padding:var(--luft) 0}
.ev-raster{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:clamp(32px,6vw,96px);align-items:start}
.ev-raster:not(:has(.ev-seite)){grid-template-columns:minmax(0,820px);justify-content:center}
.ev-text .lead{font:400 clamp(1.35rem,2.2vw,1.85rem)/1.45 var(--f-titel);color:var(--ink);margin-bottom:1.6rem}
.ev-text .lead p{margin:0}
.ev-text p{max-width:680px}
.ev-text h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:2em 0 .5em}
.ev-text h3{font-size:1.35rem;margin:1.6em 0 .4em}
.ev-text a{color:var(--gold-text)}
.ev-text strong{color:var(--ink)}
.ev-seite{position:sticky;top:calc(var(--kopf-h) + 24px);display:grid;gap:24px}
.ev-karte{background:var(--flaeche);border:1px solid var(--linie);border-top:2px solid var(--gold);padding:28px}
.ev-karte h2{font:600 .68rem/1.4 var(--f-text);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);margin:0 0 1.4rem}
.ev-credits dl{margin:0;display:grid;gap:1rem}
.ev-credits dt{font:600 .62rem/1.2 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.2em}
.ev-credits dd{margin:0;color:var(--ink);font-size:.92rem;line-height:1.5;overflow-wrap:anywhere}
.ev-credits a{color:var(--gold-text)}
.ev-herbert{margin:0}
.ev-herbert img{width:min(100%,320px);margin-inline:auto;border-radius:50%;box-shadow:0 30px 60px -24px rgba(16,16,21,.5)}
.ev-flyer{margin:0}
.ev-flyer img{width:100%;box-shadow:0 30px 60px -28px rgba(16,16,21,.45)}
.ev-gaeste{margin-top:2.4rem;border-top:1px solid var(--linie);border-bottom:1px solid var(--linie)}
.ev-gaeste summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:1.2em 0;font:400 1.15rem var(--f-titel);color:var(--ink)}
.ev-gaeste summary::-webkit-details-marker{display:none}
.ev-gaeste summary:after{content:"+";font-size:1.5rem;color:var(--gold-text);transition:transform .25s}
.ev-gaeste[open] summary:after{transform:rotate(45deg)}
.ev-gaeste p{font-size:.9rem;padding-bottom:1.2em}
.ev-reel{display:flex;align-items:center;gap:20px;margin:2rem 0;padding:14px;background:var(--flaeche);border:1px solid var(--linie);color:var(--ink)!important;text-decoration:none;max-width:520px;transition:border-color .25s,transform .25s}
.ev-reel:hover{border-color:var(--gold);transform:translateX(4px)}
.ev-reel img{width:120px;height:90px;object-fit:cover}
.ev-reel strong{display:block;font:400 1.2rem var(--f-titel)}
.ev-reel small{color:var(--ink-2)}
@media(max-width:900px){.ev-raster{grid-template-columns:1fr}.ev-seite{position:static}}

.ev-video{background:var(--braun);padding:var(--luft) 0}
.ev-video .wrap{max-width:1040px}
.ev-video .video{box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}

.ev-fotos{padding:var(--luft) 0;background:var(--papier)}
.ev-fotonote{max-width:760px;font-size:.92rem;color:var(--ink-2);margin:-1rem 0 2rem}
.ev-mosaik{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(120px,16vw,230px);gap:10px}
.ev-mosaik a{position:relative;display:block;overflow:hidden;background:var(--platz)}
.ev-mosaik a:nth-child(1){grid-column:span 2;grid-row:span 2}
.ev-mosaik a:nth-child(4){grid-row:span 2}
.ev-mosaik img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ev-mosaik a:hover img{transform:scale(1.06)}
.mehr-fotos{position:absolute;inset:0;display:grid;place-items:center;background:rgba(16,16,21,.55);color:#fff;font:600 .78rem/1 var(--f-text);letter-spacing:.22em;text-transform:uppercase}
.ev-fotoknopf{text-align:center;margin:2.4rem 0 0}
.ev-galerien{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.ev-galerie{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;color:#fff;text-decoration:none;background:var(--night)}
.ev-galerie img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.ev-galerie:hover img{transform:scale(1.06)}
.ev-galerie:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(16,16,21,0) 35%,rgba(16,16,21,.85) 100%)}
.ev-galerie span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;display:flex;flex-direction:column;gap:4px}
.ev-galerie strong{font:400 1.2rem/1.25 var(--f-titel)}
.ev-galerie small{font:600 .64rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.ev-h3{font:400 clamp(1.4rem,2.2vw,1.9rem)/1.2 var(--f-titel);margin:clamp(40px,5vw,72px) 0 1.2rem}
@media(max-width:700px){.ev-mosaik{grid-template-columns:repeat(2,1fr)}.ev-mosaik a:nth-child(4){grid-row:auto}}

/* Abschluss der Startseite */
.abschluss{background:var(--papier)}
.abschluss .raster{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.abschluss figure{margin:0;position:relative;isolation:isolate}
.abschluss figure:after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--gold);z-index:-1}
.abschluss figure img{width:100%;height:auto;display:block}
.abschluss h2{font-size:clamp(1.9rem,3.6vw,3rem)}
.abschluss-daten{list-style:none;margin:1.6rem 0 2rem;padding:1.4rem 0 0;border-top:1px solid var(--linie);display:grid;gap:1rem}
.abschluss-daten span{display:block;font:600 .64rem/1 var(--f-text);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);margin-bottom:.6em}
.abschluss .cta{display:flex;flex-wrap:wrap;gap:12px}
@media(max-width:860px){.abschluss .raster{grid-template-columns:1fr}.abschluss figure:after{inset:12px -10px -12px 10px}}

/* Herbert: Fotocredits am Foto, Abschluss mit Bild */
.kapitel figure.quer img,.h-cta figure.quer img{aspect-ratio:auto;height:auto}
.credit-bild{position:absolute;left:0;right:0;bottom:0;padding:2.4em 1.1em .8em;font-size:.72rem;letter-spacing:.06em;color:#fff;background:linear-gradient(transparent,rgba(16,16,21,.75));pointer-events:none}
.h-cta .h-cta-raster{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,96px);align-items:center;max-width:var(--breite);text-align:left}
.h-cta .k-bild figure{margin:0;position:relative;isolation:isolate}
.h-cta .k-bild figure:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--gold);z-index:-1}
.h-cta .k-bild img{width:100%;display:block}
.h-cta .eyebrow{justify-content:flex-start}
.h-cta .lead,.h-cta .lead p{color:rgba(255,255,255,.86);font:400 clamp(1rem,1.4vw,1.15rem)/1.7 var(--f-text)}
.h-cta .cta{justify-content:flex-start}
@media(max-width:860px){.h-cta .h-cta-raster{grid-template-columns:1fr}}

/* Dunkelmodus (Auswahl über den Schalter im Kopf, sonst nach Systemeinstellung) */
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark;
  --elfenbein:#151214; --papier:#1b1819; --flaeche:#221e20; --flaeche-t:rgba(255,255,255,.05); --kopf-bg:rgba(21,18,20,.94); --badge-bg:rgba(27,24,25,.95); --platz:#2a2527;
  --ink:#f3ede3; --ink-2:#b9afa3; --linie:#37312f; --gold-text:#d8b488; --gold-hell:#6b5336;
  --knopf:#f3ede3; --knopf-text:#16120e;
  --braun:#2c2523; --fuss:#0e0c0d;
}
html[data-theme="dark"] .kopf .l-dunkel{display:none}
html[data-theme="dark"] .kopf .l-weiss{display:block}
html[data-theme="dark"] .kontakt-btn img{filter:invert(1)}
html[data-theme="dark"] .lieblinge:before,html[data-theme="dark"] .lieblinge:after{opacity:.22;filter:brightness(.7)}
html[data-theme="dark"] .newsletter{background:#2c2523}
html[data-theme="dark"] .newsletter .nl-form input,html[data-theme="dark"] .newsletter .nl-form select{color:#fff}
html[data-theme="dark"] img{-webkit-user-drag:none}
html[data-theme="dark"] .galerie .gross img,html[data-theme="dark"] .karte .bild img,html[data-theme="dark"] .welt img{filter:brightness(.94)}

/* Umschalter Hell/Dunkel */
.theme-btn{flex:none;width:48px;height:48px;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;display:grid;place-items:center;cursor:pointer;margin-left:auto;transition:background .3s,border-color .3s}
.theme-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.theme-btn .sonne{display:none}
html[data-theme="dark"] .theme-btn .sonne{display:block}
html[data-theme="dark"] .theme-btn .mond{display:none}
.theme-btn:hover{background:var(--gold);border-color:var(--gold);color:#1b1815}
.theme-text{display:inline-flex;align-items:center;gap:.8em;background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;padding:1em 1.4em;font:600 .7rem/1 var(--f-text);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;margin:0 0 1rem .6rem}
.theme-text:hover{border-color:var(--gold);color:var(--gold)}

/* Fakten und häufige Fragen (Infos, Kontakt) */
.fakten-liste{margin:0;display:grid;border-top:1px solid var(--linie)}
.fakten-liste div{display:grid;grid-template-columns:minmax(140px,220px) 1fr;gap:20px;padding:1.1em 0;border-bottom:1px solid var(--linie)}
.fakten-liste dt{font:600 .66rem/1.7 var(--f-text);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text)}
.fakten-liste dd{margin:0;color:var(--ink)}
.fakten-liste a{color:var(--gold-text)}
.faq{border-top:1px solid var(--linie);max-width:900px}
.faq-punkt{border-bottom:1px solid var(--linie)}
.faq-punkt summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:1.3em 0;font:400 clamp(1.1rem,1.6vw,1.3rem)/1.35 var(--f-titel);color:var(--ink)}
.faq-punkt summary::-webkit-details-marker{display:none}
.faq-punkt summary:after{content:"+";font-size:1.5rem;color:var(--gold-text);transition:transform .25s;flex:none}
.faq-punkt[open] summary:after{transform:rotate(45deg)}
.faq-punkt p{margin:0;padding:0 0 1.4em;max-width:720px}
.seite .faq{margin-bottom:2rem}
@media(max-width:600px){.fakten-liste div{grid-template-columns:1fr;gap:4px}}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.hero video{display:none}.js .reveal{opacity:1;transform:none}}

/* 404: ein Kleid wird genäht */
.f404{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:rgba(255,255,255,.86);background:radial-gradient(ellipse at 72% 42%,#32261f 0%,#1a1514 45%,#101015 85%)}
.f404-buehne{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.f404-zahl{position:absolute;right:-2vw;top:50%;transform:translateY(-52%);font:400 clamp(14rem,42vw,38rem)/.8 var(--f-titel);color:transparent;-webkit-text-stroke:1px rgba(194,151,101,.3);letter-spacing:-.04em;animation:f404-schweben 9s ease-in-out infinite}
.funke{position:absolute;left:var(--x);top:var(--y);width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px 3px rgba(230,207,174,.55);opacity:0;animation:f404-funkeln var(--t) ease-in-out var(--d) infinite}
.f404-raster{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,80px);align-items:center;padding:calc(var(--kopf-h) + 40px) 0 60px}
.f404 h1{color:#fff;font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:1.04;margin:0 0 .45em;max-width:14ch}
.f404 .eyebrow{color:var(--gold)}
.f404 .lead{color:rgba(255,255,255,.85);font:400 clamp(1rem,1.4vw,1.15rem)/1.7 var(--f-text);max-width:520px;margin-bottom:2rem}
.f404 .cta{display:flex;flex-wrap:wrap;gap:12px}
.f404 .btn.hohl{color:#fff}
.f404 .btn.hohl:hover{background:#fff;border-color:#fff;color:#1b1815}
.f404-links{margin-top:2.4rem;font-size:.88rem;color:rgba(255,255,255,.65);max-width:520px}
.f404-links a{color:var(--gold);text-decoration:none}
.f404-links a:hover{color:#fff}
.f404 .eyebrow{animation:ein-hoch .9s var(--ease) .3s both}
.f404 h1{animation:ein-hoch 1.1s var(--ease) .6s both}
.f404 .lead{animation:ein-hoch 1s var(--ease) 1s both}
.f404 .cta .btn:nth-child(1){animation:ein-hoch .9s var(--ease) 1.3s both}
.f404 .cta .btn:nth-child(2){animation:ein-hoch .9s var(--ease) 1.5s both}
.f404-links{animation:ein-hoch 1s var(--ease) 1.8s both}
.f404-kleid{margin:0;justify-self:center;width:min(100%,430px);filter:drop-shadow(0 30px 50px rgba(0,0,0,.45))}
.f404-kleid svg{display:block;width:100%;height:auto;overflow:visible}
.f404-linie{fill:none;stroke:url(#f404-gold);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:f404-zeichnen 3.4s cubic-bezier(.5,.05,.25,1) .4s forwards}
.f404-traeger{animation-delay:2.4s;animation-duration:1.2s}
.f404-falten{stroke-width:1.2;opacity:.6;animation-delay:2.2s;animation-duration:2.4s}
.f404-guertel{stroke-width:2.8;animation-delay:2.0s;animation-duration:1.2s}
.f404-flaeche{opacity:0;animation:ein-weich 2.4s ease 2.4s forwards}
.f404-fuehrung{fill:none;stroke:rgba(230,207,174,.28);stroke-width:1.4;stroke-dasharray:2 8;stroke-linecap:round}
.f404-stiche{fill:none;stroke:url(#f404-gold);stroke-width:3;stroke-dasharray:11 8;stroke-linecap:round;animation:f404-stiche 8s linear 3.6s infinite backwards}
.f404-reveal{stroke-dasharray:1;stroke-dashoffset:1;animation:f404-naehen 8s linear 3.6s infinite backwards}
.f404-faden{fill:none;stroke:#e6cfae;stroke-width:1.8;stroke-linecap:round;transform-origin:348px 508px;opacity:0;animation:ein-weich .8s ease 4.4s forwards,f404-pendeln 4.5s ease-in-out 5s infinite}
.f404-nadel{opacity:0;animation:ein-weich .8s ease 3.4s forwards}
.f404-nadel-innen{animation:f404-stich .5s ease-in-out infinite alternate}
@keyframes f404-zeichnen{to{stroke-dashoffset:0}}
@keyframes f404-naehen{0%{stroke-dashoffset:1}85%,100%{stroke-dashoffset:0}}
@keyframes f404-stiche{0%,92%{opacity:1}100%{opacity:0}}
@keyframes f404-stich{from{transform:translateY(-9px)}to{transform:translateY(7px)}}
@keyframes f404-pendeln{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}
@keyframes f404-funkeln{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1.15)}}
@keyframes f404-schweben{0%,100%{transform:translateY(-52%)}50%{transform:translateY(-49%)}}
@media(max-width:900px){.f404{align-items:flex-start}.f404-raster{grid-template-columns:1fr;padding-top:calc(var(--kopf-h) + 20px)}.f404-kleid{order:-1;width:min(70%,280px)}.f404-zahl{right:50%;transform:translate(50%,-40%);font-size:min(78vw,22rem);animation:none}.f404 h1{max-width:none}}
@media(prefers-reduced-motion:reduce){.f404-linie,.f404-reveal,.f404-faden,.f404-flaeche,.f404-nadel{stroke-dashoffset:0!important;opacity:1!important}.f404-falten{opacity:.6!important}.f404-nadel{display:none}.funke{opacity:.7}}

/* Schwebender Newsletter-Knopf */
.nl-schweber{position:fixed;right:clamp(12px,2vw,28px);bottom:clamp(12px,2vw,28px);z-index:450;display:inline-flex;align-items:center;gap:.7em;padding:1em 1.6em 1em 1.3em;background:var(--gold);color:#1b1815;border:2px solid rgba(255,255,255,.92);border-radius:999px;font:600 .74rem/1 var(--f-text);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;box-shadow:0 14px 34px -8px rgba(0,0,0,.55);opacity:0;transform:translateY(26px) scale(.9);pointer-events:none;transition:opacity .5s,transform .5s var(--ease),background .3s}
.nl-schweber.da{opacity:1;transform:none;pointer-events:auto;animation:nl-puls 3.2s ease-in-out 1.5s infinite}
.nl-schweber svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.nl-schweber:hover{background:#fff;color:#1b1815;transform:translateY(-3px)}
@keyframes nl-puls{0%,70%,100%{box-shadow:0 14px 34px -8px rgba(0,0,0,.55),0 0 0 0 rgba(194,151,101,.65)}88%{box-shadow:0 14px 34px -8px rgba(0,0,0,.55),0 0 0 18px rgba(194,151,101,0)}}
@media(max-width:560px){.nl-schweber{width:56px;height:56px;padding:0;justify-content:center}.nl-schweber span{display:none}}

/* 404 kräftiger: Scheinwerfer, Glanz, dicke Linien, leuchtende Stiche */
.f404-zahl{color:transparent;background:linear-gradient(110deg,rgba(194,151,101,.1) 32%,rgba(246,226,194,.85) 50%,rgba(194,151,101,.1) 68%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1.5px rgba(194,151,101,.6);animation:f404-schweben 9s ease-in-out infinite,f404-glanz 6s ease-in-out infinite}
@keyframes f404-glanz{0%{background-position:130% 0}60%,100%{background-position:-30% 0}}
.f404-kleid{position:relative;width:min(100%,520px);filter:drop-shadow(0 0 28px rgba(194,151,101,.38)) drop-shadow(0 30px 50px rgba(0,0,0,.5))}
.f404-kleid:before{content:"";position:absolute;left:50%;top:-18%;width:130%;height:125%;transform:translateX(-50%);background:conic-gradient(from 180deg at 50% 0%,transparent 160deg,rgba(246,226,194,.20) 180deg,transparent 200deg);pointer-events:none;z-index:-1;animation:f404-licht 6s ease-in-out infinite}
@keyframes f404-licht{0%,100%{opacity:.75}50%{opacity:1}}
.f404-linie{stroke-width:3.6}
.f404-falten{stroke-width:2;opacity:.75}
.f404-guertel{stroke-width:4.4}
.f404-flaeche{animation-duration:1.6s}
.f404-fuehrung{stroke:rgba(246,226,194,.5);stroke-width:2}
.f404-stiche{stroke:#f6e2c2;stroke-width:5.5;stroke-dasharray:14 9;filter:drop-shadow(0 0 5px rgba(246,226,194,.95))}
.f404-faden{stroke-width:2.6}
.f404-nadel{filter:drop-shadow(0 0 7px rgba(246,226,194,.95))}
.funke{width:7px;height:7px}
@media(max-width:900px){.f404-kleid{width:min(80%,340px)}}

/* Newsletter-Bühne: modern, ruhig, Glas-Karte */
.newsletter.nl-buehne{position:relative;overflow:hidden;text-align:left;padding-block:clamp(72px,9vw,140px);background:#15110f;color:rgba(255,255,255,.82)}
.nl-glanz{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.nl-glanz:before,.nl-glanz:after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}
.nl-glanz:before{width:46vw;height:46vw;max-width:680px;max-height:680px;right:-8vw;top:-14vw;background:#b98a55;animation:nl-drift 16s ease-in-out infinite alternate}
.nl-glanz:after{width:36vw;height:36vw;max-width:520px;max-height:520px;left:-10vw;bottom:-16vw;background:#6b4a2f;animation:nl-drift 20s ease-in-out -6s infinite alternate-reverse}
.nl-funke{display:none}
.nl-raster{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,7vw,112px);align-items:center;max-width:var(--breite)}
.nl-links{max-width:560px}
.nl-umschlag{width:clamp(84px,9vw,112px);margin:0 0 1.8rem}
.nl-umschlag svg{display:block;width:100%;height:auto;overflow:visible}
.nl-boden{fill:rgba(194,151,101,.14);stroke:#d8b488;stroke-width:2.2}
.nl-klappe{fill:rgba(194,151,101,.26);stroke:#e6cfae;stroke-width:2.2;transform-box:fill-box;transform-origin:50% 0;animation:nl-oeffnen 6s var(--ease) infinite}
.nl-falten{stroke:#d8b488!important;stroke-opacity:.5!important}
.nl-brief{animation:nl-brief 6s var(--ease) infinite}
.newsletter.nl-buehne .eyebrow{color:var(--gold)}
.newsletter.nl-buehne .schreib{font-size:clamp(1.9rem,3.2vw,2.8rem);display:block;line-height:1;margin:0 0 .2em}
.newsletter.nl-buehne h1,.newsletter.nl-buehne h2{color:#fff;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08;margin-bottom:.55em}
.nl-text{max-width:500px;margin-bottom:1.8rem;color:rgba(255,255,255,.78)}
.nl-text strong{color:#fff}
.nl-vorteile{list-style:none;margin:0;padding:0;display:grid;gap:.85em}
.nl-vorteile li{position:relative;padding-left:2em;color:rgba(255,255,255,.92);font-size:.95rem}
.nl-vorteile li:before{content:"";position:absolute;left:0;top:.45em;width:1.05em;height:1px;background:var(--gold)}
.nl-vorteile li:after{content:"";position:absolute;left:.3em;top:.28em;width:.34em;height:.34em;border-radius:50%;background:var(--gold)}

/* Glas-Karte */
.nl-karte{position:relative;padding:clamp(28px,3.6vw,52px);border-radius:6px;color:rgba(255,255,255,.88);background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.04));-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 40px 80px -30px rgba(0,0,0,.65)}
.nl-karte:before{content:"";position:absolute;inset:0;border-radius:6px;padding:1px;background:linear-gradient(150deg,rgba(246,226,194,.7),rgba(246,226,194,.08) 40%,rgba(246,226,194,.08) 60%,rgba(194,151,101,.55));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}
.nl-karte-titel{font:400 clamp(1.6rem,2.4vw,2.1rem)/1.1 var(--f-titel);color:#fff;margin:0 0 1.6rem}
.nl-karte .nl-form{margin:0;max-width:none;text-align:left;gap:16px}
.nl-karte .nl-form label{color:var(--gold);margin-bottom:8px}
.nl-karte .nl-form input[type=text],.nl-karte .nl-form input[type=email],.nl-karte .nl-form input[type=tel],.nl-karte .nl-form select{color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:3px;padding:1em 1.1em;transition:border-color .25s,background .25s,box-shadow .25s}
.nl-karte .nl-form input::placeholder{color:rgba(255,255,255,.38)}
.nl-karte .nl-form select option{color:#1b1815;background:#fbf6ec}
.nl-karte .nl-form input:hover,.nl-karte .nl-form select:hover{border-color:rgba(255,255,255,.32)}
.nl-karte .nl-form input:focus,.nl-karte .nl-form select:focus{outline:0;border-color:var(--gold);background:rgba(255,255,255,.1);box-shadow:0 0 0 4px rgba(194,151,101,.22)}
.nl-karte .nl-form .sms{grid-template-columns:128px 1fr}
.nl-karte .nl-form .hinweis{color:rgba(255,255,255,.55);opacity:1}
.nl-karte .nl-form .opt{color:rgba(255,255,255,.85)}
.nl-karte .nl-form .opt input{accent-color:var(--gold);width:auto;padding:0;box-shadow:none}
.nl-karte .nl-form a{color:var(--gold-hell,#e6cfae)}
.nl-karte .nl-form .brevo-info{color:rgba(255,255,255,.45);opacity:1}
.nl-karte .nl-form .btn{position:relative;overflow:hidden;width:100%;padding:1.35em 1em;font-size:.8rem;border-radius:3px;background:var(--gold);color:#1b1815;border:0;box-shadow:none;transition:background .3s,transform .3s var(--ease),box-shadow .3s}
.nl-karte .nl-form .btn:after{content:"→";margin-left:.9em;display:inline-block;transition:transform .3s var(--ease)}
.nl-karte .nl-form .btn:hover{background:#f6e2c2;color:#1b1815;transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(194,151,101,.9)}
.nl-karte .nl-form .btn:hover:after{transform:translateX(5px)}
@keyframes nl-oeffnen{0%,14%{transform:scaleY(1)}30%,70%{transform:scaleY(-1)}86%,100%{transform:scaleY(1)}}
@keyframes nl-brief{0%,14%{transform:translateY(0)}34%,66%{transform:translateY(-40px)}86%,100%{transform:translateY(0)}}
@keyframes nl-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-5vw,4vw) scale(1.18)}}
@media(max-width:900px){.nl-raster{grid-template-columns:1fr}.nl-links{max-width:none}}
@media(prefers-reduced-motion:reduce){.nl-klappe,.nl-brief,.nl-glanz:before,.nl-glanz:after{animation:none!important}}
.newsletter.nl-buehne .wrap{max-width:var(--breite)}
.nl-karte .nl-form a{text-decoration-color:rgba(230,207,174,.6)}
.nl-karte .nl-form a{color:#f1dcb8!important}
@media(max-width:900px){.nl-raster{grid-template-columns:minmax(0,1fr)}.nl-karte,.nl-links{min-width:0}.nl-karte .nl-form .reihe{grid-template-columns:1fr}}

/* Newsletter-Seite: Bildstreifen unter dem Formular */
.inspiration{background:var(--elfenbein)}
.inspiration-raster{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.inspiration-raster a{display:block;overflow:hidden;aspect-ratio:3/4;background:var(--platz)}
.inspiration-raster img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.inspiration-raster a:hover img{transform:scale(1.06)}
@media(max-width:1000px){.inspiration-raster{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.inspiration-raster{grid-template-columns:repeat(2,1fr)}}

/* Cookie-Banner (CMP): mittig im Bildschirm, Hintergrund abgedunkelt */
.cc{left:50%;top:50%;bottom:auto;right:auto;transform:translate(-50%,-50%);width:min(100% - 32px,520px);max-height:calc(100vh - 32px);max-height:calc(100svh - 32px);overflow:auto;z-index:1000;padding:clamp(24px,3vw,36px);border-radius:4px;box-shadow:0 0 0 100vmax rgba(16,16,21,.62),0 40px 90px -20px rgba(0,0,0,.7)}
.cc.offen{animation:cc-ein .5s var(--ease) both}
.cc.verzoegert.offen{animation:cc-ein .8s var(--ease) 4.2s both}
.cc h2{font-size:1.7rem}
.cc .knoepfe button{flex:1 1 auto}
@keyframes cc-ein{from{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}
@media(max-width:560px){.cc{left:50%;right:auto;bottom:auto;width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.cc.offen,.cc.verzoegert.offen{animation:none}}

/* ===== Handy-Feinschliff (Responsivitäts-Test): Tippflächen, Mindestschrift, Überlauf ===== */
.seite .inhalt,.ev-text,.beitrag-text,.fakten-liste dd,.i-acc>div{overflow-wrap:anywhere}
.seite .inhalt code{overflow-wrap:anywhere;word-break:break-all}
.btn{min-height:44px}
.platzhalter button{min-height:44px;padding-inline:1.6em}
.fuss li{margin:0}
.fuss ul a{display:inline-block;padding:.6em 0;min-height:44px;line-height:1.5}
.fuss .unten a{display:inline-block;padding:.5em 0}
.fuss button.zustimmung{min-height:44px}
.fg summary{min-height:44px}
.seo-links summary{min-height:44px;display:flex;align-items:center}
.chip span{min-height:40px;display:inline-flex;align-items:center}
.chips a,.gruppe .knoepfe a{min-height:44px;display:inline-flex;align-items:center}
.cc .knoepfe button{min-height:44px}
.theme-btn,.kontakt-btn{min-width:44px;min-height:44px}
.nav-dialog .index__sub a{min-height:44px;display:flex;align-items:center}
.mehr{min-height:44px;display:inline-flex;align-items:center}
.karte .inhalt .mehr,.b-text .mehr{min-height:40px}
/* Mindestschrift 11,5 px für Kleinschrift-Beschriftungen */
.mehr,.karte .status,.galerie .status,.badge,.b-karte .badge,.kurzinfo dt,.fakten-liste dt,.ev-meta span,.hero-leiste span,.fg summary,.chips a,.filter-label,
.nl-form label,.fuss h2,.fuss button.zustimmung,.cc .knoepfe button,.video-hinweis,.i-karte span,.ev-credits dt,.anzahl,.abschluss-daten span,.gruppe h2,.zahlen span,
.filter-reset,.platzhalter button,.eyebrow,.status,.krume,.mehr-fotos,.galerie-karte small,.ev-galerie small,.theme-text,.nl-schweber,.btn,.gruppe .knoepfe a,.faq-punkt summary:not(.x){font-size:max(.72rem,11.5px)}
.zahlen span,.ev-meta span{letter-spacing:.2em}
/* Tablet: Filter-Felder öffnen sich unter der Reihe (kein Überlauf nach rechts) */
@media(max-width:1000px){.fg .optionen{position:static;margin-top:8px;max-width:none;min-width:0;box-shadow:none}.fg[open]{width:100%}.fg summary{justify-content:space-between}}
@media(max-width:560px){.fg{width:calc(50% - 5px)}.fg[open]{width:100%}}
.produkt .krume,.seo-links summary,.seo-raster h3,.welt .mehr,.ev-hero .ev-meta span,.ev-meta li,.video-hinweis a,.fuss .unten{font-size:max(.72rem,11.5px)}
.fuss .unten{font-size:max(.8rem,12.5px)}
.fuss .unten a{display:inline-flex;align-items:center;min-height:44px;padding:0}
.produkt .krume a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:560px){.welt .mehr{letter-spacing:.12em}.welt h3{font-size:1.2rem}}
.ev-karte h2,.ev-karte h2 b{font-size:max(.72rem,11.5px)}
@media(max-width:480px){.hero .eyebrow{letter-spacing:.14em;gap:0}.hero .eyebrow:before{display:none}}
.zahlen span{letter-spacing:.03em;line-height:1.5}

/* ===== Cognito Forms im Seitendesign (die Variablen des Dienstes werden überschrieben; Hell- und Dunkelmodus) ===== */
html body .cog-3,html body .cog-cognito{
  --font-family:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;--font-size:16px;--line-height:1.6;--color:var(--ink-2);
  --primary:#c29765;--primary-reverse:#1b1815;--highlight:#c29765;--input-highlight:#c29765;--a__color:var(--gold-text);--a__font-size:1em;
  --border-radius:3px;--border-width:1px;--gutter:20px;--negative:#c0392b;--negative-reverse:#fff;
  --button-primary__background-color:#c29765;--button-primary__border-color:#c29765;--button-primary__color:#1b1815;--button-primary__border-radius:0;
  --button-primary__font-family:"Montserrat",sans-serif;--button-primary__font-size:.8rem;--button-primary__font-weight:600;
  --button-secondary__background-color:transparent;--button-secondary__border-color:var(--ink);--button-secondary__color:var(--ink);--button-secondary__border-radius:0;
  --button-secondary__font-family:"Montserrat",sans-serif;--button-secondary__font-size:.8rem;--button-secondary__font-weight:600;
  --form__background-color:transparent;--form__width:100%;--form__margins:0px;--page__background-color:transparent;--page__margins:0;
  --header__color:var(--ink);--header__font-family:"Rosario",Georgia,serif;--header__font-size:1.9rem;--header__font-weight:400;
  --heading__color:var(--ink);--heading__font-family:"Rosario",Georgia,serif;--heading__font-size:1.4rem;--heading__font-weight:400;
  --label__color:var(--gold-text);--label__font-family:"Montserrat",sans-serif;--label__font-size:.72rem;--label__font-weight:600;
  --input__background-color:var(--flaeche);--input__border-color:var(--linie);--input__color:var(--ink);--input__border-radius:3px;--input__padding-h:14px;--input__padding-v:13px;--placeholder__color:var(--ink-2);
  --card__border-color:var(--linie);
}
html body .cog-cognito,html body .cog-form__container,html body .cog-page,html body .cog-body{background:transparent!important}
html body .cog-label,html body .cog-label *{text-transform:uppercase;letter-spacing:.16em}
html body .cog-cognito input[type=text],html body .cog-cognito input[type=email],html body .cog-cognito input[type=tel],html body .cog-cognito textarea{font-size:16px!important;border:1px solid var(--linie)!important;border-radius:3px!important;min-height:48px;transition:border-color .25s,box-shadow .25s}
html body .cog-cognito input:focus,html body .cog-cognito textarea:focus{border-color:var(--gold)!important;box-shadow:0 0 0 4px rgba(194,151,101,.25)!important}
html body .cog-cognito button,html body .cog-cognito [type=submit]{min-height:48px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .3s}
html body .cog-cognito button:hover{filter:brightness(1.08)}
html body .cog-branding,html body .cog-abuse{opacity:.55;font-size:.75rem}
html body .cog-branding a,html body .cog-abuse a{color:inherit}
.platzhalter.breit + .cog-cognito,.kontakt-formular{max-width:760px}
html body .cog-branding,html body .cog-branding *,html body .cog-abuse{background:transparent!important;color:var(--ink-2)!important;box-shadow:none!important}
html body .cog-branding{margin-top:12px}

/* ===== Header-Knöpfe (Hell/Dunkel, Kontakt): Gold gefüllt, Symbole leicht animiert ===== */
html body .kopf .theme-btn,html body .kopf .kontakt-btn{background:var(--gold);border:1px solid var(--gold);color:#1b1815;box-shadow:0 8px 18px -8px rgba(194,151,101,.85);transition:background .3s,transform .3s var(--ease),box-shadow .3s}
html body .kopf .theme-btn:hover,html body .kopf .kontakt-btn:hover{background:#f6e2c2;border-color:#f6e2c2;color:#1b1815;transform:translateY(-2px);box-shadow:0 12px 22px -8px rgba(194,151,101,.95)}
html body .kopf .theme-btn:focus-visible,html body .kopf .kontakt-btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
html body .kopf .kontakt-btn img,html[data-theme="dark"] .kopf .kontakt-btn img,body.home .kopf:not(.gescrollt) .kontakt-btn img{filter:brightness(0)!important;width:25px}
.theme-btn svg{stroke-width:1.7}
.theme-btn .mond{transform-origin:50% 60%;animation:mond-wiegen 4.5s ease-in-out infinite}
.theme-btn .sonne{animation:sonne-drehen 16s linear infinite}
.kontakt-btn img{transform-origin:50% 60%;animation:kontakt-klingeln 5.5s ease-in-out 2s infinite}
@keyframes mond-wiegen{0%,100%{transform:rotate(-12deg) scale(1)}50%{transform:rotate(10deg) scale(1.1)}}
@keyframes sonne-drehen{to{transform:rotate(360deg)}}
@keyframes kontakt-klingeln{0%,78%,100%{transform:rotate(0)}81%{transform:rotate(-16deg)}84%{transform:rotate(14deg)}87%{transform:rotate(-11deg)}90%{transform:rotate(8deg)}93%{transform:rotate(-4deg)}}
.theme-btn:hover .mond,.kontakt-btn:hover img{animation-duration:1.2s}
@media(prefers-reduced-motion:reduce){.theme-btn .mond,.theme-btn .sonne,.kontakt-btn img{animation:none}}

/* ===================== Bewegung (Oktober 2026): Fortschritt, Wörter, Masken, Laufband, Übergänge ===================== */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-aus .28s ease both}
::view-transition-new(root){animation:vt-ein .45s var(--ease) both}
@keyframes vt-aus{to{opacity:0}}
@keyframes vt-ein{from{opacity:0;transform:translateY(14px)}}
.fortschritt{position:fixed;left:0;top:0;right:0;height:3px;z-index:560;transform:scaleX(0);transform-origin:0 50%;background:linear-gradient(90deg,#8a6439,#e6cfae,#c29765);pointer-events:none}

/* Überschriften Wort für Wort */
.js .woerter .wort{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .02em .14em;margin:-.1em 0 -.14em}
.js .woerter .wort>span{display:inline-block;transform:translateY(112%) rotate(3deg);transform-origin:0 100%;transition:transform 1s var(--ease);transition-delay:calc(var(--i,0) * 60ms + .05s)}
.js .woerter.sichtbar-h .wort>span{transform:none}

/* Linie vor den Kleintiteln wächst */
.js .reveal:not(.sichtbar) .eyebrow:before,.js .woerter:not(.sichtbar-h) ~ .eyebrow:before{transform:scaleX(0)}
.eyebrow:before{transform-origin:left;transition:transform 1s var(--ease) .25s}

/* Bildmasken */
.js .maske{clip-path:inset(0 0 98% 0);transition:clip-path 1.2s var(--ease)}
.js .maske.offen-m{clip-path:inset(-60px -60px -60px -60px)}
.js .maske img{transform:scale(1.12);transition:transform 1.8s var(--ease)}
.js .maske.offen-m img{transform:none}
.js .maske.galerie,.js .galerie .gross.maske img{transition:transform 1.8s var(--ease),opacity .4s}
/* Bilder nach dem Laden einblenden */
img.lade{opacity:0}
img[loading=lazy]{transition:opacity .7s ease}
.galerie .gross img.wechsel{animation:bild-wechsel .55s var(--ease)}
@keyframes bild-wechsel{from{opacity:.15;transform:scale(1.025)}to{opacity:1;transform:none}}
.karte.filter-ein{animation:karte-ein .6s var(--ease) both}
@keyframes karte-ein{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}

/* Hover-Details */
.welt .text{transition:transform .6s var(--ease)}
.welt:hover .text{transform:translateY(-8px)}
.welt .mehr:after,.karte .mehr:after,.b-text .mehr:after{transition:width .4s var(--ease)}
.welt:hover .mehr:after{width:40px}
.b-karte:hover .b-text h3 a,.karte:hover h3 a{color:var(--gold-text)}
.btn{position:relative;overflow:hidden}
.btn:not(.nl-schweber):after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .8s var(--ease);pointer-events:none}
.btn:hover:after{left:130%}
.btn.hohl:after{display:none}
.nl-karte .nl-form .btn:after{content:"→";position:static;transform:none;background:none;width:auto;display:inline-block;margin-left:.9em;transition:transform .3s var(--ease)}
.nl-schweber{transition:opacity .5s,transform .5s var(--ease),background .3s}
.faq-punkt p,.i-acc>div,.ev-gaeste p{animation:auf .5s var(--ease)}
details[open]>summary~*{animation:auf .5s var(--ease)}
@keyframes auf{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
dialog.kontakt[open]{animation:pop .45s var(--ease)}
dialog.lightbox[open]{animation:lb-ein .4s var(--ease)}
dialog.lightbox img{animation:lb-bild .5s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
@keyframes lb-ein{from{opacity:0}to{opacity:1}}
@keyframes lb-bild{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.galerie-raster a{transition:opacity .4s}
.galerie-raster:hover a:not(:hover){opacity:.72}



@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .fortschritt{display:none}
  .js .maske,.js .maske img{clip-path:none;transform:none;transition:none}
  .js .woerter .wort>span{transform:none;transition:none}
  .btn:after{display:none}
}
/* Video-Hintergründe bekommen Spielraum für den Parallax */
.hero video,.ev-bg{inset:-60px 0 -60px 0;height:calc(100% + 120px)}

/* ===== Barrierefreiheit und Nachladen ===== */
.lieblinge .schreib{color:var(--gold-text)}
.nl-karte .nl-form .brevo-info{color:rgba(255,255,255,.64)}
.nl-karte .nl-form .hinweis{color:rgba(255,255,255,.68)}
.nl-form .brevo-info{opacity:.8}
.galerie-raster a.versteckt{display:none}
.mehr-laden{text-align:center;margin:0 0 3rem}
.mehr-laden .btn{min-width:min(100%,360px)}
.cc:focus{outline:0}

/* Header-Knöpfe (Hell/Dunkel, Kontakt): rosarot gefüllt, weißes Symbol */
:root{--rosarot:#d94f77;--rosarot-hell:#ea7194}
html body .kopf .theme-btn,html body .kopf .kontakt-btn{background:var(--rosarot);border-color:var(--rosarot);color:#fff;box-shadow:0 8px 18px -8px rgba(217,79,119,.85)}
html body .kopf .theme-btn:hover,html body .kopf .kontakt-btn:hover{background:var(--rosarot-hell);border-color:var(--rosarot-hell);color:#fff;box-shadow:0 12px 22px -8px rgba(217,79,119,.95)}
html body .kopf .kontakt-btn img,html[data-theme="dark"] .kopf .kontakt-btn img,body.home .kopf:not(.gescrollt) .kontakt-btn img{filter:brightness(0) invert(1)!important}
html body .kopf .theme-btn svg,html[data-theme="dark"] .kopf .theme-btn svg,body.home .kopf:not(.gescrollt) .theme-btn svg{color:#fff!important;stroke:#fff!important;fill:none}

/* Header-Knöpfe: helleres Rosa, schwarzes Symbol */
:root{--rosarot:#f58aa9;--rosarot-hell:#ffb3c8}
html body .kopf .theme-btn,html body .kopf .kontakt-btn{color:#1b1815;box-shadow:0 8px 18px -8px rgba(245,138,169,.85)}
html body .kopf .theme-btn:hover,html body .kopf .kontakt-btn:hover{color:#1b1815;box-shadow:0 12px 22px -8px rgba(245,138,169,.95)}
html body .kopf .theme-btn svg,html[data-theme="dark"] .kopf .theme-btn svg,body.home .kopf:not(.gescrollt) .theme-btn svg{color:#1b1815!important;stroke:#1b1815!important;fill:none}
html body .kopf .kontakt-btn img,html[data-theme="dark"] .kopf .kontakt-btn img,body.home .kopf:not(.gescrollt) .kontakt-btn img{filter:brightness(0)!important}
