:root{
  --sand:#f4f0e9;
  --paper:#fbfaf7;
  --ink:#18312c;
  --muted:#6f7770;
  --line:#d8d3c9;
  --white:#fff;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--sand);color:var(--ink);font-family:"Manrope",Arial,sans-serif;font-weight:300;line-height:1.55}
img,video{display:block;width:100%}
a{text-decoration:none;color:inherit}
button{font:inherit}
.topbar{position:fixed;z-index:50;top:0;left:0;right:0;height:76px;padding:0 max(22px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;color:white;transition:.3s background,.3s color,.3s box-shadow}
.topbar.scrolled{background:rgba(244,240,233,.93);backdrop-filter:blur(14px);color:var(--ink);box-shadow:0 1px 0 rgba(24,49,44,.08)}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.18rem;letter-spacing:.24em;font-weight:500}
.top-reserve{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:4px 0}
.hero{position:relative;height:86svh;min-height:620px;overflow:hidden;background:#17312c}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,21,18,.18),rgba(6,21,18,.10) 45%,rgba(6,21,18,.56))}
.hero-copy{position:absolute;left:50%;bottom:70px;transform:translateX(-50%);width:min(1180px,calc(100% - 44px));color:white;text-align:left}
.hero h1{font:400 clamp(4.2rem,10vw,8.5rem)/.85 "Cormorant Garamond",Georgia,serif;margin:.08em 0 .12em;letter-spacing:-.025em}
.hero-sub{font-size:clamp(.95rem,2vw,1.14rem);max-width:520px;color:rgba(255,255,255,.93);margin:0}
.eyebrow{margin:0 0 12px;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.eyebrow.light{color:rgba(255,255,255,.85)}
.scroll-cue{position:absolute;right:28px;bottom:34px;color:white;font-size:1.25rem;opacity:.85}
.booking-shell{width:min(920px,calc(100% - 28px));margin:-34px auto 0;position:relative;z-index:10}
.booking-card{background:rgba(251,250,247,.98);border:1px solid rgba(24,49,44,.08);border-radius:26px;padding:28px;box-shadow:0 18px 55px rgba(28,35,31,.12)}
.booking-title{text-align:center}.booking-title span{display:block;font:400 1.05rem "Cormorant Garamond",Georgia,serif;color:#8b755f;letter-spacing:.08em;text-transform:uppercase}.booking-title strong{display:block;font:500 clamp(2.4rem,6vw,4rem)/1 "Cormorant Garamond",Georgia,serif;margin:5px 0 9px}.booking-meta{text-align:center;color:var(--muted);font-size:.78rem;margin:0 0 20px}
.booking-actions,.reserve-buttons{display:grid;gap:10px}.action{min-height:54px;border-radius:14px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;font-weight:500;letter-spacing:.01em}.action.primary{background:var(--ink);color:white}.action.secondary{border:1px solid var(--line);background:white}.action.disabled{border:1px solid var(--line);color:#9b9c97;background:#f1eee7;cursor:default}
.section{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:118px 0}.narrow{max-width:760px}.centered{text-align:center;margin:auto}.section h2,.condo-copy h2,.destination-copy h2,.reserve-card h2{font:400 clamp(3rem,6vw,5.8rem)/.95 "Cormorant Garamond",Georgia,serif;letter-spacing:-.025em;margin:.08em 0 .2em}.lead{color:var(--muted);font-size:1.02rem;max-width:650px;margin:0 auto}.lead.small{margin-left:0;max-width:500px}
.frame{overflow:hidden;border-radius:var(--radius)}.frame img{height:100%;object-fit:cover}.wide-photo{margin-top:48px;height:min(72vh,720px)}
.quick-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:16px}.quick-facts div{background:var(--paper);padding:22px}.quick-facts span{display:block;font-size:.65rem;color:#9a8c7b;margin-bottom:7px}.quick-facts strong{font-size:.84rem;font-weight:500}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:28px}.section-head h2{font-size:clamp(2.8rem,5vw,4.8rem)}.section-head p{max-width:330px;color:var(--muted);font-size:.88rem;margin:0 0 10px}.photo-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:360px 290px 390px;gap:12px}.photo{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:18px}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.photo:hover img{transform:scale(1.015)}.p1{grid-row:1/3}.p2{grid-column:2}.p3{grid-column:2}.p4{grid-column:1}.p5{grid-column:2}.p6{display:none}
.condo-section{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}.condo-media{height:700px}.condo-copy{padding-right:20px}.amenities{margin-top:30px;border-top:1px solid var(--line)}.amenities div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.amenities span{font-size:.86rem;font-weight:500}.amenities small{font-size:.72rem;color:var(--muted)}
.condo-strip{width:min(1180px,calc(100% - 44px));margin:0 auto 30px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.strip-card{position:relative;height:360px;border-radius:18px;overflow:hidden}.strip-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,21,18,.52))}.strip-card img{height:100%;object-fit:cover}.strip-card span{position:absolute;z-index:2;left:20px;bottom:18px;color:white;font:400 1.4rem "Cormorant Garamond",Georgia,serif}
.destination-section{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:center}.destination-photo{height:650px}.destination-copy{max-width:460px}
.reserve-section{padding-top:80px}.reserve-card{background:#ded4c5;border-radius:28px;padding:70px;text-align:center}.reserve-card p{color:#5e655f;max-width:520px;margin:0 auto 26px}.reserve-card .reserve-buttons{max-width:560px;margin:auto}.reserve-card .action.secondary{background:rgba(255,255,255,.55)}
.social-row{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:28px 0 50px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.social-row a{border-bottom:1px solid var(--ink);padding-bottom:3px}
footer{width:min(1180px,calc(100% - 44px));margin:0 auto;padding:0 0 40px;color:#8a8e89;font-size:.72rem}
.mobile-cta{display:none}
.lightbox{position:fixed;z-index:100;inset:0;background:rgba(9,17,15,.94);display:none;align-items:center;justify-content:center;padding:22px}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;object-fit:contain}.lightbox-close{position:absolute;right:20px;top:14px;border:0;background:none;color:white;font-size:2.2rem;cursor:pointer}
@media(max-width:900px){
  .section{padding:88px 0}.hero{height:78svh}.hero-copy{bottom:54px}.booking-card{padding:22px}.quick-facts{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:10px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 250px 300px}.condo-section,.destination-section{grid-template-columns:1fr;gap:38px}.condo-media,.destination-photo{height:560px}.condo-copy{padding:0}.condo-strip{grid-template-columns:1fr 1fr}.strip-card:last-child{grid-column:1/3}.reserve-card{padding:52px 28px}
}
@media(max-width:600px){
  body{padding-bottom:76px}.topbar{height:64px;padding:0 18px}.brand{font-size:1rem}.top-reserve{font-size:.68rem}.hero{height:72svh;min-height:560px}.hero-video{object-position:center 48%}.hero-copy{width:calc(100% - 32px);bottom:48px}.hero h1{font-size:4.6rem}.hero-sub{font-size:.92rem;max-width:300px}.scroll-cue{display:none}.booking-shell{margin-top:-24px}.booking-card{border-radius:20px;padding:20px 16px}.booking-title strong{font-size:2.8rem}.booking-meta{font-size:.72rem}.section{width:calc(100% - 28px);padding:72px 0}.section h2,.condo-copy h2,.destination-copy h2,.reserve-card h2{font-size:3.25rem}.lead{font-size:.93rem}.wide-photo{height:58vh;margin-top:34px;border-radius:16px}.quick-facts{grid-template-columns:1fr 1fr;border-radius:14px}.quick-facts div{padding:18px 14px}.photo-grid{grid-template-columns:1fr 1fr;grid-template-rows:240px 190px 220px;gap:7px}.photo{border-radius:12px}.p1{grid-row:1/3}.p4{grid-column:1/2}.p5{grid-column:2}.condo-media,.destination-photo{height:490px;border-radius:16px}.amenities div{padding:14px 0}.condo-strip{width:calc(100% - 28px);grid-template-columns:1fr 1fr;gap:7px}.strip-card{height:220px;border-radius:13px}.strip-card:last-child{grid-column:1/3;height:240px}.reserve-section{padding-top:48px}.reserve-card{border-radius:20px;padding:42px 18px}.social-row{width:calc(100% - 28px);padding-bottom:32px;flex-direction:column;gap:10px}.mobile-cta{display:flex;position:fixed;z-index:60;left:12px;right:12px;bottom:12px;height:54px;border-radius:999px;align-items:center;justify-content:center;background:var(--ink);color:white;font-size:.78rem;font-weight:500;letter-spacing:.04em;box-shadow:0 12px 34px rgba(24,49,44,.24);opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}.mobile-cta.visible{opacity:1;pointer-events:auto;transform:none}footer{width:calc(100% - 28px);padding-bottom:20px}
}
