/* Waldauszeit: vorhandene Gestaltung behutsam verfeinert. */
@media(min-width:1001px){.gallery-grid .gallery-item-7{grid-column:1}.gallery-grid .gallery-item-8{grid-column:2 / span 2}}
:root{--container:min(1240px,calc(100% - 64px));--moss:#53674d}
html{scroll-padding-top:24px}
body{font-size:16px}
main{overflow:clip}
em{color:#556c4b}
.hero em,.booking em,.nature-band em{color:#d3dfc4}
.hero{height:auto;min-height:min(900px,100svh);max-height:none;background:#25352b}
.hero-inner{padding-top:160px;padding-bottom:90px}
.hero .hero-slogan{font-size:clamp(58px,7.7vw,108px);line-height:1.02;text-wrap:balance}
.hero-shade{background:linear-gradient(180deg,rgba(10,22,15,.48),transparent 38%,rgba(10,22,15,.85)),linear-gradient(90deg,rgba(10,22,15,.35),transparent 85%)}
.hero-facts{flex-shrink:0;border-radius:8px}
.hero-facts span{font-size:13px}
.button{min-height:48px;letter-spacing:.015em}
.button-small{font-size:14px}
.section h2,.nature-copy h2,.host h2{line-height:1.08;text-wrap:balance}
.intro-grid{grid-template-columns:160px minmax(0,1fr);gap:70px}
.section{padding:clamp(72px,8vw,120px) 0}
.section-tight{padding:40px 0 80px}
.image-stage{margin:0;min-height:0;border-radius:12px}
.image-stage img{height:auto;aspect-ratio:16/9;object-fit:cover}
.image-stage figcaption span{font-size:12px}
.amenity-card p,.region-card p{font-size:16px}
.amenity-card{padding:32px;min-height:0}
.gallery-grid{grid-template-columns:1.2fr 1fr 1fr;grid-auto-rows:260px}
.gallery-item-1{grid-column:1;grid-row:1 / span 2}
.gallery-item-4{grid-column:2;grid-row:2}
.gallery-item-5{grid-column:3;grid-row:2}
.gallery-item-6{grid-column:1 / -1;grid-row:3}
.gallery-item{border-radius:10px}
.region-card{border-radius:10px;background:transparent}
.region-grid a.region-card{display:block;color:inherit;text-decoration:none}
.region-grid a.region-card strong{display:inline-block;margin-top:20px;color:#425440;font-size:13px;text-decoration:underline;text-decoration-color:#a4afa0;text-underline-offset:5px}
.region-grid a.region-card:hover strong{text-decoration-color:#425440}
.region-more{display:inline-flex;align-items:center;gap:14px;margin-top:34px;color:#344c3c;font-weight:650;text-underline-offset:6px}
.local-guide-teaser{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:24px;align-items:center;margin:0 0 28px;padding:24px 28px;border:1px solid #c9d0c4;border-radius:12px;background:#e5e9df;color:#25352b;text-decoration:none;transition:background .22s ease,transform .22s ease,box-shadow .22s ease}
.local-guide-teaser>span{font-size:11px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;color:#60705d}.local-guide-teaser>strong{font:400 29px/1.1 Georgia,serif}.local-guide-teaser>small{font-size:13px;color:#52604f}.local-guide-teaser b{margin-left:10px;font-weight:400}.local-guide-teaser:hover{background:#edf0e8;transform:translateY(-2px);box-shadow:0 14px 34px rgba(28,44,33,.08)}
.booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:clamp(32px,6vw,88px);align-items:start}
.booking-copy h2{font-size:clamp(48px,5.7vw,76px)}
.booking-card{border-radius:14px;padding:32px}
.booking-card label>span{font-size:14px;text-transform:none;letter-spacing:.01em;color:#4a574c;font-weight:600}
.booking-card,.booking-card form,.booking-card label,.form-row,.form-row>label{min-width:0;max-width:100%}
.booking-card input,.booking-card select,.booking-card textarea{display:block;box-sizing:border-box;inline-size:100%;width:100%;min-width:0;max-width:100%;min-height:48px;font-size:16px}
.booking-card input[type="date"]{-webkit-appearance:none;appearance:none;-webkit-min-logical-width:0;min-inline-size:0;max-inline-size:100%}
.privacy-check>span{font-size:14px!important}
.form-note,.form-message{font-size:14px}
.check-list{font-size:14px}
.footer-copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px}
.reveal{opacity:1;transform:none}
.lightbox img{object-fit:contain}
:focus-visible{outline:3px solid #b17a39;outline-offset:5px}
.stay-calendar{margin-top:36px;padding:22px;border:1px solid #ffffff35;border-radius:12px;background:#ffffff08;max-width:490px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.calendar-heading h3{margin:0;font:400 23px Georgia,serif;text-align:center}
.calendar-heading button{width:44px;height:44px;border:1px solid #ffffff4a;background:transparent;color:white;border-radius:50%;cursor:pointer}
.calendar-heading button:disabled{opacity:.3;cursor:default}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.month-grid span{display:grid;place-items:center;min-height:36px;font-size:14px;border-radius:5px}
.month-grid .weekday{font-size:12px;color:#c6cec3}
.month-grid .available{background:#edf0e7;color:#213327}
.month-grid .occupied{background:repeating-linear-gradient(135deg,#57634e,#57634e 4px,#43503d 4px,#43503d 8px);border:1px solid #a4b393;color:white}
.month-grid .past{opacity:.4}
.calendar-key{display:flex;flex-wrap:wrap;gap:10px 18px;margin:16px 0 0;color:#e5e9e1;font-size:13px;line-height:1.4}
.calendar-key span{display:inline-flex;align-items:center;gap:8px}
.calendar-key i{display:inline-block;width:18px;height:18px;border-radius:4px;flex:0 0 18px}
.calendar-key .key-available{background:#edf0e7;border:1px solid #d4dacd}
.calendar-key .key-occupied{background:repeating-linear-gradient(135deg,#69765f,#69765f 4px,#43503d 4px,#43503d 8px);border:1px solid #b1bea8}
#calendar-status{font-size:13px!important;line-height:1.5;color:#c6cec3!important;margin:14px 0 0!important}
.stay-calendar:not(.ready) .calendar-key{display:none}
@media(max-width:1000px){.intro-grid{grid-template-columns:1fr;gap:24px}.hero-inner{display:block}.hero-facts{grid-template-columns:repeat(4,1fr);width:min(480px,100%);margin-top:32px}.booking-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.booking-card{padding:22px}.nature-grid{gap:40px}.host-grid{gap:30px}.desktop-nav{display:none}.form-row.two{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.gallery-item{grid-column:auto;grid-row:auto}}
@media(max-width:760px){:root{--container:min(1240px,calc(100% - 40px))}.booking-grid{grid-template-columns:1fr;max-width:580px}.stay-calendar{max-width:none}.hero .hero-slogan{font-size:clamp(46px,9vw,70px)}.hero-inner{padding-top:130px;padding-bottom:64px}.hero{min-height:100svh}.hero-facts div{padding:14px 10px}.hero-facts strong{font-size:25px}.hero-facts span{font-size:12px}.hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.image-stage img{aspect-ratio:4/3;min-height:0;height:auto}.nature-grid{grid-template-columns:1fr}.gallery-grid{grid-auto-rows:220px}.section-head{display:block}.section-head p{margin-top:24px}.host-grid{grid-template-columns:1fr}.host-grid p{grid-column:auto}.host-number{border-right:0}.site-header .button-small{display:inline-flex;padding:10px 14px;font-size:13px}.nav-wrap{gap:12px}.brand strong{font-size:13px}.brand small{font-size:10px}.brand-mark{width:32px;height:32px}.brand{gap:8px}}
@media(max-width:480px){.hero .hero-slogan{font-size:clamp(40px,10.5vw,52px)}.hero p{font-size:17px}.hero-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-facts span{font-size:11px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.intro-copy h2,.section-head h2,.host h2{font-size:38px}.booking-copy h2,.nature-copy h2{font-size:44px}.booking-card{padding:22px 18px}.stay-calendar{padding:18px 12px}.image-stage figcaption{position:static;border-radius:0;background:#efe9dd}.check-list{grid-template-columns:1fr}.lightbox{padding:16px}.lightbox-close{min-width:48px;min-height:48px}.scroll-hint{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* SEO update: keep the established hero and add a visible descriptive H1. */
.hero .hero-location{font:600 clamp(12px,1.3vw,16px)/1.5 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;max-width:650px;margin:0 0 22px;color:#f8f5ef}
.hero .hero-slogan{font-family:Georgia,serif;font-weight:400;max-width:none;margin:0 0 26px;color:#fff}
.hero .hero-slogan em{font-weight:400}
.hero-media picture,.hero-media img{display:block;width:100%;height:100%}
.hero-media img{object-fit:cover;object-position:center}
.gallery-item picture{display:block;width:100%;height:100%}
.image-stage picture{display:block}
.location-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:center}
.location h2{font:400 clamp(38px,4vw,56px)/1.12 Georgia,serif;margin:18px 0 24px}
.location p,.region-advice,.faq-list p{line-height:1.75;color:#626a63}
.location-card{padding:32px;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;gap:20px;min-width:0}
.location-card address{font-style:normal;line-height:1.8}
.location-card .button{white-space:normal;text-align:center}
.location-card .text-link{overflow-wrap:anywhere}
.region-advice{max-width:850px;margin:30px 0 0}
.faq-list{max-width:900px}
.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}
.faq-list summary{cursor:pointer;font-size:18px;font-weight:600;padding:8px 0;line-height:1.5}
.faq-list summary:focus-visible{outline:2px solid #25352b;outline-offset:5px}
.faq-list p{margin:12px 0 4px;max-width:760px}
.nature-note p{font:400 clamp(28px,3vw,42px)/1.3 Georgia,serif;margin:0 0 24px}
.nature-note a{color:inherit;text-underline-offset:5px;line-height:1.6}
.footer-links{flex-wrap:wrap}
@media(max-width:760px){.location-grid{grid-template-columns:1fr;gap:28px}.location-card{padding:24px}.hero .hero-location{font-size:12px;letter-spacing:.06em}.hero .hero-slogan{font-size:clamp(46px,9vw,70px);line-height:1.02}.faq-list summary{font-size:17px}}
@media(max-width:760px){.local-guide-teaser{grid-template-columns:1fr;gap:8px;padding:22px}.local-guide-teaser>strong{font-size:27px}.local-guide-teaser>small{display:flex;justify-content:space-between;gap:16px}}

@media(max-width:480px){.hero .hero-slogan{font-size:clamp(40px,10.5vw,52px)}}

@media(max-width:480px){
  .booking-card{width:100%;max-width:100%;overflow:hidden;padding:22px 16px}
  .booking-card input,.booking-card select,.booking-card textarea{width:100%;max-width:100%;padding-left:12px;padding-right:12px}
  .booking-card input[type="date"]{font-size:16px}
  .calendar-key{gap:9px 14px}
}

/* A distinct, quiet arrival chapter closes the page, immediately before the footer. */
.location-finale{background:#e7e9df;border-top:1px solid #d4d9ca;border-bottom:1px solid #d4d9ca;padding:clamp(56px,7vw,104px) 0;scroll-margin-top:24px}
.location-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(40px,6vw,88px);align-items:center}
.location-photo{position:relative;align-self:stretch;margin:0;min-width:0;min-height:540px;border-radius:16px;overflow:hidden;background:#c7cbbb}
.location-photo picture{display:block;position:absolute;inset:0}
.location-photo img{width:100%;height:100%;object-fit:cover;object-position:45% center}
.location-photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(20,34,25,.7));pointer-events:none}
.location-photo figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:28px;color:#fff;font:italic 400 clamp(24px,2.4vw,32px)/1.2 Georgia,serif}
.location-content{min-width:0}
.location-finale .section-kicker{color:#52634e;padding:0}
.location-finale h2{font:400 clamp(40px,4.5vw,64px)/1.06 Georgia,serif;letter-spacing:-.035em;margin:16px 0 24px;text-wrap:balance}
.location-finale h2 em{color:#576c50}
.location-finale .location-intro{max-width:450px;color:#52604e;margin:0 0 30px;font-size:17px;line-height:1.7}
.arrival-details{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;padding:26px 0;border-top:1px solid #bdc6b5;border-bottom:1px solid #bdc6b5;margin-bottom:28px}
.arrival-address h3,.arrival-times dt{font:600 11px/1.5 Inter,ui-sans-serif,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#52634e;margin:0 0 10px}
.arrival-address address{font-style:normal;font-size:14px;line-height:1.85}
.arrival-address strong{font-weight:600}
.arrival-times{margin:0;display:grid;gap:14px}
.arrival-times dt{margin:0 0 2px}
.arrival-times dd{margin:0;font-size:14px;line-height:1.5}
.location-finale .arrival-button{background:#25352b;color:#fff;font-size:14px;min-height:50px;padding:14px 24px;gap:24px;max-width:100%;white-space:normal;text-align:center}
.location-finale .arrival-button:hover{background:#344c3c}
.location-finale .arrival-contact{color:#52604e;font-size:13px;line-height:1.8;margin:20px 0 0}
.arrival-contact a{text-decoration:underline;text-decoration-color:#929e89;text-underline-offset:4px;overflow-wrap:anywhere}
.location-finale a:focus-visible{outline:2px solid #25352b;outline-offset:5px}
@media(max-width:1000px) and (min-width:761px){.location-layout{gap:32px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.location-photo{min-height:540px}.arrival-details{gap:16px}.arrival-address address,.arrival-times dd{font-size:13px}}
@media(max-width:760px){.location-layout{grid-template-columns:minmax(0,1fr);gap:32px}.location-photo{min-height:0;aspect-ratio:16/10;max-height:340px}.location-photo figcaption{left:22px;bottom:22px}.location-finale h2{font-size:clamp(40px,9vw,58px)}.location-finale .location-intro{max-width:540px}.arrival-details{gap:20px}.location-finale{padding:48px 0 56px}}
@media(max-width:380px){.arrival-details{grid-template-columns:minmax(0,1fr)}.arrival-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.location-finale .arrival-button{width:100%}}
