/* Forest Lodge — motion study V62. V60 remains the original reference. */
:root{--fl-ease:cubic-bezier(.22,1,.36,1);--fl-soft:cubic-bezier(.25,.46,.45,.94)}
.motion-probe .reveal.show{animation:none}
.motion-probe .hero-visual img{animation:fl-hero-out 12s cubic-bezier(.2,.45,.3,1) both}
.motion-probe.page-forest-lodge-ii .hero-visual img{animation-name:fl-hero-in}
@keyframes fl-hero-out{from{transform:scale(1.085)}to{transform:scale(1)}}
@keyframes fl-hero-in{from{transform:scale(1)}to{transform:scale(1.07)}}
.hero-line{display:block;overflow:clip;padding-bottom:.14em;margin-bottom:-.14em}
.hero-line>span{display:block}
.hero-line+ .hero-line>span{font-style:italic;font-weight:400}
.motion-probe .home-hero .display{max-width:19ch}
.hero-discover{position:absolute;right:var(--gutter);bottom:clamp(44px,8vh,96px);display:flex;align-items:center;gap:18px;min-height:52px;font-size:.875rem;letter-spacing:.02em}
.discover-circle{display:grid;place-items:center;width:54px;height:54px;border:1px solid #f8f7f38c;border-radius:50%;font-size:1.25rem;transition:background .3s,translate .5s var(--fl-ease)}
.hero-discover:hover .discover-circle{background:#f8f7f31a;translate:0 5px}
.motion-probe .page-hero .hero-discover{left:50%;right:auto;transform:translateX(-50%);bottom:clamp(30px,6vh,62px);display:flex;gap:14px}
.motion-probe .page-hero .hero-discover > span:first-child{display:block}
.motion-probe .page-hero .hero-discover .discover-circle{width:52px;height:52px;font-size:1.25rem}
.motion-probe .page-hero .hero-discover:hover .discover-circle{translate:0 4px}

.motion-probe .page-hero{
  height:100dvh;
  min-height:100dvh;
  align-items:flex-end;
}

.motion-probe .page-hero .page-hero-copy{
  width:100%;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-top:0;
  gap:10px;
}

.motion-probe .page-hero .display{
  margin:0 auto;
  max-width:14ch;
  font-weight:300;
  letter-spacing:-.01em;
}

.motion-probe .page-hero .hero-discover{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  bottom:clamp(24px,5vh,58px);
  font-size:.74rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:300;
}

.motion-probe .page-hero .hero-discover > span:first-child{display:block}

.motion-probe .page-hero .discover-circle{
  width:62px;
  height:62px;
  border-color:#f8f7f3cc;
  background:rgba(248,247,243,.08);
  font-size:1.4rem;
}
.motion-probe .page-infos .page-hero,
.motion-probe .page-ausstattung .page-hero,
.motion-probe .page-erleben .page-hero{
  height:100dvh;
  min-height:100dvh;
}
.motion-probe .page-infos .page-hero-copy,
.motion-probe .page-ausstattung .page-hero-copy,
.motion-probe .page-erleben .page-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.motion-probe .page-infos .page-hero .display,
.motion-probe .page-ausstattung .page-hero .display,
.motion-probe .page-erleben .page-hero .display{
  margin:0 auto;
  text-align:center;
  max-width:13ch;
  font-weight:300;
}
.motion-probe .page-infos .page-hero .hero-discover,
.motion-probe .page-ausstattung .page-hero .hero-discover,
.motion-probe .page-erleben .page-hero .hero-discover{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  letter-spacing:.14em;
  font-size:.72rem;
  font-weight:300;
  text-transform:uppercase;
}
.motion-probe .page-infos .page-hero .hero-discover > span:first-child,
.motion-probe .page-ausstattung .page-hero .hero-discover > span:first-child,
.motion-probe .page-erleben .page-hero .hero-discover > span:first-child{
  opacity:.98;
}
.motion-probe .page-infos .page-hero .hero-discover .discover-circle,
.motion-probe .page-ausstattung .page-hero .hero-discover .discover-circle,
.motion-probe .page-erleben .page-hero .hero-discover .discover-circle{
  width:58px;
  height:58px;
  border-color:#f8f7f3cc;
  font-size:1.4rem;
  background:rgba(248,247,243,.05);
}
.motion-probe .header{transition:background .5s var(--fl-ease)}
/* Avoid a filter on the header: fixed menu panels need the viewport as their containing block. */
.motion-probe .header.scrolled{background:#23382ff2}
.motion-probe .menu-panel{background:#23382f;animation:none!important}
.motion-probe .menu-inner{max-width:var(--max);padding-block:clamp(24px,5vh,60px);min-height:100%}
.motion-probe .menu-inner>.eyebrow{margin-bottom:clamp(24px,4vh,42px)}
.motion-menu-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:clamp(48px,7vw,100px);align-items:center}
.motion-probe .menu-direct{gap:0}
.motion-probe .menu-direct a{display:grid;grid-template-columns:28px 1fr 32px;gap:18px;align-items:baseline;width:100%;padding-block:clamp(13px,2.5vh,23px);font-size:clamp(1.6rem,3.2vw,3rem);border-bottom:1px solid #f8f7f325;animation:none!important;transition:color .3s;transform:none}
.menu-index{font:400 .75rem/1.5 var(--sans);color:#bdc6b6;letter-spacing:.08em}
.menu-link-name{display:block;transition:translate .5s var(--fl-ease)}
.menu-link-arrow{
  position:relative;
  display:inline-block;
  width:16px;
  height:16px;
  font-size:0;
  align-self:center;
  opacity:0;
  translate:-12px 8px;
  transition:opacity .4s,translate .5s var(--fl-ease);
}
.menu-link-arrow::before{
  content:'';
  position:absolute;
  top:50%;
  left:1px;
  width:7px;
  height:7px;
  border-top:1.6px solid currentColor;
  border-right:1.6px solid currentColor;
  transform:translateY(-50%) rotate(45deg);
  transform-origin:center;
}
.motion-probe .menu-direct a:is(:hover,:focus-visible) .menu-link-name{translate:8px 0}
.motion-probe .menu-direct a:is(:hover,:focus-visible) .menu-link-arrow{opacity:1;translate:0 0}
.menu-scene{align-self:center;min-width:0}
.menu-scene-images{position:relative;aspect-ratio:4/5;max-height:53vh;overflow:hidden;isolation:isolate}
.menu-scene-image{position:absolute;inset:0;opacity:0;scale:1.045;transition:opacity .55s var(--fl-soft),scale 1.1s var(--fl-ease)}
.menu-scene-image.is-active{opacity:1;scale:1}
.menu-scene-image[data-scene="0"]{object-position:60% 50%}
.menu-scene-image[data-scene="1"]{object-position:58% 52%}
.menu-scene-image[data-scene="2"]{object-position:50% 62%}
.menu-scene-image[data-scene="3"]{object-position:50% 50%}
.menu-scene-image[data-scene="4"]{object-position:50% 38%}
.menu-scene-image[data-scene="5"]{object-position:43% 50%}
.menu-scene-caption{margin-top:20px;font:400 1.35rem/1.4 var(--serif)}
.menu-scene-note{display:block;margin-top:6px;font-size:.8125rem;color:#bdc6b6;letter-spacing:.04em}
.motion-probe .lodge-photo{position:relative;isolation:isolate}
.motion-probe .lodge-photo img{transition:transform 1s var(--fl-ease)}
.motion-probe .lodge-card:hover .lodge-photo img{transform:scale(1.045)}
.motion-probe .lodge-card h3{transition:translate .55s var(--fl-ease)}
.motion-probe .lodge-card:hover h3{translate:6px 0}
.motion-probe .text-link{transition:color .3s,border-color .3s}
.motion-probe .btn,.motion-probe .book{transition:background .35s,color .35s,border-color .35s,translate .45s var(--fl-ease)}
.motion-probe .btn:hover{translate:0 -3px}
.motion-probe .region-teaser-image,.motion-probe .mosaic-main,.motion-probe .mosaic-side figure,.motion-probe .detail-photos figure,.motion-probe .terrace-details figure,.motion-probe .gallery .card{overflow:hidden}
.motion-probe .booking{position:relative;overflow:hidden}
.motion-probe .booking::before{content:'';display:block;position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:#d4dcc36b;transform:scaleX(var(--booking-line,1));transform-origin:left}
.motion-probe .tour-photo img{transition:opacity .3s}
@media(min-width:1000px) and (hover:hover) and (pointer:fine){
 .motion-probe .lodge-photo::after{content:'Entdecken ↗';position:absolute;left:var(--pointer-x,50%);top:var(--pointer-y,50%);translate:-50% -50%;display:grid;place-items:center;width:108px;height:108px;border-radius:50%;background:#f8f7f3ed;color:var(--pine);font-size:.8125rem;opacity:0;scale:.8;transition:opacity .25s,scale .45s var(--fl-ease);pointer-events:none}
 .motion-probe .lodge-photo.is-pointed::after{opacity:1;scale:1}
}
@media(max-width:1000px){
  .hero-discover{bottom:25px;gap:12px}
  .hero-discover>span:first-child{display:none}
  .discover-circle{width:42px;height:42px}
  .motion-probe .page-hero .hero-discover{bottom:24px}
  .motion-probe .page-infos .page-hero .hero-discover > span:first-child,
  .motion-probe .page-ausstattung .page-hero .hero-discover > span:first-child,
  .motion-probe .page-erleben .page-hero .hero-discover > span:first-child{display:block}
  .motion-probe .page-infos .page-hero .hero-discover,
  .motion-probe .page-ausstattung .page-hero .hero-discover,
  .motion-probe .page-erleben .page-hero .hero-discover{gap:6px; font-size:.78rem}
  .motion-probe .page-infos .page-hero,
  .motion-probe .page-ausstattung .page-hero,
  .motion-probe .page-erleben .page-hero{height:100dvh;min-height:100dvh}
  .motion-probe .page-infos .page-hero .hero-discover .discover-circle,
  .motion-probe .page-ausstattung .page-hero .hero-discover .discover-circle,
  .motion-probe .page-erleben .page-hero .hero-discover .discover-circle{width:48px;height:48px}
  .motion-probe .page-hero .hero-discover .discover-circle{width:42px;height:42px}
  .motion-menu-layout{grid-template-columns:1.2fr .8fr;gap:36px}
  .motion-probe .menu-direct a{gap:12px;font-size:clamp(1.55rem,3.2vw,2.4rem)}
}
@media(max-width:760px){
 .motion-probe .home-hero .display{max-width:13ch}
.motion-probe .home-hero-copy{padding-bottom:86px}
.hero-discover{bottom:22px;right:24px}
  .motion-probe .page-infos .page-hero .hero-discover > span:first-child,
  .motion-probe .page-ausstattung .page-hero .hero-discover > span:first-child,
  .motion-probe .page-erleben .page-hero .hero-discover > span:first-child{display:block}

  .motion-probe .page-hero .display{
    font-size:clamp(3rem,11vw,4rem);
  }

  .motion-probe .page-hero .hero-discover{
    gap:8px;
    font-size:.72rem;
    bottom:18px;
  }

  .motion-probe .page-hero .hero-discover .discover-circle,
  .motion-probe .page-hero .discover-circle,
  .motion-probe .page-infos .page-hero .hero-discover .discover-circle,
  .motion-probe .page-ausstattung .page-hero .hero-discover .discover-circle,
  .motion-probe .page-erleben .page-hero .hero-discover .discover-circle{width:52px;height:52px}
.motion-menu-layout{grid-template-columns:minmax(0,1fr);gap:0}
.menu-scene{display:none}
.motion-probe .menu-inner{padding-block:28px 36px}
 .motion-probe .menu-direct a{grid-template-columns:20px 1fr 24px;gap:12px;font-size:clamp(1.45rem,6.4vw,2rem);padding-block:19px}
 .menu-link-arrow{
  font-size:0;
  width:12px;
  height:12px;
}
 .menu-link-arrow::before{
  width:6px;
  height:6px;
  left:0;
}
}
@media(max-height:560px){.motion-probe .menu-inner{padding-block:18px}.motion-probe .menu-inner>.eyebrow{margin-bottom:10px}.motion-probe .menu-direct a{padding-block:10px;font-size:1.5rem}.menu-scene-images{max-height:44vh}}
/* Native cross-document transitions; normal navigation remains the fallback. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:fl-page-out .16s ease-out both}
::view-transition-new(root){animation:fl-page-in .28s ease-out both;mix-blend-mode:normal}
@keyframes fl-page-out{to{opacity:0}}
@keyframes fl-page-in{from{opacity:.65}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .motion-probe .hero-visual img{animation:none;transform:none}
 .motion-probe .lodge-photo::after{display:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .motion-probe *, .motion-probe *::before,.motion-probe *::after{animation:none!important;transition:none!important}
}

/* V65: keep the keys prominent in the compact booking hero. */
.page-infos .page-hero .hero-visual img{object-position:50% 50%}
@media(max-width:760px){.page-infos .page-hero .hero-visual img{object-position:43% 50%}}

/* V66: focal point for the towel photograph in the equipment hero. */
.page-ausstattung .page-hero .hero-visual img{object-position:50% 50%}
@media(max-width:760px){.page-ausstattung .page-hero .hero-visual img{object-position:50% 58%}}

/* V67: full-viewport editorial heroes inspired by the supplied Sacher reference. */
html.hero-intro-lock,
html.hero-intro-lock body{
  overflow:hidden;
  overscroll-behavior:none;
}

/* V68: a quiet, centered footer with contact details only. */
.motion-probe .site-footer{
  text-align:center;
}

.motion-probe .footer-main{
  display:flex;
  justify-content:center;
  align-items:center;
  padding-block:clamp(48px,6vw,76px) 28px;
}

.motion-probe .footer-brand{
  justify-content:center;
  text-align:left;
}

.motion-probe .footer-links{
  display:none;
}

.motion-probe .footer-contact{
  justify-content:center;
  align-items:center;
  gap:10px 28px;
  padding-bottom:36px;
  text-align:center;
}

.motion-probe .footer-contact span{
  align-self:center;
  font-weight:500;
}

.motion-probe .footer-meta{
  justify-content:center;
  padding-block:18px;
  border-top:0;
}

.motion-probe .footer-meta span,
.motion-probe .footer-meta a[href="#top"]{
  display:none;
}

.motion-probe .footer-meta a{
  color:#c8d0c4;
}

@media(max-width:760px){
  .motion-probe .footer-main{
    align-items:center;
    padding-block:44px 24px;
  }

  .motion-probe .footer-brand{
    align-items:center;
    text-align:left;
  }

  .motion-probe .footer-contact{
    flex-direction:column;
    gap:4px;
    padding-bottom:30px;
  }

  .motion-probe .footer-contact span{
    flex-basis:auto;
    margin-bottom:4px;
  }
}

.motion-probe .home-hero .home-hero-copy{
  position:absolute;
  inset:0;
  z-index:1;
  max-width:none;
  width:100%;
  padding:calc(var(--header-height) + clamp(28px,5vh,64px)) var(--gutter) clamp(112px,14vh,150px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
}

.motion-probe .home-hero .display{
  max-width:none;
  width:100%;
  margin:0 auto;
  font-family:var(--sans);
  font-size:clamp(2.15rem,3vw,3.35rem);
  font-weight:300;
  font-style:normal;
  line-height:1.1;
  letter-spacing:.01em;
  text-align:center;
  text-transform:uppercase;
}

.motion-probe .home-hero .hero-line > span{
  font-family:inherit;
  font-style:normal;
}

.motion-probe .home-hero .hero-line--together{
  white-space:nowrap;
}

.motion-probe .menu-index{
  display:none;
}

.motion-probe .menu-direct a{
  grid-template-columns:minmax(0,1fr) 32px;
}

.motion-probe .gallery-head .lodge-name-lock{
  white-space:nowrap;
}

.motion-probe .page-hero{
  width:100%;
  height:100vh;
  height:100svh;
  height:100dvh;
  min-height:100svh;
  align-items:stretch;
}

.motion-probe .page-hero .page-hero-copy{
  position:absolute;
  inset:0;
  z-index:1;
  max-width:none;
  width:100%;
  padding:calc(var(--header-height) + clamp(28px,5vh,64px)) var(--gutter) max(10px,env(safe-area-inset-bottom));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:0;
  text-align:center;
}

.motion-probe .page-hero .display{
  max-width:17ch;
  margin:0 auto;
  font-family:var(--sans);
  font-size:clamp(2.15rem,3vw,3.35rem);
  font-weight:300;
  line-height:1.1;
  letter-spacing:.01em;
  text-align:center;
  text-transform:uppercase;
  text-wrap:balance;
}

.motion-probe .hero-discover,
.motion-probe .page-hero .hero-discover,
.motion-probe .page-infos .page-hero .hero-discover,
.motion-probe .page-ausstattung .page-hero .hero-discover,
.motion-probe .page-erleben .page-hero .hero-discover{
  position:absolute;
  z-index:2;
  left:50%;
  right:auto;
  bottom:max(10px,env(safe-area-inset-bottom));
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  min-height:0;
  padding:4px 18px 0;
  color:var(--paper);
  font-size:.86rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.07em;
  text-transform:lowercase;
  white-space:nowrap;
}

.motion-probe .page-hero .hero-discover{
  position:static;
  margin-top:clamp(30px,4.5vh,48px);
  transform:none;
}

.motion-probe .hero-discover > span:first-child,
.motion-probe .page-hero .hero-discover > span:first-child{
  display:block;
}

.motion-probe .discover-circle,
.motion-probe .page-hero .discover-circle,
.motion-probe .page-infos .page-hero .hero-discover .discover-circle,
.motion-probe .page-ausstattung .page-hero .hero-discover .discover-circle,
.motion-probe .page-erleben .page-hero .hero-discover .discover-circle{
  position:relative;
  display:block;
  width:31px;
  height:17px;
  border:0;
  border-radius:0;
  background:none;
  color:transparent;
  font-size:0;
  transition:transform .45s var(--fl-ease);
}

.motion-probe .discover-circle::before{
  content:'';
  position:absolute;
  left:50%;
  top:-3px;
  width:19px;
  height:19px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  color:var(--paper);
  transform:translateX(-50%) rotate(45deg);
  transform-origin:center;
}

.motion-probe .hero-discover:hover .discover-circle,
.motion-probe .hero-discover:focus-visible .discover-circle,
.motion-probe .page-hero .hero-discover:hover .discover-circle{
  background:none;
  transform:translateY(4px);
  translate:none;
}

.motion-probe .hero-discover[aria-disabled="true"]{
  cursor:wait;
}

@media(max-width:760px){
  .motion-probe .menu-direct a{
    grid-template-columns:minmax(0,1fr) 24px;
  }

  .motion-probe .home-hero .home-hero-copy{
    padding-inline:22px;
    padding-bottom:clamp(100px,15vh,128px);
  }

  .motion-probe .home-hero .display{
    max-width:none;
    font-size:clamp(1.35rem,6.6vw,2.35rem);
    line-height:1.12;
  }

  .motion-probe .page-hero .page-hero-copy{
    padding-inline:22px;
    padding-bottom:max(12px,env(safe-area-inset-bottom));
  }

  .motion-probe .page-hero .display{
    max-width:17ch;
    font-size:clamp(1.75rem,7.6vw,2.35rem);
    line-height:1.12;
  }

  .motion-probe .hero-discover,
  .motion-probe .page-hero .hero-discover,
  .motion-probe .page-infos .page-hero .hero-discover,
  .motion-probe .page-ausstattung .page-hero .hero-discover,
  .motion-probe .page-erleben .page-hero .hero-discover{
    gap:7px;
    bottom:max(12px,env(safe-area-inset-bottom));
    font-size:.82rem;
  }

  .motion-probe .page-hero .hero-discover{
    margin-top:clamp(26px,4vh,38px);
  }

  .motion-probe .hero-discover .discover-circle,
  .motion-probe .page-hero .hero-discover .discover-circle,
  .motion-probe .page-infos .page-hero .hero-discover .discover-circle,
  .motion-probe .page-ausstattung .page-hero .hero-discover .discover-circle,
  .motion-probe .page-erleben .page-hero .hero-discover .discover-circle{
    width:28px;
    height:15px;
  }

  .motion-probe .discover-circle::before{
    width:17px;
    height:17px;
  }
}

/* V69: legal information and a direct, privacy-friendly enquiry path. */
.personal-inquiry{
  display:inline-flex;
  align-items:center;
  gap:12px;
  width:fit-content;
  margin-top:18px;
  padding:7px 0 5px;
  border-bottom:1px solid currentColor;
  font-size:.875rem;
  line-height:1.5;
  transition:color .2s;
}

.page-forest-lodge-i .booking-side,
.page-forest-lodge-ii .booking-side{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:28px;
}

.page-forest-lodge-i .booking-side .personal-inquiry,
.page-forest-lodge-ii .booking-side .personal-inquiry{
  margin-top:0;
  width:auto;
}

.personal-inquiry:hover,
.personal-inquiry:focus-visible{
  color:#a8b99e;
}

.booking-choice:not(:first-child) .personal-inquiry:hover,
.booking-choice:not(:first-child) .personal-inquiry:focus-visible{
  color:#797a54;
}

.page-legal .motion-menu-layout{
  grid-template-columns:minmax(0,760px);
  max-width:760px;
}

.legal-page{
  padding:clamp(64px,7vw,104px) 0 var(--space);
}

.legal-wrap{
  max-width:1120px;
}

.legal-page .title{
  max-width:14ch;
}

.legal-intro{
  max-width:68ch;
  margin-top:28px;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.8;
}

.legal-content{
  margin-top:clamp(46px,6vw,78px);
  border-top:1px solid var(--line);
}

.legal-section{
  display:grid;
  grid-template-columns:minmax(210px,.7fr) minmax(0,1.5fr);
  gap:28px clamp(38px,7vw,96px);
  padding-block:clamp(28px,4vw,46px);
  border-bottom:1px solid var(--line);
}

.legal-section h2{
  font:400 clamp(1.45rem,2.2vw,2rem)/1.25 var(--serif);
  letter-spacing:-.025em;
}

.legal-section p,
.legal-section address{
  grid-column:2;
  max-width:70ch;
  font-style:normal;
  line-height:1.78;
}

.legal-section h2 + p,
.legal-section h2 + address{
  margin-top:0;
}

.legal-section p + p{
  margin-top:16px;
}

.legal-section a{
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}

.legal-date{
  color:var(--muted);
  font-size:.875rem;
}

.legal-page .back{
  margin-top:36px;
}

.footer-meta a[aria-current="page"]{
  color:var(--paper);
  text-decoration:underline;
  text-underline-offset:4px;
}

@media(max-width:760px){
  .legal-page{
    padding-block:46px 64px;
  }

  .legal-section{
    grid-template-columns:1fr;
    gap:14px;
  }

  .legal-section p,
  .legal-section address{
    grid-column:1;
  }

  .motion-probe .footer-meta{
    gap:10px 22px;
  }
}
