:root{--cream:#f5f3ec;--green:#263f35;--ink:#263d33;--muted:#73786e;--rust:#a36249;--line:#d9dcd1;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc795a;outline-offset:5px}button{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400}em{font-weight:400}button{border:0}a,button{touch-action:manipulation}.skip{position:fixed;left:20px;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:20px}.header{position:absolute;z-index:5;top:0;left:0;right:0;padding:30px 4.5%;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff35;gap:30px}.brand{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.brand-title{font-family:var(--serif);font-size:36px;letter-spacing:-1.8px;line-height:1}.brand-dot{color:#e9c0a9}.brand-sub{font-size:10px;letter-spacing:2.1px}.header nav{display:flex;gap:34px;font-size:14px}.header nav a{padding:12px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:white}.header-cta{font-size:14px;border:1px solid #ffffff80;padding:17px 21px;display:flex;gap:32px;align-items:center;border-radius:3px}.header-cta:hover{background:#ffffff20}.hero{height:840px;min-height:720px;max-height:1100px;position:relative;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;object-position:50% 54%;transition:opacity .25s}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,32,22,.68),rgba(12,32,22,.12) 66%),linear-gradient(0deg,rgba(11,27,20,.58),transparent 40%,rgba(9,25,18,.22))}.hero-content{position:relative;padding:223px 0 0 8%;max-width:850px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2.1px;line-height:1.7}.hero .eyebrow{display:flex;align-items:center;gap:14px;font-size:11px}.small-line{width:28px;height:1px;background:#dfc6aa;display:inline-block}h1{font-size:clamp(76px,7.8vw,116px);line-height:1.02;letter-spacing:-4px;margin:28px 0 25px}h1 em{color:#f0e7d2}.hero-copy{line-height:1.8;font-size:17px;color:#f3f1e8}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;padding:21px 27px;font-size:14px;font-weight:500;border-radius:3px;transition:background .2s,transform .2s;line-height:1.3}.button:hover{transform:translateY(-2px)}.button span{font-size:20px}.light{background:var(--cream);color:var(--green)}.light:hover{background:#fff}.dark{background:var(--green);color:white}.dark:hover{background:#365644}.hero .button{margin-top:31px}.hero-foot{position:absolute;bottom:39px;left:4.5%;right:4.5%;display:flex;align-items:center;justify-content:space-between}.discover{display:flex;align-items:center;gap:15px;font-size:13px}.scroll-icon{border:1px solid #ffffff65;border-radius:50%;display:grid;place-items:center;width:40px;height:40px;font-size:18px}.hero-switch{display:flex;align-items:center;gap:17px}.slide{background:none;color:#ffffff9a;font-size:13px;padding:10px 3px}.slide.active{color:white}.slide-line{width:65px;height:1px;background:#ffffff80}.hero-caption{font-size:10px;letter-spacing:1.8px}.booking-wrap{display:flex;margin:0 4.5%;padding:35px 0 38px;border-bottom:1px solid var(--line);align-items:center;gap:45px}.booking-intro{flex:1;min-width:210px}.booking-intro .eyebrow{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.booking-intro h2{font-size:30px;margin-top:7px}.booking-wrap form{flex:3;display:flex;gap:22px;align-items:center}.booking-wrap label{display:flex;flex-direction:column;gap:12px;flex:1;font-size:11px;letter-spacing:1px;border-left:1px solid var(--line);padding-left:25px}.booking-wrap input,.booking-wrap select{min-width:0;width:100%;background:transparent;border:none;color:var(--ink);font-size:15px;letter-spacing:0;padding:0;min-height:25px}.booking-wrap .button{white-space:nowrap;gap:24px}.section{padding:115px 8%}.intro-top{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}.section-label{padding-top:15px;color:var(--muted)}h2{font-size:clamp(42px,4.25vw,64px);letter-spacing:-2px;line-height:1.14}h2 em{color:#6a7a61}.body-copy{max-width:535px;line-height:1.9;color:#637064;font-size:16px;margin-top:28px}.name-note{font-size:13px;line-height:1.8;color:#7a786e;margin-top:20px}.photo-story{display:grid;grid-template-columns:1.4fr 1fr;align-items:start;gap:65px;margin-top:58px}.gallery-trigger{padding:0;position:relative;text-align:left;background:none;overflow:hidden}.gallery-trigger img{transition:transform .65s}.gallery-trigger:hover img{transform:scale(1.025)}.photo-main{height:530px}.photo-tag{position:absolute;bottom:0;left:0;right:0;padding:55px 28px 25px;background:linear-gradient(transparent,#12271995);display:flex;justify-content:space-between;color:white;font-family:var(--serif);font-size:25px}.photo-side{padding-top:85px}.photo-side button{height:320px;width:100%}.photo-side p{font-family:var(--serif);font-size:25px;line-height:1.5;margin:24px 0 0}.image-expand{position:absolute;bottom:18px;right:18px;color:white;background:#18312470;border:1px solid #ffffff60;width:35px;height:35px;display:grid;place-items:center;border-radius:50%}.stay{display:grid;grid-template-columns:1fr 1fr;background:#e9eade}.stay-photo{position:relative;min-height:640px}.stay-photo img{position:absolute;inset:0;object-position:52%}.image-note{position:absolute;bottom:28px;left:30px;letter-spacing:2px;font-size:10px;color:white;text-shadow:0 1px 7px black}.stay-content{padding:85px 13% 80px 12%}.stay-content .eyebrow{font-size:10px;color:#64735c;margin-bottom:30px}.stay-content h2{font-size:clamp(40px,3.8vw,57px)}.stay-content>p:not(.eyebrow){font-size:15px;line-height:1.9;margin-top:25px;color:#606b5e}.facts{display:flex;gap:0;margin:40px 0;border-top:1px solid #c9cdbc;border-bottom:1px solid #c9cdbc;padding:23px 0}.facts>div{flex:1;border-right:1px solid #c9cdbc;padding-left:23px}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts strong{display:block;font-family:var(--serif);font-weight:400;font-size:42px}.facts span{font-size:11px;color:#63705c;display:block;margin-top:7px}.text-link{background:none;padding:0 0 8px;display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #869181;font-size:14px;line-height:1.5}.text-link:hover{color:var(--rust)}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.gallery-heading .eyebrow{color:var(--muted);margin-bottom:20px}.gallery-heading h2{font-size:51px}.gallery-heading .text-link{font-size:13px}.gallery-grid{margin-top:42px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:22px}.gallery-grid button{height:340px}.gallery-grid button>span{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#0d231ad6);padding:50px 20px 22px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.closing{text-align:center;background:var(--green);padding:80px 25px;color:var(--cream);position:relative}.closing .eyebrow{color:#ccd2bc;font-size:10px}.closing h2{font-size:72px;margin:23px 0 30px}.closing h2 em{color:#ccd2bc}.closing>p:last-child{font-size:12px;color:#c4cbbf;margin-top:22px}footer{display:flex;justify-content:space-between;align-items:center;padding:45px 5%;gap:20px}footer .brand-title{font-size:30px}footer .brand-sub{font-size:8px;letter-spacing:1.4px}footer>span,footer>a:last-child{font-size:12px;color:#6c7569}dialog{border:none}dialog::backdrop{background:#0a1715e8}dialog[open]{animation:appear .2s ease-out}.gallery-dialog{padding:0;background:transparent;color:white;width:min(1160px,95vw);max-width:95vw;overflow:visible}.gallery-dialog>img{height:75vh;object-fit:contain}.close-dialog{position:absolute;right:8px;top:8px;z-index:2;border:1px solid #ffffff80;border-radius:50%;background:#18362ae8;color:white;width:44px;height:44px;font-size:30px;display:grid;place-items:center;line-height:1}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0}.gallery-controls button{border:1px solid #ffffff70;background:transparent;border-radius:50%;width:44px;height:44px;color:white;font-size:24px}.gallery-controls p{font-size:14px;text-align:center}.booking-dialog{background:var(--cream);color:var(--ink);padding:48px;width:min(520px,92vw);border-radius:4px}.booking-dialog h2{font-size:43px;margin:20px 0}.booking-dialog .eyebrow{color:var(--rust)}#booking-summary{line-height:1.8;font-size:16px}.prototype-note{margin:24px 0;font-size:14px;line-height:1.7;color:#677162}.booking-dialog .button{width:100%;justify-content:center}.booking-dialog .close-dialog{top:15px;right:15px;width:32px;height:32px;font-size:23px}body.modal-open{overflow:hidden}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{height:90vh}.hero-content{padding-top:25vh}.section{padding-left:max(8%,calc((100vw - 1400px)/2));padding-right:max(8%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.header nav{gap:20px}.booking-wrap{gap:25px}.booking-wrap form{gap:15px}.booking-intro{min-width:160px}.booking-intro h2{font-size:26px}.booking-wrap label{padding-left:14px}.booking-wrap .button{padding:20px 18px;gap:15px}.photo-story{gap:35px}.photo-main{height:450px}.photo-side button{height:280px}.stay-content{padding:65px 9%}.stay-photo{min-height:610px}.hero-caption{display:none}.gallery-grid button{height:290px}.gallery-heading h2{font-size:44px}.intro-top{gap:35px}}
@media(max-width:780px){.header{padding:23px 6%;gap:15px}.brand-title{font-size:29px}.brand-sub{font-size:8px;letter-spacing:1.4px}.header nav{display:none}.header-cta{font-size:12px;padding:13px;gap:13px}.hero{height:780px;min-height:660px;max-height:none}.hero-content{padding:220px 7% 110px}.hero-photo{object-position:57% 50%}.hero-shade{background:linear-gradient(90deg,#142e22b8,#142e2220),linear-gradient(0deg,#142e22a0,transparent 70%)}h1{font-size:83px;letter-spacing:-3.5px}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.hero-copy{font-size:16px}.hero-foot{left:7%;right:7%;bottom:27px}.hero-switch{gap:14px}.slide-line{width:30px}.discover{font-size:11px;gap:10px}.booking-wrap{display:block;padding:30px 0;margin:0 7%}.booking-intro{margin-bottom:23px}.booking-wrap form{display:grid;grid-template-columns:1fr 1fr;gap:24px 15px}.booking-wrap label{border-left:0;padding-left:0;border-bottom:1px solid var(--line);padding-bottom:12px;gap:10px}.booking-wrap label:nth-child(3){align-self:center}.booking-wrap .button{font-size:13px;padding:18px 15px;gap:15px}.section{padding:72px 7%}.intro-top{display:block}.section-label{padding:0;margin-bottom:24px}h2{font-size:43px;letter-spacing:-1.5px}.body-copy{font-size:15px;line-height:1.85}.photo-story{gap:22px;grid-template-columns:1.1fr 1fr;margin-top:35px}.photo-main{height:320px}.photo-side{padding-top:60px}.photo-side button{height:220px}.photo-side p{font-size:20px;margin-top:18px}.photo-tag{font-size:20px;padding:45px 15px 20px}.stay{grid-template-columns:1fr}.stay-photo{min-height:380px}.stay-content{padding:50px 7% 55px}.stay-content h2{font-size:47px}.stay-content .eyebrow{margin-bottom:21px}.stay-content>p:not(.eyebrow){max-width:500px}.facts{max-width:450px;margin:30px 0}.gallery-heading{display:block}.gallery-heading .text-link{margin-top:25px}.gallery-grid{grid-template-columns:1fr 1fr;gap:15px;margin-top:30px}.gallery-grid button{height:260px}.gallery-grid button:first-child{grid-column:1 / -1;height:340px}.gallery-grid button>span{font-size:12px;padding:40px 14px 17px}.closing{padding:65px 20px}.closing h2{font-size:58px}footer{padding:35px 7%;flex-wrap:wrap;gap:28px}footer .brand{width:100%}.booking-dialog{padding:38px 27px}.gallery-dialog>img{height:65vh}}
@media(max-width:420px){.header-cta{font-size:11px;gap:8px;padding:12px 10px}.brand-title{font-size:27px}.brand-sub{font-size:7px}.hero{height:740px}.hero-content{padding-top:200px}h1{font-size:72px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}.hero-copy{font-size:14px}.hero .button{font-size:13px}.photo-story{display:block}.photo-main{height:350px;width:100%}.photo-side{padding-top:25px}.photo-side button{height:260px}.photo-side p{font-size:23px}.gallery-grid button{height:220px}.gallery-grid button:first-child{height:280px}.gallery-heading h2{font-size:40px}.stay-photo{min-height:310px}.booking-wrap .button{gap:8px;padding:18px 12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Readable interface labels at every breakpoint. */
.eyebrow,.hero .eyebrow,.booking-intro .eyebrow,.stay-content .eyebrow,.closing .eyebrow,.hero-caption,.image-note{font-size:12px;letter-spacing:1.5px}.booking-wrap label,.header-cta,.header nav,.discover,.slide,.gallery-heading .text-link,.gallery-grid button>span,.facts span,footer>span,footer>a:last-child{font-size:14px}.booking-wrap .button{font-size:14px}.brand-sub{font-size:10px;letter-spacing:1.5px}footer .brand-sub{font-size:10px;letter-spacing:1px}@media(max-width:420px){.header-cta{font-size:12px}.brand-title{font-size:25px}.brand-sub{font-size:9px;letter-spacing:.6px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero .button{font-size:14px}.hero-switch{gap:11px}.discover{font-size:12px}.booking-wrap .button{font-size:13px}.booking-intro .eyebrow{font-size:11px}}
