:root{--slalom-header-height:100px;--slalom-bg:#F8F6F1;--slalom-white:#FFFFFF;--slalom-beige:#EEE8DD;--slalom-beige-light:#F4F0E8;--slalom-green-light:#899883;--slalom-green:#74816D;--slalom-green-dark:#5F6B59;--slalom-text:#252925;--slalom-text-muted:#696B66;--slalom-border:#DDD9D0;--slalom-radius-small:8px;--slalom-radius:14px;--slalom-radius-large:24px;--slalom-container:1320px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--slalom-bg);color:var(--slalom-text);font-family:Manrope,sans-serif;font-size:16px;line-height:1.75}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}
h1{font-size:clamp(3.5rem,6.8vw,6.5rem);line-height:1.02}
h2{font-size:clamp(2.7rem,4.4vw,4.5rem);line-height:1.05;letter-spacing:-.025em}
h3{font-size:clamp(2rem,2.7vw,2.8rem);line-height:1.08;letter-spacing:-.015em}
p{max-width:65ch;color:var(--slalom-text-muted)}
p+p{margin-top:22px}
.lead{font-size:19px;line-height:1.7;color:var(--slalom-text)}
.container{width:min(var(--slalom-container),calc(100% - 112px));margin-inline:auto}
.section{padding-block:120px}
.header{height:var(--slalom-header-height);background:var(--slalom-bg);position:relative;z-index:10}
.header-inner{height:100%;max-width:1512px;padding:10px 48px;margin:auto;display:flex;gap:32px;align-items:center}
.logo{width:80px;height:76px;object-fit:contain}
.desktop-nav{display:flex;gap:28px;align-items:center;margin-left:auto;font-size:14px;font-weight:500}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:14px 25px;background:var(--slalom-green-dark);color:var(--slalom-white);border:1px solid transparent;border-radius:var(--slalom-radius-small);font-size:14px;line-height:1.4;font-weight:600;letter-spacing:.01em;text-align:center}
.button.secondary{background:transparent;border-color:var(--slalom-green);color:var(--slalom-green-dark)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero{min-height:0;height:calc(100vh - var(--slalom-header-height));height:calc(100svh - var(--slalom-header-height));display:grid;place-items:center;position:relative;isolation:isolate;text-align:center;color:var(--slalom-white)}
.hero picture,.hero-shade{position:absolute;inset:0;z-index:-1}
.hero picture img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.hero-shade{background:rgba(37,41,37,.38)}
.hero h1{padding:24px;text-shadow:0 2px 20px rgba(37,41,37,.12)}
.hero h1 span{font-size:.75em}
.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.intro h2{max-width:450px}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px;color:var(--slalom-green-dark)}
.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0}
.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--slalom-bg);padding:20px 24px 28px;border-top:1px solid var(--slalom-border)}
.mobile-nav:not([hidden]){display:grid;gap:18px}
.usp-section{background:var(--slalom-beige-light);padding-block:66px}
.usp-section h2{font-size:clamp(2rem,3vw,2.8rem);text-align:center;margin-bottom:48px}
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.usp{text-align:center;font-size:15px;font-weight:500;line-height:1.65;padding-inline:15px}
.icon{width:32px;height:32px;stroke:var(--slalom-green-dark);stroke-width:1.25;fill:none;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 20px}
.section-head{max-width:740px;margin-bottom:55px}
.section-head h2{margin-bottom:26px}
.section-head p{font-size:18px}
.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}
.photo{width:100%;height:100%;object-fit:cover}
.photo-wrap{overflow:hidden;border-radius:var(--slalom-radius);aspect-ratio:3/2;background:var(--slalom-beige)}
.photo-wrap img{transition:transform .6s}
.stay-card:hover .photo,.experience-card:hover .photo{transform:scale(1.025)}
.stay-card h3{margin:28px 0 18px}
.stay-card p{max-width:58ch}
.text-link{display:inline-flex;gap:18px;align-items:center;color:var(--slalom-green-dark);font-size:14px;font-weight:600;margin-top:25px;padding-bottom:5px;border-bottom:1px solid var(--slalom-green-light)}
.text-link::after{content:'→';font-size:20px;line-height:1}
.experiences{background:var(--slalom-beige)}
.experiences .section-head{max-width:800px}
.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.experience-card{display:flex;flex-direction:column}
.experience-card .photo-wrap{aspect-ratio:4/5}
.experience-card h3{margin:26px 0 16px;font-size:34px}
.experience-card p{font-size:15px}
.experience-card .text-link{align-self:flex-start;margin-top:auto;padding-top:24px}
.image-text{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}
.image-text .photo-wrap{aspect-ratio:4/5}
.image-text h2{margin-bottom:28px}
.image-text p{font-size:17px}
.testimonials{padding-block:90px;background:var(--slalom-beige-light)}
.testimonials .section-head{margin-inline:auto;text-align:center;max-width:700px}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
blockquote{margin:0;border-top:1px solid var(--slalom-border);padding-top:28px}
blockquote::before{content:'“';display:block;color:var(--slalom-green);font-family:'Cormorant Garamond',serif;font-size:70px;line-height:.7;margin:15px 0 5px}
blockquote p{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;line-height:1.3;color:var(--slalom-text)}
blockquote cite{display:block;font-style:normal;color:var(--slalom-text-muted);font-size:14px;margin-top:24px}
.hosts .image-text{grid-template-columns:1fr 1.1fr}
.hosts .photo-wrap{aspect-ratio:1/1}
.location{padding-top:0}
.location-image{height:520px;overflow:hidden}
.location-image img{object-position:center 60%}
.location-panel{background:var(--slalom-beige);padding:70px;display:grid;grid-template-columns:1fr 1.2fr;gap:70px;border-radius:0 0 var(--slalom-radius-large) var(--slalom-radius-large)}
.faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}
.faq h2{max-width:420px}
.faq details{border-top:1px solid var(--slalom-border)}
.faq details:last-child{border-bottom:1px solid var(--slalom-border)}
.faq summary{cursor:pointer;padding:25px 35px 25px 0;list-style:none;font-weight:500;position:relative;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:3px;top:20px;font-size:26px;font-weight:400;color:var(--slalom-green-dark)}
.faq details[open] summary::after{content:'−'}
.faq details p{padding:0 35px 26px 0;font-size:16px}
.closing{background:var(--slalom-green-dark);color:var(--slalom-white);text-align:center;padding:110px 24px;border-radius:50% 50% 0 0 / 35px 35px 0 0}
.closing-inner{max-width:770px;margin:auto}
.closing h2{margin-bottom:30px}
.closing p{color:var(--slalom-white);margin-inline:auto;max-width:64ch}
.closing .actions{justify-content:center}
.closing .button{background:var(--slalom-bg);color:var(--slalom-green-dark)}
.closing .secondary{border-color:var(--slalom-bg);background:transparent;color:var(--slalom-white)}
.footer{padding:70px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:75px}
.footer-logo{width:105px;margin-bottom:28px}
.footer address{font-style:normal;color:var(--slalom-text-muted);font-size:14px;line-height:1.9}
.footer-contact{margin-top:20px;font-size:14px}
.footer h3{font-family:Manrope,sans-serif;font-weight:600;font-size:15px;margin:20px 0 23px;line-height:1.5;letter-spacing:0}
.footer-list{display:grid;gap:10px;color:var(--slalom-text-muted);font-size:14px}
.footer-bottom{border-top:1px solid var(--slalom-border);margin-top:64px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:var(--slalom-text-muted);font-size:12px}
.legal{display:flex;gap:23px}
:focus-visible{outline:2px solid var(--slalom-green-dark);outline-offset:5px}


@media(max-width:1100px){.header-inner{padding-inline:32px;gap:22px}
.desktop-nav{gap:17px;font-size:13px}
.header-booking{padding-inline:18px}
.container{width:calc(100% - 64px)}
.section{padding-block:90px}
.intro-grid,.image-text,.hosts .image-text,.faq-layout{gap:48px}
.location-panel{padding:45px;gap:40px}
.experience-card h3{font-size:29px}
.usp-grid{gap:20px}
.usp{padding:0}
.footer-grid{gap:35px}
}

@media(max-width:900px){:root{--slalom-header-height:88px}
.desktop-nav{display:none}
.header-booking{margin-left:auto}
.menu-toggle{display:block}
.header{height:var(--slalom-header-height)}
.header-inner{padding-block:8px}
.logo{width:70px;height:68px}
.experience-grid{gap:20px}
.experience-card h3{font-size:27px}
.intro-grid{gap:36px}
.intro h2{font-size:48px}
.usp-grid{grid-template-columns:1fr 1fr;gap:38px}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-brand{grid-column:1/-1;display:flex;gap:36px;align-items:center}
.footer-logo{margin:0}
.location-image{height:380px}
}

@media(max-width:640px){.container{width:calc(100% - 44px)}
.section{padding-block:70px}
.header-inner{padding-inline:22px;gap:14px}
.header-booking{font-size:12px;min-height:44px;padding:11px 14px}
.hero{min-height:0}
.hero h1{font-size:62px}
.hero picture img{object-position:52% center}
.intro-grid,.image-text,.hosts .image-text,.faq-layout,.location-panel{grid-template-columns:1fr;gap:30px}
.intro h2{font-size:46px}
.lead{font-size:18px}
.actions{gap:10px}
.actions .button{padding:13px 18px;font-size:13px}
.usp-section{padding-block:50px}
.usp-section h2{margin-bottom:35px}
.usp-grid{gap:32px 22px}
.usp{font-size:14px}
.section-head{margin-bottom:34px}
.section-head p{font-size:17px}
.stay-grid,.experience-grid,.quote-grid{grid-template-columns:1fr;gap:48px}
.stay-card h3{margin-top:24px}
.experience-card .photo-wrap{aspect-ratio:4/3}
.experience-card h3{font-size:33px}
.experience-card p{font-size:16px}
.image-text .photo-wrap{aspect-ratio:4/3}
.image-text{gap:35px}
.image-text h2{margin-bottom:24px}
.testimonials{padding-block:65px}
.quote-grid{gap:40px}
blockquote p{font-size:27px}
.hosts .photo-wrap{aspect-ratio:4/3}
.location{padding-top:0}
.location-image{height:300px}
.location-panel{padding:34px 25px;gap:24px}
.faq-layout{gap:35px}
.faq summary{font-size:16px}
.faq .text-link{margin-top:24px}
.closing{padding:80px 22px;border-radius:50% 50% 0 0 / 20px 20px 0 0}
.footer{padding-top:48px}
.footer-grid{gap:30px 22px}
.footer-brand{display:block}
.footer-logo{margin-bottom:24px;width:90px}
.footer h3{font-size:14px}
.footer-list{font-size:13px}
.footer-bottom{flex-direction:column;margin-top:40px;gap:13px}
.legal{flex-wrap:wrap;gap:18px}
.footer-bottom span{line-height:1.6}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{transition:none!important;animation:none!important}
}


/* Scroll header: stays in the document flow to avoid layout shifts. */
.header{position:sticky;top:0;transition:transform 320ms ease;will-change:transform}

.header.is-hidden{transform:translateY(-100%)}

.header:focus-within{transform:translateY(0)}

.hero{overflow:hidden}

.hero picture img,.location-image img{transform:translate3d(0,var(--parallax-y,0px),0) scale(1.14);will-change:transform}

.location-image{border-radius:var(--slalom-radius-large)}

.usp-section{background:var(--slalom-green-dark);color:var(--slalom-white)}

.usp .icon{display:block;width:48px;height:48px;stroke:var(--slalom-white);margin:0 auto 24px}

.usp{display:flex;flex-direction:column;align-items:center}

.usp span{max-width:260px}

.closing{background-image:linear-gradient(rgba(37,41,37,.1),rgba(37,41,37,.1)),linear-gradient(rgba(95,107,89,.84),rgba(95,107,89,.84)),url('assets/bettmeralp-cta-footer-1440.webp');background-size:cover;background-position:center 55%}

.testimonial-slider{max-width:900px;margin-inline:auto;display:flex;flex-direction:column}

.testimonial-track{display:grid;order:0}

.testimonial-slide{grid-area:1/1;min-width:0;opacity:1;visibility:visible;transition:opacity 450ms ease,visibility 450ms}

.testimonial-slide[aria-hidden="true"]{opacity:0;visibility:hidden;pointer-events:none}

.testimonial-slide blockquote{text-align:center;border:1px solid var(--slalom-border);border-radius:var(--slalom-radius);padding:40px 48px;background:var(--slalom-bg);height:100%;display:flex;flex-direction:column;justify-content:center}

.testimonial-slide blockquote p{margin-inline:auto;font-size:clamp(1.6rem,2.5vw,2rem);line-height:1.35}

.testimonial-slide blockquote::before{font-size:80px;margin:10px 0 20px}

.testimonial-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:20px;order:1}

.slider-arrow{width:44px;height:44px;padding:0;border:0;border-radius:var(--slalom-radius-small);background:transparent;color:var(--slalom-green-dark);font-size:25px;font-weight:400;cursor:pointer;transition:background .2s}

.slider-arrow:hover{background:var(--slalom-beige)}

.slider-position{font-size:14px;min-width:38px;text-align:center;font-variant-numeric:tabular-nums;color:var(--slalom-green-dark)}

@media(max-width:640px){.usp .icon{width:44px;height:44px}
.testimonial-controls{gap:16px}
.testimonial-slide blockquote{padding:30px 24px}
.testimonial-slide blockquote p{font-size:26px}
.location-image{border-radius:20px}
}

@media(prefers-reduced-motion:reduce){.hero picture img,.location-image img{transform:none;will-change:auto}
.header{will-change:auto}
}


/* More distinct section hierarchy: stays and hosts lead, supporting sections stay compact. */
.desktop-nav{font-size:16px;gap:26px;white-space:nowrap}

.usp-section{padding-block:50px}

.usp-section h2{font-size:clamp(2rem,2.7vw,2.6rem);margin-bottom:34px}

.usp .icon{margin-bottom:18px}

.stays .section-head{max-width:800px}


.hosts .lead{font-size:21px;line-height:1.65}

.testimonials{padding-block:64px}

.testimonials .section-head{margin-bottom:32px}

.testimonials .section-head h2,.faq h2{font-size:clamp(2.5rem,3.5vw,3.4rem)}

.testimonial-slider{max-width:820px}

.testimonial-slide blockquote{padding:28px 38px}

.testimonial-slide blockquote::before{font-size:60px;margin:4px 0 12px}

.testimonial-slide blockquote p{font-size:clamp(1.5rem,2.2vw,1.8rem)}

.testimonial-slide blockquote cite{margin-top:18px}

.testimonial-controls{padding-top:12px}

.faq{padding-block:72px}

.faq summary{padding-block:21px}

.faq summary::after{top:16px}

@media(max-width:1100px){.desktop-nav{font-size:15px;gap:17px}
.hosts .lead{font-size:20px}
}

@media(max-width:640px){.usp-section{padding-block:40px}
.usp-section h2{margin-bottom:30px}
.usp .icon{margin-bottom:16px}
.testimonials{padding-block:48px}
.testimonial-slide blockquote{padding:26px 22px}
.testimonial-slide blockquote p{font-size:25px}
.faq{padding-block:52px}
.hosts .lead{font-size:19px}
.hosts{padding-block:76px}
}


/* Consistent heading colour; inverse sections retain white headings. */
h1,h2,h3{color:var(--slalom-green-dark)}

.hero h1,.usp-section h2,.closing h2{color:var(--slalom-white)}


/* Focal points for the supplied photographs. */
.hero picture img{object-position:58% 55%}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.hero-content{display:flex;min-height:55%;flex-direction:column;align-items:center;justify-content:space-between;gap:70px;padding:44px 24px;transform:translateY(3%)}

.hero-logo{width:clamp(170px,20vw,285px);height:auto;filter:brightness(0) invert(1) drop-shadow(0 2px 18px rgba(37,41,37,.18));opacity:.98}

.hero-booking{background:var(--slalom-white);border:0;color:var(--slalom-green-dark);text-decoration:none;text-transform:uppercase;letter-spacing:.1em}

.hero-booking:hover{background:var(--slalom-beige-light);color:var(--slalom-green-dark)}

.experience-card:nth-child(2) .photo{object-position:62% center}

.experience-card:nth-child(3) .photo{object-position:63% center}

.breakfast .photo{object-position:center 65%}

.location-image img{object-position:center 63%}

@media(max-width:640px){.hero picture img{object-position:65% center}
.hero-content{min-height:60%;gap:52px;padding-block:32px}
.hero-logo{width:180px}
.breakfast .photo{object-position:center 73%}
.location-image img{object-position:62% 64%}
}

/* Spacious USP modules with subtle separators. */
.usp-section{padding-block:76px}
.usp-section h2{margin-bottom:40px}
.usp-grid{gap:0}
.usp{min-height:190px;justify-content:center;padding:34px 40px 38px}
.usp+.usp{border-left:1px solid rgba(255,255,255,.28)}

@media(max-width:900px){
  .usp{min-height:180px;padding:32px 28px 36px;border-left:0}
  .usp+.usp{border-left:0}
  .usp:nth-child(even){border-left:1px solid rgba(255,255,255,.28)}
  .usp:nth-child(n+3){border-top:1px solid rgba(255,255,255,.28)}
}

@media(max-width:640px){
  .usp-section{padding-block:62px}
  .usp-grid{grid-template-columns:1fr}
  .usp{min-height:155px;padding:28px 22px 32px}
  .usp:nth-child(even){border-left:0}
  .usp:nth-child(n+2){border-top:1px solid rgba(255,255,255,.28)}
}
