:root{--ink:#262922;--page:#f3efe5;--focus:#bd703a}
.hero{position:relative;isolation:isolate;min-height:clamp(530px,65vw,680px);display:flex;flex-direction:column;justify-content:space-between;color:#fff9ea;background:#39484c}
.hero>img,.hero::after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;z-index:-2}
.hero::after{content:'';z-index:-1;background:linear-gradient(90deg,#121d23e0 0%,#162129a8 36%,#10182024 72%),linear-gradient(0deg,#131c1c63,transparent 35%)}
.stay-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px clamp(18px,6vw,94px);border-bottom:1px solid #fff5}
.wordmark{font:600 40px/.95 Georgia,serif;letter-spacing:-.07em}
.wordmark span{color:#f9b47a}
.stay-nav nav{display:flex;gap:clamp(13px,4vw,45px);font-size:13px}
.stay-nav a:hover,.hero-cta:hover,.photo-label a:hover{text-decoration:underline}
.hero-copy{margin:35px clamp(18px,6vw,94px) 65px}
.hero-copy .kicker{color:#fed0a9}
h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}
h1{font-size:clamp(60px,10vw,144px);line-height:.88;margin:20px 0 24px}
h1 i{color:#ffd4a7}
.hero-copy>p:not(.kicker){max-width:33ch;color:#f4eee4;font-size:clamp(14px,2vw,18px)}
.hero-cta{display:inline-flex;gap:20px;align-items:center;margin-top:20px;padding:9px 13px;border:1px solid #fff9;border-radius:3px;font-size:13px}
.photo-label{position:absolute;right:clamp(18px,6vw,94px);bottom:18px;font-size:12px;background:#161f20cc;padding:5px 8px}
.stay-content{max-width:1450px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(26px,8vw,130px);padding:clamp(30px,7vw,100px) clamp(18px,6vw,94px)}
.stay-content .kicker,dialog .kicker{color:#704a32}
h2{font-size:clamp(33px,5.7vw,70px);line-height:1;margin:10px 0 15px}
.intro{max-width:45ch;color:#505247}
.amenities{list-style:none;margin:25px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c7c7b8;border-bottom:1px solid #c7c7b8}
.amenities li{font:29px/1 Georgia,serif;padding:15px 3px}
.amenities span{display:block;font:13px/1.5 Geist,sans-serif;color:#515449;margin-top:6px}
.booking{align-self:start;padding:clamp(17px,3vw,32px);background:#e6e5d8;border:1px solid #cccebc;border-radius:3px}
.booking h2,dialog h2{font-size:clamp(30px,4.2vw,52px)}
.rate{margin-bottom:15px;color:#4c4f43;font-size:13px}
.rate strong{font-size:17px;color:#262922}
form{display:grid;gap:11px}
.date-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
label{display:grid;gap:3px;font-size:12px;font-weight:600}
input,select{width:100%;min-width:0;border:1px solid #b8bbab;background:#f9f6ed;border-radius:3px;padding:8px;font-size:14px}
.estimate{display:flex;justify-content:space-between;align-items:center;gap:7px;border-top:1px solid #bfc2b0;padding-top:9px;font-size:13px}
form button{background:#2f4635;color:#fff;border:0;border-radius:3px;padding:10px 13px;text-align:left;font-weight:600;min-height:42px}
form button:hover{background:#1d3324}
form button span{float:right}
#booking-note{font-size:11px;color:#53584a}
footer{display:flex;justify-content:space-between;gap:10px;padding:18px clamp(18px,6vw,94px);font-size:12px;border-top:1px solid #d5d2c6}
footer a{text-decoration:underline}
dialog{border:1px solid #b8bbab;background:var(--page);padding:25px;width:420px;border-radius:5px}
dialog p+ p{margin-top:7px}
dialog form{margin-top:20px}
@media(max-width:650px){.hero>img{object-position:61% center}.hero::after{background:linear-gradient(90deg,#121d23e3,#121d2340),linear-gradient(0deg,#1722227a,transparent 30%)}.stay-content{grid-template-columns:1fr}.hero-copy{margin-bottom:75px}.wordmark{font-size:33px}}
