
:root{
  --cream:#f3efe7;
  --paper:#faf8f3;
  --ink:#121817;
  --green:#123f36;
  --green-2:#0f4f42;
  --gold:#c89b4d;
  --muted:#777169;
  --line:rgba(18,24,23,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Onest,Arial,sans-serif;background:var(--cream);color:var(--ink)}
body.modal-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{width:min(1410px,calc(100% - 80px));margin-inline:auto}

.site-header{
  position:sticky;top:0;z-index:60;
  height:74px;display:flex;align-items:center;justify-content:space-between;
  padding:0 4vw;background:rgba(250,248,243,.93);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(18,24,23,.08)
}
.brand{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:600;letter-spacing:.22em}
.site-nav{display:flex;gap:36px;font-size:13px;color:#3f4441}
.site-nav a{position:relative}
.site-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transition:.25s}
.site-nav a:hover::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:16px}
.lang{border:0;background:none;font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border-radius:999px;padding:14px 22px;font-weight:600;font-size:13px;transition:.25s;border:1px solid transparent;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-outline{border-color:rgba(18,24,23,.35);background:transparent}
.btn-primary{background:#0f4d41;color:white}
.btn-video{border:1px solid rgba(18,24,23,.25);background:rgba(255,255,255,.55)}
.btn-gold{background:var(--gold);color:#22271f}
.play{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid rgba(18,24,23,.5);border-radius:50%;font-size:10px}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}
.eyebrow.dark{color:#444842}.eyebrow.light{color:rgba(255,255,255,.75)}.eyebrow.center{text-align:center}

.hero{position:relative;min-height:770px;overflow:hidden;background:#eee9df}
.hero-bg{position:absolute;inset:0;background:
  linear-gradient(90deg,#f7f1e7 0%,rgba(247,241,231,.96) 25%,rgba(247,241,231,.62) 47%,rgba(247,241,231,.08) 70%),
  url('/assets/hero-villa.png') right center/cover no-repeat}
.hero-content{position:relative;z-index:2;min-height:770px;padding-top:100px}
.hero-copy{max-width:620px}
.hero h1{font-family:"Cormorant Garamond",serif;font-size:clamp(72px,7.2vw,118px);line-height:.78;letter-spacing:-.045em;font-weight:500;margin:0 0 34px}
.script-accent{font-family:"Marck Script",cursive;color:var(--gold);font-size:.86em;font-weight:400;display:inline-block;animation:writeIn 1s ease both}
@keyframes writeIn{from{opacity:0;transform:translateY(10px) rotate(-2deg)}to{opacity:1;transform:none}}
.hero-copy p{font-size:18px;line-height:1.65;max-width:520px;margin:0 0 34px}
.hero-actions{display:flex;gap:14px;align-items:center}
.hero-facts{
  position:absolute;left:0;right:0;bottom:0;
  background:rgba(16,70,58,.88);color:white;
  border-radius:26px 26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);
  backdrop-filter:blur(10px)
}
.hero-facts div{padding:26px 36px;border-right:1px solid rgba(255,255,255,.28)}
.hero-facts div:last-child{border-right:0}
.hero-facts strong,.hero-facts span{display:block}
.hero-facts strong{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:600}
.hero-facts span{font-size:12px;color:rgba(255,255,255,.75);margin-top:3px}

.section{padding:100px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
.section-head h2,.tower-top h2,.invest-content h2,.directions-copy h2,.about-copy h2,.contact-inner h2{
  font-family:"Cormorant Garamond",serif;font-weight:500;letter-spacing:-.035em
}
.section-head h2{font-size:72px;line-height:.95;margin:0}
.text-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}

.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.property-card{border-radius:22px;overflow:hidden}
.card-image-wrap{position:relative;height:550px;overflow:hidden;border-radius:22px;background:#333}
.card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s}
.card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 44%,rgba(3,8,7,.72) 100%);transition:.35s}
.property-card:hover img{transform:scale(1.045)}
.property-card:hover .card-overlay{background:linear-gradient(180deg,rgba(0,0,0,.0) 35%,rgba(3,8,7,.62) 100%)}
.badge{position:absolute;top:24px;left:24px;padding:10px 14px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.06em}
.badge-beige{background:rgba(143,117,89,.82);color:white;border:1px solid rgba(255,255,255,.4)}
.badge-gold{background:#c59a4f;color:#273027}
.badge-grey{background:rgba(150,172,174,.82);color:white}
.card-caption{position:absolute;left:28px;right:86px;bottom:28px;color:white}
.card-caption h3{font-family:"Cormorant Garamond",serif;font-size:40px;font-weight:500;margin:0 0 6px;line-height:1}
.card-caption p{font-size:12px;font-weight:600;line-height:1.45;margin:0}
.round-arrow{position:absolute;right:24px;bottom:24px;width:52px;height:52px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;color:white;font-size:22px;transition:.25s}
.property-card:hover .round-arrow{background:white;color:#173a31;transform:translateX(3px)}

.tower-section{padding:74px 0 68px;background:#121916;color:white}
.tower-top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.tower-top h2{font-size:58px;line-height:1;margin:0 0 14px}
.tower-top p{font-size:13px;color:#c1b9a8;margin:0}
.price-table{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin-top:44px}
.price-cell{padding:28px 24px;border-right:1px solid rgba(255,255,255,.18)}
.price-cell:last-child{border-right:0}
.price-cell span,.price-cell strong,.price-cell small,.price-cell em{display:block}
.price-cell span{font-size:13px;color:#b9b8b3}
.price-cell strong{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:500;margin:14px 0 8px}
.price-cell small{font-size:12px;color:#d7ccb7}
.price-cell em{font-style:normal;font-size:11px;color:#9e9d98;margin-top:10px}
.payment-plan{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:24px}
.payment-plan div{display:flex;align-items:center;gap:10px;font-size:12px}
.payment-plan i{width:6px;height:6px;background:var(--gold);border-radius:50%;flex:none}
.fineprint{font-size:10px;line-height:1.65;color:#7f837e;max-width:900px;margin-top:26px}

.invest-section{padding:78px 0;background:#f2eee7}
.invest-shell{display:grid;grid-template-columns:36% 1fr;background:#0e4b3e;border-radius:26px;overflow:hidden}
.invest-image{min-height:640px;overflow:hidden}
.invest-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.invest-shell:hover .invest-image img{transform:scale(1.025)}
.invest-content{padding:70px 66px;color:white;display:flex;flex-direction:column;justify-content:center}
.invest-content h2{font-size:64px;line-height:.95;margin:0 0 8px}
.invest-script{font-family:"Marck Script",cursive;color:var(--gold);font-size:39px;margin-bottom:18px}
.invest-content>p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.8);max-width:650px}
.invest-grid{display:grid;grid-template-columns:minmax(270px,370px) 1fr;gap:36px;margin:28px 0}
.capital-box{border:1px solid rgba(200,155,77,.8);border-radius:14px;padding:20px 22px}
.capital-box span,.capital-box strong,.capital-box small{display:block}
.capital-box span{font-size:10px;letter-spacing:.12em;color:rgba(255,255,255,.67)}
.capital-box strong{font-family:"Cormorant Garamond",serif;font-size:49px;font-weight:500;margin:7px 0}
.capital-box small{font-size:10px;color:rgba(255,255,255,.6);line-height:1.45}
.invest-points>div{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:15px 0;border-top:1px solid rgba(255,255,255,.18);font-size:12px}
.invest-points>div:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.invest-points b{color:var(--gold);font-size:10px}
.invest-cta{align-self:flex-start}

.directions{background:#f7f3ec}
.directions-layout{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:18px;align-items:center}
.directions-copy{padding:0 56px 0 65px}
.directions-copy h2{font-size:68px;line-height:.85;margin:0 0 22px}
.directions-copy p{color:#777169;line-height:1.6;font-size:13px;max-width:360px}
.direction-card{position:relative;height:440px;border-radius:16px;overflow:hidden}
.direction-card img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.direction-card:hover img{transform:scale(1.04)}
.direction-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.3))}
.direction-card span{position:absolute;bottom:18px;left:18px;color:white;font-size:10px;font-weight:700;letter-spacing:.14em}

.about-section{padding:90px 0;background:#121916;color:white}
.about-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.about-copy{padding-left:15px}
.about-copy h2{font-size:64px;line-height:.98;margin:0 0 28px}
.about-copy p{font-size:14px;line-height:1.72;color:rgba(255,255,255,.82);max-width:580px}
.signature{font-family:"Marck Script",cursive;color:#ead7b1;font-size:36px;margin:24px 0 12px}
.about-link{font-size:12px;border-bottom:1px solid #d3b57b;padding-bottom:5px;color:#e0d2b6}
.about-image-wrap{max-width:470px;justify-self:end;border-radius:18px;overflow:hidden}
.about-image-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;transition:transform .55s}
.about-image-wrap:hover img{transform:scale(1.025)}

.contact-section{padding:95px 0 0;background:#f4efe7}
.contact-inner{text-align:center}
.contact-inner h2{font-size:78px;line-height:.92;margin:10px 0 24px}
.contact-inner>p{max-width:650px;margin:0 auto 30px;color:#777169;font-size:13px;line-height:1.65}
.footer-line{margin-top:95px;border-top:1px solid rgba(18,24,23,.15);padding:36px 8px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em}

.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.is-open{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(6,10,9,.55);backdrop-filter:blur(7px)}
.modal-card{position:relative;width:min(560px,calc(100% - 36px));margin:6vh auto;background:#faf8f3;border-radius:22px;padding:34px;z-index:2;max-height:88vh;overflow:auto}
.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}
.modal-card h3{font-family:"Cormorant Garamond",serif;font-size:48px;margin:0 0 22px}
#leadForm{display:grid;gap:13px}
#leadForm label{display:grid;gap:7px;font-size:11px;font-weight:600}
#leadForm input,#leadForm select,#leadForm textarea{width:100%;border:1px solid rgba(18,24,23,.15);background:white;border-radius:11px;padding:13px;font:inherit}
.full{width:100%}
.form-status{font-size:12px;min-height:18px}

@media(max-width:1100px){
  .container{width:min(100% - 40px,1000px)}
  .site-nav{display:none}
  .hero{min-height:720px}.hero-content{min-height:720px}
  .hero h1{font-size:84px}
  .property-grid{grid-template-columns:1fr}.card-image-wrap{height:520px}
  .price-table{grid-template-columns:1fr 1fr}.price-cell:nth-child(2){border-right:0}.price-cell:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .invest-shell{grid-template-columns:1fr}.invest-image{min-height:480px}.invest-content{padding:55px 40px}
  .directions-layout{grid-template-columns:1fr 1fr}.directions-copy{grid-column:1/-1;padding:0 0 26px}
  .about-layout{grid-template-columns:1fr}.about-image-wrap{justify-self:start}
}
@media(max-width:720px){
  .container{width:calc(100% - 28px)}
  .site-header{height:64px;padding:0 16px}.brand{font-size:21px}.header-actions .btn{display:none}
  .hero{min-height:680px}.hero-content{min-height:680px;padding-top:70px}.hero-bg{background:linear-gradient(90deg,#f7f1e7 0%,rgba(247,241,231,.95) 62%,rgba(247,241,231,.26) 100%),url('/assets/hero-villa.png') 64% center/cover no-repeat}
  .hero h1{font-size:62px}.hero-copy p{font-size:15px}.hero-actions{flex-direction:column;align-items:flex-start}
  .hero-facts{grid-template-columns:1fr}.hero-facts div{padding:12px 18px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.hero-facts strong{font-size:18px}
  .section{padding:72px 0}.section-head{align-items:flex-start;flex-direction:column}.section-head h2{font-size:52px}
  .card-image-wrap{height:430px}.card-caption h3{font-size:34px}
  .tower-section{padding:58px 0}.tower-top{flex-direction:column;align-items:flex-start}.tower-top h2{font-size:44px}.price-table{grid-template-columns:1fr}.price-cell{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.18)}.payment-plan{grid-template-columns:1fr 1fr}
  .invest-section{padding:56px 0}.invest-content{padding:34px 24px}.invest-content h2{font-size:46px}.invest-grid{grid-template-columns:1fr}.invest-image{min-height:390px}
  .directions-layout{grid-template-columns:1fr}.directions-copy{padding:0}.directions-copy h2{font-size:54px}.direction-card{height:360px}
  .about-section{padding:70px 0}.about-copy h2{font-size:50px}.about-image-wrap{max-width:none}
  .contact-section{padding-top:72px}.contact-inner h2{font-size:54px}.footer-line{margin-top:70px;gap:10px;flex-wrap:wrap}
}
