/* WYLDFLY – Website (Design A, verfeinert) */
:root{
  --mist:#CED3D4; --foam:#E2E5E5; --slate:#4A5458; --slate-deep:#384144; --metal:#8E999C;
  --ink:#252218; --moss:#40473B; --sage:#676E53; --on-dark-soft:#DFE4E4;
  --gutter:clamp(20px,5vw,72px);
  --sec:clamp(72px,9.5vw,140px);
  --font:"Barlow Semi Condensed","Arial Narrow",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--mist);color:var(--ink);font:400 clamp(18px,1.25vw,21px)/1.5 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
picture{display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:.068em;text-transform:uppercase;line-height:.98;text-wrap:balance}
p,ol,ul,figure,blockquote{margin:0}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.on-dark :focus-visible{outline-color:#fff}
.skip{position:absolute;left:-9999px;top:12px;z-index:50;padding:12px 18px;background:#fff;color:var(--ink)}
.skip:focus{left:var(--gutter)}

/* Bausteine */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 28px;background:var(--ink);color:#fff;text-decoration:none;font:700 20px/1.1 var(--font);letter-spacing:.02em;white-space:nowrap}
.btn span{font-size:16px}
.btn:hover{background:var(--moss)}
.btn.light{background:#fff;color:var(--ink)}
.btn.light:hover{background:var(--foam)}
.lnk,.pr a{font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.lnk:hover,.pr a:hover{color:var(--slate)}
.eb{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);margin-bottom:clamp(18px,2vw,28px)}
.eb b{color:var(--ink);font-weight:700}
.eb::after{content:"";flex:1;height:1px;background:currentColor;opacity:.5;max-width:420px}
.on-dark .eb{color:#C9D0D1}.on-dark .eb b{color:#fff}
.sec{padding:var(--sec) var(--gutter)}
h2{font-size:clamp(40px,5.6vw,80px)}

/* Kopf */
.hero{position:relative;min-height:clamp(640px,100svh,960px);color:#fff;background:var(--ink);overflow:hidden;display:flex;flex-direction:column}
.hero>picture,.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,25,.55),rgba(20,24,25,0) 24%,rgba(20,24,25,0) 50%,rgba(20,24,25,.78))}
.bar{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px var(--gutter);border-bottom:1px solid rgba(255,255,255,.28)}
.logo img{width:clamp(130px,12vw,170px)}
#nav{display:flex;gap:clamp(18px,2.2vw,32px);font-size:17px;font-weight:500}
#nav a{text-decoration:none;padding:8px 0;border-bottom:1px solid transparent}
#nav a:hover{border-bottom-color:currentColor}
.menu-btn{display:none}
.hero-in{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(56px,10vh,150px) var(--gutter) clamp(32px,5vh,56px);gap:48px}
.hero h1{font-size:clamp(52px,9.2vw,132px);line-height:.9;max-width:11ch}
.hero-bot{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(24px,4vw,56px);align-items:end}
.hero-bot p{font-size:clamp(19px,1.5vw,22px);line-height:1.42;max-width:520px}
.hero-bot .rider{width:190px}

/* Formate */
.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,72px);align-items:end;padding-bottom:clamp(36px,4.5vw,64px)}
.intro-note{color:var(--moss)}
.fmt{padding-top:0}
.row{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,1.1fr) 280px;gap:clamp(24px,3vw,44px);align-items:center;padding:28px 0;border-top:1px solid var(--ink)}
.row:last-child{border-bottom:1px solid var(--ink)}
.row img{width:100%;aspect-ratio:4/5;object-fit:cover}
.n{display:block;font-size:14px;font-weight:600;letter-spacing:.2em;color:var(--slate);margin-bottom:14px}
.row h3{font-size:clamp(30px,3.2vw,46px);margin-bottom:10px}
.k{font-size:14px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--slate)}
.row-txt{color:var(--moss);line-height:1.5}
.row-txt span{display:block;color:var(--ink);font-weight:500;margin-top:6px}
.pr{text-align:right}
.pr b{display:block;font-size:clamp(30px,2.8vw,40px);line-height:1;white-space:nowrap}
.pr small{display:block;font-size:15px;margin:6px 0 18px}

/* Ablauf */
.band{display:grid;grid-template-columns:1.35fr 1fr;background:var(--slate-deep);color:#fff}
.band picture img{width:100%;height:100%;min-height:560px;object-fit:cover}
.band-t{padding:clamp(56px,7.5vw,110px) var(--gutter)}
.band h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:clamp(32px,4vw,56px)}
.band ol{padding:0;list-style:none}
.band li{display:grid;grid-template-columns:56px 1fr;padding:22px 0;border-top:1px solid rgba(255,255,255,.3)}
.band li b{font-size:30px;font-weight:300;color:var(--metal);line-height:1}
.band li h3{font-size:24px;margin-bottom:6px}
.band li p{font-size:18px;color:var(--on-dark-soft)}

/* Impressionen */
.imp-hd{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}
.imp-hd>div{flex:1}
.imp-g{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:repeat(2,clamp(200px,21vw,300px));gap:16px}
.imp-g figure{overflow:hidden}
.imp-g img{width:100%;height:100%;object-fit:cover}
.imp-g picture{height:100%}
.imp-g .big{grid-row:span 2}
.cap{font-size:14px;letter-spacing:.06em;color:var(--slate);margin-top:14px}

/* Über uns */
.team{display:grid;grid-template-columns:minmax(0,560px) minmax(0,1fr);gap:clamp(40px,6.5vw,96px);align-items:start;background:var(--foam)}
.team img{width:100%;aspect-ratio:3/4;object-fit:cover}
.team h2{font-size:clamp(38px,5vw,72px);margin-bottom:clamp(32px,4vw,56px)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-bottom:44px}
.two h3{font-size:15px;letter-spacing:.2em;color:var(--slate);margin-bottom:14px;font-weight:600}
.two p{font-size:clamp(18px,1.35vw,20px);line-height:1.55}

/* Reviere */
.rev{position:relative;color:#fff;background:var(--ink);overflow:hidden}
.rev>picture,.rev>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rev>picture{opacity:.5}
.rev-in{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6.5vw,96px);align-items:end}
.rev h2{font-size:clamp(38px,5vw,72px);margin-bottom:28px}
.rev-in>div>p{max-width:520px}
.rev ul{padding:0;list-style:none}
.rev li{padding:18px 0;border-top:1px solid rgba(255,255,255,.45)}
.rev li:last-child{border-bottom:1px solid rgba(255,255,255,.45)}
.rev .t{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-size:24px;font-weight:600}
.rev .t span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:.85;margin-left:12px}
.rev em{font-style:normal;font-size:34px;font-weight:700;white-space:nowrap}
.rev i{display:block;height:3px;background:#fff;opacity:.55;margin-top:10px}

/* Stimmen */
.q-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6.5vw,96px)}
blockquote{font-size:clamp(24px,2.2vw,32px);line-height:1.25;font-weight:500}
figcaption{margin-top:22px;font-size:17px;color:var(--slate)}
figcaption b{display:block;font-size:19px;color:var(--ink)}

/* Abschluss */
.end{background:var(--ink);color:#fff;padding:var(--sec) var(--gutter) 40px}
.end-g{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(40px,6.5vw,96px);align-items:end}
.end h2{font-size:clamp(48px,7.8vw,112px);line-height:.9}
.end p{color:var(--on-dark-soft);max-width:520px}
.tel{display:block;font-size:clamp(36px,3.6vw,52px);font-weight:700;margin:22px 0 6px;text-decoration:none}
.mail{display:block;font-size:22px;margin-bottom:30px;text-decoration:none}
.tel:hover,.mail:hover{text-decoration:underline}
.ft{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:24px;margin-top:clamp(72px,8vw,120px);padding-top:28px;border-top:1px solid rgba(255,255,255,.28);font-size:15px;color:var(--on-dark-soft)}
.ft img{width:300px;justify-self:center}
.ft nav{text-align:right}
.ft nav a{text-decoration:none}
.ft nav a:hover{text-decoration:underline}


/* ---------- Unterseiten ---------- */
:root{--err:#9B2C1F}
#nav a[aria-current=page]{border-bottom-color:currentColor}
.phero{position:relative;color:#fff;background:var(--ink);overflow:hidden;display:flex;flex-direction:column;min-height:clamp(520px,74svh,820px)}
.phero>picture,.phero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,24,25,.6),rgba(20,24,25,.05) 28%,rgba(20,24,25,.12) 52%,rgba(20,24,25,.84))}
.phero-in{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(48px,8vh,120px) var(--gutter) clamp(40px,6vh,72px)}
.phero h1{font-size:clamp(48px,8vw,116px);line-height:.92;max-width:14ch}
.phero .lead{max-width:640px;margin-top:24px;font-size:clamp(19px,1.6vw,24px);line-height:1.4}
.phero.plain{min-height:0}
.phero.plain::after{display:none}
.phero.plain .phero-in{padding-top:clamp(64px,9vw,130px)}
.phero.plain h1{font-size:clamp(40px,6vw,88px)}

.alt{background:var(--foam)}
.dark{background:var(--slate-deep);color:#fff}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,6vw,96px);align-items:start}
.split h2,.h2s{font-size:clamp(36px,4.6vw,68px)}
.prose p{max-width:66ch}
.prose p+p{margin-top:1.1em}
.prose .big{font-size:clamp(22px,1.9vw,28px);line-height:1.38;font-weight:500}
.prose .btn,.prose .lnk{margin-top:36px}
.mt{margin-top:clamp(40px,5vw,72px)}

.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.5vw,56px);padding:0;list-style:none;margin-top:clamp(40px,5vw,72px)}
.facts li{border-top:2px solid currentColor;padding-top:22px}
.facts b{display:block;font-size:clamp(40px,4.4vw,64px);font-weight:300;line-height:1;margin-bottom:16px;color:var(--slate)}
.dark .facts b{color:var(--metal)}
.facts h3{font-size:22px;margin-bottom:10px}
.facts p{font-size:18px;color:var(--moss)}
.dark .facts p{color:var(--on-dark-soft)}

.duo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);background:var(--slate-deep);color:#fff}
.duo.flip{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.duo.flip>picture{order:2}
.duo>picture img{width:100%;height:100%;min-height:520px;object-fit:cover}
.duo-t{padding:clamp(56px,7.5vw,110px) var(--gutter)}
.duo h2{font-size:clamp(36px,4.4vw,64px);margin-bottom:clamp(24px,3vw,40px)}
.duo p{color:var(--on-dark-soft)}
.duo p+p{margin-top:1em}
.duo ol{padding:0;list-style:none;margin-top:8px}
.duo li{display:grid;grid-template-columns:56px 1fr;padding:22px 0;border-top:1px solid rgba(255,255,255,.3)}
.duo li b{font-size:30px;font-weight:300;color:var(--metal);line-height:1}
.duo li h3{font-size:24px;margin-bottom:6px}
.duo li p{font-size:18px}

.cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
.cols2 h3,.lbl{font-size:15px;letter-spacing:.2em;color:var(--slate);margin-bottom:12px;font-weight:600;text-transform:uppercase}
.ticks{padding:0;list-style:none}
.ticks li{padding:14px 0 14px 36px;border-top:1px solid rgba(37,34,24,.3);position:relative}
.ticks li:last-child{border-bottom:1px solid rgba(37,34,24,.3)}
.ticks li::before{content:"";position:absolute;left:0;top:28px;width:20px;height:2px;background:var(--ink)}

.pk{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),540px));gap:clamp(20px,3vw,40px);margin-top:clamp(36px,4vw,56px)}
.pk article{background:#fff;padding:clamp(28px,3vw,44px);display:flex;flex-direction:column;gap:12px}
.alt .pk article{background:var(--mist)}
.pk h3{font-size:clamp(26px,2.4vw,34px)}
.pk .meta{color:var(--moss)}
.pk .p{margin-top:auto;padding-top:24px;border-top:1px solid var(--ink);font-size:clamp(34px,3.2vw,48px);font-weight:700;line-height:1}
.pk .p small{display:block;font-size:16px;font-weight:400;margin-top:8px;color:var(--moss);line-height:1.4}
.note{font-size:15px;color:var(--slate);margin-top:18px;letter-spacing:.04em}

.qs{padding:0;list-style:none;margin-top:clamp(28px,3.5vw,44px)}
.duo .qs li{display:block;font-size:clamp(24px,2.8vw,40px);font-weight:700;text-transform:uppercase;letter-spacing:.068em;line-height:1.05;padding:20px 0;border-top:1px solid rgba(255,255,255,.35)}

.gal{columns:3 280px;column-gap:16px}
.gal figure{break-inside:avoid;margin-bottom:16px}
.gal img{width:100%}

.wide img{width:100%;aspect-ratio:21/9;object-fit:cover}

.rv{padding:0;list-style:none}
.rv li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(140px,auto);gap:clamp(20px,4vw,64px);padding:clamp(28px,3vw,44px) 0;border-top:1px solid var(--ink);align-items:start}
.rv li:last-child{border-bottom:1px solid var(--ink)}
.rv h3{font-size:clamp(32px,3.6vw,52px)}
.rv .tag{display:block;margin-top:12px;font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.rv dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 24px;margin:0}
.rv dt{font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--slate);padding-top:4px}
.rv dd{margin:0}
.rv .km{font-size:clamp(44px,5vw,72px);font-weight:700;line-height:.9;text-align:right;white-space:nowrap}
.rv .km i{display:block;height:3px;background:var(--ink);margin:16px 0 0 auto}

.faq details{border-top:1px solid var(--ink)}
.faq details:last-child{border-bottom:1px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:24px 0;font-size:clamp(21px,1.8vw,26px);font-weight:600;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:34px;font-weight:300;line-height:1;flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq summary:hover{color:var(--slate)}
.faq details p{padding:0 0 26px;max-width:68ch;color:var(--moss)}
.sticky{position:sticky;top:32px}
.sticky p{color:var(--moss);margin-top:22px;max-width:420px}
.sticky .lnk{display:inline-block;margin-top:28px}

.legal{max-width:880px}
.legal h2{font-size:clamp(22px,2vw,28px);margin:56px 0 16px;line-height:1.15}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{font-size:18px;line-height:1.62}
.legal p+p{margin-top:.9em}
.legal ul{padding-left:1.2em;margin:.8em 0}
.legal li+li{margin-top:.3em}
.legal .stand{font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--slate);margin-bottom:40px}
.imp-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(24px,4vw,56px)}
.imp-card>div{border-top:2px solid var(--ink);padding-top:22px}
.imp-card h2{margin:0 0 14px}
.imp-card a{text-decoration:none}
.imp-card a:hover{text-decoration:underline}

/* Kontakt */
.kwrap{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(40px,6vw,96px)}
.form h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:14px}
.form .fintro{color:var(--moss);margin-bottom:44px;max-width:640px}
.f{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px}
.full{grid-column:1/-1}
.field label,.field legend{display:block;font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;padding:0}
.req{color:var(--slate);font-weight:500;letter-spacing:.04em;text-transform:none}
input[type=text],input[type=email],input[type=tel],textarea{width:100%;font:400 20px/1.4 var(--font);color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:12px 2px;min-height:52px}
textarea{min-height:170px;resize:vertical;border:2px solid var(--ink);padding:14px 16px}
input:focus,textarea:focus{outline:0;background:rgba(255,255,255,.35);box-shadow:0 2px 0 var(--ink)}
input::placeholder,textarea::placeholder{color:#5f6a6d}
fieldset{border:0;margin:0;padding:0;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:12px}
.field label.chip{position:relative;display:block;margin:0;text-transform:none;letter-spacing:.02em}
.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip span{display:flex;align-items:center;min-height:48px;padding:10px 20px;border:2px solid var(--ink);font-size:19px;font-weight:600}
.chip input:checked+span{background:var(--ink);color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}
.field label.check{display:flex;text-transform:none;letter-spacing:0;font-weight:400;margin:0}
.check{display:flex;gap:14px;align-items:flex-start;font-size:18px;line-height:1.45}
.check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--ink);flex:0 0 auto}
.hint{font-size:16px;color:var(--moss);margin-top:8px}
.err{display:none;color:var(--err);font-size:16px;font-weight:600;margin-top:8px}
.field.bad .err{display:block}
.field.bad input,.field.bad textarea{border-color:var(--err)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.send{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:8px}
.send small{font-size:16px;color:var(--moss)}
button.btn{border:0;cursor:pointer}
.btn[disabled]{opacity:.6;cursor:progress}
.status{grid-column:1/-1;padding:22px 26px;font-size:19px;display:none}
.status.ok{display:block;background:var(--ink);color:#fff}
.status.fail{display:block;background:#fff;outline:2px solid var(--err)}
.done h2{font-size:clamp(38px,4.4vw,64px);margin-bottom:20px}
.side{display:flex;flex-direction:column;gap:44px}
.side .card{padding-top:26px;border-top:2px solid var(--ink)}
.side h3{font-size:28px;margin-bottom:14px}
.side .bigl{display:block;font-size:clamp(30px,2.8vw,42px);font-weight:700;text-decoration:none;line-height:1.1;overflow-wrap:anywhere}
.side .bigl+.bigl{font-size:clamp(22px,2vw,30px);margin-top:10px}
.side .bigl:hover{text-decoration:underline}
.side ol{margin:0;padding:0;list-style:none;counter-reset:s}
.side li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;padding:12px 0;border-bottom:1px solid rgba(37,34,24,.25)}
.side li::before{content:counter(s);font-size:28px;font-weight:300;color:var(--slate);line-height:1}
.side li b{display:block}
.side img{width:100%;aspect-ratio:4/5;object-fit:cover}
.end.slim{padding-top:40px}
.end.slim .ft{margin-top:0;border-top:0;padding-top:0}


/* ---------- Termine */
.thead{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.tfilter{display:flex;flex-wrap:wrap;gap:10px}
.tfilter a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:2px solid var(--ink);text-decoration:none;font-weight:600;font-size:17px}
.tfilter a[aria-current]{background:var(--ink);color:#fff}
.tfilter a:hover{background:var(--foam)}
.tfilter a[aria-current]:hover{background:var(--moss)}
.tbeispiel{background:var(--foam);border-left:0;padding:14px 20px;font-size:16px;color:var(--moss);margin-bottom:24px}
.tl{list-style:none;padding:0;margin:0}
.tmon{font-size:14px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate);padding:34px 0 12px}
.tmon:first-child{padding-top:0}
.tr{display:grid;grid-template-columns:110px minmax(0,1fr) auto auto;gap:clamp(16px,3vw,44px);align-items:center;padding:24px 0;border-top:1px solid var(--ink)}
.tr:last-of-type{border-bottom:1px solid var(--ink)}
.tr.gewaehlt{background:var(--foam);box-shadow:0 0 0 12px var(--foam)}
.tr.aus .tinfo,.tr.aus .tdate{opacity:.55}
.tdate{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:end;line-height:1}
.tdn{grid-row:1/3;font-size:62px;font-weight:700;letter-spacing:.02em;line-height:.8}
.tdm{font-size:16px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tdw{font-size:15px;color:var(--slate);letter-spacing:.1em;text-transform:uppercase;padding-bottom:2px}
.tinfo h3{font-size:clamp(24px,2.2vw,32px);margin-bottom:8px}
.tinfo p{font-size:18px;color:var(--moss)}
.tinfo .tpreis{color:var(--ink);font-weight:600;margin-top:4px}
.tag{font-style:normal;font-size:12px;letter-spacing:.14em;vertical-align:middle;border:1px solid var(--slate);color:var(--slate);padding:3px 8px;margin-left:8px;font-weight:600}
.sitze{display:flex;flex-direction:column;gap:8px;font-size:16px;font-weight:600;white-space:nowrap}
.sitze .dots{display:flex;gap:6px}
.sitze i{width:14px;height:14px;border-radius:50%;border:2px solid var(--ink)}
.sitze i.voll{background:var(--ink)}
.tr .btn{font-size:18px;padding:16px 22px}
.btn.aus{background:transparent;color:var(--slate);border:2px solid var(--metal);cursor:default}
.tleer{padding:40px 0;border-top:1px solid var(--ink);display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.tleer .big{font-size:clamp(22px,1.9vw,28px);font-weight:500}
.tform{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(40px,6vw,96px);align-items:start}
.tsum h2{font-size:clamp(32px,3.4vw,48px);margin:10px 0 26px}
.tbig{font-size:22px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:flex-end;gap:12px;line-height:1}
.tbig span{font-size:clamp(72px,8vw,110px);font-weight:700;line-height:.78;letter-spacing:0}
.tsum dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 22px;margin:0 0 26px;padding-top:22px;border-top:1px solid var(--ink)}
.tsum dt{font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--slate);padding-top:4px}
.tsum dd{margin:0}
.tnotiz{background:var(--mist);padding:16px 18px;margin-bottom:22px;font-size:18px}
.tdanke .prose .lnk{display:inline-block}


/* ---------- Gutscheine */
.end .gift{display:inline-block;margin-top:22px;margin-left:4px;font-weight:600;font-size:18px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:2px}
.end .gift:hover{border-bottom-color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.garten{border:0;margin:clamp(28px,3.5vw,44px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.gkarte{position:relative;display:block;cursor:pointer}
.gkarte input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.gk-in{display:flex;flex-direction:column;gap:10px;height:100%;padding:22px 22px 24px;background:#fff;border:2px solid transparent}
.gkarte input:checked+.gk-in{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.gkarte input:focus-visible+.gk-in{outline:3px solid var(--ink);outline-offset:3px}
.gkarte:hover .gk-in{border-color:var(--metal)}
.gkarte input:checked+.gk-in:hover{border-color:var(--ink)}
.gk-name{font-size:22px;font-weight:700;letter-spacing:.068em;text-transform:uppercase;line-height:1.05}
.gk-preis{font-size:34px;font-weight:700;line-height:1}
.gk-text{font-size:17px;line-height:1.4;color:var(--moss)}
.gwert{max-width:420px;margin-top:22px}
.gcols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);margin-top:clamp(44px,5vw,72px)}
.gcols>div>.eb{margin-bottom:22px}
.f.one{grid-template-columns:minmax(0,1fr);gap:26px}
.gpost{display:flex;flex-direction:column;gap:10px}
.gplz{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;margin-top:10px}
.gpost .gplz{margin-top:0}
.gform textarea{min-height:110px}

/* Tablet */
@media (max-width:1100px){
  .garten{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row{grid-template-columns:150px minmax(0,1fr) 220px}
  .row-txt{grid-column:2/4;grid-row:2}
  .row picture{grid-row:span 2}
  .hero-bot .rider{display:none}
  .hero-bot{grid-template-columns:minmax(0,1fr) auto}
  .pr a{white-space:normal}
}

/* Handy */
@media (max-width:860px){
  .menu-btn{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 4px;border:0;background:none;color:#fff;font:600 16px/1 var(--font);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
  .menu-lines,.menu-lines::before,.menu-lines::after{display:block;width:24px;height:2px;background:currentColor;position:relative}
  .menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0}
  .menu-lines::before{top:-7px}.menu-lines::after{top:7px}
  .nav-open .menu-lines{background:transparent}
  .nav-open .menu-lines::before{top:0;transform:rotate(45deg)}
  .nav-open .menu-lines::after{top:0;transform:rotate(-45deg)}
  #nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--ink);padding:8px var(--gutter) 24px;font-size:26px;font-weight:600;letter-spacing:.04em;z-index:10}
  #nav a{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}
  .nav-open #nav{display:flex}
  .hero{min-height:max(620px,92svh)}
  .hero::after{background:linear-gradient(180deg,rgba(20,24,25,.72),rgba(20,24,25,.35) 42%,rgba(20,24,25,.2) 55%,rgba(20,24,25,.85))}
  .btn{white-space:normal;font-size:18px;padding:18px 22px;text-align:left}
  .hero>picture img{object-position:62% 50%}
  .hero-bot{grid-template-columns:1fr}
  .hero-bot .btn{width:100%}
  .intro{grid-template-columns:1fr}
  .row{grid-template-columns:96px minmax(0,1fr);gap:16px 20px;align-items:start;padding:24px 0}
  .row picture{grid-row:span 3}
  .row-name,.row-txt,.pr{grid-column:2}
  .row-txt{grid-row:auto;font-size:17px}
  .n{margin-bottom:8px}
  .pr{text-align:left}
  .pr small{margin:4px 0 14px}
  .band{grid-template-columns:1fr}
  .band picture img{min-height:0;aspect-ratio:4/3}
  .imp-hd{flex-direction:column;align-items:flex-start;gap:20px}
  .imp-g{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:10px}
  .imp-g figure{aspect-ratio:1/1}
  .imp-g .big{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}
  .team{grid-template-columns:1fr}
  .team img{aspect-ratio:4/5}
  .two{grid-template-columns:1fr;gap:28px}
  .rev-in{grid-template-columns:minmax(0,1fr)}
  .rev h2{font-size:34px}
  .rev .t>div{min-width:0;flex:1}
  .rev .t{font-size:21px;flex-wrap:wrap}
  .rev .t span{display:block;margin:4px 0 0}
  .q-g{grid-template-columns:1fr}
  .end-g{grid-template-columns:1fr}
  .end .btn{width:100%}
  .ft{grid-template-columns:1fr;justify-items:start}
  .ft img{justify-self:start;width:220px;order:-1}
  .ft nav{text-align:left}

  .phero{min-height:max(480px,70svh)}
  .phero::after{background:linear-gradient(180deg,rgba(20,24,25,.72),rgba(20,24,25,.25) 40%,rgba(20,24,25,.3) 55%,rgba(20,24,25,.88))}
  .split,.cols2,.kwrap{grid-template-columns:minmax(0,1fr)}
  .facts{grid-template-columns:minmax(0,1fr)}
  .duo,.duo.flip{grid-template-columns:minmax(0,1fr)}
  .duo.flip>picture{order:0}
  .duo>picture img{min-height:0;aspect-ratio:4/3}
  .gal{columns:2;column-gap:10px}
  .gal figure{margin-bottom:10px}
  .wide img{aspect-ratio:4/3}
  .rv li{grid-template-columns:minmax(0,1fr);gap:18px}
  .rv .km{text-align:left;order:-1;font-size:44px}
  .rv .km i{margin-left:0}
  .rv dl{grid-template-columns:minmax(0,1fr);gap:2px}
  .rv dd+dt{margin-top:12px}
  .sticky{position:static}
  .f{grid-template-columns:minmax(0,1fr)}
  .send .btn{width:100%}
  .side img{display:none}
  .prose .btn{width:100%}

  .thead{align-items:flex-start}
  .tr{grid-template-columns:auto minmax(0,1fr);gap:14px 20px;align-items:start}
  .tr .sitze{grid-column:1/-1;flex-direction:row;align-items:center;gap:12px}
  .tr .btn{grid-column:1/-1;width:100%;justify-content:space-between}
  .tdn{font-size:48px}
  .tform{grid-template-columns:minmax(0,1fr)}
  .tr.gewaehlt{box-shadow:0 0 0 8px var(--foam)}

  .garten{grid-template-columns:minmax(0,1fr)}
  .gcols{grid-template-columns:minmax(0,1fr)}
  .gk-in{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:space-between}
  .gk-text{flex-basis:100%}
}
