/* Phone layout shared by both pages. */
.header-book{display:none}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:1050px){
body{font-size:18px;line-height:1.65}
header{height:80px;padding:0 5%;gap:12px}
.logo{margin-right:auto;flex-shrink:0}
.header-book{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;text-decoration:none;min-height:48px;padding:10px 16px;font-size:16px;font-weight:600;white-space:nowrap}
.menu{font-size:16px;padding:10px 12px;min-height:48px}
nav{top:80px;max-height:calc(100dvh - 95px);overflow-y:auto}
nav a{font-size:18px;padding:12px 0}
.hero{height:auto;min-height:0;max-height:none;align-items:stretch}
.hero-copy{padding:170px 7% 36px}
.hero h1{font-size:clamp(40px,10vw,64px);line-height:1.08;margin:20px 0 25px;letter-spacing:-1.8px}
.hero-bottom{display:block}.hero-bottom p{font-size:18px;max-width:none}
.hero-bottom .button{margin-top:24px}
.button,.hero-bottom .button,.seasonal .button{display:flex;width:100%;min-height:56px;padding:15px 18px;font-size:17px;line-height:1.4;gap:14px;white-space:normal}
.button span{flex-shrink:0}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.4px}
.section{padding:52px 6%}
.intro,.living,.faq,.seasonal,.guest-area,.room-feature,.return-home,.destination-grid,.wellness .destination-grid{grid-template-columns:minmax(0,1fr)}
.hero-copy,.section>*,.room-copy,.guest-area>*,.region>div{min-width:0;max-width:100%}
h2,.seasonal h2,.region h2{font-size:clamp(32px,8.5vw,46px);line-height:1.15;letter-spacing:-1px}
h3,.destination h3,.wellness h3{font-size:28px;line-height:1.25}
.intro p,.section-head p,.room-copy p,.step p,.guest-area p,.living p,.region p,.destination p,.checkin-film figcaption p,.faq details p,.cta p{font-size:18px;line-height:1.65;max-width:none;padding-right:0}
summary{font-size:19px;line-height:1.45;padding:8px 0}
.text-link{font-size:17px;line-height:1.5;gap:12px;min-height:44px;align-items:center}
.tags,.guest-features span,.film-note,.wellness>p:last-child{font-size:14px!important}
.step>span,.living-list div,.footer-address{font-size:16px}
.strip{font-size:12px;padding:22px 6%;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.strip span:last-child{display:block}
.caption{font-size:12px;gap:12px;flex-wrap:wrap}
.seasonal img{height:auto;aspect-ratio:1.4}
.region{min-height:0}.region div{padding:60px 7%}
.region:after{background:linear-gradient(0deg,#000b,#0005)}
.explore-hero{padding:48px 6%}.explore-hero p{font-size:18px}
.explore-hero h1{font-size:clamp(38px,10vw,58px);letter-spacing:-1.5px}
.checkin-film{margin:28px 0 0;padding:14px;grid-template-columns:minmax(0,1fr)}
.checkin-film video{width:100%;height:auto}
footer{padding:48px 6% calc(110px + env(safe-area-inset-bottom))}
.footer-bottom{font-size:14px;display:block}.footer-bottom>div{margin:14px 0}
.footer-bottom a{display:inline-block;padding:8px 0}
.mobile-book{position:fixed;display:flex;width:auto;left:5%;right:5%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;min-height:56px;font-size:17px;box-shadow:0 3px 20px #0004}
}

/* Mobile refinement: calmer typography, consistent spacing and touch controls. */
@media(max-width:600px){
 body{font-size:17px;line-height:1.6}
 header{position:sticky;top:0;height:72px;padding:0 5%;gap:10px;background:var(--paper);z-index:30}
 .logo img{width:44px;height:44px}
 .header-book,.menu{min-height:44px;font-size:14px;border-radius:6px;padding:10px 13px}
 nav{top:72px;max-height:calc(100dvh - 150px);padding:14px 6% 22px;box-shadow:0 12px 28px #0001}
 nav a{font-size:17px;min-height:48px}
 .hero{margin:10px 3% 0;border-radius:8px;isolation:isolate}
 .hero-copy{padding:148px 7% 32px}
 .hero h1{font-size:clamp(32px,8.7vw,44px);line-height:1.12;letter-spacing:-1.15px;margin:20px 0 24px;text-wrap:balance}
 .hero-bottom p{font-size:17px;line-height:1.6}
 .hero .eyebrow{font-size:10px;line-height:1.7;letter-spacing:1.25px;max-width:250px}
 .stamp{width:82px;height:82px;top:22px;right:7%;font-size:9px}
 .button,.hero-bottom .button,.seasonal .button{font-size:16px;min-height:52px;padding:14px 17px;border-radius:6px;font-weight:500}
 .section{padding:64px 6%}
 h2,.seasonal h2,.region h2{font-size:clamp(31px,8.2vw,42px);line-height:1.13;letter-spacing:-1.1px;text-wrap:balance;margin-bottom:24px}
 h3,.destination h3,.wellness h3{font-size:26px;line-height:1.2;letter-spacing:-.6px}
 .intro p,.section-head p,.room-copy p,.step p,.guest-area p,.living p,.region p,.destination p,.checkin-film figcaption p,.faq details p,.cta p{font-size:17px;line-height:1.65}
 .eyebrow{font-size:10px;letter-spacing:1.6px;line-height:1.7}
 .strip{padding:24px 7%;font-size:10px;letter-spacing:1.2px;gap:8px}
 .seasonal,.intro,.living,.faq,.guest-area{gap:28px}
 .seasonal img,.living img,.photos img,.return-home img{border-radius:6px}
 .photos{gap:22px;padding:0 6% 64px}.photos figure:last-child{margin-top:0}
 .caption{font-size:10px;line-height:1.5;letter-spacing:.6px}
 .room-feature{overflow:hidden;border-radius:8px}.room-copy{padding:28px 24px}
 .living-list div{align-items:baseline;gap:16px;font-size:15px;padding:17px 0}
 .living-list div span:first-child{min-width:0}.living-list div span:last-child{font-size:13px;white-space:nowrap}
 .steps{gap:26px}.step{padding-top:20px}.step>span{font-size:11px;letter-spacing:1.3px}.step h3{margin-top:16px}
 .checkin-film{padding:12px;border-radius:8px;gap:20px}.checkin-film video{border-radius:5px}.checkin-film figcaption{padding:0 8px 10px}
 .guest-area{margin-top:40px;padding-top:32px}.guest-features{gap:8px}.guest-features span{border-radius:4px;font-size:12px!important}
 .region{border-radius:8px;overflow:hidden}.region div{padding:64px 7%}.region .text-link{flex-wrap:wrap}
 .faq details{padding:16px 0}.faq summary{font-size:17px;line-height:1.45;min-height:48px;align-items:center;gap:18px}.faq summary:after{flex-shrink:0;font-size:22px;font-weight:400}.faq details p{margin:12px 0 4px}
 .cta{padding:64px 6% 72px}.cta h2{margin:20px auto 28px}.cta .button{max-width:390px;margin:auto}
 footer{padding-top:48px}.footer-bottom{font-size:13px;line-height:1.6}.footer-address{font-size:15px}
 .mobile-book{min-height:52px;font-size:16px;border-radius:8px;left:5%;right:5%;bottom:calc(12px + env(safe-area-inset-bottom));box-shadow:0 5px 24px #0003}
 a,button,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
 @media(prefers-reduced-motion:no-preference){.button,.menu,.header-book{transition:background-color .18s ease,color .18s ease}}
}
@media(max-width:600px) and (orientation:landscape){.hero-copy{padding-top:100px}.stamp{width:70px;height:70px}.mobile-book{left:auto;right:18px;width:240px}}
