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

:root{
  --nacht:#1D1712; --bronze:#3A2E22; --gold:#C3A109; --gold-hell:#E2C45C; --gold-d:#765F00;
  --grund:#F2F3EC; --tinte:#221E19; --stein:#5C574E; --linie:#DCDCD2; --weiss:#FFFFFF; --creme:#EFE8DA;
  --serif:"Garamond","EB Garamond",Georgia,serif; --sans:"Nunito","Nunito Sans",system-ui,sans-serif;
  --breit:1240px; --rand:40px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--grund);color:var(--tinte);font-family:var(--sans);font-size:17px;line-height:1.65;font-optical-sizing:auto;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-d);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--tinte)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0 0 .5em;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(32px,5.2vw,70px);overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
h2,h3{overflow-wrap:break-word}
h2{font-size:clamp(30px,3.3vw,44px)}
h3{font-size:clamp(23px,2vw,28px)}
h4{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin:1.4em 0 .6em}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--gold-d);outline-offset:3px}
.s-dunkel :focus-visible,.hero :focus-visible,.fuss :focus-visible,.codes-band :focus-visible,.sek-dunkel :focus-visible{outline-color:var(--gold-hell)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--tinte);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:10px;top:10px}
.label{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin:0 0 14px}
.lead{font-size:clamp(18px,1.6vw,21px);color:var(--stein);max-width:58ch}
.lead-klein{font-family:var(--serif);font-size:24px;line-height:1.35}
.klein{font-size:14px;color:var(--stein)}
.gruss{font-family:var(--serif);font-size:22px;line-height:1.35}

/* Band + Kopf */
.kopf{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--rand);background:rgba(242,243,236,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid transparent;transition:border-color .3s}
.kopf.gescrollt{border-bottom-color:var(--linie)}
.kopf-dunkel{background:rgba(29,23,18,.94);color:var(--creme)}
.kopf-dunkel.gescrollt{border-bottom-color:rgba(195,161,9,.18)}
.marke{display:flex;align-items:center;gap:10px;text-decoration:none}
.marke img{height:35px;width:auto}
.marke .wort{height:27px}
#hauptnav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;flex-wrap:wrap}
#hauptnav a{color:inherit;text-decoration:none;font-size:15px;font-weight:600;letter-spacing:.01em;padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
#hauptnav a:hover{border-bottom-color:currentColor}
#hauptnav a[aria-current]{border-bottom-color:var(--gold);color:var(--gold-d)}
.kopf-dunkel #hauptnav a[aria-current]{color:var(--gold-hell)}
.menue-knopf{display:none;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer;color:inherit;position:relative;z-index:60}
.menue-knopf i{display:block;height:1.5px;background:currentColor;margin:7px 0;transition:transform .3s}
.menue-knopf[aria-expanded=true] i:nth-of-type(1){transform:translateY(4.25px) rotate(45deg)}
.menue-knopf[aria-expanded=true] i:nth-of-type(2){transform:translateY(-4.25px) rotate(-45deg)}

/* Knöpfe */
.knopf{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:var(--tinte);color:var(--grund);border:1px solid var(--tinte);border-radius:2px;font:700 15px/1.2 var(--sans);letter-spacing:.02em;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.knopf:hover{background:var(--gold-d);border-color:var(--gold-d);color:#fff}
.knopf:active{transform:translateY(1px)}
.knopf-gold{background:var(--gold);border-color:var(--gold);color:var(--nacht)}
.knopf-gold:hover{background:var(--gold-hell);border-color:var(--gold-hell);color:var(--nacht)}
.knopf-rand{background:transparent;color:var(--tinte)}
.pfeil{display:inline-block;font-weight:700;text-decoration:none;color:var(--gold-d);margin-top:8px}
.pfeil::after{content:" →";display:inline-block;transition:transform .25s}
.pfeil:hover::after{transform:translateX(4px)}
.pfeil.hell{color:var(--gold-hell)}
.mehr{font-weight:600}

/* Abschnitte */
.sek{max-width:var(--breit);margin:0 auto;padding:104px var(--rand)}
.sek + .sek{padding-top:24px}

/* HERO */
.hero{background:var(--nacht);color:var(--creme);overflow:hidden;position:relative}
.hero-in{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,480px);grid-template-rows:auto 1fr;column-gap:40px;padding:28px var(--rand) 40px;min-height:min(calc(100svh - 92px),860px)}
.hero .nk{display:contents}
.hero-text{grid-column:2;grid-row:1;padding-top:12px;position:relative;z-index:2}
.hero h1{font-size:clamp(32px,2.8vw,41px);line-height:1.08;margin-bottom:12px;color:#F6F0E2}
.hero-wer{font-size:14.5px;color:#BFB49E;margin:0 0 6px}
.nk-feld{position:relative;min-height:560px}
.hero .nk-feld{grid-column:1;grid-row:1 / span 2}
.nk-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.nk-gong{position:absolute;left:var(--gx,40px);top:var(--gy,140px);width:var(--gd,300px);height:var(--gd,300px);border-radius:50%;box-shadow:0 0 0 1px rgba(195,161,9,.45),0 40px 90px rgba(0,0,0,.55);z-index:1}
.nk-gong img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.nk-gong.schlag{animation:schlag 1.6s cubic-bezier(.2,.7,.3,1)}
@keyframes schlag{0%{transform:scale(1)}6%{transform:scale(.985) translateX(-1.5px)}14%{transform:scale(1.008) translateX(1.2px)}24%{transform:scale(.996) translateX(-.7px)}38%{transform:scale(1.002) translateX(.3px)}100%{transform:none}}
.nk-marken{position:absolute;inset:0;z-index:2}
.nk-marke{position:absolute;left:0;top:0;transform:translate(-7px,-7px);display:flex;align-items:center;gap:10px;background:none;border:0;padding:0;color:#D8CDB4;font:600 13px/1.2 var(--sans);cursor:pointer;white-space:nowrap}
.nk-marke i{display:block;width:14px;height:14px;border-radius:50%;background:var(--nacht);border:2px solid var(--gold);transition:transform .3s,background .3s;flex:none}
.nk-marke span{opacity:.75;transition:opacity .3s}
.nk-marke:hover span,.nk-marke.aktiv span{opacity:1;color:#fff}
.nk-marke.aktiv i{background:var(--gold);transform:scale(1.25);box-shadow:0 0 0 6px rgba(195,161,9,.18)}
.nk-ring{fill:none;stroke:var(--gold);stroke-opacity:.38;stroke-width:1;transition:stroke-opacity .4s,stroke-width .4s}
.nk-ring.aktiv{stroke-opacity:.95;stroke-width:1.6}
.nk-ring.plan{stroke-dasharray:3 7}
.nk-woche{fill:none;stroke:#EFE8DA;stroke-opacity:.07;stroke-width:1}
.nk-wl{fill:#EFE8DA;fill-opacity:.38;font:11px var(--sans);letter-spacing:.04em}
.nk-welle{fill:none;stroke:var(--gold-hell);stroke-width:1.2}
.nk-liste{position:relative;z-index:2}
.hero .nk-liste{grid-column:2;grid-row:2;align-self:start}
.nk-titel{font-family:var(--sans);font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hell);margin:18px 0 6px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.nk-heute{color:#A99D86;font-weight:600;letter-spacing:.06em}
.ev-liste{list-style:none;margin:0;padding:0;border-bottom:1px solid rgba(195,161,9,.22)}
.ev{border-top:1px solid rgba(195,161,9,.22)}
.ev[hidden]{display:none}
.ev-kopf{display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center;width:100%;text-align:left;background:none;border:0;color:inherit;padding:10px 4px;cursor:pointer;font:inherit}
.ev-zahl{display:flex;flex-direction:column;line-height:1}
.ev-zahl b{font-family:var(--serif);font-weight:500;font-size:36px;color:var(--gold);letter-spacing:-.02em}
.ev-zahl small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#A99D86;margin-top:3px}
.ev-name{font-family:var(--serif);font-size:23px;line-height:1.15;color:#F3ECDD;transition:color .2s}
.ev-name .zus{display:block;font-family:var(--sans);font-size:13.5px;color:#CDBF95;margin-top:2px}
.ev-datum{display:block;font-family:var(--sans);font-size:14px;color:#B3A891;margin-top:3px}
.ev.aktiv .ev-name,.ev-kopf:hover .ev-name{color:var(--gold-hell)}
.ev-detail{padding:0 4px 14px 80px;font-size:15px;color:#DCD3C1}
.ev-detail .knopf{min-height:44px;padding:10px 20px}
.ev-detail p{margin:0 0 12px}
.ev-detail strong{color:#fff}
.ev-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.ev-detail .mehr{color:#E2C45C}
.nk-verklungen{font-size:13.5px;color:#958A74;margin:12px 0 0}
.nk-legende{font-size:13px;color:#958A74;margin:4px 0 14px}
.gong-knopf{display:inline-flex;align-items:center;gap:12px;background:none;border:1px solid rgba(226,196,92,.55);color:var(--gold-hell);font:700 14.5px var(--sans);padding:11px 18px;border-radius:2px;cursor:pointer;transition:background .2s,border-color .2s}
.gong-knopf small{font-weight:500;color:#B3A891}
.gong-knopf:hover{background:rgba(195,161,9,.12);border-color:var(--gold)}
.gk-punkt{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--gold-hell);position:relative}
.gong-knopf[aria-pressed=true] .gk-punkt{background:var(--gold-hell);box-shadow:0 0 0 5px rgba(226,196,92,.15)}

/* kleine Variante (Veranstaltungen) */
.sek-dunkel{max-width:none;background:var(--nacht);color:var(--creme);padding-left:max(var(--rand),calc((100% - 1160px)/2));padding-right:max(var(--rand),calc((100% - 1160px)/2));overflow:hidden}
.sek + .sek-dunkel,.sek-dunkel + .sek{padding-top:64px}
.nk-klein{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,460px);gap:40px;align-items:center}
.nk-klein .nk-feld{min-height:500px}
.nk-klein .nk-titel{margin-top:0}

/* Seitenkopf */
.seitenkopf{max-width:var(--breit);margin:0 auto;padding:72px var(--rand) 56px;display:grid;gap:56px;align-items:end}
.seitenkopf.mit-bild{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.seitenkopf:not(.mit-bild) .sk-text{max-width:900px;border-bottom:1px solid var(--linie);padding-bottom:40px}
.sk-bild{margin:0}
.sk-bild img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Willkommen */
.willkommen{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center}
.w-bild{margin:0}
.w-bild img{width:100%;aspect-ratio:5/4;object-fit:cover}
.w-text .gruss{display:flex;gap:14px;align-items:flex-start;font-size:21px;margin-top:24px}
.w-text .gruss img{flex:none;margin-top:4px}

/* Reihen */
.reihen{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--linie)}
.reihe a{display:grid;grid-template-columns:56px minmax(180px,300px) minmax(0,1fr) 168px;gap:28px;align-items:center;padding:26px 0;border-top:1px solid var(--linie);color:inherit;text-decoration:none}
.r-nr{font-family:var(--serif);font-size:18px;color:var(--gold-d)}
.r-name{font-family:var(--serif);font-size:clamp(28px,2.6vw,36px);line-height:1.08;transition:color .25s}
.r-name small{display:block;font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--stein);margin-top:8px}
.r-text{color:var(--stein);max-width:52ch}
.r-text b{display:block;color:var(--tinte);font-weight:700;margin-top:6px}
.r-bild{overflow:hidden}
.r-bild img{width:168px;height:120px;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.reihe a:hover .r-name{color:var(--gold-d)}
.reihe a:hover .r-bild img{transform:scale(1.05)}
.angebot>h2{margin-bottom:28px}

/* Preise */
.preise{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;align-items:start}
.preise-kopf p{color:var(--stein)}
.preistab{width:100%;border-collapse:collapse;font-size:16px}
.preistab th,.preistab td{text-align:left;padding:16px 12px 16px 0;border-bottom:1px solid var(--linie);vertical-align:baseline}
.preistab thead th{font:700 12.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);padding-top:0}
.preistab tbody th{font-family:var(--serif);font-weight:500;font-size:23px;white-space:nowrap}
.preistab tbody th a{color:inherit;text-decoration:none}
.preistab tbody th a:hover{color:var(--gold-d)}
.preistab td:last-child{font-weight:700;white-space:nowrap;text-align:right;padding-right:0}
.preistab td:nth-child(2){color:var(--stein)}
.preise-fuss{grid-column:2;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin:8px 0 0}
.preise-fuss span{color:var(--stein)}

/* Codes Band */
.codes-band{max-width:none;background:var(--bronze);color:var(--creme);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;padding-left:max(var(--rand),calc((100% - 1160px)/2));padding-right:max(var(--rand),calc((100% - 1160px)/2))}
.sek + .codes-band{padding-top:96px;margin-top:80px}
.codes-band h2{color:#F6F0E2}
.codes-band p{color:#CFC4AC}
.code-reihe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px}
.code-reihe li{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#CFC4AC}
.code{position:relative;font:800 15px var(--sans);letter-spacing:.08em;color:var(--gold-hell);background:rgba(0,0,0,.18);border:1px dashed rgba(226,196,92,.7);border-radius:2px;padding:12px 14px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.code:hover{background:rgba(0,0,0,.3);border-style:solid}
.code::after{content:"kopieren";position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:600;letter-spacing:.06em;opacity:.55}
.code.kopiert::after{content:"kopiert";opacity:1}
.sek:not(.codes-band) .code{color:var(--gold-d);background:#fff;border-color:var(--gold-d);padding-right:86px}
.sek:not(.codes-band) .code:hover{background:#FBF8EC}

/* Rezepte Teaser */
.rt-kopf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:end;margin-bottom:36px}
.rt-kopf p{color:var(--stein);margin:0}
.rt-reihe{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rt-reihe a{display:block;color:inherit;text-decoration:none}
.rt-reihe img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.rt-reihe a>img{overflow:hidden}
.rt-reihe span{display:block;font-family:var(--serif);font-size:22px;margin-top:10px}
.rt-reihe a:hover span{color:var(--gold-d)}

/* Blog Teaser */
.blog-teaser{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.blog-teaser figure{margin:0}
.blog-teaser img{width:100%;aspect-ratio:1;object-fit:cover}

/* Text und Bild */
.text-bild{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:start}
.text-bild figure{margin:0}
.text-bild figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.text-bild.umgekehrt figure{order:2}
.fliess{max-width:64ch}
.fliess h2:not(:first-child),.fliess h3:not(:first-child){margin-top:1.4em}
.fliess figure{margin:0 0 28px}
.fliess figure img{aspect-ratio:3/2}
blockquote{font-family:var(--serif);font-size:26px;line-height:1.35;margin:0 0 28px;padding:0}
blockquote.gross{font-size:clamp(26px,2.6vw,34px);line-height:1.3}
blockquote cite{display:block;font:600 14px var(--sans);color:var(--stein);margin-top:10px;font-style:normal}
.zitat-klein{font-family:var(--serif);font-size:22px;color:var(--gold-d)}
.liste{list-style:none;margin:0 0 1.2em;padding:0}
.liste li{position:relative;padding:6px 0 6px 22px;border-bottom:1px solid var(--linie)}
.liste li::before{content:"";position:absolute;left:2px;top:15px;width:7px;height:7px;border-radius:50%;border:1.5px solid var(--gold)}
.zwei-listen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.zwei-listen h3{font-size:24px}

/* Fakten */
.fakten{margin:0 0 28px;border-bottom:1px solid var(--linie)}
.fakten>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;padding:16px 0;border-top:1px solid var(--linie)}
.fakten dt{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);padding-top:3px}
.fakten dd{margin:0}
.kasten-reihe{max-width:900px}
.hinweis{border:1px solid var(--linie);background:#E9EBE2;padding:24px 28px;max-width:900px;font-size:15px;color:var(--stein)}
.hinweis h2{font:700 12.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--tinte);margin-bottom:8px}
.hinweis p{margin:0}
.hinweis-klein{font-size:14px;color:var(--stein);border-left:2px solid var(--gold);padding-left:14px}

/* Daten */
.daten-sek{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
.daten-kasten{background:var(--nacht);color:var(--creme);padding:36px 36px 28px}
.daten-kasten h2{font-size:28px;color:#F6F0E2}
.daten-kasten p{color:#CFC4AC}
.daten{list-style:none;margin:0 0 20px;padding:0}
.daten li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 0;border-top:1px solid rgba(195,161,9,.25);font-family:var(--serif);font-size:24px;color:#F3ECDD}
.daten li small{font-family:var(--sans);font-size:14px;color:#CDBF95;flex-basis:100%}
.daten li em{font-style:normal;font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--gold-hell);margin-left:auto}
.daten li.vorbei span{text-decoration:line-through;text-decoration-thickness:1px;color:#8E846F}
.daten li.vorbei em{color:#8E846F}

/* Veranstaltungen */
.ev-alle>h2{margin-bottom:28px}
.ev-block{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;padding:40px 0;border-top:1px solid var(--linie)}
.ev-block.vorbei{display:none}
.eb-tag{display:block;font-family:var(--serif);font-size:26px;line-height:1.2}
.eb-status{display:block;margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-d)}
.ev-block h3{font-size:32px}
.verklungen-block{border-top:1px solid var(--linie);padding-top:32px;color:var(--stein)}
.verklungen-block h2{font-size:22px}
.verklungen-block ul{list-style:none;padding:0;margin:0}
.verklungen-block li{padding:4px 0;text-decoration:line-through;text-decoration-thickness:1px}
.individuell{max-width:900px;margin-left:max(0px,calc((100% - var(--breit))/2))}

/* Methode */
.methode{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}
.saeulen{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 40px}
.saeulen li{counter-increment:s;border-top:1px solid var(--tinte);padding-top:16px}
.saeulen li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--serif);font-size:15px;color:var(--gold-d);margin-bottom:6px}
.saeulen b{display:block;font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.2;margin-bottom:8px}
.saeulen p{color:var(--stein);font-size:16px;margin:0}
.saeulen.fuenf{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.philosophie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px}

/* Personen */
.person{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:48px;border-top:1px solid var(--linie);margin-top:24px}
.p-kopf h2{font-size:clamp(56px,7vw,104px);line-height:.95}
.gedicht{list-style:none;margin:0;padding:0;columns:2;column-gap:32px;font-family:var(--serif);font-size:20px;line-height:1.45}
.gedicht li{break-inside:avoid;padding:1px 0}
.gedicht li:first-child{color:var(--gold-d)}
.p-titel{font-weight:700}
.p-komp .liste li{font-size:15.5px;padding:4px 0 4px 20px}
.p-komp .liste li::before{top:12px}
.breitbild{margin:40px auto 0;max-width:1440px;padding:0 var(--rand)}
.breitbild img{width:100%;max-height:78vh;object-fit:cover}
.wko{display:flex;gap:28px;align-items:center;max-width:900px}
.wko img{width:120px;flex:none}
.wko p{margin:0;color:var(--stein)}

/* Für dich */
.fd-intro{max-width:900px;margin-left:max(0px,calc((100% - var(--breit))/2))}
.fd-intro p:first-child{font-size:18px}
.fd-nav{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:20px}
.fd-nav a{font-weight:700}
.produkt{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:56px;padding:56px 0;border-top:1px solid var(--linie);scroll-margin-top:90px}
.produkt h3{font-size:34px}
.pr-text p{color:var(--stein)}
.pr-text p a{color:var(--gold-d)}
.code-zeile{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:16px 0}
.code-zeile span{font-size:15px;color:var(--tinte)}
.pr-links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px}
.pr-bilder{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;align-content:start}
.pr-bilder figure{margin:0}
.pr-bilder img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:1px solid var(--linie)}
.pr-bilder figcaption{font-size:13px;color:var(--stein);margin-top:6px;line-height:1.4}
#dreberhardt .pr-bilder,#anatis .pr-bilder{grid-template-columns:1fr}
#dreberhardt .pr-bilder img,#anatis .pr-bilder img{aspect-ratio:auto}

/* Rezepte */

.rz-intro>p{max-width:64ch;font-size:18px}
.rz-index{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.rz-index a{display:block;text-decoration:none;color:inherit}
.rz-index img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rz-index span{display:block;font-family:var(--serif);font-size:18px;line-height:1.2;margin-top:6px}
.rz-index a:hover span{color:var(--gold-d)}
.rezept{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;padding:64px 0;border-top:1px solid var(--linie);scroll-margin-top:90px}
.rz-bild{margin:0;position:sticky;top:100px;align-self:start}
.rz-bild img{width:100%;aspect-ratio:4/5;object-fit:cover}
.rz-spalten{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:36px}
.rz-zutaten ul{list-style:none;margin:0;padding:0;font-size:15.5px}
.rz-zutaten li{padding:5px 0;border-bottom:1px solid var(--linie)}
.rz-zub p{font-size:16px}
.rz-zweit{margin:12px 0 0}
.tipp{background:#E9EBE2;padding:18px 22px;font-size:15.5px}
.tipp b{display:block;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin-bottom:4px}

/* Artikel */
.artikel{max-width:860px;margin:0 auto;padding:72px var(--rand) 104px}
.art-kopf{margin-bottom:36px}
.art-bild{margin:0 0 48px}
.art-bild img{width:100%;aspect-ratio:16/10;object-fit:cover}
.art-text{max-width:66ch;font-size:18px}
.art-text p:first-child::first-letter{font-family:var(--serif);float:left;font-size:72px;line-height:.85;padding:6px 10px 0 0;color:var(--gold-d)}
.art-fuss{border-top:1px solid var(--linie);margin-top:40px;padding-top:28px}

/* Kontakt */
.kontakt-raster{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:start}
.formular label{display:block;font-weight:700;font-size:14.5px;margin-bottom:18px}
.formular small{font-weight:500;color:var(--stein)}
.formular input,.formular select,.formular textarea,.nl-form input{display:block;width:100%;margin-top:6px;font:400 16px var(--sans);color:var(--tinte);background:#fff;border:1px solid #BDBDB2;border-radius:2px;padding:12px 14px;transition:border-color .2s}
.formular input:focus,.formular select:focus,.formular textarea:focus,.nl-form input:focus{border-color:var(--gold-d);outline:2px solid rgba(118,95,0,.25);outline-offset:0}
.formular .fehler{border-color:#A3402B}
.f-zwei{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.f-danke{background:var(--nacht);color:var(--creme);padding:16px 20px;margin-top:16px;font-size:15.5px}
.formular .klein{margin-top:16px}
.k-daten p{font-size:16.5px}
.gross-link{font-family:var(--serif);font-size:26px}
.newsletter{border-top:1px solid var(--linie);margin-top:36px;padding-top:28px}
.newsletter h2{font-size:28px}
.newsletter p{color:var(--stein);font-size:15.5px}
.nl-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.nl-form input{margin:0}
.nl-form .f-danke{grid-column:1 / -1}
.recht{max-width:900px}
.recht h2{font-size:26px;margin-top:1.4em}

/* Fuß */
.fuss{background:var(--nacht);color:#D3C9B6;margin-top:40px}
.fuss-in{max-width:var(--breit);margin:0 auto;padding:72px var(--rand) 48px;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));gap:40px}
.fuss h2{font:700 12.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hell);margin:0 0 14px}
.fuss h2.mt{margin-top:28px}
.fuss p{font-size:15px}
.fuss ul{list-style:none;margin:0;padding:0;font-size:15px}
.fuss li{padding:3px 0}
.fuss a{color:#EFE8DA;text-decoration:none}
.fuss a:hover{color:var(--gold-hell);text-decoration:underline}
.fuss-marke img{width:120px;margin-bottom:18px}
.fuss-marke p{color:#A99D86;font-size:14.5px}
.fuss-unten{max-width:var(--breit);margin:0 auto;padding:18px var(--rand) 28px;border-top:1px solid rgba(195,161,9,.18);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13.5px;color:#A99D86}
.fuss-unten a{margin-left:18px}

/* Einblenden */
.js .zeigen{opacity:0;transform:translateY(14px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .zeigen.da{opacity:1;transform:none}

/* Tablet */
@media (max-width:1100px){
  :root{--rand:32px}
  .hero-in{grid-template-columns:minmax(0,1fr) 400px}
  #hauptnav ul{gap:18px}
  .reihe a{grid-template-columns:44px minmax(150px,220px) minmax(0,1fr) 130px;gap:20px}
  .r-bild img{width:130px;height:96px}
  .person{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .p-kopf{grid-column:1 / -1}
  .fuss-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .menue-knopf{display:block}
  #hauptnav{position:fixed;inset:0;background:var(--nacht);color:var(--creme);padding:110px 32px 40px;transform:translateY(-102%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:50;visibility:hidden}
  #hauptnav.offen{transform:none;visibility:visible}
  #hauptnav ul{flex-direction:column;gap:6px}
  #hauptnav a{font-family:var(--serif);font-weight:500;font-size:34px;letter-spacing:0;border:0}
  #hauptnav a[aria-current]{color:var(--gold-hell)}
  .menue-offen .menue-knopf{color:var(--creme)}
  .hero-in{display:block;min-height:0;padding-top:20px}
  .hero .nk{display:block}
  .hero .nk-feld{min-height:0;height:340px;margin:0 calc(-1 * var(--rand))}
  .nk-klein{display:block}
  .nk-klein .nk-feld{min-height:0;height:340px;margin:0 calc(-1 * var(--rand)) 8px}
  .seitenkopf.mit-bild,.willkommen,.preise,.codes-band,.rt-kopf,.blog-teaser,.text-bild,.daten-sek,.methode,.philosophie,.produkt,.rezept,.kontakt-raster{grid-template-columns:minmax(0,1fr)}
  .preise-fuss{grid-column:1}
  .text-bild.umgekehrt figure{order:0}
  .rz-bild{position:static}
  .rz-bild img{aspect-ratio:3/2}
  .text-bild figure img{aspect-ratio:3/2}
  .seitenkopf.mit-bild{gap:32px}
}
/* Handy */
@media (max-width:640px){
  :root{--rand:20px}
  body{font-size:16.5px}
  .sek{padding-top:64px;padding-bottom:64px}
  .sek + .codes-band{margin-top:40px;padding-top:56px}
  .kopf{padding:10px var(--rand)}
  .marke img{height:30px}
  .marke .wort{height:23px}
  .hero h1{font-size:31px}
  .hero .nk-feld,.nk-klein .nk-feld{height:300px}
  .nk-marke{font-size:12px;gap:7px}
  .ev-kopf{grid-template-columns:52px 1fr;gap:10px}
  .ev-zahl b{font-size:34px}
  .ev-name{font-size:21px}
  .ev-detail{padding-left:62px}
  .seitenkopf{padding-top:40px;padding-bottom:32px}
  .reihe a{grid-template-columns:34px minmax(0,1fr) 92px;grid-template-areas:"nr name bild" "nr text bild";gap:6px 14px;padding:22px 0;align-items:start}
  .r-nr{grid-area:nr;padding-top:6px}
  .r-name{grid-area:name;font-size:27px}
  .r-text{grid-area:text;font-size:15px}
  .r-bild{grid-area:bild}
  .r-bild img{width:92px;height:92px}
  .preistab thead{display:none}
  .preistab tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:2px 12px;padding:14px 0;border-bottom:1px solid var(--linie)}
  .preistab th,.preistab td{border:0;padding:0}
  .preistab td:last-child{white-space:normal}
  .preistab td:nth-child(2){grid-row:2;grid-column:1 / -1;font-size:15px}
  .preistab tbody th{font-size:22px;white-space:normal}
  .code-reihe{grid-template-columns:minmax(0,1fr)}
  .rt-reihe{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .rt-reihe span{font-size:19px}
  .zwei-listen,.saeulen,.f-zwei{grid-template-columns:minmax(0,1fr)}
  .zwei-listen{gap:12px}
  .fakten>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .ev-block{grid-template-columns:minmax(0,1fr);gap:12px;padding:32px 0}
  .person{grid-template-columns:minmax(0,1fr);gap:28px}
  .gedicht{font-size:18px;column-gap:20px}
  .daten-kasten{padding:28px 22px 20px}
  .daten li{font-size:21px}
  .rz-spalten{grid-template-columns:minmax(0,1fr);gap:8px}
  .rz-index{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .rz-index span{font-size:15px}
  .fuss-in{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:56px}
  .fuss-unten a{margin:0 16px 0 0}
  .art-text{font-size:17px}
  .pr-bilder{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nl-form{grid-template-columns:minmax(0,1fr)}
  .wko{flex-direction:column;align-items:flex-start}
  .gross-link{font-size:22px;word-break:break-word}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .zeigen{opacity:1;transform:none}
}
@media (max-width:640px){.gedicht{font-size:17px;overflow-wrap:anywhere;hyphens:auto;column-gap:16px}}

.fuss-hinweis{max-width:var(--breit);margin:0 auto;padding:14px var(--rand) 0;border-top:1px solid rgba(195,161,9,.18);font-size:13.5px;color:#A99D86}
.fuss-hinweis + .fuss-unten{border-top:0;padding-top:6px}
.f-fehler{color:#8A2B17;margin:.8em 0 0;font-size:15px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-form .f-fehler{grid-column:1 / -1}
