:root{
  --navy:#192B63; --orange:#F39200; --blau:#009FE3; --nacht:#0D1838;
  --bg:#FFFFFF; --fg:#13182B; --mid:#4D5566; --mute:#8C93A3;
  --hair:#DFE3EA; --soft:#F4F6F9; --merk:#FFE9A8; --rund:6px; --kopf-h:76px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth;scroll-padding-top:calc(var(--kopf-h) + 18px)}
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--fg);margin:0;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--navy)}

.gut{max-width:1140px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}

.band{background:var(--navy);color:#fff;font-size:11px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;padding-block:9px;position:relative;z-index:6}

/* ---------- Kopf ---------- */
header{background:var(--bg);border-bottom:2px solid var(--navy);position:sticky;top:0;z-index:50;transition:background-color .2s,box-shadow .2s}
header.auf-bild{background:transparent;border-bottom:1px solid rgba(255,255,255,.2);margin-bottom:calc(-1px - var(--kopf-h))}
header.fest{box-shadow:0 8px 24px rgba(13,24,56,.18)}
header.auf-bild.fest{background:var(--navy);border-bottom-color:var(--navy)}
.kopfzeile{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--kopf-h)}
.marke{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--navy);font-size:19px;font-weight:700;letter-spacing:1.5px;flex:none}
.marke img{width:48px;height:48px}
header.auf-bild .marke{color:#fff}
nav.haupt{display:flex;align-items:center;gap:26px;margin-left:auto}
nav.haupt>a,.mehr>button{font:inherit;font-size:12px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--mid);text-decoration:none;background:none;border:0;padding:14px 0;cursor:pointer;white-space:nowrap}
nav.haupt>a:hover,.mehr>button:hover{color:var(--navy)}
header.auf-bild nav.haupt>a,header.auf-bild .mehr>button{color:rgba(255,255,255,.86)}
header.auf-bild nav.haupt>a:hover,header.auf-bild .mehr>button:hover{color:#fff}
nav.haupt>a[aria-current="page"],.mehr>button.aktiv,header.auf-bild nav.haupt>a[aria-current="page"],header.auf-bild .mehr>button.aktiv{color:var(--orange)}
.mehr{position:relative}
.mehr>button::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);margin:0 0 3px 9px}
.mehr-liste{display:none;position:absolute;left:-20px;top:calc(100% - 4px);background:#fff;border-radius:var(--rund);box-shadow:0 18px 44px rgba(13,24,56,.26);padding:8px 0;min-width:220px;z-index:30}
.mehr:hover .mehr-liste,.mehr:focus-within .mehr-liste{display:block}
.mehr-liste a{display:block;padding:10px 20px;color:var(--navy);font-size:12.5px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;text-decoration:none;white-space:nowrap}
.mehr-liste a:hover{background:var(--soft)}
.mehr-liste a[aria-current="page"]{color:var(--orange)}
.kopf-rechts{display:flex;align-items:center;gap:20px;flex:none}
.kopf-wa{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:var(--navy);text-decoration:none;white-space:nowrap}
.kopf-wa svg,.menue-wa svg{width:17px;height:17px;flex:none}
header.auf-bild .kopf-wa{color:#fff}
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;text-decoration:none;font:inherit;font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;padding:12px 18px;border-radius:4px;border:0;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.knopf:hover{background:#D98300;color:#fff}
.knopf[aria-current="page"]{background:var(--navy)}
.knopf.zweit{background:transparent;color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--navy)}
.knopf.zweit:hover{background:var(--navy);color:#fff}
.menue{display:none;position:relative}
.menue summary{list-style:none;cursor:pointer;font-size:11.5px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--navy);border:1px solid currentColor;border-radius:4px;padding:10px 13px;-webkit-user-select:none;user-select:none}
.menue summary::-webkit-details-marker{display:none}
header.auf-bild .menue summary{color:#fff}
.menue nav{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border-radius:var(--rund);box-shadow:0 18px 44px rgba(13,24,56,.28);padding:6px 0;min-width:240px;display:flex;flex-direction:column;z-index:30;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
.menue nav a{color:var(--navy);padding:11px 20px;font-size:12.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;text-decoration:none;border-top:1px solid var(--soft)}
.menue nav a:first-child{border-top:0}
.menue nav a[aria-current="page"]{color:var(--orange)}
.menue-trenner{display:block;height:8px;background:var(--soft)}
.menue nav .menue-wa{display:flex;align-items:center;gap:8px;text-transform:none;letter-spacing:.3px;font-size:14px}

/* ---------- Buehne: Foto oben mit Kopf darauf ---------- */
.buehne{position:relative;z-index:2;isolation:isolate;color:#fff;background:var(--nacht);display:flex;flex-direction:column;min-height:540px;padding-top:calc(var(--kopf-h) + 1px)}
.buehne.gross{min-height:min(90vh,820px)}
.buehne-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transform:scale(var(--zoom,1));transform-origin:var(--pos,50% 50%);z-index:-2}
.buehne-hg{position:absolute;inset:0;overflow:hidden;z-index:-2}
.buehne::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,24,56,.88) 0%,rgba(13,24,56,.7) 50%,rgba(13,24,56,.22) 100%),linear-gradient(180deg,rgba(13,24,56,.62) 0%,rgba(13,24,56,0) 26%,rgba(13,24,56,0) 72%,rgba(13,24,56,.3) 100%)}
.buehne-inhalt{flex:1;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:48px;padding-block:72px 120px}
.buehne-inhalt.mit-karte{grid-template-columns:minmax(0,1fr) 330px}
.buehne .unterzeile{color:var(--orange)}
.buehne h1{color:#fff;max-width:17ch;font-size:clamp(34px,5.4vw,60px);letter-spacing:-1.8px;line-height:1.04;margin-bottom:22px}
.buehne-lead{color:rgba(255,255,255,.9);font-size:19px;line-height:1.55;max-width:54ch;margin:0}
.buehne-badge{width:104px;height:auto;margin:0 0 26px;filter:drop-shadow(0 8px 22px rgba(0,0,0,.35))}
.buehne-logo{display:inline-block;background:#fff;border-radius:var(--rund);padding:10px 18px;margin:0 0 26px}
.buehne-logo img{width:230px}
.buehne-karte{background:#fff;color:var(--fg);border-radius:var(--rund);padding:24px 24px 20px;box-shadow:0 24px 60px rgba(0,0,0,.32)}
.kontaktzeile{display:block;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--hair)}
.kontaktzeile span{display:block;font-size:12.5px;color:var(--mute);font-weight:500}
.kontaktzeile b{display:block;font-size:17px;color:var(--navy);font-weight:600}
.kontaktzeile:hover b{color:var(--orange)}
.buehne-karte .karte-fuss{font-size:13.5px;margin:14px 0 0;color:var(--mid)}
.welle{position:absolute;left:0;bottom:-1px;width:100%;height:56px;display:block}

/* ---------- Grundtypo ---------- */
.held{padding-block:48px 40px}
h1{font-size:clamp(30px,5vw,48px);font-weight:700;letter-spacing:-1.4px;line-height:1.08;margin:0 0 20px;max-width:20ch;color:var(--navy)}
.unterzeile,.marker{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--orange);margin:0 0 14px}
.unterzeile::before,.marker::before{content:"";flex:none;width:30px;height:11px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 11'%3E%3Cpath d='M1 3.2c3.5 0 3.5 2.2 7 2.2s3.5-2.2 7-2.2 3.5 2.2 7 2.2 3.5-2.2 7-2.2' fill='none' stroke='%23009FE3' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M1 7.8c3.5 0 3.5 2.2 7 2.2s3.5-2.2 7-2.2 3.5 2.2 7 2.2 3.5-2.2 7-2.2' fill='none' stroke='%23009FE3' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left center/contain}
section{padding-block:80px}
h2{font-size:clamp(26px,3.5vw,38px);font-weight:700;letter-spacing:-1px;line-height:1.14;margin:0 0 18px;max-width:24ch;color:var(--navy)}
h3{font-size:18px;font-weight:600;letter-spacing:-0.2px;margin:0 0 6px;color:var(--navy)}
p{margin:0 0 14px;max-width:66ch;color:var(--mid)}
p:last-child{margin-bottom:0}
.stark{color:var(--fg);font-size:18.5px;max-width:58ch}

ul.punkte{margin:14px 0 0;padding-left:0;list-style:none;columns:2;column-gap:36px}
ul.punkte li{font-size:15.5px;color:var(--mid);padding:5px 0 5px 20px;position:relative;break-inside:avoid}
ul.punkte li::before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;background:var(--blau);border-radius:50%}

/* ---------- Karten ---------- */
.karten{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 0}
.karte{border:1px solid var(--hair);border-top:3px solid var(--blau);padding:20px;text-decoration:none;color:inherit;display:block}
.karte:hover{border-color:var(--navy);border-top-color:var(--orange)}
.karte .rolle{font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin:0 0 8px}
.karte p{font-size:14.5px;margin:0;max-width:none}

.fotokarten{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px;margin:36px 0 0}
.fotokarte{display:block;text-decoration:none;color:inherit}
.fotokarte .foto{aspect-ratio:4/3;border-radius:var(--rund);overflow:hidden;background:var(--soft);margin:0 0 18px}
.fotokarte .foto img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);transform:scale(var(--zoom,1));transition:transform .5s ease}
a.fotokarte:hover .foto img{transform:scale(calc(var(--zoom,1) * 1.045))}
a.fotokarte:hover h3{color:var(--orange)}
.fotokarte .rolle{font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin:0 0 6px}
.fotokarte p{font-size:15px;margin:0;max-width:none}
.foto.fehlt,.bild-fehlt{border:1px dashed #C4CBD8;background:var(--soft);display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;border-radius:var(--rund)}
.bild-fehlt{aspect-ratio:4/5}
.foto.fehlt span,.bild-fehlt span{font-size:11.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--mute);line-height:1.6;max-width:30ch}

/* ---------- Fotoband ---------- */
.fotoband{position:relative;isolation:isolate;border-radius:8px;overflow:hidden;min-height:500px;display:flex;align-items:flex-end;margin:0 0 34px;background:var(--nacht)}
.fotoband>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);z-index:-2}
.fotoband::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,24,56,.9) 0%,rgba(13,24,56,.6) 46%,rgba(13,24,56,0) 82%)}
.fotoband-text{padding:52px;max-width:660px}
.fotoband h2{color:#fff}
.fotoband .stark{color:rgba(255,255,255,.92)}

/* ---------- Split ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:64px;align-items:center}
.split.bild-links{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}
.split.bild-links .split-bild{order:-1}
.split.oben{align-items:start}
.split-bild img{width:100%;border-radius:var(--rund);aspect-ratio:4/5;object-fit:cover;object-position:var(--pos,50% 50%)}
.split-bild.quer img,.split-bild.quer .bild-fehlt{aspect-ratio:4/3}
.split-bild.natur img{aspect-ratio:auto;object-fit:contain}
.split-bild.doppel{position:relative;padding-bottom:72px}
.split-bild.doppel img.klein{position:absolute;left:-36px;bottom:0;width:40%;aspect-ratio:3/4;border:6px solid #fff;box-shadow:0 16px 36px rgba(13,24,56,.2)}
.split ul.punkte{columns:1}
.split + .kasten,.split + .galerie,.split + .preis{margin-top:34px}

/* ---------- Zahlen ---------- */
.zahlen{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:28px 0 0}
.zahl .wert{font-size:clamp(26px,3.4vw,36px);font-weight:700;letter-spacing:-1.2px;line-height:1;color:var(--navy)}
.zahl .was{font-size:13px;color:var(--mute);margin-top:6px;line-height:1.35}
section.zahlenblock{padding:0;display:grid;grid-template-columns:1fr 1fr;margin-top:30px}
.zb-bild{position:relative;min-height:580px}
.zb-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.zb-text{background:var(--navy);display:flex;align-items:center}
.zb-innen{padding:80px clamp(24px,6vw,88px);max-width:680px}
.zb-text p{color:#C9D2E4}
.zb-text .stark{color:#fff;font-size:21px;line-height:1.5}
.zb-text .zahlen{grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px}
.zb-text .zahl{background:#fff;border-radius:var(--rund);padding:20px 20px 18px}

/* ---------- Reihen, Kasten, Preis ---------- */
.reihe{border-top:1px solid var(--hair);padding:14px 0;display:flex;gap:22px;align-items:baseline}
.reihe:last-of-type{border-bottom:1px solid var(--hair)}
.reihe .links{min-width:200px;font-weight:600;font-size:15.5px;color:var(--fg)}
.reihe .rechts{color:var(--mid);font-size:15.5px}
.kasten{background:var(--soft);border-left:3px solid var(--orange);padding:22px 24px;margin:26px 0 0;border-radius:0 var(--rund) var(--rund) 0}
.kasten h3{margin-bottom:8px}
.preis{border:1px solid var(--hair);border-radius:var(--rund);padding:22px;margin:20px 0 0}
.preis h3{margin-bottom:10px}
.preis .zeile{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid var(--hair);font-size:15.5px}
.preis .zeile:last-child{border-bottom:0}
.preis .zeile span:first-child{color:var(--mid)}
.preis .zeile span:last-child{font-weight:600;white-space:nowrap}
.preise{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.preise .preis{margin-top:0}

.bildplatz{border:1px dashed #C4CBD8;border-radius:var(--rund);background:var(--soft);aspect-ratio:21/8;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;margin:30px 0 0}
.bildplatz span{font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--mute);max-width:38ch;line-height:1.6}
.merk{background:var(--merk);color:var(--fg);padding:1px 6px;font-weight:500}

/* ---------- Galerien ---------- */
.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0 0}
.galerie.drei{grid-template-columns:repeat(3,1fr)}
.galerie img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:var(--pos,50% 50%);border-radius:var(--rund)}
.produkte{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0 0}
.produkte figure{border:1px solid var(--hair);border-radius:var(--rund);overflow:hidden}
.produkte .pbild{overflow:hidden}
.produkte img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;padding:16px}
.produkte img.voll{object-fit:cover;padding:0;transform:scale(var(--zoom,1))}
.produkte figcaption{font-size:14px;color:var(--mid);font-weight:500;padding:12px 16px;border-top:1px solid var(--hair)}
.mosaik{columns:3;column-gap:16px;margin:30px 0 0}
.mosaik img{width:100%;margin:0 0 16px;border-radius:var(--rund);break-inside:avoid}
.streifen{height:280px;overflow:hidden}
.streifen img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}

/* ---------- Siegel ---------- */
section.siegelband{background:var(--navy);padding-block:70px}
.siegelband h2{color:#fff}
.siegel{display:flex;flex-wrap:wrap;gap:36px 60px;align-items:center;margin-top:32px}
.siegel figure{display:flex;align-items:center;gap:18px}
.siegel img{width:112px;height:112px;object-fit:contain}
.siegel img.rund{border-radius:50%;object-fit:cover;object-position:44% 55%}
.siegel figcaption{color:#C9D2E4;font-size:14.5px;max-width:20ch;line-height:1.4}

/* ---------- Ausfluege ---------- */
.liste-ziele{margin:28px 0 0}
.ziel{border-top:1px solid var(--hair);padding:18px 0;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center}
.ziel:last-child{border-bottom:1px solid var(--hair)}
.ziel-bild img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--rund)}
.ziel-bild.leer{aspect-ratio:3/2;border:1px dashed #C4CBD8;border-radius:var(--rund);background:var(--soft);display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:10.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--mute)}
.ziel .kat{font-size:10.5px;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;color:var(--blau);margin:0 0 4px}
.ziel p{font-size:15px;margin:4px 0 0}

/* ---------- Kontaktblock ---------- */
.plan{max-width:400px;margin:0 auto;border:1px solid var(--hair)}
.anfahrt{margin:40px 0 0}
.anfahrt-platz{position:relative;aspect-ratio:21/8;border-radius:var(--rund);overflow:hidden;background:var(--soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 20h40M20 0v40' stroke='%23DFE3EA' stroke-width='1'/%3E%3C/svg%3E");border:1px solid var(--hair);display:flex;align-items:center}
.anfahrt-text{padding:28px 32px;max-width:520px}
.anfahrt-text p{font-size:15px}
.anfahrt-platz iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.split-bild img.plan{aspect-ratio:auto;object-fit:contain}

/* ---------- Fuss ---------- */
footer{background:var(--navy);color:#fff;padding-block:34px 44px;margin-top:110px;position:relative}
.welle-oben{position:absolute;left:0;bottom:calc(100% - 1px);width:100%;height:56px;display:block}
footer .gut{color:#fff}
.fussmarken{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding-bottom:32px;margin-bottom:34px;border-bottom:1px solid rgba(255,255,255,.16)}
.fussmarken a{display:block}
.fussmarken img{width:74px;height:74px;transition:transform .15s}
.fussmarken a:hover img{transform:translateY(-3px)}
.fussmarken .platz{width:74px;height:74px;border-radius:50%;border:1px dashed rgba(255,255,255,.42);display:flex;align-items:center;justify-content:center;text-align:center;font-size:8.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#AAB6CF;padding:8px;line-height:1.3}
.fussraster{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.fussraster h4{font-size:11px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--orange);margin:0 0 11px}
.fussraster p,.fussraster a{font-size:15px;color:#C9D2E4;margin:0 0 4px}
.fussraster a{display:block;text-decoration:none}
.fussraster a:hover{color:#fff}
.ende{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:12px;color:#95A3C0}

/* ---------- Hinweis für Matthias ---------- */
.notiz{background:#FFF7D9;border:1px solid #F0D98A;border-left:4px solid #E5B800;border-radius:0 var(--rund) var(--rund) 0;padding:15px 20px;margin:26px 0 0;max-width:780px}
.notiz-kopf{font-size:10.5px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#8A6A00;margin:0 0 6px}
.notiz p{color:#3D3420;font-size:15px;margin:0 0 7px;max-width:none}
.notiz p:last-child{margin-bottom:0}
[hidden]{display:none!important}
.notiz.idee{max-width:820px}
.nachricht{background:#fff;border:1px solid #E6D9A8;border-radius:10px;padding:14px 16px;margin:12px 0 14px;max-width:420px;box-shadow:0 6px 18px rgba(61,52,32,.08)}
.notiz .nachricht p{margin:0 0 4px;font-size:14.5px;color:var(--fg)}
.notiz .nachricht .n-kopf{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--mute);margin-bottom:8px}
.nachricht .n-kopf b{color:var(--navy)}
.notiz .nachricht .n-titel{font-weight:700;color:var(--navy);font-size:15.5px}
.notiz .nachricht .n-knoepfe{display:flex;gap:8px;margin:12px 0 0}
.nachricht .n-knoepfe span{border:1px solid var(--hair);border-radius:16px;padding:4px 12px;font-size:13px;font-weight:600;color:var(--navy)}

/* ---------- Status Camp ---------- */
.status{display:flex;align-items:center;gap:11px;font-weight:700;font-size:17px;color:var(--fg);margin:4px 0 10px}
.status::before{content:"";flex:none;width:11px;height:11px;border-radius:50%;background:#2E9E5B;box-shadow:0 0 0 4px rgba(46,158,91,.18)}
.status.wenig::before{background:var(--orange);box-shadow:0 0 0 4px rgba(243,146,0,.2)}
.status.voll::before{background:#C8322F;box-shadow:0 0 0 4px rgba(200,50,47,.18)}
.buehne-karte .knopf{width:100%;margin-top:16px}
.buehne-karte .marker + .status{margin-top:0}

/* ---------- Knöpfe und Downloads ---------- */
.knopfreihe{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0 0}
.downloads{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.download{display:inline-flex;align-items:center;gap:12px;border:1px solid var(--hair);border-radius:var(--rund);padding:10px 16px 10px 12px;text-decoration:none;color:var(--navy);font-weight:600;font-size:14.5px;line-height:1.3;background:#fff}
.download:hover{border-color:var(--navy)}
.download .typ{background:var(--navy);color:#fff;font-size:9.5px;letter-spacing:1px;font-weight:700;padding:5px 6px;border-radius:3px}
.download small{display:block;font-weight:500;color:var(--mute);font-size:12px;margin-top:2px}

/* ---------- Preislisten ---------- */
.pl-vorweg{margin:18px 0 0}
.preisliste{margin:20px 0 0;border:1px solid var(--hair);border-radius:var(--rund);overflow:hidden}
.pl-gruppe + .pl-gruppe{border-top:1px solid var(--hair)}
.pl-gruppe h3{background:var(--soft);font-size:12px;letter-spacing:1.6px;text-transform:uppercase;margin:0;padding:12px 20px}
.pl-hinweis{font-size:14px;color:var(--mid);padding:10px 20px 2px;margin:0;max-width:none}
.pl-zeile{display:grid;grid-template-columns:minmax(0,1fr) 210px 96px;gap:16px;padding:11px 20px;border-top:1px solid var(--hair);font-size:15px;align-items:baseline}
.pl-gruppe h3 + .pl-zeile,.pl-hinweis + .pl-zeile{border-top:0}
.pl-was{color:var(--fg)}
.pl-einheit{color:var(--mute);font-size:13.5px}
.pl-preis{text-align:right;font-weight:700;white-space:nowrap;color:var(--navy)}
.pl-fuss{font-size:13.5px;color:var(--mute);margin:12px 0 0;max-width:none}

/* ---------- Formulare ---------- */
.formular{border:1px solid var(--hair);border-radius:8px;padding:32px;margin:28px 0 0;background:#fff;box-shadow:0 10px 30px rgba(13,24,56,.05)}
.formular fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}
.formular legend{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin:0 0 14px;padding:0}
.felder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.felder.drei,.felder.eng{grid-template-columns:repeat(3,minmax(0,1fr))}
.felder + .felder{margin-top:14px}
.feld label{display:block;font-size:13px;font-weight:600;color:var(--fg);margin:0 0 6px}
.feld input,.feld select,.feld textarea{width:100%;font:inherit;font-size:16px;padding:11px 12px;border:1px solid #C4CBD8;border-radius:4px;background:#fff;color:var(--fg)}
.feld textarea{min-height:120px;resize:vertical}
.feld input:focus,.feld select:focus,.feld textarea:focus{outline:2px solid var(--blau);outline-offset:1px;border-color:var(--blau)}
.feld.breit{grid-column:1/-1}
.feld-titel{font-size:13px;font-weight:600;color:var(--fg);margin:20px 0 8px}
.wahl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.wahl.zwei{grid-template-columns:repeat(2,minmax(0,1fr))}
.wahl label{display:flex;gap:12px;align-items:flex-start;border:1px solid #C4CBD8;border-radius:6px;padding:14px;cursor:pointer;font-size:15px;line-height:1.4}
.wahl label:has(input:checked){border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:#F6F8FC}
.wahl input{margin:3px 0 0;accent-color:var(--navy);flex:none}
.wahl b{display:block;color:var(--navy)}
.wahl small{display:block;color:var(--mid);font-size:13.5px;margin-top:2px}
.haken{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--mid);margin:0 0 14px;cursor:pointer}
.haken input{margin-top:3px;accent-color:var(--navy);flex:none;width:17px;height:17px}
.summe{background:var(--navy);color:#fff;border-radius:6px;padding:18px 22px;margin:0 0 18px}
.summe .zeile{display:flex;justify-content:space-between;gap:16px;padding:5px 0;font-size:15px;color:#C9D2E4}
.summe .gesamt{border-top:1px solid rgba(255,255,255,.2);margin-top:8px;padding-top:12px;color:#fff;font-weight:700;font-size:18px}
.summe .hinweis{font-size:13.5px;color:#FFD38A;margin:8px 0 0;max-width:none}
.summe .hinweis:empty{display:none}
.klein{font-size:14px}
.formular .knopf{margin-top:6px;padding:14px 22px}
.formular-ok{display:none;background:#E9F6EE;border:1px solid #9CD3B0;color:#1F5E37;border-radius:6px;padding:14px 16px;margin:16px 0 0;font-size:15px}
.formular.gesendet .formular-ok{display:block}

/* ---------- FAQ ---------- */
.faq-gruppe{margin:0 0 48px;scroll-margin-top:20px}
.faq-gruppe:last-of-type{margin-bottom:0}
.frage{border-top:1px solid var(--hair);max-width:820px}
.frage:last-child{border-bottom:1px solid var(--hair)}
.frage summary{list-style:none;cursor:pointer;padding:17px 44px 17px 0;font-weight:600;font-size:17px;color:var(--navy);position:relative}
.frage summary::-webkit-details-marker{display:none}
.frage summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:26px;font-weight:400;color:var(--blau)}
.frage[open] summary::after{content:"\2212"}
.frage .antwort{padding:0 0 20px}
.frage .antwort .notiz{margin-top:12px}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px;margin:34px 0 0}
.person .foto{aspect-ratio:4/5;margin:0 0 16px}
.person .rolle{font-size:10.5px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin:0 0 6px}
.person p{font-size:15px}

/* ---------- Winterkarte ---------- */
section.karte-abschnitt{padding-block:60px;border-top:1px solid var(--hair)}
.karte-abschnitt.mit-rand{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:60px;align-items:start}
.gerichte{margin:20px 0 18px;border-top:1px solid var(--hair)}
.gericht{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;padding:13px 0;border-bottom:1px solid var(--hair)}
.gericht h4{margin:0;font-size:16.5px;font-weight:600;color:var(--fg);letter-spacing:-.1px}
.gericht .preis-k{font-weight:700;color:var(--navy);white-space:nowrap}
.gericht p{grid-column:1/-1;margin:3px 0 0;font-size:14.5px}
.v{display:inline-block;font-size:10px;font-weight:700;color:#2E7D4F;border:1px solid #2E7D4F;border-radius:3px;padding:0 4px;margin-left:9px;vertical-align:2px;line-height:1.5}
.nachsatz{font-size:13.5px;color:var(--mute)}
.geschichte{background:var(--soft);border-radius:var(--rund);padding:24px 26px}
.geschichte + .geschichte{margin-top:18px}
.geschichte p{font-size:15px}
.unterschrift{font-size:11px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:var(--orange);margin-top:20px}
.wissen{background:var(--soft);border-radius:var(--rund);padding:24px 26px}
.wissen .reihe .links{min-width:150px}
.gerichte .unterkat{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blau);margin:0;padding:26px 0 8px;border-bottom:1px solid var(--hair);max-width:none}
.gerichte .unterkat:first-child{padding-top:14px}
/* Getr&auml;nkekarte: zwei Spalten wie auf Papier */
@media(min-width:901px){
  .getraenke{max-width:1140px;margin:0 auto;padding-inline:24px;columns:2;column-gap:64px}
  .getraenke section.karte-abschnitt{max-width:none;padding-inline:0;break-inside:avoid}
}
.fisch-foto{position:relative}
.fisch-foto img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--rund)}
.angebot-fisch .fisch-foto,.fisch-woche .fisch-foto{margin:0 0 20px}
.foto-merk{position:absolute;left:10px;bottom:10px;font-size:12px;border-radius:3px}
.karte-rand .fisch-woche{background:#fff;border:2px solid var(--navy)}
.fisch-woche h3{font-size:22px;letter-spacing:-.3px}

/* ---------- Freitagsfisch ---------- */
.angebot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;background:var(--navy);border-radius:8px;overflow:hidden}
.angebot-text{padding:48px 46px}
.angebot-text h2{color:#fff}
.angebot-text p{color:#C9D2E4}
.angebot-text .stark{color:#fff}
.angebot-fisch{background:#fff;border-radius:6px;margin:26px;padding:30px 30px 32px}
.angebot-fisch h3{font-size:clamp(24px,3vw,30px);font-weight:700;letter-spacing:-.6px;line-height:1.15;margin:0 0 10px}
.angebot-fisch p{font-size:15.5px}
.angebot-fisch p.woher{color:var(--fg)}
p.angebot-preis{font-size:30px;font-weight:700;color:var(--navy);letter-spacing:-.5px;margin:8px 0 2px}
.fisch-woche p.frist{font-weight:600;color:var(--orange);margin-bottom:16px}
.angebot-fisch p.frist{font-weight:600;color:var(--orange);margin-bottom:18px}
.zu-text{display:none}
.vorbei .offen{display:none}
.vorbei .zu-text{display:block;font-weight:600;color:var(--fg)}
.fisch-kurz{background:var(--soft);border-radius:var(--rund);padding:12px 16px;font-size:15.5px;max-width:none}
.formular-zu{display:none}
.formular.vorbei fieldset,.formular.vorbei .haken,.formular.vorbei button{opacity:.4}
.formular.vorbei .formular-zu{display:block;font-weight:600;color:var(--fg);margin:14px 0 0}
.tipp{background:#EAF6FD;border-left:3px solid var(--blau);padding:10px 14px;font-size:15px;margin:12px 0 0;max-width:none}
@media(max-width:900px){
  .angebot{grid-template-columns:minmax(0,1fr)}
  .angebot-text{padding:34px 26px 4px}
  .angebot-fisch{margin:22px 16px 16px;padding:24px 22px 26px}
}

@media(max-width:1060px){
  nav.haupt,.kopf-wa{display:none}
  .menue{display:block}
}
@media(max-width:900px){
  .fotokarten,.karten{grid-template-columns:repeat(2,1fr)}
  .fussraster{grid-template-columns:repeat(2,1fr)}
  .buehne-inhalt.mit-karte{grid-template-columns:minmax(0,1fr);gap:34px}
  .buehne-karte{max-width:440px}
  .split,.split.bild-links{grid-template-columns:minmax(0,1fr);gap:36px}
  .split.bild-links .split-bild{order:0}
  section.zahlenblock{grid-template-columns:1fr}
  .zb-bild{min-height:420px}
  .galerie{grid-template-columns:repeat(2,1fr)}
  .mosaik{columns:2}
  .split-bild.doppel img.klein{left:auto;right:18px}
  .karte-abschnitt.mit-rand{grid-template-columns:minmax(0,1fr);gap:28px}
  .team{grid-template-columns:repeat(2,1fr)}
  .wahl{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
  body{font-size:16px}
  :root{--kopf-h:68px}
  .buehne{min-height:0}
  .buehne.gross{min-height:620px}
  .buehne-bild{object-position:var(--pos-m,var(--pos,50% 50%));transform:none}
  .split-bild img.plan{max-width:280px}
  .buehne::before{background:linear-gradient(180deg,rgba(13,24,56,.72) 0%,rgba(13,24,56,.5) 40%,rgba(13,24,56,.82) 100%)}
  .buehne-inhalt{padding-block:52px 84px;align-items:end}
  .buehne-lead{font-size:17px}
  .buehne-badge{width:82px;margin-bottom:20px}
  .buehne-logo img{width:180px}
  .welle,.welle-oben{height:28px}
  .held{padding-block:34px 30px}
  section{padding-block:56px}
  .fotokarten,.karten{grid-template-columns:1fr}
  .zahlen{grid-template-columns:repeat(2,1fr)}
  .bildplatz{aspect-ratio:4/3}
  .fotoband{min-height:560px}
  .fotoband::before{background:linear-gradient(180deg,rgba(13,24,56,0) 18%,rgba(13,24,56,.92) 66%)}
  .fotoband-text{padding:28px 22px}
  .fussraster{grid-template-columns:1fr}
  .reihe{flex-direction:column;gap:3px}
  .reihe .links{min-width:0}
  ul.punkte{columns:1}
  .preise{grid-template-columns:1fr}
  .ziel{grid-template-columns:1fr;gap:14px}
  .ziel-bild.leer{display:none}
  .streifen{height:180px}
  .zb-bild{min-height:320px}
  .zb-innen{padding:56px 24px}
  .galerie{gap:10px}
  .produkte{grid-template-columns:1fr 1fr;gap:12px}
  .siegel{gap:24px}
  .siegel img{width:90px;height:90px}
  .split-bild.doppel{padding-bottom:56px}
  .split-bild.doppel img.klein{width:38%}
  footer{margin-top:70px}
  .fussmarken img,.fussmarken .platz{width:62px;height:62px}
  .kopfzeile{gap:12px}
  .marke{font-size:17px;gap:9px}
  .marke img{width:40px;height:40px}
  .kopf-rechts{gap:8px}
  .kopf-rechts>.knopf{padding:10px 12px;font-size:11px}
  .knopf .lang{display:none}
  .pl-zeile{grid-template-columns:minmax(0,1fr) auto;row-gap:2px;padding:11px 16px}
  .pl-was{grid-column:1;grid-row:1}
  .pl-preis{grid-column:2;grid-row:1}
  .pl-einheit{grid-column:1/-1;grid-row:2}
  .pl-gruppe h3,.pl-hinweis{padding-left:16px;padding-right:16px}
  .formular{padding:22px 16px}
  .felder,.wahl.zwei{grid-template-columns:minmax(0,1fr)}
  .felder.drei{grid-template-columns:repeat(2,minmax(0,1fr))}
  .felder.eng{grid-template-columns:repeat(3,minmax(0,1fr))}
  .team{grid-template-columns:minmax(0,1fr)}
  .downloads .download{width:100%}
  .anfahrt-platz{aspect-ratio:auto;min-height:340px}
  .anfahrt-platz.geladen{min-height:420px}
  .anfahrt-text{padding:22px 18px}
  section.karte-abschnitt{padding-block:44px}
  .geschichte,.wissen{padding:20px}
}
@media(max-width:370px){
  .marke span{display:none}
}
