/* A quiet, open composition inspired by an alpine retreat. */
:root{--ink:#202b35;--deep:#202b35;--cream:#f7f9fb;--accent:#e6edf2;--line:#cdd6de;--navigation:#e6edf2;--muted:#65717b}
body{background:#e6edf2;color:#202b35}
.nav{background:transparent;box-shadow:none}.nav.is-scrolled{background:#e6edf2f5;box-shadow:none;color:#202b35}
.nav-inner{display:grid;grid-template-columns:1fr auto 1fr;width:calc(100% - 112px);height:108px;gap:30px}
.nav-links{display:none!important}.nav .menu{display:block;justify-self:start;color:white;font-size:28px;padding:12px 0;min-width:44px;text-align:left}.nav .brand{grid-column:2;justify-self:center}.nav .brand img{width:140px;height:76px}.nav-actions{grid-column:3;justify-self:end;gap:24px}.nav.is-scrolled .brand img{filter:brightness(0)}.nav.is-scrolled .menu,.nav.is-scrolled .lang{color:#202b35}
.nav .pill{border:1px solid #fff;background:#fff;color:#202b35;border-radius:60px;letter-spacing:.08em;padding:16px 28px;font-size:.85rem;min-height:54px}
.nav .pill:hover{background:#e6edf2;border-color:#e6edf2}
.mobile-panel.open{display:flex;position:absolute;top:108px;left:0;right:0;background:#e6edf2;color:#202b35;backdrop-filter:none;-webkit-backdrop-filter:none;padding:48px max(40px,8vw);gap:26px;border-bottom:1px solid #cdd6de;font-size:1.15rem;box-shadow:0 25px 50px #202b3520}
.mobile-panel .pill{align-self:start;background:#202b35;color:white;border-color:#202b35;border-radius:40px;padding:15px 28px}
.hero{height:100svh;min-height:680px;padding:140px 30px 75px;align-items:flex-end;background:#202b35}
.hero::after{background:linear-gradient(180deg,#1422305c,transparent 35%,#14223018 50%,#14223099)}
.hero-content{margin:0 auto 30px;max-width:1200px;align-items:center;gap:0}
.hero .eyebrow{font-size:.85rem;font-weight:400;letter-spacing:.14em;line-height:1.8;color:white}
.hero h1{font-size:clamp(3.5rem,6.5vw,6.8rem);line-height:1.03;font-weight:400;letter-spacing:.015em;text-transform:uppercase;max-width:1150px;margin:18px 0 28px}
.hero h1 br{display:block}.hero p:not(.direct-rate),.hero-highlights{display:none}
.hero-buttons{display:flex;gap:16px;margin:0;justify-content:center}.hero-buttons .pill{border:1px solid #fff;background:#fff;color:#202b35;border-radius:60px;padding:16px 30px;min-width:220px;font-size:.9rem;font-weight:500;letter-spacing:.04em}.hero-buttons .pill-outline{background:transparent;color:white}.hero-buttons .pill:hover{background:#e6edf2;color:#202b35}.hero p.direct-rate{display:block;border:0;margin:20px 0 0;font-size:.9rem;color:#fff;font-weight:400}
.video-toggle{right:30px;bottom:30px;background:#14223020}.intro{padding:115px 0;background:#e6edf2}.intro-grid{display:block;text-align:center;max-width:980px;margin:auto}.intro h2{font-size:clamp(3rem,5.7vw,6rem);font-weight:400;line-height:1.07;max-width:none;margin:25px 0}.intro-copy{padding:0;max-width:760px;margin:35px auto 0;font-size:1.1rem;color:#56636e}.facts{justify-content:center;gap:70px;border-top:1px solid #b8c4ce;padding-top:32px}.facts strong{color:#202b35;font-weight:400}.facts span{color:#65717b}.intro .eyebrow,.section-dark .eyebrow,.ap-detail .eyebrow,.property-gallery .eyebrow,.feature .eyebrow,.reservation .eyebrow{color:#65717b;font-weight:400;letter-spacing:.1em}
.section-dark{background:#f7f9fb;color:#202b35;padding:100px 0}.section-heading h2{font-weight:400;letter-spacing:-.015em}.section-dark .section-heading p{color:#65717b}.apartments{gap:60px 44px}.apartment{color:#202b35;border-color:#cdd6de}.apartment h3{font-weight:400;font-size:1.6rem}.apartment-meta,.ap-detail-meta{color:#65717b}.apartment p,.apartments-note{color:#65717b}.arrow-circle{border-color:#aab7c2}.apartment:hover .arrow-circle{background:#e6edf2;color:#202b35}.apartment-penthouse{margin-top:25px;gap:60px}.apartment-penthouse h3{font-size:2.6rem}
.ap-detail,.ap-detail:nth-of-type(even){background:#e6edf2;border-top:1px solid #cdd6de}.ap-detail:nth-of-type(odd){background:#f7f9fb}.ap-detail-head h2{font-weight:400}.ap-detail-head p{color:#56636e}.ap-detail-action .pill{background:transparent;color:#202b35;border:1px solid #7b8a97;border-radius:40px}.ap-detail-action .pill:hover{background:#202b35;color:white}.photo{background:#d7dfe6}.feature,.feature.reverse .feature-copy{background:#e6edf2}.feature-copy h2{font-weight:400;font-size:clamp(3rem,4.5vw,5rem)}.feature-copy p{color:#56636e}.feature .text-link{font-weight:400;letter-spacing:.05em}.property-gallery{background:#f7f9fb}.property-grid{height:420px;gap:22px}
.reservation{background:#e6edf2}.reservation .section-heading p{color:#56636e}.reservation-age{border-color:#96a8b8;background:#f7f9fb;color:#344453}.reservation-terms a{color:#344453}.reservation-frame{border-color:#cdd6de}.footer{background:#202b35}.footer .eyebrow{color:#c6d1da}.footer p,.footer a,.footer-legal a{color:#dce3e9}.footer small{color:#a8b6c2}
@media(max-width:1100px){.nav-inner{width:calc(100% - 60px)}.mobile-panel.open{top:108px}}
@media(max-width:850px){.nav-inner{height:84px;min-height:84px;width:calc(100% - 36px);gap:12px}.nav .brand img{width:114px;height:64px}.nav-actions{gap:12px}.nav-actions>.pill{display:none}.mobile-panel.open{top:84px;padding:30px 24px}.hero{min-height:650px;padding:110px 24px 70px}.hero-content{margin:0 auto 18px}.hero h1{font-size:clamp(3rem,8vw,4.6rem)}.intro{padding:75px 0}.intro h2{font-size:clamp(2.8rem,7vw,4rem)}.intro-copy{margin-top:25px}.facts{gap:36px}.section-dark,.ap-detail{padding:75px 0}.apartments{gap:35px 24px}.apartment-penthouse{gap:30px}.apartment-penthouse h3{font-size:2rem}.property-grid{height:280px}.feature-copy h2{font-size:3rem}}
@media(max-width:620px){.hero{min-height:640px;padding:110px 22px 70px}.hero-video{object-position:48% center}.hero .eyebrow{max-width:290px;font-size:.78rem;letter-spacing:.08em}.hero h1{font-size:clamp(2.8rem,10.7vw,4rem);margin:18px 0 25px}.hero-buttons{display:flex;flex-direction:column;width:min(100%,310px);gap:10px}.hero-buttons .pill{padding:14px 20px;min-height:49px}.hero p.direct-rate{font-size:.86rem;margin-top:16px}.video-toggle{width:36px;height:36px;right:15px;bottom:15px}.facts{gap:20px}.facts strong{font-size:1.8rem}.facts span{font-size:.8rem}.property-grid{height:auto}.apartments{gap:35px}.feature-copy h2{font-size:2.8rem}.nav .menu{font-size:26px}.nav-actions .lang{min-width:46px}}
/* Give the actual property logo more presence; retain the complete film below. */
.nav-inner{height:138px;min-height:138px}.nav .brand img{width:216px;height:112px}.mobile-panel.open{top:138px}
.full-film{padding:0 0 100px;background:#e6edf2;color:#202b35}.full-film .wrap{border-top:1px solid #bdc9d2;padding-top:38px}.full-film .film-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.full-film .eyebrow{color:#65717b}.full-film .film-heading p{color:#56636e;max-width:500px}.full-film .film-video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#202b35;border-radius:0;box-shadow:none}
@media(max-width:850px){.nav-inner{height:108px;min-height:108px}.nav .brand img{width:160px;height:84px}.mobile-panel.open{top:108px}.full-film{padding-bottom:70px}.full-film .film-heading{display:block}.full-film .film-heading p{margin-top:12px}}
@media(max-width:380px){.nav .brand img{width:144px;height:76px}.nav-inner{gap:8px}}

/* Sentence case for the opening headline. */
.hero h1{text-transform:none;letter-spacing:-.025em}
/* Let the original film lead, with the promise placed near the lower edge. */
.hero{padding-bottom:45px}.hero-content{margin-bottom:0}.hero h1{font-size:clamp(3rem,5.7vw,5.9rem);max-width:1050px;margin:12px 0 16px}.hero .eyebrow{display:none}.hero p.hero-description{display:block;max-width:720px;margin:0 auto 24px;color:#fff;font-size:1.1rem;line-height:1.6;text-shadow:0 2px 15px #0007}.hero p.direct-rate{margin-top:16px}
@media(max-width:850px){.hero{padding-bottom:48px}.hero h1{font-size:clamp(2.8rem,7.5vw,4.5rem)}.hero p.hero-description{font-size:1rem;max-width:560px;margin-bottom:22px}}
@media(max-width:620px){.hero{padding-bottom:55px}.hero h1{font-size:clamp(2.65rem,9.6vw,3.7rem);margin-bottom:16px}.hero p.hero-description{font-size:.97rem;line-height:1.5;margin-bottom:20px}.hero p.direct-rate{margin-top:14px}}
/* Three distinct, readable highlights below the introduction. */
.hero .hero-highlights{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;max-width:none;margin:0 0 24px;color:#fff;font-size:.9rem;font-weight:500;letter-spacing:.02em;text-transform:none;text-shadow:0 2px 12px #0008}
.hero .hero-highlights span{padding:0 0 6px;border-bottom:1px solid #ffffff80;white-space:nowrap}
.hero .hero-highlights span+span:before{content:none}
.hero p.hero-description{margin-bottom:18px}
@media(max-width:620px){.hero{min-height:760px}.hero .hero-highlights{gap:8px 18px;margin-bottom:20px;font-size:.86rem}.hero h1{font-size:clamp(2.5rem,9.2vw,3.5rem)}}
/* A centered brand signature with aligned contact and navigation columns. */
.footer{padding:72px 0 0}
.footer .footer-grid{display:grid;grid-template-columns:minmax(240px,1.2fr) minmax(240px,1fr) minmax(130px,.6fr);align-items:start;gap:70px;padding-bottom:58px}
.footer .footer-grid>.footer-identity{grid-column:auto;text-align:center;padding-right:30px}
.footer .footer-logo{width:216px;height:auto;margin:0 auto 22px;object-fit:contain}
.footer .footer-tagline{max-width:none;margin:0;color:#dce3e9;font-size:1rem;line-height:1.5;letter-spacing:.025em}
.footer-contact,.footer-explore{padding-top:12px}
.footer .eyebrow{display:block;margin:0 0 22px;font-size:.85rem;line-height:1.5;letter-spacing:.09em;font-weight:500;text-transform:uppercase;color:#a8b6c2}
.footer .footer-links{margin:0;gap:13px;font-size:1rem;line-height:1.65}
.footer .map-link{display:block;max-width:310px;margin-top:8px;font-size:.95rem;line-height:1.7;text-decoration:none;text-wrap:balance}
.footer .map-link:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0 26px;border-top:1px solid #ffffff26}
.footer .footer-bottom small{display:block;margin:0;padding:0;border:0;color:#a8b6c2;font-size:.85rem}
.footer .footer-legal{margin:0;font-size:.85rem;line-height:1.5}
.footer-legal a{text-decoration:none}.footer-legal a:hover{text-decoration:underline}
@media(max-width:1000px){.footer .footer-grid{grid-template-columns:minmax(190px,1fr) minmax(220px,1fr) minmax(100px,.6fr);gap:30px}.footer .footer-grid>.footer-identity{padding-right:0}.footer .footer-logo{width:190px}}

/* Mobile footer: one column at every phone width, including larger iPhones. */
@media(max-width:850px){
 .footer{padding:48px 0 0}
 .footer .footer-grid{grid-template-columns:minmax(0,1fr);gap:32px;text-align:center;padding-bottom:34px}
 .footer .footer-grid>div,.footer .footer-grid>.footer-identity{grid-column:1/-1;min-width:0;padding:0;width:100%}
 .footer .footer-logo{width:190px;max-width:100%;height:auto;margin:0 auto 16px}
 .footer .footer-tagline{font-size:1rem;line-height:1.5}
 .footer .eyebrow{margin-bottom:14px}
 .footer .footer-links{align-items:center;gap:11px;font-size:1rem}
 .footer .map-link{max-width:290px;margin:6px auto 0;font-size:.94rem}
 .footer .footer-explore .footer-links{flex-direction:row;justify-content:center;flex-wrap:wrap;gap:12px 28px}
 .footer .footer-bottom{flex-direction:column;justify-content:center;gap:12px;text-align:center;padding:22px 0 26px}
 .footer .footer-legal{margin:0}
 .nav.is-scrolled{background:#e6edf2}
 .nav.is-scrolled .nav-inner{height:76px;min-height:76px}
 .nav.is-scrolled .brand img{width:116px;height:62px}
 .nav.is-scrolled .mobile-panel.open{top:76px}
 .nav .mobile-panel.open{max-height:calc(100dvh - 108px);overflow-y:auto}
 #contact,#booking,#apartments,#location,.ap-detail{scroll-margin-top:88px}
}

/* Property gallery: display the original day and evening photographs without cropping or stretching. */
.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;align-items:start;gap:22px}
.property-grid .photo,.property-grid .photo:first-child{display:block;width:100%;height:auto;aspect-ratio:auto;grid-column:auto}
.property-grid .photo img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:auto;transition:none}
.property-grid .photo:hover img{transform:none}
@media(max-width:620px){.property-grid{grid-template-columns:1fr;gap:14px}.property-grid .photo,.property-grid .photo:first-child{height:auto;grid-column:auto}}
