/* ==========================================================================
   Fischleintal · Fischleinbodenhütte
   Design & Umsetzung: Invisions Marketingagentur
   ========================================================================== */

/*@@FONTS@@*/
@font-face{font-family:"Archivo";src:url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/spectral-latin-300-italic.woff2") format("woff2");font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:"Spectral";src:url("../fonts/spectral-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
/*@@/FONTS@@*/

:root{
  /* Kalkstein, Fichtenwald, Alpenglühen, Wegmarkierung */
  --kalk:#EEEDE8; --kalk-2:#E3E1DA; --kalk-3:#D7D4CB; --linie:#CBC8BE;
  --wald:#13211B; --wald-2:#192B23; --wald-3:#253A30; --wald-line:rgba(238,237,232,.14);
  --fels:#586059; --nebel:#A9B3AC; --glow:#EFC0A4; --glow-2:#E4A585; --mark:#C8322B; --weiss:#fff;
  --sans:"Archivo",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --serif:"Spectral",Georgia,"Times New Roman",serif;
  --g:clamp(16px,4.2vw,64px);
  --max:1440px;
  --sec:clamp(96px,11vw,176px);
  --ease:cubic-bezier(.2,.7,.1,1);
  --ease-io:cubic-bezier(.65,0,.35,1);
  --hdr:76px;
  color-scheme:light;
}
@media (max-width:760px){:root{--hdr:64px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@view-transition{navigation:auto}
body{margin:0;background:var(--kalk);color:var(--wald);font-family:var(--sans);font-size:17px;line-height:1.65;font-weight:400;font-stretch:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
button{font:inherit;color:inherit}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
dl,dd,figure{margin:0}
h1,h2,h3,h4{margin:0;font-weight:inherit}
::selection{background:var(--glow);color:var(--wald)}
:focus-visible{outline:2px solid var(--mark);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:12px;top:-80px;z-index:100;background:var(--wald);color:#fff;padding:12px 16px;font-weight:600;text-decoration:none;transition:top .2s}
.skip:focus{top:12px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--g)}
.num{font-variant-numeric:tabular-nums lining-nums}

/* ---------- Typo ---------- */
.label{font-size:12px;line-height:1.3;font-weight:560;font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--fels)}
.label--light{color:rgba(255,255,255,.82)}
.sec-head{container-type:inline-size;display:flex;flex-direction:column;gap:18px}
/* Überschriften: auf Desktop einzeilig über die volle Breite (--em = Textbreite in em, beim Build berechnet), nie Trennung mitten im Wort */
.h2{font-stretch:62%;font-weight:780;font-size:clamp(40px,6.4vw,104px);font-size:clamp(40px,calc(100cqi / var(--em,9) - 1px),116px);line-height:.88;letter-spacing:-.002em;text-transform:uppercase;text-wrap:balance;hyphens:manual}
@media (max-width:600px){.h2{font-size:clamp(40px,calc(100cqi / var(--em,9) - 1px),60px)}}
.h3{font-stretch:78%;font-weight:640;font-size:clamp(24px,2.1vw,32px);line-height:1.08;letter-spacing:-.003em;text-wrap:balance}
.h4{font-stretch:88%;font-weight:640;font-size:19px;line-height:1.2}
.lead{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(22px,2.2vw,31px);line-height:1.32;letter-spacing:-.004em;text-wrap:pretty}
.lead--lg{font-size:clamp(24px,2.5vw,36px)}
.lead--xl{font-size:clamp(28px,3.6vw,54px);line-height:1.18}
p{text-wrap:pretty}
.link{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:underline;text-decoration-color:currentColor}
.link:hover{text-decoration-color:var(--glow)}

/* ---------- Icons ---------- */
.ic{width:22px;height:22px;flex:none}
.ic--sm{width:15px;height:15px}

/* ---------- Buttons ---------- */
.btn{--h:54px;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:var(--h);padding:0 24px;border:1px solid transparent;font-size:12.5px;line-height:1.1;font-weight:620;font-stretch:112%;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.btn .ic{width:18px;height:18px;transition:transform .45s var(--ease)}
.btn:hover .ic:last-child{transform:translateX(4px)}
.btn:hover .ic[class*="ext"],.btn:hover svg:last-child path[d^="M7 17"]{transform:translate(2px,-2px)}
.btn--sm{--h:42px;padding:0 18px;font-size:11.5px}
.btn--light{background:#fff;color:var(--wald)}
.btn--light:hover{background:var(--glow)}
.btn--ghost{border-color:rgba(255,255,255,.5);color:#fff;background:rgba(19,33,27,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.btn--ghost:hover{background:#fff;color:var(--wald);border-color:#fff}
.btn--dark{background:var(--wald);color:#fff}
.btn--dark:hover{background:var(--wald-3)}
.btn--glow{background:var(--glow);color:var(--wald)}
.btn--glow:hover{background:#fff}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;color:#fff;padding-top:env(safe-area-inset-top,0px);transition:background-color .5s var(--ease),box-shadow .5s}
.hdr::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(10,20,15,.34),rgba(10,20,15,0));pointer-events:none;transition:opacity .5s}
.hdr.is-solid{background:rgba(19,33,27,.9);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3)}
.hdr.is-solid::before{opacity:0}
.hdr__in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--hdr)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex:none}
.logo__mark{width:46px;height:auto;overflow:visible}
.logo__mark path{fill:none;stroke:currentColor;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-width:1.6}
.logo__txt{display:flex;flex-direction:column;line-height:1}
.logo__txt b{font-size:23px;font-weight:800;font-stretch:62%;letter-spacing:.07em;text-transform:uppercase}
.logo__txt small{margin-top:5px;font-size:9.5px;font-weight:560;font-stretch:125%;letter-spacing:.2em;text-transform:uppercase;opacity:.72}
.nav{display:flex;gap:clamp(16px,2vw,32px)}
@media (max-width:1239px){.nav{gap:clamp(14px,1.7vw,20px)}.nav a{font-size:13.5px}}
.nav a{position:relative;padding:10px 0;font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;opacity:.9}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.hdr__end{display:flex;align-items:center;gap:18px}
.langs{display:flex;gap:2px}
.langs a{padding:8px 7px;font-size:11px;font-weight:620;font-stretch:125%;letter-spacing:.12em;text-decoration:none;opacity:.58;transition:opacity .3s}
.langs a:hover{opacity:1}
.langs a[aria-current]{opacity:1;text-decoration:underline;text-underline-offset:6px}
.menu-btn{display:none;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);background:transparent;cursor:pointer}
.menu-btn .ic{width:22px;height:22px}
@media (min-width:940px) and (max-width:1239px){.hdr__cta{display:none}}
@media (max-width:939px){.nav{display:none}.menu-btn{display:inline-flex}}
@media (max-width:860px){.hdr__cta,.hdr .langs{display:none}}

/* Mobile menu */
.mnav{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:var(--wald);color:#fff;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .7s var(--ease-io),visibility 0s linear .7s}
.mnav.is-open{clip-path:inset(0);visibility:visible;transition:clip-path .7s var(--ease-io),visibility 0s}
.mnav__top{display:flex;align-items:center;justify-content:space-between;flex:none;height:var(--hdr)}
.mnav__brand{font-size:23px;font-weight:800;font-stretch:62%;letter-spacing:.07em;text-transform:uppercase}
.mnav__links{display:flex;flex-direction:column;justify-content:center;flex:1 0 auto;gap:4px}
.mnav__links a{display:block;padding:6px 0;font-size:clamp(40px,11vw,64px);font-size:clamp(32px,min(11vw,7.4vh),64px);line-height:1;font-weight:780;font-stretch:62%;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--wald-line)}
.mnav__foot{display:flex;flex-direction:column;gap:18px;flex:none;padding-block:24px 28px}
.mnav__foot .btn{width:100%;justify-content:space-between}
.langs--lg a{font-size:12px;padding:8px 12px 8px 0}
body.menu-open{overflow:hidden}

/* ---------- Hero ---------- */
.hero{--ar:1.5003;--py:.4;--ty:.292;--tw:5.08;--hh:clamp(600px,100vh,1180px);position:relative;height:var(--hh);overflow:hidden;background:#A9C0D6;color:#fff;isolation:isolate}
@supports (height:100svh){.hero{--hh:clamp(600px,100svh,1180px)}}
.hero__scene{position:absolute;left:50%;top:calc(var(--py) * 100%);width:max(100%,calc(var(--hh) * var(--ar)));aspect-ratio:var(--ar);transform:translate(-50%,calc(var(--py) * -100%));container-type:inline-size}
.hero__layer{position:absolute;inset:0;display:block}
.hero__layer img{width:100%;height:100%;object-fit:cover}
.hero__sky{transform:translate3d(0,calc(var(--p,0) * 9%),0);will-change:transform}
.hero__sky img{filter:saturate(1.06) brightness(.93);animation:skyIn 2.6s var(--ease) both}
.hero__fg{will-change:transform}
.hero__fg img{animation:fgIn 2.2s var(--ease) both}
.hero__title{position:absolute;left:50%;top:calc(var(--ty) * 100%);margin:0;font-size:calc(43cqw / var(--tw));line-height:.72;font-weight:800;font-stretch:62%;letter-spacing:.005em;text-transform:uppercase;white-space:nowrap;color:#fff;text-shadow:0 2px 40px rgba(30,60,90,.22);transform:translate(-50%,-100%) translate3d(0,calc(var(--p,0) * 34vh),0);will-change:transform}
.hero__title .ch{display:inline-block;animation:rise 1.5s var(--ease) both;animation-delay:calc(.35s + var(--i) * .05s)}
.hero__shade{position:absolute;inset:auto 0 0 0;height:62%;background:linear-gradient(to top,rgba(11,24,17,.78) 0%,rgba(11,24,17,.42) 45%,rgba(11,24,17,0) 100%);pointer-events:none}
.hero__bottom{position:absolute;inset:auto 0 0 0;padding-bottom:clamp(24px,4vh,48px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px 48px}
.hero__intro{display:flex;flex-direction:column;align-items:flex-start;gap:16px;animation:up 1.2s var(--ease) .9s both}
.hero__sub{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(21px,2vw,30px);line-height:1.25;max-width:24ch}
.hero__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.hero__facts{display:grid;grid-template-columns:repeat(2,auto);gap:0 34px;animation:up 1.2s var(--ease) 1.05s both}
.hero__facts div{padding:14px 0 12px;border-top:1px solid rgba(255,255,255,.34)}
.hero__facts dt{font-size:10.5px;font-weight:560;font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;opacity:.78}
.hero__facts dd{margin-top:6px;font-size:clamp(22px,2vw,30px);line-height:1;font-weight:700;font-stretch:72%;font-variant-numeric:lining-nums}
.hero__credit{position:absolute;right:max(8px,calc(var(--g) / 3));top:50%;font-size:10px;font-weight:560;font-stretch:112%;letter-spacing:.14em;text-transform:uppercase;opacity:.72;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg)}
.pill{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;background:var(--mark);color:#fff;font-size:13px;font-weight:600;line-height:1.25}
.pill[hidden]{display:none}
.pill .ic{width:18px;height:18px}
@media (orientation:portrait){
  .hero{--ar:.6564;--py:.46;--ty:.262}
  .hero__title{font-size:calc(89vw / var(--tw))}
}
/* Entwurf B: Titelbild Luftaufnahme (Ausschnitt so gewählt, dass der Turm mittig in den Schriftzug ragt) */
.hero.hero--b{--ar:1.7778;--py:.4;--ty:.305;background:#71BCEB}
@media (orientation:portrait){.hero.hero--b{--ar:.6565;--py:.46;--ty:.265}}
/* breitere Hochformate (kleine Handys, Tablets): Schriftzug etwas schmaler, damit die Flanken „F“ und „L“ freilassen */
@media (orientation:portrait) and (min-aspect-ratio:11/20){.hero.hero--b{--ty:.26}.hero--b .hero__title{font-size:calc(72vw / var(--tw))}}
@media (max-width:900px){
  .hero__grid{grid-template-columns:1fr}
  .hero__facts{grid-template-columns:repeat(4,auto);justify-content:start;gap:0 22px}
}
@media (max-width:640px){
  .hero__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;width:100%}
  .hero__facts div:nth-child(n+3){display:none}
  .hero__btns .btn{flex:1 1 auto}
  .hero__credit{top:auto;bottom:8px;right:var(--g);writing-mode:horizontal-tb;transform:none;font-size:9px;opacity:.6}
  .hero__bottom{padding-bottom:30px}
  .hero__intro{gap:12px}
  .hero__intro .label{display:none}
  .hero__btns .btn{--h:48px}
}
@keyframes rise{from{transform:translateY(55%);opacity:0}to{transform:none;opacity:1}}
@keyframes skyIn{from{transform:scale(1.12)}to{transform:none}}
@keyframes fgIn{from{transform:scale(1.035)}to{transform:none}}
@keyframes up{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}

/* ---------- Sections ---------- */
.sec{padding-block:var(--sec)}
.media{position:relative;overflow:hidden;background:var(--kalk-3)}
.media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
figcaption{font-size:12px;font-weight:560;font-stretch:112%;letter-spacing:.1em;text-transform:uppercase;color:var(--fels)}
.media figcaption{position:absolute;left:0;bottom:0;padding:10px 14px;background:var(--kalk);color:var(--fels)}

/* Reveal: Ruhezustand ist sichtbar – Bewegung nur als Zusatz */
.js [data-reveal]{transition:transform 1.2s var(--ease),clip-path 1.4s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.js [data-reveal]:not(.is-in){transform:translateY(34px)}
.js [data-reveal="img"]:not(.is-in){transform:none;clip-path:inset(7% 5% 7% 5%)}
.js [data-reveal="img"]:not(.is-in) img{transform:scale(1.14)}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal],.js [data-reveal] img{transition:none!important;transform:none!important;clip-path:none!important}
  .hero__title .ch,.hero__sky img,.hero__fg img,.hero__intro,.hero__facts{animation:none!important}
  .hero__sky,.hero__title{transform:translate(-50%,-100%)}
  .hero__sky{transform:none}
}

/* ---------- Hütte ---------- */
.hut__head,.bistro__head{display:flex;flex-direction:column;gap:20px;margin-bottom:clamp(40px,5vw,72px)}
.hut__aside,.bistro__aside{font-size:12px;font-weight:560;font-stretch:125%;letter-spacing:.14em;text-transform:uppercase;color:var(--fels)}
.hut__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);align-items:end}
.hut__img{grid-column:1/span 7;aspect-ratio:4/3.05}
.hut__text{grid-column:9/span 4;display:flex;flex-direction:column;gap:22px;padding-bottom:6px}
/* Wendekarte: Außenansicht vorne, Stube hinten – Klick oder Tipp dreht das Foto */
.flip{position:relative;perspective:1800px}
.flip__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.1s var(--ease-io)}
.flip.is-flipped .flip__inner{transform:rotateY(180deg)}
.flip__face{position:absolute;inset:0;overflow:hidden;background:var(--kalk-3);-webkit-backface-visibility:hidden;backface-visibility:hidden}
.flip__back{transform:rotateY(180deg)}
.flip__face img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.flip__cap{position:absolute;left:0;bottom:0;padding:10px 14px;background:var(--kalk);color:var(--fels);font-size:12px;font-weight:560;font-stretch:112%;letter-spacing:.1em;text-transform:uppercase}
.flip__btn{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:flex-end;padding:14px;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.flip__btn:focus-visible{outline-offset:-4px}
.flip__hint{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;background:rgba(19,33,27,.84);color:#fff;font-size:11.5px;line-height:1.2;font-weight:620;font-stretch:112%;letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background-color .3s}
.flip__hint .ic{width:17px;height:17px;transition:transform .7s var(--ease)}
.flip__btn:hover .flip__hint{background:var(--wald)}
.flip__btn:hover .flip__hint .ic{transform:rotate(-180deg)}
.flip:hover .flip__face img{transform:scale(1.02)}
@media (prefers-reduced-motion:reduce){
  .flip__inner{transition:none}
  .flip.is-flipped .flip__inner{transform:none}
  .flip.is-flipped .flip__front{visibility:hidden}
  .flip__back{transform:none;visibility:hidden}
  .flip.is-flipped .flip__back{visibility:visible}
}
@media (max-width:600px){.flip__cap{display:none}.flip__btn{padding:10px}.flip__hint{padding:9px 12px;font-size:10.5px}}
/* Platzhalter für das Hüttenfoto – verschwindet automatisch, sobald fotos/huette.jpg vorhanden ist */
.ph{position:relative;overflow:hidden;background:var(--kalk-2)}
.ph__in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 28px 17%;text-align:center;background-image:repeating-linear-gradient(135deg,rgba(19,33,27,.045) 0 1px,transparent 1px 13px)}
.ph__in::before{content:"";position:absolute;inset:14px;z-index:1;border:1px dashed rgba(88,96,89,.5);pointer-events:none}
.ph__ridge{position:absolute;left:0;bottom:4%;width:100%;height:26%;overflow:visible}
.ph__ridge .f{fill:var(--kalk-3)}
.ph__ridge .l{fill:none;stroke:var(--fels);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ph__ic,.ph__t,.ph__n{position:relative;z-index:1}
.ph__tag{position:absolute;left:30px;top:30px;z-index:2;padding:4px 9px;background:#F4DE9A;color:#4A3B06;font-size:11px;line-height:1.3;font-weight:640;font-stretch:118%;letter-spacing:.12em;text-transform:uppercase}
.ph__ic{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;margin-bottom:6px;border:1px solid var(--linie);border-radius:50%;background:var(--kalk);color:var(--wald)}
.ph__ic .ic{width:28px;height:28px}
.ph__t{font-size:12.5px;line-height:1.3;font-weight:620;font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--wald)}
.ph__n{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(20px,1.8vw,26px);line-height:1.2;color:var(--fels)}
.metz{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:28px;align-items:start;margin-top:clamp(88px,11vw,168px);padding-top:clamp(36px,4.4vw,64px);border-top:1px solid var(--linie)}
/* Metzgerei steht als eigener Abschnitt nach den FAQ: gleicher Hintergrund, die Linie trennt */
.metz-sec .metz{margin-top:0}
.faq+.metz-sec{padding-top:0}
.metz__head{grid-column:1/span 5;display:flex;flex-direction:column;gap:20px}
.metz__head .h3{margin-top:-6px}
.metz__text{grid-column:7/span 6;display:flex;flex-direction:column;gap:20px;padding-top:clamp(0px,5.6vw,84px)}
.metz__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px;border-top:1px solid var(--linie)}
.metz__facts div{padding:16px 16px 0 0}
.metz__facts div+div{padding-left:16px;border-left:1px solid var(--linie)}
.metz__facts dt,.bistro__facts dt{font-size:10.5px;font-weight:560;font-stretch:125%;letter-spacing:.15em;text-transform:uppercase;color:var(--fels)}
.metz__facts dd{margin-top:6px;font-size:18px;line-height:1.25;font-weight:620;font-stretch:84%}
@media (max-width:1023px){
  .hut__img,.hut__text,.metz__head,.metz__text{grid-column:1/-1}
  .hut__text{margin-top:36px}
  .metz__text{padding-top:0}
  /* FAQ-Liste läuft hier über die volle Breite: keine zweite Linie direkt darunter */
  .faq+.metz-sec .metz{padding-top:0;border-top:0}
}
@media (max-width:560px){
  .metz__facts{grid-template-columns:1fr}
  .metz__facts div,.metz__facts div+div{padding:14px 0;border-left:0;border-bottom:1px solid var(--linie)}
  .ph__tag{left:24px;top:24px}
  .ph__in{gap:8px;padding-bottom:15%}
  .ph__ridge{height:22%}
  .ph__ic{width:56px;height:56px;margin-bottom:2px}
  .ph__ic .ic{width:24px;height:24px}
}

/* ---------- Bistro & Hotel ---------- */
.bistro{background:var(--kalk-2)}
.lage{position:relative;aspect-ratio:2/1;margin-bottom:clamp(72px,9vw,136px)}
.lage img{object-position:50% 85%}
.lage__mk{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);display:flex;align-items:center;gap:12px;transform:translate(-9px,-50%);pointer-events:none;transition:opacity .6s var(--ease) .9s}
.js .lage:not(.is-in) .lage__mk{opacity:0}
.lage__mk i{position:relative;flex:none;width:18px;height:18px;border-radius:50%;background:var(--glow);box-shadow:0 0 0 3px #fff,0 4px 14px rgba(0,0,0,.3)}
.lage__mk i::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid #fff;animation:mkPulse 2.6s var(--ease) infinite}
.lage__mk b{padding:6px 10px;background:var(--wald);color:#fff;font-size:11.5px;line-height:1.2;font-weight:620;font-stretch:118%;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.25)}
@keyframes mkPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(1.45);opacity:0}}
@media (prefers-reduced-motion:reduce){.lage__mk i::after{animation:none;opacity:0}}
@media (max-width:700px){.lage{aspect-ratio:4/3}.lage img{object-position:30% 50%}.lage__mk{left:calc(var(--xm) * 1%);top:calc(var(--ym) * 1%);gap:8px}.lage__mk b{font-size:9.5px;padding:5px 7px}}
/* Hotel-Beschriftung auf dem Handy links vom Punkt, damit sie nicht aus dem Bild ragt */
@media (max-width:700px){.lage__mk--l{flex-direction:row-reverse;transform:translate(calc(-100% + 9px),-50%)}}
.bistro__text .h3{margin-top:-8px}
.hotel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:36px;align-items:end;margin-top:clamp(72px,9vw,136px);padding-top:clamp(40px,5vw,72px);border-top:1px solid var(--linie)}
.hotel__img{grid-column:6/span 7;grid-row:1;aspect-ratio:4/3}
.hotel__text{grid-column:1/span 4;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:6px}
.hotel__text .h3{margin-top:-8px}
@media (max-width:1023px){.hotel__img,.hotel__text{grid-column:1/-1;grid-row:auto}}
.bistro__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:clamp(64px,7.5vw,120px)}
.bistro__img{grid-column:6/span 7;grid-row:1;aspect-ratio:3/2}
.bistro__text{grid-column:1/span 4;grid-row:1;align-self:end;display:flex;flex-direction:column;gap:22px;padding-bottom:6px}
.bistro__img2{grid-column:1/span 4;grid-row:2;align-self:start;aspect-ratio:4/5}
.bistro__img2 img{object-position:82% 50%}
.bistro__info{grid-column:6/span 6;grid-row:2;align-self:center;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.bistro__story{max-width:40ch;padding-left:20px;border-left:2px solid var(--mark);font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(20px,1.7vw,25px);line-height:1.38}
.bistro__facts{width:100%;margin-top:6px;border-top:1px solid var(--wald)}
.bistro__facts div{display:grid;grid-template-columns:minmax(150px,32%) minmax(0,1fr);gap:4px 20px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--linie)}
.bistro__facts dd{font-size:18px;line-height:1.3;font-weight:620;font-stretch:84%}
.bistro__facts a{text-decoration:underline;text-decoration-color:var(--linie);text-underline-offset:.22em;white-space:nowrap}
.bistro__facts a:hover{text-decoration-color:var(--mark)}
.bistro__note{max-width:52ch;font-size:13.5px;line-height:1.5;color:var(--fels)}
@media (max-width:1023px){
  .bistro__grid{row-gap:36px}
  .bistro__img,.bistro__text,.bistro__img2,.bistro__info{grid-column:1/-1;grid-row:auto}
  .bistro__img2{aspect-ratio:3/2;margin-top:28px}
  .bistro__img2 img{object-position:50% 50%}
}
@media (max-width:600px){.hut__img figcaption,.bistro__img figcaption{display:none}}
@media (max-width:420px){.ph__ic{display:none}}
@media (max-width:560px){.bistro__facts div{grid-template-columns:1fr;gap:4px}}

/* ---------- Parken ---------- */
.park{background:var(--wald);color:#EEF0EC}
.park__banner{position:relative;min-height:clamp(440px,76vh,860px);display:flex;align-items:flex-end;overflow:hidden}
.park__bg{position:absolute;inset:-8% 0 -8% 0;transform:translate3d(0,var(--drift,0px),0)}
.park__bg img{width:100%;height:100%;object-fit:cover}
/* Parkplatz-Grafik: Autos fahren beim ersten Sichtkontakt in ihre Stellplätze */
.pk{display:block;width:100%;height:100%}
.js .pk[data-reveal]:not(.is-in){transform:none}
.pk .pk-c{transition:opacity .5s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i) * 18ms)}
.js .pk:not(.is-in) .pk-c{opacity:0;transform:translateY(-26px)}
@media (prefers-reduced-motion:reduce){.js .pk .pk-c{opacity:1!important;transform:none!important;transition:none}}
.park__banner::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--wald) 0%,rgba(19,33,27,.55) 32%,rgba(19,33,27,0) 62%)}
.park__banner-in{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;padding-bottom:clamp(8px,2vw,24px)}
.park__body{padding-bottom:var(--sec)}
.park__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:48px;padding-top:clamp(48px,6vw,88px)}
.tariffs{grid-column:1/span 6;display:flex;flex-direction:column;gap:26px}
.tariff{padding:22px 0 0;border-top:1px solid var(--wald-line);transition:opacity .4s}
.tariff__h{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--glow)}
.tariff dl{margin-top:8px}
.tariff__row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;border-bottom:1px solid var(--wald-line);transition:color .35s,padding .35s var(--ease)}
.tariff__row dt{font-size:16.5px;color:var(--nebel);transition:color .35s}
.tariff__row dd{font-size:clamp(28px,2.6vw,38px);line-height:1;font-weight:700;font-stretch:66%;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.tariff__row.is-hit dt{color:#fff}
.tariff__row.is-hit dd{color:var(--glow)}
.tariff__row.is-hit{padding-left:12px;box-shadow:inset 2px 0 0 var(--glow)}
.tariff.is-dim .tariff__h,.tariff.is-dim .tariff__row dd{color:var(--nebel)}
.tariff__valid{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;color:var(--nebel);max-width:52ch}
.tariff__valid .ic{margin-top:2px;color:var(--glow)}
.tariff__valid b{color:#fff;font-weight:600}
.calc{grid-column:8/span 5;align-self:start;display:flex;flex-direction:column;gap:22px;padding:clamp(24px,3vw,40px);background:var(--wald-2);border:1px solid var(--wald-line)}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--wald-line)}
.seg__b{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:0;background:transparent;color:var(--nebel);font-size:12px;font-weight:600;font-stretch:125%;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background-color .35s,color .35s}
.seg__b .ic{width:18px;height:18px}
.seg__b[aria-pressed="true"]{background:var(--glow);color:var(--wald)}
.seg__b:not([aria-pressed="true"]):hover{color:#fff}
.calc__dur{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:15px;color:var(--nebel)}
.calc__dur output{font-size:15px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.range{--v:27.27%;-webkit-appearance:none;appearance:none;width:100%;height:32px;margin:-8px 0 0;background:transparent;cursor:pointer}
.range::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--glow) var(--v),rgba(238,237,232,.2) var(--v))}
.range::-moz-range-track{height:2px;background:rgba(238,237,232,.2)}
.range::-moz-range-progress{height:2px;background:var(--glow)}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-11px;border-radius:50%;background:var(--glow);border:5px solid var(--wald-2);box-shadow:0 0 0 1px var(--glow);transition:transform .3s var(--ease)}
.range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--glow);border:5px solid var(--wald-2);box-shadow:0 0 0 1px var(--glow)}
.range:active::-webkit-slider-thumb{transform:scale(1.18)}
.range:focus-visible{outline:none}
.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--glow),0 0 0 6px rgba(239,192,164,.3)}
.calc__scale{position:relative;height:14px;margin-top:-14px;font-size:11px;color:var(--nebel);font-variant-numeric:tabular-nums}
.calc__scale span{position:absolute;left:calc(12px + var(--x) * (100% - 24px));transform:translateX(-50%)}
.calc__res{padding-top:18px;border-top:1px solid var(--wald-line)}
.calc__label{font-size:11px;font-weight:560;font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--nebel)}
.calc__price{margin-top:4px;font-size:clamp(76px,8vw,120px);line-height:.95;font-weight:760;font-stretch:62%;color:var(--glow);font-variant-numeric:tabular-nums lining-nums}
.calc__detail{margin-top:8px;font-size:15px;color:#fff;min-height:1.65em}
.calc__mid{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid rgba(239,192,164,.55);color:#fff;transition:background-color .35s,color .35s,border-color .35s}
.calc__mid .ic{margin-top:1px;color:var(--glow);transition:color .35s}
.calc__mid p{font-size:15px;line-height:1.45}
.calc__mid b{display:block;margin-top:2px;font-weight:650;color:var(--glow);transition:color .35s}
.calc__mid.is-on{background:var(--glow);border-color:var(--glow);color:var(--wald)}
.calc__mid.is-on .ic,.calc__mid.is-on b{color:var(--wald)}
.calc__note{font-size:12.5px;color:var(--nebel)}
@media (max-width:1023px){.tariffs,.calc{grid-column:1/-1}}

.season{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:36px;margin-top:clamp(80px,10vw,150px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--wald-line)}
.season__head{grid-column:1/span 5;display:flex;flex-direction:column;gap:16px}
.season__head{container-type:inline-size}
.season__dates{font-size:clamp(44px,5.2vw,84px);font-size:clamp(36px,calc(100cqi / var(--em,8) - 1px),84px);line-height:.9;font-weight:780;font-stretch:62%;text-transform:uppercase;color:var(--glow);text-wrap:balance}
.season__head p:last-child{color:var(--nebel);max-width:46ch}
.tl{grid-column:7/span 6;align-self:end;padding-bottom:6px}
.tl__bar{position:relative;display:grid;grid-template-columns:3fr 3fr;height:120px}
.tl__seg{display:flex;align-items:flex-end;padding:0 14px 14px;font-size:13px;font-weight:600;line-height:1.25}
.tl__seg span{display:flex;align-items:center;gap:8px}
.tl__seg .ic{width:18px;height:18px}
.tl__seg--car{background:var(--glow);color:var(--wald)}
.tl__seg--bus{background:repeating-linear-gradient(135deg,rgba(238,237,232,.1) 0 2px,transparent 2px 9px);color:#fff;border:1px solid var(--wald-line);border-left:0}
.tl__mark{position:absolute;left:50%;top:-34px;bottom:-10px;border-left:2px solid var(--mark)}
.tl__mark b{position:absolute;left:10px;top:0;white-space:nowrap;font-size:11px;font-weight:620;font-stretch:125%;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.tl__hours{position:relative;height:28px;margin-top:14px;font-size:12px;color:var(--nebel);font-variant-numeric:tabular-nums}
.tl__hours span{position:absolute;left:calc(var(--x) * 100%);transform:translateX(-50%)}
.tl__hours span:first-child{transform:none}
.tl__hours span:last-child{transform:translateX(-100%)}
@media (max-width:1023px){.season__head,.tl{grid-column:1/-1}.tl{margin-top:34px}}
@media (max-width:600px){.tl__mark b{left:auto;right:10px}.tl__seg{padding:0 10px 12px;font-size:12px}}

.rules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:clamp(72px,9vw,128px)}
.rule{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid var(--wald-line)}
.rule__ic{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--wald-line);color:var(--glow);margin-bottom:6px}
.rule__ic .ic{width:24px;height:24px}
.rule p{font-size:15.5px;color:var(--nebel)}
.rule .link{margin-top:auto;padding-top:6px;color:#fff;font-size:15px}
.park__route{margin-top:clamp(48px,6vw,80px)}
@media (max-width:1100px){.rules{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}}
@media (max-width:600px){.rules{grid-template-columns:1fr}}

/* ---------- Tal ---------- */
.tal__head{margin-bottom:clamp(28px,3.4vw,52px)}
.tal__lead{max-width:26ch;margin-bottom:clamp(56px,7vw,112px)}
@media (min-width:1024px){.tal__lead{margin-left:calc(41.667% + 6px)}}
.pano{position:relative;height:clamp(420px,80vh,920px);margin:0 0 clamp(72px,9vw,136px);overflow:hidden;background:var(--kalk-3)}
.pano__img{position:absolute;inset:-8% 0;transform:translate3d(0,var(--drift,0px),0)}
.pano__img picture,.pano__img img{display:block;width:100%;height:100%}
.pano__img img{object-fit:cover;object-position:50% 58%;transition:transform 1.4s var(--ease)}
.pano figcaption{position:absolute;left:var(--g);bottom:0;padding:10px 14px;background:var(--kalk);color:var(--fels)}
.js .pano[data-reveal="img"]:not(.is-in){clip-path:inset(6% 3% 6% 3%)}
@media (max-width:700px){.pano{height:clamp(420px,72vh,640px)}}
.tal__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:clamp(40px,5vw,72px)}
.tal__tall{grid-column:1/span 5;grid-row:1/span 2;aspect-ratio:2/3;align-self:start}
.tal__text{grid-column:7/span 5;display:flex;flex-direction:column;gap:20px;align-self:start;padding-top:clamp(0px,4vw,64px)}
@media (min-width:1024px){.hotel__text p:not(.label):not(.stay__addr),.tal__text p,.hut__text p:not(.lead),.metz__text>p,.bistro__text p:not(.lead):not(.label),.bistro__info>p:not([class]),.hike__intro{font-size:18px}}
.tal__wide{grid-column:7/span 6;aspect-ratio:3/2;align-self:end}
.unesco{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px clamp(24px,4vw,64px);margin-top:clamp(72px,9vw,136px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--linie)}
.unesco__num{font-size:clamp(96px,17vw,260px);line-height:.8;font-weight:800;font-stretch:62%;letter-spacing:-.01em;color:var(--wald);font-variant-numeric:lining-nums}
.unesco__txt{display:flex;flex-direction:column;gap:12px;max-width:56ch}
.unesco__txt p:last-child{font-size:clamp(18px,1.6vw,22px);line-height:1.5}
@media (max-width:1023px){
  .tal__tall{grid-column:1/span 6;grid-row:auto}
  .tal__text{grid-column:1/-1;padding-top:0;order:-1}
  .tal__wide{grid-column:7/span 6;align-self:start;aspect-ratio:auto;height:100%}
}
@media (max-width:640px){
  .tal__tall{grid-column:1/-1;aspect-ratio:4/5}
  .tal__wide{grid-column:1/-1;aspect-ratio:3/2;height:auto}
  .unesco{grid-template-columns:1fr}
}

/* ---------- Natur ---------- */
.natur{position:relative;overflow:hidden;color:#fff;background:var(--wald)}
.natur__bg{position:absolute;inset:-10% 0;transform:translate3d(0,var(--drift,0px),0)}
.natur__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.natur::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(13,26,19,.92) 0%,rgba(13,26,19,.78) 50%,rgba(13,26,19,.6) 100%)}
.natur__in{position:relative;z-index:1;padding-block:var(--sec)}
.natur__head{display:flex;flex-direction:column;gap:24px}
.natur__intro{max-width:30ch}
.natur__rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin-top:clamp(56px,7vw,104px)}
.natur__rules li{display:flex;flex-direction:column;gap:12px;padding-top:22px;border-top:1px solid rgba(255,255,255,.28)}
.natur__rules .ic{width:30px;height:30px;color:var(--glow);margin-bottom:10px}
.natur__rules p{color:rgba(255,255,255,.8);font-size:16px}
.natur__outro{margin-top:clamp(48px,6vw,88px);max-width:52ch;font-size:18px;color:rgba(255,255,255,.86)}
.natur__thanks{display:block;margin-top:10px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1;color:var(--glow)}
@media (max-width:820px){.natur__rules{grid-template-columns:1fr}}

/* ---------- Wandern ---------- */
.hike{background:var(--kalk-2)}
.hike__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px)}
.hike__head{margin-bottom:clamp(40px,5vw,80px)}
.hike__side{grid-column:1/span 5;align-self:stretch;display:flex;flex-direction:column}
.hike__sticky{position:sticky;top:calc(var(--hdr) + 36px);margin-top:clamp(40px,5vw,72px)}
.hike__intro{max-width:46ch}
.hike__list{grid-column:7/span 6;padding-top:6px}
.alti{display:grid;grid-template-columns:auto 1fr;gap:0 28px;align-items:end}
.alti__read{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 10px;margin-bottom:20px}
.alti__v{font-size:clamp(64px,6.4vw,104px);line-height:.9;font-weight:780;font-stretch:62%;font-variant-numeric:tabular-nums lining-nums;color:var(--wald)}
.alti__u{font-size:28px;font-weight:700;font-stretch:66%}
.alti__n{flex-basis:100%;margin-top:8px;font-size:12px;font-weight:600;font-stretch:125%;letter-spacing:.14em;text-transform:uppercase;color:var(--mark)}
.alti__scale{position:relative;grid-column:1/-1;height:clamp(250px,34vh,380px);margin-left:58px;border-left:1px solid var(--wald)}
.alti__tick{position:absolute;left:-6px;bottom:calc(var(--y) * 100%);width:6px;height:1px;background:var(--linie)}
.alti__tick.is-major{left:-10px;width:10px;background:var(--wald)}
.alti__tick em{position:absolute;right:16px;top:-.7em;font-style:normal;font-size:11px;line-height:1.3;color:var(--fels);font-variant-numeric:tabular-nums;white-space:nowrap}
.alti__fill{position:absolute;left:-2px;bottom:0;width:3px;height:calc(var(--a,.03125) * 100%);background:var(--mark);transition:height .9s var(--ease)}
.alti__mk{position:absolute;left:0;bottom:calc(var(--y) * 100%);display:flex;align-items:center;gap:10px;transform:translateY(50%);color:var(--fels);transition:color .4s}
.alti__mk i{display:block;width:28px;height:1px;background:currentColor;transition:width .5s var(--ease),background .4s}
.alti__mk b{font-size:12.5px;font-weight:600;font-stretch:90%;white-space:nowrap}
.alti__mk.is-on{color:var(--wald)}
.alti__mk.is-on i{width:52px;height:2px;background:var(--mark)}
.alti__peak{position:absolute;left:0;bottom:calc(var(--y) * 100%);display:flex;align-items:center;gap:10px;transform:translate(-6px,50%);color:var(--fels)}
.alti__peak svg{width:12px;height:10px;fill:var(--wald)}
.alti__peak b{font-size:12px;font-weight:600;font-stretch:90%;white-space:nowrap}
.alti__note{grid-column:1/-1;margin-top:18px;font-size:12px;color:var(--fels)}
.alti-m{display:none}
.stop{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 22px;padding-bottom:clamp(48px,6vw,88px)}
.stop::before{content:"";position:absolute;left:21px;top:28px;bottom:0;border-left:2px dotted var(--linie)}
.stop:last-of-type::before{display:none}
.stop__mark{position:relative;z-index:1}
.pt{display:block;width:18px;height:18px;margin:0 0 0 13px;border-radius:50%;background:var(--kalk-2);border:2px solid var(--wald);transition:background-color .4s,border-color .4s,box-shadow .5s var(--ease)}
.stop.is-active .pt{background:var(--mark);border-color:var(--mark);box-shadow:0 0 0 6px rgba(200,50,43,.16)}
.stop__body{display:flex;flex-direction:column;gap:12px;padding-top:2px}
.stop__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:11.5px;font-weight:600;font-stretch:118%;letter-spacing:.12em;text-transform:uppercase;color:var(--fels)}
.stop__meta .num{color:var(--wald)}
.stop__meta .here{padding:5px 8px;background:var(--wald);color:#fff;letter-spacing:.1em}
.stop__meta .trail{padding:4px 7px;border:1px solid var(--linie);color:var(--wald)}
.stop__body p:not(.stop__meta){max-width:54ch}
.stop__img{margin-top:14px;aspect-ratio:16/10;max-width:560px}
.stop__more{align-self:flex-start;font-size:14.5px}
.stop__more .ic{transition:transform .4s var(--ease)}
.stop__more:hover .ic{transform:translateY(-3px)}
.hike__inter{margin:0 0 clamp(48px,6vw,88px) 78px;padding:28px 0;border-block:1px solid var(--linie);display:flex;flex-direction:column;gap:14px}
.hike__inter p{max-width:54ch}
.hike__outro{margin-left:78px;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(21px,1.9vw,27px);line-height:1.35;max-width:36ch}
@media (max-width:1023px){
  .hike__side,.hike__list{grid-column:1/-1}
  .hike__sticky{position:static;margin:0}
  .alti{display:none}
  .hike__list{padding-top:48px}
  .alti-m{position:sticky;top:calc(var(--hdr) + 10px);z-index:5;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;margin-bottom:36px;padding:12px 16px;background:rgba(19,33,27,.94);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .alti-m__v{font-size:30px;line-height:1;font-weight:760;font-stretch:62%;font-variant-numeric:tabular-nums lining-nums}
  .alti-m__n{font-size:11px;font-weight:600;font-stretch:118%;letter-spacing:.12em;text-transform:uppercase;color:var(--glow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .alti-m__bar{grid-column:1/-1;height:2px;background:rgba(255,255,255,.18)}
  .alti-m__bar i{display:block;height:100%;width:calc(var(--a,.03125) * 100%);background:var(--glow);transition:width .9s var(--ease)}
}
@media (max-width:560px){
  .stop{grid-template-columns:44px minmax(0,1fr);gap:0 14px}
  .stop::before{left:15px}
  .pt{margin-left:7px}
  .hike__inter,.hike__outro{margin-left:0}
}

/* ---------- Adresszeile (Hotel) ---------- */
.stay__addr{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:560;color:var(--fels)}
.stay__addr .ic{width:20px;height:20px;color:var(--mark)}

/* ---------- FAQ ---------- */
.faq{background:var(--kalk)}
.faq__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2.4vw,40px);row-gap:40px}
.faq__head{margin-bottom:clamp(36px,4.6vw,72px)}
.faq__list{grid-column:4/span 9;border-top:1px solid var(--wald)}
.qa{border-bottom:1px solid var(--linie)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer;list-style:none;font-size:clamp(19px,1.6vw,23px);line-height:1.25;font-weight:620;font-stretch:84%}
.qa summary::-webkit-details-marker{display:none}
.qa summary .ic{width:22px;height:22px;flex:none;transition:transform .45s var(--ease)}
.qa[open] summary .ic{transform:rotate(45deg)}
.qa summary:hover span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.qa__a{padding:0 48px 26px 0}
.qa__a p{color:#2E3832;max-width:62ch}
.qa__a a{font-weight:600}
@supports (interpolate-size:allow-keywords){
  .qa{interpolate-size:allow-keywords}
  .qa::details-content{block-size:0;overflow:clip;transition:block-size .5s var(--ease),content-visibility .5s allow-discrete}
  .qa[open]::details-content{block-size:auto}
}
@media (max-width:1023px){.faq__list{grid-column:1/-1}}

/* ---------- Footer ---------- */
.ftr{background:var(--wald);color:#DDE3DE;padding-block:clamp(72px,9vw,128px) calc(28px + env(safe-area-inset-bottom,0px));overflow:hidden}
.ftr__word{position:relative;margin-bottom:clamp(48px,6vw,88px);container-type:inline-size}
.ftr__word span{display:block;font-size:clamp(64px,17.2vw,248px);font-size:calc(100cqi / var(--em,5.1) - 1px);line-height:.8;font-weight:800;font-stretch:62%;text-transform:uppercase;letter-spacing:-.005em;color:#EEEDE8;white-space:nowrap}
.ftr__ridge{display:block;width:34%;height:clamp(28px,4vw,64px);margin:0 0 clamp(10px,1.4vw,20px) 44%;overflow:visible}
.ftr__ridge path{fill:none;stroke:var(--glow);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.ftr__cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-top:36px;border-top:1px solid var(--wald-line)}
.ftr__col{display:flex;flex-direction:column;gap:12px;font-size:15px}
.ftr__tag{font-size:16px;font-weight:620;color:#fff}
.ftr__h{font-size:11px;font-weight:600;font-stretch:125%;letter-spacing:.16em;text-transform:uppercase;color:var(--nebel)}
.ftr__col ul{display:flex;flex-direction:column;gap:8px}
.ftr__col a{display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.ftr__col a:hover,.ftr__bottom a:hover{color:var(--glow)}
.ftr__col a[aria-current]{color:var(--glow)}
.ftr__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;margin-top:clamp(48px,6vw,88px);padding-top:22px;border-top:1px solid var(--wald-line);font-size:13px;color:var(--nebel)}
.ftr__legal{display:flex;gap:22px}
/* Umschalter zwischen den Entwürfen (nur in der Abstimmungsfassung) */
.ftr__switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--wald-line)}
.ftr__switch-l{padding:0 10px 0 9px;font-size:10.5px;font-weight:600;font-stretch:125%;letter-spacing:.15em;text-transform:uppercase;color:var(--nebel)}
.ftr__switch a{padding:7px 12px;font-size:12.5px;line-height:1.2;font-weight:600;text-decoration:none;color:#DDE3DE;transition:background-color .3s,color .3s}
.ftr__switch a[aria-current]{background:var(--glow);color:var(--wald)}
.ftr__switch a:not([aria-current]):hover{color:var(--glow)}
.ftr__legal a,.ftr__top{text-decoration:none;color:#DDE3DE}
.ftr__credit a{color:#DDE3DE}
.ftr__top{display:inline-flex;align-items:center;gap:8px}
@media (max-width:900px){.ftr__cols{grid-template-columns:1fr 1fr}.ftr__col--addr{grid-column:1/-1}}
@media (max-width:480px){.ftr__cols{grid-template-columns:1fr}}

/* ---------- Rechtstexte ---------- */
.doc{padding-block:calc(var(--hdr) + clamp(56px,8vw,112px)) var(--sec)}
.doc__in{max-width:960px}
.doc__head{margin-bottom:clamp(32px,4vw,56px)}
.doc__body{max-width:70ch}
.doc__body h2{margin:44px 0 12px;font-size:24px;line-height:1.15;font-weight:660;font-stretch:80%}
.doc__body p+p{margin-top:12px}
.doc__body ul{margin:12px 0;padding-left:20px;list-style:disc}
.doc__body li+li{margin-top:4px}
.doc__body dl{display:grid;grid-template-columns:minmax(170px,auto) 1fr;gap:10px 28px;margin:18px 0}
.doc__body dt{font-size:12px;font-weight:600;font-stretch:118%;letter-spacing:.1em;text-transform:uppercase;color:var(--fels);padding-top:3px}
.doc__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.btn--line{border-color:var(--wald);color:var(--wald)}
.btn--line:hover{background:var(--wald);color:#fff}
.page-404 .hdr{background:var(--wald)}
.todo{background:#F4DE9A;color:#4A3B06;padding:1px 6px;font-size:14px;font-weight:600}
.stand{margin-top:40px;font-size:14px;color:var(--fels)}
.page-imprint .hdr,.page-privacy .hdr{background:var(--wald)}
@media (max-width:600px){.doc__body dl{grid-template-columns:1fr;gap:2px}.doc__body dd{margin-bottom:12px}}
