@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Jost:wght@300;400;500&display=swap');
:root{--ink:#0d0d0d;--soft:#3a3a3a;--cream:#f7f4ef;--paper:#fbfaf8;--line:#dcd6cc}
*{box-sizing:border-box}body{margin:0;font-family:'Jost',sans-serif;font-weight:300;color:var(--ink);background:var(--paper);line-height:1.7}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(42px,7vw,88px)}h2{font-size:clamp(34px,4.5vw,58px)}h3{font-size:28px}
a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:500;color:var(--soft);margin-bottom:14px}
header{position:absolute;inset:0 0 auto;z-index:5;color:#fff}header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:20px;padding-bottom:20px;flex-wrap:wrap;gap:12px}
header .logo img{height:46px;display:block}nav a{margin-left:28px;text-decoration:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
nav a.cta{border:1px solid #fff;padding:10px 18px}
.btn{display:inline-block;padding:15px 30px;background:var(--ink);color:#fff;text-decoration:none;font:500 12px 'Jost';letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--ink);cursor:pointer}
.btn.light{background:#fff;color:var(--ink);border-color:#fff}.btn.ghost{background:none;color:inherit;border-color:currentColor}
.hero{min-height:min(88vh,780px);display:flex;align-items:flex-end;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.6)),var(--img) center/cover;padding:150px 0 90px}
.hero.short{min-height:540px}.hero p{max-width:620px;font-size:19px}.hero .eyebrow{color:#e9e4dc}
section{padding:100px 0}.cream{background:var(--cream)}.dark{background:var(--ink);color:var(--cream)}.dark .eyebrow{color:#bdb6aa}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.card{text-decoration:none;display:block}.card .ph{aspect-ratio:4/3;background:var(--img) center/cover;margin-bottom:18px}.card h3{margin-bottom:4px}
.photo{aspect-ratio:4/3;background:var(--img) center/cover}
.tile{padding:30px 0;border-top:1px solid var(--line)}.dark .tile{border-color:#333}
.todo{background:#f3ecd2;border:1px dashed #8a7a3c;padding:2px 8px;font-size:.85em}
form{display:grid;grid-template-columns:1fr 1fr;gap:18px}form .full{grid-column:1/-1}label,legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;display:block;margin-bottom:8px}
input,select,textarea{width:100%;padding:14px;border:1px solid var(--line);font:inherit;background:#fff;border-radius:0}
fieldset{border:0;padding:0;margin:0}.checks{display:flex;flex-wrap:wrap;gap:10px 22px}.checks label{text-transform:none;letter-spacing:0;font-weight:300;font-size:16px;display:flex;gap:8px;align-items:center;margin:0}.checks input{width:auto}
.hidden{display:none}
footer{background:var(--ink);color:#cfc9bf;padding:64px 0;font-size:14px}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;align-items:center}footer img{height:70px}
@media(max-width:820px){.grid2,.grid3,form{grid-template-columns:1fr}nav a{margin:0 14px 0 0}section{padding:68px 0}header .logo img{height:38px}}
.listing .ph{aspect-ratio:3/2;background:var(--img) center/cover}.thumbs{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.thumbs div{aspect-ratio:3/2;background:var(--img) center/cover}.listing{margin-bottom:40px}

.booking-bar{padding:28px 0;background:#f5f1ea;border-bottom:1px solid rgba(13,13,13,.1)}
.booking-bar .eyebrow{margin-bottom:12px}
#search-widget_IO312PWQ{min-height:64px;width:100%}
#search-widget_IO312PWQ *{font-family:inherit}
#search-widget_IO312PWQ section{padding:0!important;margin:0;min-height:0;background:none;border:0}
#search-widget_IO312PWQ form,#search-widget_IO312PWQ>div{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
@media(max-width:700px){#search-widget_IO312PWQ section{width:100%}}

.stay-top{padding-top:140px}.stay-top h1{color:var(--ink);margin-bottom:10px}
.booking-inline{background:#f5f1ea;padding:20px;margin:28px 0 24px}
.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:28px}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{font:500 12px 'Jost';letter-spacing:.14em;padding:9px 16px;border:1px solid var(--ink);background:none;color:var(--ink);cursor:pointer;border-radius:999px}.chip.on{background:var(--ink);color:#fff}
.gsel{font:500 12px 'Jost';letter-spacing:.14em;text-transform:uppercase;display:flex;gap:8px;align-items:center}.gsel select{font:inherit;padding:8px 10px;border:1px solid var(--ink);background:#fff}
#fCount{font-size:13px;color:var(--soft);margin-left:auto}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.lcard{background:#fff;border:1px solid rgba(13,13,13,.08);display:flex;flex-direction:column;transition:box-shadow .3s}.lcard[hidden]{display:none}
.lcard .ph{aspect-ratio:3/2;background:var(--img) center/cover}.lbody{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.lbody .eyebrow{margin-bottom:6px}.lbody h3{margin-bottom:6px}.spec{font-size:14px;margin-bottom:12px}.lbody .btn{margin-top:auto;align-self:flex-start}
.sub{font-size:13px;margin-bottom:14px}.sub a,.units a{text-decoration:underline;color:inherit}
.units{font-size:13px;margin-bottom:14px}.units summary{cursor:pointer;font-weight:500}.units ul{margin:8px 0 8px 18px;padding:0}
.lcard.flash{box-shadow:0 0 0 3px var(--ink)}
#map{height:460px;margin-top:20px;border:1px solid rgba(13,13,13,.1)}.note{font-size:13px;color:var(--soft)}
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;margin-top:32px}.why h3{margin-bottom:8px}
@media(max-width:700px){.stay-top{padding-top:110px}#map{height:340px}#fCount{margin-left:0}}
header.solid{background:#0d0d0d}
@media(max-width:700px){.stay-top{padding-top:150px}}
.rating{font-size:13px;margin:-4px 0 12px}
