:root{
  --bg:#0b0f14;
  --bg-2:#10161d;
  --ink:#f6f3ee;
  --muted:#b6b3ad;
  --gold:#c9a24a;
  --gold-2:#e6c77a;
  --line:rgba(255,255,255,.08);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1240px;margin:0 auto;padding:0 32px}
.eyebrow{
  font-size:12px;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);font-weight:500;margin-bottom:16px;
}
.eyebrow.center,h2.center{text-align:center}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.01em;line-height:1.1}
h1{font-size:clamp(48px,8vw,108px);margin-bottom:20px}
h2{font-size:clamp(34px,4.5vw,58px);margin-bottom:24px}
h3{font-size:clamp(28px,3vw,42px);margin-bottom:20px}
h4{font-size:22px;margin:18px 0 8px}
p{color:var(--muted);font-size:16px}
.lede{font-size:19px;max-width:780px;margin:0 auto;color:#d6d2c9}
.center .lede,section .lede{margin-left:auto;margin-right:auto}

/* NAV */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  background:rgba(11,15,20,.72);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 32px}
.logo{
  font-family:var(--serif);font-size:22px;letter-spacing:.2em;font-weight:600;
}
.logo span{color:var(--gold)}
.nav nav{display:flex;align-items:center;gap:36px}
.nav nav a{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#d9d5cc;transition:color .2s}
.nav nav a:hover{color:var(--gold)}
.btn-nav{
  border:1px solid var(--gold);
  padding:10px 20px;border-radius:999px;color:var(--gold)!important;
}
.btn-nav:hover{background:var(--gold);color:#0b0f14!important}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.05);
  animation:kenburns 18s ease-in-out infinite alternate;
}
@keyframes kenburns{to{transform:scale(1.14)}}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,15,20,.55) 0%,rgba(11,15,20,.35) 40%,rgba(11,15,20,.92) 100%);
}
.hero-content{position:relative;z-index:2;padding-top:140px;padding-bottom:80px;max-width:1100px}
.hero-content .eyebrow{color:var(--gold-2)}
.tagline{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2.2vw,28px);color:#eee7d5;max-width:640px;margin-bottom:40px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:70px}

.btn{
  display:inline-block;padding:16px 32px;
  font-size:13px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  border-radius:2px;transition:all .25s ease;cursor:pointer;
}
.btn-gold{background:var(--gold);color:#0b0f14;border:1px solid var(--gold)}
.btn-gold:hover{background:var(--gold-2);border-color:var(--gold-2);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}

.hero-stats{display:flex;gap:48px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);padding-top:32px;max-width:760px}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats strong{font-family:var(--serif);font-size:42px;color:var(--gold-2);line-height:1}
.hero-stats span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#b6b3ad;margin-top:6px}

/* INTRO */
.intro{padding:130px 0;text-align:center;border-bottom:1px solid var(--line)}
.intro h2{max-width:900px;margin-left:auto;margin-right:auto}

/* SPLIT */
.split{
  display:grid;grid-template-columns:1fr 1fr;min-height:600px;
}
.split.reverse .split-img{order:2}
.split-img{
  background-size:cover;background-position:center;
}
.split-text{
  display:flex;flex-direction:column;justify-content:center;
  padding:100px 80px;background:var(--bg-2);
}
.split-text p{margin-bottom:24px}
.feature-list{list-style:none;margin-top:10px}
.feature-list li{
  position:relative;padding:12px 0 12px 28px;
  border-top:1px solid var(--line);color:#d6d2c9;font-size:15px;
}
.feature-list li:last-child{border-bottom:1px solid var(--line)}
.feature-list li::before{
  content:"";position:absolute;left:0;top:19px;
  width:10px;height:10px;background:var(--gold);transform:rotate(45deg);
}

/* AMENITIES */
.amenities{padding:130px 0;background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.amenities h2{margin-bottom:70px}
.amenity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.amenity-card{background:#151b23;padding:0 0 28px;border:1px solid var(--line);transition:transform .3s,border-color .3s}
.amenity-card:hover{transform:translateY(-6px);border-color:var(--gold)}
.amenity-img{aspect-ratio:4/5;background-size:cover;background-position:center;margin-bottom:24px}
.amenity-card h4,.amenity-card p{padding:0 24px}
.amenity-card p{font-size:14px}

/* GALLERY */
.gallery{padding:130px 0}
.gallery h2{margin-bottom:70px}
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:16px;
}
.g-item{background-size:cover;background-position:center;transition:transform .5s}
.g-item:hover{transform:scale(1.02)}
.g-item.tall{grid-row:span 2}

/* INVESTMENT */
.investment{padding:0;background:var(--bg-2);border-top:1px solid var(--line)}
.invest-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:0;padding:0;max-width:none;min-height:640px}
.invest-text{padding:120px 80px;max-width:760px;margin-left:auto}
.invest-text p{margin-bottom:36px;max-width:560px}
.invest-img{background-size:cover;background-position:center}
.price-box{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:40px;max-width:560px}
.price,.rental{border:1px solid var(--line);padding:24px;background:#151b23}
.price span,.rental span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.price strong,.rental strong{display:block;font-family:var(--serif);font-size:34px;color:#fff;margin-top:8px;line-height:1}
.price strong small,.rental strong small{font-size:14px;color:var(--muted)}
.price em,.rental em{font-style:normal;font-size:13px;color:var(--muted);display:block;margin-top:8px}

/* LOCATION */
.location{padding:130px 0;text-align:center}
.location h2{margin-bottom:70px}
.loc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1000px;margin:0 auto}
.loc-card{padding:44px 24px;border:1px solid var(--line);background:var(--bg-2);transition:all .3s}
.loc-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.loc-card strong{display:block;font-family:var(--serif);font-size:48px;color:var(--gold-2);line-height:1;margin-bottom:12px}
.loc-card span{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* CONTACT */
.contact{
  padding:140px 0;text-align:center;
  background:linear-gradient(135deg,#0b0f14 0%,#1a2028 100%);
  border-top:1px solid var(--line);
}
.contact h2{margin-bottom:16px}
.contact .lede{margin-bottom:56px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:950px;margin:0 auto}
.contact-card{
  padding:40px 24px;border:1px solid var(--line);background:rgba(255,255,255,.02);
  transition:all .3s;display:block;
}
.contact-card:hover{border-color:var(--gold);background:rgba(201,162,74,.06);transform:translateY(-4px)}
.c-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:14px}
.contact-card strong{font-family:var(--serif);font-size:26px;color:#fff;font-weight:500}

/* FOOTER */
footer{padding:60px 0 40px;border-top:1px solid var(--line);background:#070a0d;text-align:center}
.foot-inner .logo{display:block;margin-bottom:14px}
footer p{font-size:13px;color:var(--muted);margin-top:6px}
.fine{opacity:.6;margin-top:16px!important}

/* RESPONSIVE */
@media(max-width:960px){
  .nav nav{gap:18px}
  .nav nav a:not(.btn-nav){display:none}
  .split{grid-template-columns:1fr}
  .split.reverse .split-img{order:0}
  .split-img{min-height:360px}
  .split-text{padding:70px 32px}
  .amenity-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}
  .invest-inner{grid-template-columns:1fr}
  .invest-text{padding:80px 32px;margin:0}
  .invest-img{min-height:360px}
  .loc-grid{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr}
  .hero-stats{gap:28px}
  .hero-stats strong{font-size:32px}
  .price-box{grid-template-columns:1fr}
}
@media(max-width:520px){
  .container{padding:0 20px}
  .amenity-grid{grid-template-columns:1fr}
  .hero-content{padding-top:110px}
}
