@font-face{font-family:"Marcellus";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/marcellus-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/archivo-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/archivo-latin-500-normal.woff2) format("woff2")}
:root{--schoko:#3A2F2A;--blau:#C9CCF5;--creme:#EFE6D6;--sand:#E7DDCB;--hell:#F6F1E7;--braun:#3A2F2A;--braun-tief:#2B2320;--weich:#5A4E47;--senf:#9E8B5A;--senf-dunkel:#6E5F37;--senf-hell:#C2AF7E;--linie:#D3C7B1;--serif:"Marcellus","Optima",Georgia,serif;--sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--braun);background:var(--creme);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--braun)}a:hover{color:var(--braun-tief)}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,56px)}
.sektion{padding:clamp(72px,9vw,128px) 0}
.korn{background-image:url(img/grain.png)}
.sand{background-color:var(--sand)}
.dunkel{background-color:var(--schoko);color:var(--creme)}
.dunkel a{color:var(--creme)}
.label{margin:0;font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--senf-dunkel)}
.dunkel .label{color:var(--blau)}
h1,h2,h3.serif,.serif{font-family:var(--serif);font-weight:400;margin:0}
h1,h2{text-transform:uppercase;letter-spacing:.02em}
h1{font-size:clamp(2.2rem,3.8vw,3.3rem);line-height:1.08}
h2{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.1}
h3{margin:0;font-weight:500;font-size:1.1rem}
p{margin:0;color:var(--weich)}
.dunkel p{color:#E4DACB}
.kopf{display:flex;flex-direction:column;gap:18px;max-width:700px;margin-bottom:52px}
.kopf.mitte{margin-left:auto;margin-right:auto;text-align:center;align-items:center}
.knopf{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:999px;background:var(--braun);color:var(--creme)!important;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.knopf:hover{background:var(--braun-tief)}
.knopf.hell-k{background:var(--creme);color:var(--braun)!important}
.knopf.hell-k:hover{background:#fff}
.knopf.linie-k{background:transparent;border:1px solid var(--braun);color:var(--braun)!important}
header{background:var(--creme)}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:26px;padding-bottom:26px}
.marke{font-family:var(--serif);font-size:18px;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--braun)}
.nav nav{display:flex;flex-wrap:wrap;align-items:center;gap:30px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
.nav nav a{text-decoration:none}
.nav nav .knopf{min-height:42px;padding:0 22px;font-size:12px}
.hero{padding-top:clamp(24px,4vw,48px)}
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(36px,6vw,80px)}
.hero-text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:28px}
.hero-text .unter{font-size:1.15rem;max-width:500px}
.hero-bild{flex:1 1 380px;min-width:0}
.hero-bild img{width:100%;height:clamp(420px,50vw,660px);object-fit:cover;object-position:50% 35%}
.aktionen{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:44px}
.schritt{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--linie)}
.schritt .nr{font-family:var(--serif);font-size:1.4rem;letter-spacing:.1em;color:var(--senf)}
.kreise{position:relative;width:100%;max-width:900px;aspect-ratio:3/1;margin:0 auto 56px}
.kreise svg{position:absolute;inset:0;width:100%;height:100%}
.kreise span{position:absolute;top:50%;transform:translate(-50%,-50%);font-size:clamp(10px,1.5vw,15px);font-weight:500;letter-spacing:.22em;color:var(--creme)}
.saeule{display:flex;flex-direction:column;gap:12px;text-align:center}
.saeule h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;text-transform:uppercase;letter-spacing:.08em;color:var(--blau)}
.bogen-scroll{overflow-x:auto}
.bogen{min-width:720px;display:flex;flex-direction:column;gap:18px}
.bogen svg{width:100%;height:auto;display:block}
.phasen{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.phasen div{padding:0 10px;text-align:center;display:flex;flex-direction:column;gap:8px}
.phasen h3{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.phasen p{font-size:.95rem;line-height:1.5}
.ort{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--linie)}
.ort h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em}
.mitte-text{text-align:center;margin-bottom:40px}
.illu{padding:clamp(56px,7vw,96px) 0;background:var(--hell)}
.figuren{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:28px;max-width:960px;margin:0 auto}
.figur{display:flex;flex-direction:column;align-items:center;gap:16px}
.figur svg{width:100%;max-width:200px;height:auto}
.figur span{font-size:12px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--senf-dunkel)}
.ueber .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(36px,6vw,96px)}
.ueber .bild{flex:1 1 340px;min-width:0}
.ueber .bild img{width:100%;height:clamp(420px,46vw,620px);object-fit:cover;object-position:50% 30%}
.ueber .text{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px}
.preise{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-bottom:30px}
.preis{display:flex;flex-direction:column;gap:12px;padding:30px;border:1px solid rgba(239,230,214,.35)}
.preis.erste{background:var(--creme);border-color:var(--creme)}
.preis h3{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blau)}
.preis.erste h3{color:var(--senf-dunkel)}
.betrag{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--creme)}
.preis.erste .betrag{color:var(--braun)}
.hinweis{font-size:.95rem}
.klein{font-size:.85rem}
.buchen-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.buchen-karte{background:var(--hell);padding:34px;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.buchen-karte .betrag{color:var(--braun);font-size:1.9rem;text-transform:uppercase;letter-spacing:.04em}
.faq .wrap{display:flex;flex-wrap:wrap;gap:48px}
.faq .kopf{flex:1 1 280px;min-width:0;margin:0}
.fragen{flex:999 1 560px;min-width:0;border-top:1px solid var(--linie)}
details{padding:20px 0;border-bottom:1px solid var(--linie)}
summary{cursor:pointer;font-size:1.05rem;font-weight:500;list-style:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:1.4rem;color:var(--senf)}
details[open] summary::after{content:"–"}
details p{margin-top:10px;max-width:680px}
footer{background:#2E1C16;color:var(--creme)}
footer a:hover{color:var(--blau)}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:40px;padding-bottom:40px}
footer .marke{color:var(--creme)}
footer nav{display:flex;flex-wrap:wrap;gap:28px;font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}
footer a{color:var(--creme);text-decoration:none}
.rechtlich{padding:clamp(48px,7vw,96px) 0}
.rechtlich .wrap{max-width:820px}
.rechtlich h1{margin-bottom:32px;font-size:clamp(2rem,4vw,3rem)}
.rechtlich h2{font-size:1.3rem;margin:36px 0 12px}
.rechtlich p+p{margin-top:12px}
:focus-visible{outline:2px solid var(--senf);outline-offset:3px}
.dunkel :focus-visible{outline-color:var(--blau)}
@media (max-width:640px){.nav nav{gap:16px}}
.dunkel .ort{border-top-color:rgba(239,230,214,.3)}
.dunkel .ort h3{color:var(--blau)}
.preis{border-color:var(--linie)}
.preis h3{color:var(--senf-dunkel)}
.betrag{color:var(--braun)}
.preis.erste{background:var(--schoko);border-color:var(--schoko)}
.preis.erste h3{color:var(--blau)}
.preis.erste .betrag{color:var(--creme)}
.preis.erste p{color:#E4DACB}
.dunkel .buchen-karte p{color:var(--weich)}
.dunkel .buchen-karte .label{color:var(--senf-dunkel)}
.dunkel .buchen-karte .betrag{color:var(--braun)}
footer{border-top:1px solid rgba(239,230,214,.12)}
footer{background:var(--sand);color:var(--braun);border-top:none}
footer .marke,footer a{color:var(--braun)}
footer a:hover{color:var(--senf-dunkel)}
