:root { --night:#0d1117; --deep:#151b24; --line:rgba(232,220,196,.16); --text:#efe9dc; --soft:#a9a49a; --gold:#c9a96b; --gold-l:#e2c891; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--night); color:var(--text); font:400 17px/1.7 Inter, system-ui, sans-serif; overflow-x:hidden; }
img { display:block; width:100%; height:100%; object-fit:cover; }
a { color:inherit; }
.wrap { max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px; }
h1,h2,h3 { font-family:"Cormorant Garamond", Georgia, serif; font-weight:500; line-height:1; margin:0; letter-spacing:-.01em; }
h1 { font-size:clamp(56px,9vw,128px); }
h2 { font-size:clamp(40px,5.5vw,72px); margin-bottom:18px; }
h3 { font-size:32px; }
p { margin:0 0 16px; }
.soft { color:var(--soft); }
.gold { color:var(--gold); }
.sample { position:relative; z-index:20; background:#1e2633; color:var(--soft); font-size:13px; text-align:center; padding:8px 16px; }
header { position:fixed; top:34px; left:0; right:0; z-index:10; transition:background .3s, top .3s; }
header.solid { background:rgba(13,17,23,.88); backdrop-filter:blur(12px); top:0; border-bottom:1px solid var(--line); }
.nav { display:flex; justify-content:space-between; align-items:center; height:76px; }
.logo { font:500 28px "Cormorant Garamond", serif; text-decoration:none; letter-spacing:.06em; }
nav { display:flex; gap:32px; font-size:14px; }
nav a { text-decoration:none; color:var(--soft); }
nav a:hover, nav a[aria-current] { color:var(--gold-l); }
.btn { display:inline-block; border:1px solid var(--gold); color:var(--gold-l); padding:13px 24px; text-decoration:none; font-size:14px; letter-spacing:.04em; transition:background .25s, color .25s; background:transparent; cursor:pointer; font-family:inherit; }
.btn:hover { background:var(--gold); color:var(--night); }
.btn.fill { background:var(--gold); color:var(--night); }
.btn.fill:hover { background:var(--gold-l); }
/* hero with parallax */
.hero { position:relative; height:100vh; min-height:620px; overflow:hidden; display:flex; align-items:flex-end; }
.hero .bg { position:absolute; inset:-10% 0 0 0; will-change:transform; }
.hero .bg img { filter:brightness(.62) saturate(1.1); }
.hero .shade { position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,17,23,.15) 30%, var(--night) 100%); }
.hero .content { position:relative; padding-bottom:12vh; }
.hero p { font-size:20px; max-width:40ch; margin:26px 0 32px; color:#d9d3c6; }
.scroll-cue { position:absolute; left:50%; bottom:28px; transform:translateX(-50%); font-size:12px; letter-spacing:.2em; color:var(--soft); }
section { padding:110px 0; }
/* reveal */
.reveal { opacity:0; transform:translateY(40px); transition:opacity .9s ease, transform .9s ease; }
.reveal.in { opacity:1; transform:none; }
.d1 { transition-delay:.1s; } .d2 { transition-delay:.2s; } .d3 { transition-delay:.3s; }
.statement { font:400 clamp(30px,4vw,52px)/1.2 "Cormorant Garamond", serif; max-width:24ch; }
.statement span { color:var(--gold); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.frame { aspect-ratio:4/5; overflow:hidden; }
.frame img { transform:scale(1.08); transition:transform 1.4s ease; }
.frame.in img { transform:scale(1); }
.nums { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.nums div { padding:34px 24px; border-right:1px solid var(--line); }
.nums div:last-child { border-right:0; }
.nums b { display:block; font:500 54px/1 "Cormorant Garamond", serif; color:var(--gold-l); }
/* tilt cards */
.tilt-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; perspective:1200px; }
.tilt { background:var(--deep); border:1px solid var(--line); transform-style:preserve-3d; transition:transform .2s ease-out, box-shadow .3s; }
.tilt:hover { box-shadow:0 30px 60px -20px rgba(0,0,0,.6); }
.tilt .pic { aspect-ratio:4/3; overflow:hidden; }
.tilt .body { padding:26px; transform:translateZ(30px); }
.tilt .price { font:500 26px "Cormorant Garamond", serif; color:var(--gold-l); }
.plan-svg { background:#0a0e14; border:1px solid var(--line); padding:18px; }
.plan-svg svg { width:100%; height:auto; }
.unit { display:grid; grid-template-columns:1fr 1fr; gap:56px; padding:70px 0; border-bottom:1px solid var(--line); align-items:center; }
.specs { display:grid; grid-template-columns:1fr 1fr; gap:10px 24px; font-size:15px; margin:18px 0 24px; }
.specs span { color:var(--soft); }
.gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.gallery figure { margin:0; overflow:hidden; position:relative; }
.gallery figcaption { position:absolute; left:18px; bottom:16px; font:500 24px "Cormorant Garamond", serif; text-shadow:0 2px 12px rgba(0,0,0,.6); }
.g1 { grid-column:span 7; aspect-ratio:7/5; } .g2 { grid-column:span 5; aspect-ratio:5/5; } .g3 { grid-column:span 5; aspect-ratio:5/5; } .g4 { grid-column:span 7; aspect-ratio:7/5; }
.amen { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.amen div { background:var(--night); padding:30px 24px; }
.amen b { display:block; font:500 24px "Cormorant Garamond", serif; color:var(--gold-l); margin-bottom:6px; }
form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:flex; flex-direction:column; gap:6px; font-size:13px; color:var(--soft); letter-spacing:.02em; }
input, select, textarea { font:inherit; font-size:16px; color:var(--text); background:transparent; border:0; border-bottom:1px solid var(--line); padding:10px 0; }
select option { background:var(--night); }
input:focus, select:focus, textarea:focus { outline:none; border-bottom-color:var(--gold); }
.full { grid-column:span 2; }
.consent { flex-direction:row; gap:10px; align-items:flex-start; }
.consent input { width:16px; height:16px; margin-top:3px; }
.terms td { padding:14px 0; border-bottom:1px solid var(--line); }
.terms td:last-child { text-align:right; color:var(--gold-l); }
.terms { width:100%; border-collapse:collapse; }
.map { height:340px; border:1px solid var(--line); }
.map iframe { width:100%; height:100%; border:0; filter:invert(.9) hue-rotate(180deg) saturate(.6); }
.page-head { padding:200px 0 40px; }
footer { border-top:1px solid var(--line); padding:50px 0; font-size:14px; color:var(--soft); }
footer .cols { display:grid; grid-template-columns:2fr 1fr 1fr; gap:30px; }
footer b { color:var(--text); }
.credits { font-size:12.5px; margin-top:26px; }
@media (max-width:880px) {
  nav { display:none; }
  .split, .unit, footer .cols { grid-template-columns:1fr; gap:32px; }
  .tilt-grid, .amen { grid-template-columns:1fr; }
  .nums { grid-template-columns:1fr 1fr; } .nums div:nth-child(2) { border-right:0; } .nums div { border-bottom:1px solid var(--line); }
  .gallery figure { grid-column:span 12 !important; aspect-ratio:4/3 !important; }
  form { grid-template-columns:1fr; } .full { grid-column:auto; }
  section { padding:70px 0; } .page-head { padding:150px 0 30px; }
}
@media (prefers-reduced-motion:reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
  .frame img { transform:none; transition:none; }
  html { scroll-behavior:auto; }
}
