:root{--charcoal:#1c2325;--ink:#262b2d;--sand:#f4ede2;--paper:#fbf8f3;--copper:#b87542;--teal:#355f61;--white:#fff;--muted:#6c6e6c;--line:rgba(28,35,37,.14);--shadow:0 24px 80px rgba(20,25,27,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:100;background:white;padding:1rem}.preview-banner{background:#e6c9aa;color:#271d17;padding:.7rem 4vw;display:flex;gap:1rem;justify-content:center;align-items:center;font-size:.86rem}.preview-banner strong{letter-spacing:.12em;font-size:.72rem}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:2rem;justify-content:space-between;padding:1rem 4vw;background:rgba(251,248,243,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--copper);font-family:'Playfair Display',serif;font-weight:600}.brand b,.brand small{display:block}.brand small{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}nav{display:flex;gap:1.3rem}nav a,.footer-links a{color:inherit;text-decoration:none;font-size:.9rem}.book-small{background:var(--charcoal);color:white;text-decoration:none;padding:.75rem 1rem;border-radius:999px;font-size:.84rem}.hero{min-height:78vh;padding:7rem 6vw 5rem;background:var(--charcoal);color:white;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:-30% 48% 40% -15%;background:radial-gradient(circle,rgba(184,117,66,.28),transparent 68%)}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700}.eyebrow.dark{color:var(--teal)}.eyebrow.light{color:#e6c9aa}.hero h1,.section-heading h2,.availability-intro h2,.local-copy h2,.final-cta h2,.stay-content h3,.host-section h2,.social-section h2,.comparison-section h2,.why-direct-section h2{font-family:'Playfair Display',serif;font-weight:500;line-height:1.02;margin:.6rem 0 1rem}.hero h1{font-size:clamp(3.4rem,7vw,7.4rem);max-width:850px}.hero h1 em{color:#e4b88d;font-weight:500}.hero p{max-width:650px;color:#d8d8d6;font-size:1.08rem}.hero-actions,.stay-actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:.95rem 1.25rem;font-weight:700;text-decoration:none;cursor:pointer;font-family:inherit}.button.primary{background:var(--sand);color:var(--charcoal)}.button.ghost{border:1px solid rgba(255,255,255,.35);color:white}.button.copper{background:var(--copper);color:white}.proof-row{display:flex;gap:1.3rem;flex-wrap:wrap;margin-top:2rem;color:#bfc3c3;font-size:.84rem}.proof-row span:before{content:"•";color:var(--copper);margin-right:.5rem}.hero-visual{height:520px;display:grid;grid-template-columns:1fr 1fr;gap:1rem;transform:rotate(1deg)}.visual-panel{border-radius:4px;padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);position:relative;overflow:hidden}.visual-panel:before{content:"";position:absolute;inset:0}.visual-panel>*{position:relative}.midnight-panel{background:linear-gradient(160deg,#101314,#271a17 60%,#7d4c2e)}.midnight-panel:before{background:radial-gradient(circle at 70% 20%,rgba(226,137,73,.3),transparent 30%),linear-gradient(transparent 55%,rgba(0,0,0,.4))}.front-panel{background:linear-gradient(160deg,#d7c9b4,#a6b2aa 55%,#567476)}.front-panel:before{background:linear-gradient(transparent 50%,rgba(24,38,39,.35))}.visual-kicker{font-size:.65rem;letter-spacing:.15em}.visual-panel strong{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,4.2rem);line-height:.96;margin:.5rem 0}.visual-panel small{opacity:.8}.signature{display:grid;grid-template-columns:repeat(3,1fr);background:#111719;color:#d6c0aa;text-align:center;font-size:.73rem;letter-spacing:.16em;padding:1.1rem 4vw}.availability-section{background:var(--teal);color:white;padding:5rem 5vw}.availability-intro{max-width:850px}.availability-intro h2{font-size:clamp(2.5rem,5vw,5rem)}.availability-intro p{color:#d7e0df;max-width:760px}.booking-shell{margin-top:2.5rem;background:var(--paper);color:var(--ink);border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.booking-search{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:0;border-bottom:1px solid var(--line)}.booking-search label{padding:1rem 1.1rem;border-right:1px solid var(--line)}.booking-search span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:700}.booking-search input,.booking-search select{width:100%;border:0;background:transparent;font:inherit;padding:.35rem 0 0;color:var(--ink);outline:none}.search-button{border-radius:0;min-width:180px}.booking-preview{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:2rem}.calendar-art{background:white;border:1px solid var(--line);border-radius:5px;padding:1rem}.cal-head{display:flex;justify-content:space-between;padding:.4rem .2rem 1rem;font-size:.72rem}.cal-head span{letter-spacing:.14em}.cal-week,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;text-align:center}.cal-week i,.cal-grid i{font-style:normal;font-size:.76rem;padding:.55rem .2rem;border-radius:50%}.cal-week i{font-weight:700;color:var(--muted)}.cal-grid i{min-height:34px}.cal-grid .selected{background:var(--copper);color:white}.cal-grid .range{background:#eee0d2}.preview-copy{align-self:center}.preview-copy strong{display:block;font-family:'Playfair Display',serif;font-size:2rem}.preview-copy p{color:var(--muted)}.status-dot{display:inline-block;width:10px;height:10px;background:#7ea177;border-radius:50%;margin-right:.4rem}.preview-links{display:flex;gap:1rem;flex-wrap:wrap}.text-button{border:0;background:none;color:var(--teal);text-decoration:underline;cursor:pointer;padding:0;font:inherit;font-weight:700}.booking-engine-wrap{padding:1rem}.booking-engine-wrap iframe{width:100%;height:720px;border:0;background:white}.section{padding:6rem 6vw}.section-heading{max-width:820px;margin-bottom:3rem}.section-heading.compact{margin-bottom:2rem}.section-heading h2{font-size:clamp(2.5rem,5vw,5rem)}.section-heading p{color:var(--muted);font-size:1.03rem}.stay-feature{display:grid;grid-template-columns:1.08fr .92fr;min-height:560px;background:white;margin:0 0 2rem;box-shadow:0 12px 42px rgba(28,35,37,.06)}.stay-feature.reverse{grid-template-columns:.92fr 1.08fr}.stay-feature.reverse .stay-image{order:2}.stay-content{padding:4.5rem;display:flex;flex-direction:column;justify-content:center}.stay-content h3{font-size:clamp(2.6rem,4vw,4.6rem)}.stay-content p{font-size:1.05rem;color:var(--muted);max-width:600px}.stay-number{font-family:'Playfair Display',serif;color:var(--copper);font-size:1.1rem;margin-bottom:1rem}.stay-image{min-height:480px;overflow:hidden;position:relative;display:flex}.stay-image.real-photo img{width:100%;height:100%;object-fit:cover;display:block;flex:1}.placeholder-photo{background:linear-gradient(145deg,#0d1011,#2c1d17 60%,#78472d);color:white;display:flex;flex-direction:column;justify-content:flex-end;padding:2.5rem}.placeholder-photo.front-photo{background:linear-gradient(145deg,#dfd1bd,#9caeaa 60%,#3b6163)}.placeholder-photo span{font-weight:700;letter-spacing:.1em}.placeholder-photo small{opacity:.75}.feature-chips{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}.feature-chips span{border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem;font-size:.8rem}.stay-actions a{color:var(--teal);font-weight:700;text-decoration:none}.stay-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:0 0 2rem}.stay-gallery figure{margin:0;overflow:hidden;aspect-ratio:4/3}.stay-gallery figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.stay-gallery figure:hover img{transform:scale(1.04)}.combined-art{background:linear-gradient(135deg,#111718,#2d2020);color:white;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;padding:2rem}.combined-art div{border:1px solid rgba(255,255,255,.2);padding:4rem 1rem}.combined-art b{font-family:'Playfair Display',serif;font-size:5rem;color:#d9ae87;display:block}.combined-art span{letter-spacing:.12em;font-size:.75rem;text-transform:uppercase}.combined-art em{font-family:'Playfair Display',serif;font-size:3rem;padding:1rem}.comparison-section{padding:2rem 6vw 6rem}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.compare-card{padding:2rem;background:white;border-top:3px solid var(--copper)}.compare-card span{font-size:.7rem;letter-spacing:.13em}.compare-card b{display:block;font-family:'Playfair Display',serif;font-size:2rem;margin:.8rem 0}.compare-card p{font-weight:700}.compare-card small{color:var(--muted)}.local-section{padding:6rem 6vw;background:var(--charcoal);color:white;display:grid;grid-template-columns:1fr 1fr;gap:4rem}.local-copy h2{font-size:clamp(3rem,5vw,5.5rem)}.local-copy p{color:#c8cccc;max-width:650px}.local-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.local-tags span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.5rem .75rem;font-size:.8rem}.local-cards{display:grid;gap:1rem;align-content:center}.local-cards article{padding:1.6rem;background:rgba(255,255,255,.06);border-left:2px solid var(--copper)}.local-cards small{color:#d8ad84;letter-spacing:.13em}.local-cards b{display:block;font-family:'Playfair Display',serif;font-size:2rem}.local-cards p{color:#c8cccc;margin-bottom:0}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.guide-grid a{background:white;color:var(--ink);text-decoration:none;padding:2rem;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:3px solid var(--teal)}.guide-grid span{font-family:'Playfair Display',serif;color:var(--copper);font-size:2.5rem}.guide-grid b{font-size:1.2rem}.guide-grid small{color:var(--teal)}.why-direct-section{background:var(--teal);color:white;padding:6rem}.direct-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.direct-grid div{padding:1.5rem;border:1px solid rgba(255,255,255,.2)}.direct-grid b{font-family:'Playfair Display',serif;font-size:1.7rem}.direct-grid p{color:#d7e0df;font-size:.9rem}.host-section{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center}.host-mark{width:130px;height:130px;border-radius:50%;background:var(--copper);color:white;display:grid;place-items:center;font-family:'Playfair Display',serif;font-size:4rem}.host-section h2{font-size:clamp(2.5rem,4vw,4rem)}.how-booking-works{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.2)}.booking-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:1rem}.booking-step span{font-family:'Playfair Display',serif;font-size:2.5rem;color:#e4b88d;display:block;line-height:1}.booking-step b{display:block;margin:.5rem 0 .3rem;font-size:.95rem}.booking-step p{color:#d7e0df;font-size:.85rem;margin:0}.airbnb-fallback{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.airbnb-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .5rem}.airbnb-links{display:flex;flex-wrap:wrap;gap:.5rem}.airbnb-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--copper);color:var(--copper);text-decoration:none;border-radius:999px;font-size:.82rem;font-weight:700}.airbnb-btn:hover{background:var(--copper);color:white}.social-section{background:#111719;color:white;padding:5rem 6vw;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.social-section h2{font-size:clamp(2.5rem,4vw,4.8rem)}.social-section p{color:#c8cccc}.social-actions{display:grid;gap:.8rem}.social-button{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.5rem;color:white;text-decoration:none;border:1px solid rgba(255,255,255,.18);transition:border-color .2s,background .2s}.social-button:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.05)}.social-icon{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;flex-shrink:0}.social-text{flex:1}.social-text b{display:block;font-family:'Playfair Display',serif;font-size:1.4rem;line-height:1}.social-text small{color:#d9ae87;font-size:.8rem}.social-arrow{color:rgba(255,255,255,.4);font-size:1.2rem}.social-button[aria-disabled="true"]{opacity:.55}.footer-social{display:flex;gap:.8rem;align-items:center}.footer-social a{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#aeb5b5;transition:color .2s,border-color .2s}.footer-social a:hover{color:white;border-color:white}.final-cta{padding:5rem 6vw;background:var(--sand);display:flex;justify-content:space-between;gap:2rem;align-items:center}.final-cta h2{font-size:clamp(3rem,6vw,6rem)}footer{padding:2.5rem 5vw;background:#0e1314;color:white;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center}.footer-brand{display:flex;gap:1rem;align-items:center}.footer-brand small{display:block;color:#aeb5b5}.footer-links{display:flex;gap:1rem}.footer-links a{color:#d5d9d9}footer p{grid-column:1/-1;color:#7d8787;font-size:.8rem}dialog{width:min(620px,calc(100% - 2rem));border:0;padding:2rem;border-radius:5px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(6,9,10,.72)}.dialog-close{position:absolute;right:1rem;top:.7rem;border:0;background:none;font-size:2rem;cursor:pointer}.dialog-options{display:grid;gap:.7rem;margin:1.5rem 0}.dialog-options a{display:flex;justify-content:space-between;padding:1rem;border:1px solid var(--line);color:var(--ink);text-decoration:none}.dialog-options a.disabled{opacity:.45;pointer-events:none}.dialog-options span{color:var(--muted)}.dialog-note{font-size:.82rem;color:var(--muted);background:var(--sand);padding:1rem}
@media(max-width:1050px){nav{display:none}.hero{grid-template-columns:1fr}.hero-visual{height:420px}.booking-search{grid-template-columns:repeat(2,1fr)}.search-button{grid-column:1/-1}.stay-feature,.stay-feature.reverse{grid-template-columns:1fr}.stay-feature.reverse .stay-image{order:0}.local-section,.social-section{grid-template-columns:1fr}.direct-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.stay-gallery{grid-template-columns:1fr;gap:3px}.stay-gallery figure{aspect-ratio:16/9}.site-header{padding:.8rem 1rem}.brand small{display:none}.hero{padding:5rem 1.2rem 3rem;min-height:auto}.hero-visual{height:360px;gap:.5rem}.visual-panel{padding:1rem}.visual-panel strong{font-size:2rem}.signature{grid-template-columns:1fr;gap:.5rem}.availability-section,.section,.local-section,.why-direct-section,.social-section,.final-cta{padding:4rem 1.2rem}.booking-search{grid-template-columns:1fr}.booking-search label{border-right:0;border-bottom:1px solid var(--line)}.booking-preview{grid-template-columns:1fr;padding:1.2rem}.stay-content{padding:2rem 1.3rem}.stay-image{min-height:330px}.comparison-grid,.guide-grid,.direct-grid{grid-template-columns:1fr}.combined-art{min-height:330px}.local-section{gap:2rem}.host-section{grid-template-columns:1fr}.host-mark{width:100px;height:100px}.final-cta{display:block}.final-cta .button{margin-top:1rem}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.preview-banner{align-items:flex-start;flex-direction:column;gap:.2rem}}
.visual-panel img.panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border-radius:4px}.combined-photos{display:grid;grid-template-columns:1fr 1fr;min-height:500px;overflow:hidden}.combined-photo-left,.combined-photo-right{position:relative;overflow:hidden}.combined-photo-left img,.combined-photo-right img{width:100%;height:100%;object-fit:cover;display:block}.combined-label{position:absolute;bottom:1rem;left:1rem;background:rgba(0,0,0,.55);color:white;font-size:.72rem;letter-spacing:.13em;padding:.4rem .75rem;border-radius:2px}.visual-panel{overflow:hidden}.visual-panel .panel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.visual-panel img.panel-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;z-index:0!important;border-radius:0}.panel-text{position:relative;z-index:2;display:flex;flex-direction:column;margin-top:auto}.panel-text .visual-kicker{font-size:.65rem;letter-spacing:.15em}.visual-panel::before{z-index:1}
/* ── HERO PROPERTY CARDS ─────────────────────────────── */
.hero-card {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 24px 80px rgba(20,25,27,.12);
}

/* Full-bleed photo */
.hero-card__bg {
  position: absolute;
  inset: 0;
}
.hero-card__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Dark gradient so text is always legible */
.hero-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.82) 0%,
    rgba(0,0,0,0.45) 40%,
    rgba(0,0,0,0.10) 100%
  );
}

/* Text pinned to bottom */
.hero-card__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 2rem;
  color: #fff;
}
.hero-card__kicker {
  display: block;
  font-size: .65rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: .5rem;
  color: #e6c9aa;
}
.hero-card__name {
  display: block;
  font-family: 'Playfair Display', serif;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.4vw, 2.8rem);
  line-height: 1;
  margin: 0 0 .5rem;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.5);
}
.hero-card__beds {
  display: block;
  color: rgba(255,255,255,.82);
  font-size: .85rem;
}
.hero-visual .hero-card{height:100%}