
:root{--chalk:#f3f1ea;--white:#fbfaf6;--ink:#171814;--muted:#74746b;--moss:#8c8964;--dark:#1f231e;--line:rgba(23,24,20,.17)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--chalk);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.loader{position:fixed;inset:0;z-index:100;background:var(--chalk);display:grid;place-items:center;transition:opacity .8s,visibility .8s}.loader img{width:min(520px,72vw)}.loader.hidden{opacity:0;visibility:hidden}
.header{position:absolute;z-index:30;top:0;left:0;width:100%;height:100px;padding:0 4.5vw;display:flex;align-items:center;justify-content:flex-end;gap:3rem;border-bottom:1px solid rgba(255,255,255,.24)}.nav{display:flex;gap:2.3rem;color:white;text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}.header-cta{color:#fff;border:1px solid rgba(255,255,255,.55);padding:12px 16px;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem}.menu-button{display:none;background:transparent;border:0;padding:8px}.menu-button span{display:block;width:28px;height:1px;background:#fff;margin:7px}
.hero{height:100vh;min-height:740px;position:relative;overflow:hidden;color:white}.hero-image{position:absolute;inset:-2%;background:url("assets/hero-villa.jpg") center 55%/cover no-repeat;animation:heroZoom 17s ease-out both}@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}.hero-shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(12,14,12,.12),rgba(12,14,12,.18) 48%,rgba(12,14,12,.75))}
.hero-logo{position:absolute;top:8.5vh;left:50%;transform:translateX(-50%);width:min(760px,74vw);display:flex;justify-content:center}.hero-logo img{width:100%;height:auto;object-fit:contain}
.hero-copy{position:absolute;left:4.5vw;bottom:18vh;max-width:900px}.hero-location,.hero-subtitle{text-transform:uppercase;letter-spacing:.18em;font-size:.67rem;margin:0}.hero-copy h1{font-family:Prata,Georgia,serif;font-size:clamp(4.8rem,9vw,9rem);font-weight:400;line-height:.9;margin:.8rem 0 1.2rem}.hero-subtitle{display:block}
.hero-bottom{position:absolute;left:4.5vw;right:4.5vw;bottom:4.5vh;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;text-transform:uppercase;letter-spacing:.15em;font-size:.66rem;border-top:1px solid rgba(255,255,255,.28);padding-top:18px}.hero-price{text-align:center;font-family:Prata,Georgia,serif;font-size:1.15rem;letter-spacing:.06em}.hero-bottom a{text-align:right}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d7d3a0;margin-right:8px}
.index{text-transform:uppercase;letter-spacing:.18em;font-size:.64rem;color:var(--muted)}.light{color:rgba(255,255,255,.62)}
.availability{padding:145px 5vw 120px;display:grid;grid-template-columns:1.05fr .75fr;gap:10vw;background:var(--white)}h1,h2{font-family:Prata,Georgia,serif;font-weight:400;letter-spacing:-.025em;margin:0}.availability h2,.project-copy h2,.story-text h2,.interior-copy h2,.materials-heading h2,.location-copy h2,.sales-card h2{font-size:clamp(3.4rem,6vw,7rem);line-height:.96;margin:38px 0}.lead{font-size:1.22rem!important;color:var(--ink)!important}.availability-right p,.project-copy p,.story-text p,.interior-copy p,.materials-heading p,.location-copy p,.sales-card p{font-size:.96rem;line-height:1.9;color:var(--muted);margin:0 0 1.4rem}.price-block{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:42px 0 26px;display:flex;justify-content:space-between;align-items:end}.price-block span{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.price-block strong{font-family:Prata,Georgia,serif;font-size:2.2rem;font-weight:400}.primary-button{display:inline-block;background:var(--ink);color:#fff;padding:15px 20px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem}
.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#d9d5c7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-strip div{padding:34px 4vw;border-right:1px solid var(--line);display:flex;flex-direction:column}.feature-strip div:last-child{border-right:0}.feature-strip strong{font-family:Prata,Georgia,serif;font-size:1.55rem;font-weight:400}.feature-strip span{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-top:7px}
.project-intro{min-height:92vh;display:grid;grid-template-columns:1.35fr .65fr;background:var(--dark);color:white}.project-visual{background:url("assets/villa-aerial.jpg") center/cover no-repeat;min-height:720px}.project-copy{padding:9vw 5vw;display:flex;flex-direction:column;justify-content:center}.location{text-transform:uppercase;letter-spacing:.16em;font-size:.65rem;color:rgba(255,255,255,.55);margin:52px 0 10px}.project-copy h2{font-size:clamp(3.6rem,6.5vw,7.5rem)}.project-copy p{color:rgba(255,255,255,.62)}
.villa-story{display:grid;grid-template-columns:.82fr 1.18fr;min-height:100vh;background:var(--white)}.story-text{padding:11vw 7vw 10vw 5vw;align-self:center}.story-image{background:url("assets/villa-pool.jpg") center/cover no-repeat;min-height:800px}
.cinema-image{padding:130px 5vw;background:var(--chalk)}.cinema-image img{width:100%;max-height:82vh;object-fit:cover}.cinema-caption{display:flex;justify-content:space-between;gap:40px;padding-top:18px}.cinema-caption span{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em}.cinema-caption p{width:42%;margin:0;color:var(--muted);font-size:.78rem;line-height:1.7}
.specifications{padding:130px 5vw;background:#ded9cb}.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.spec-grid article{border-top:1px solid var(--line);padding-top:22px}.spec-grid h3{font-family:Prata,Georgia,serif;font-weight:400;font-size:1.55rem;margin:0 0 22px}.spec-grid ul{list-style:none;padding:0;margin:0}.spec-grid li{padding:9px 0;border-bottom:1px solid rgba(23,24,20,.1);font-size:.78rem;color:var(--muted);line-height:1.5}
.gallery{padding:130px 5vw;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;background:var(--chalk)}.gallery img{width:100%;height:58vh;min-height:470px;object-fit:cover}.gallery img:nth-child(1){grid-row:span 2;height:calc(116vh + 24px)}
.interiors{padding:140px 5vw;display:grid;grid-template-columns:.72fr 1fr;gap:28px;background:var(--white)}.interior-copy{padding:25px 5vw 60px 0}.interior-image{background-size:cover;background-position:center;min-height:590px}.interior-image.dining{background-image:url("assets/villa-dining.jpg")}.interior-image.living{background-image:url("assets/villa-living.jpg");grid-column:1/2;min-height:520px}.interior-image.bedroom{background-image:url("assets/villa-bedroom.jpg");min-height:520px}
.materials{background:var(--dark);color:white;padding:140px 5vw}.materials-heading{display:grid;grid-template-columns:1fr .7fr;column-gap:8vw;align-items:end;margin-bottom:70px}.materials-heading .index{grid-column:1/-1;margin-bottom:35px}.materials-heading p{color:rgba(255,255,255,.58);margin-bottom:0}.material-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.material-card{background:#292e28}.material-photo{aspect-ratio:16/10;background-size:cover;background-position:center}.material-photo.corten{background-image:url("assets/material-corten.jpg")}.material-photo.exterior-wood{background-image:url("assets/material-exterior-wood.png")}.material-photo.interior-wood{background-image:url("assets/material-interior-wood.png")}.material-photo.stucco{background-image:url("assets/material-stucco.jpg")}.material-photo.concrete{background-image:url("assets/material-concrete.png")}.material-copy{display:grid;grid-template-columns:45px 1fr;column-gap:16px;padding:25px 27px 32px}.material-copy span{font-size:.65rem;color:rgba(255,255,255,.42);padding-top:7px}.material-copy h3{font-family:Prata,Georgia,serif;font-weight:400;font-size:1.65rem;margin:0 0 12px}.material-copy p{grid-column:2;font-size:.79rem;line-height:1.75;color:rgba(255,255,255,.56);margin:0}
.location-section{display:grid;grid-template-columns:1.2fr .8fr;background:#d9d5c7}.location-image{min-height:800px;background:url("assets/villa-rear.jpg") center/cover no-repeat}.location-copy{padding:10vw 7vw;align-self:center}
.sales-contact{position:relative;overflow:hidden;display:grid;grid-template-columns:.8fr 1.2fr;background:#8e8b66;color:white}.sales-card{padding:135px 5vw 170px}.sales-card p{color:rgba(255,255,255,.68)}.sales-image{background:url("assets/villa-pool-detail.png") center/cover no-repeat;min-height:760px}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:40px 0}.big-mail{font-family:Prata,Georgia,serif;font-size:clamp(1.6rem,3vw,3.2rem);border-bottom:1px solid rgba(255,255,255,.42);padding-bottom:7px}address{font-style:normal;line-height:1.8;color:rgba(255,255,255,.72)}.contact-logo{position:absolute;width:min(760px,58vw);left:-5vw;bottom:-24%;opacity:.08;filter:invert(1)}
footer{padding:28px 5vw;background:#161915;color:rgba(255,255,255,.48);display:flex;justify-content:space-between;gap:30px;text-transform:uppercase;letter-spacing:.11em;font-size:.62rem}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s ease,transform 1s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.header{height:82px}.nav,.header-cta{display:none}.menu-button{display:block}.nav.open{display:flex;position:absolute;top:82px;right:0;width:min(380px,100vw);padding:36px 6vw;background:rgba(27,31,26,.98);flex-direction:column}.hero-logo{top:13vh}.hero-logo img{width:88vw}.hero-copy{bottom:18vh}.hero-bottom{grid-template-columns:1fr 1fr}.hero-bottom a{display:none}.availability,.project-intro,.villa-story,.materials-heading,.location-section,.sales-contact{grid-template-columns:1fr}.feature-strip{grid-template-columns:1fr 1fr}.project-visual,.story-image,.location-image,.sales-image{min-height:65vh}.availability,.cinema-image,.specifications,.gallery,.interiors,.materials{padding:90px 5vw}.spec-grid{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr}.gallery img,.gallery img:nth-child(1){height:55vh;min-height:420px;grid-row:auto}.interiors{grid-template-columns:1fr}.interior-image.living{grid-column:auto}.material-grid{grid-template-columns:1fr}.contact-logo{width:110vw}}
@media(max-width:560px){.hero{min-height:680px}.hero-copy h1{font-size:4.7rem}.hero-bottom{grid-template-columns:1fr}.hero-bottom div:nth-child(2){display:none}.availability h2,.project-copy h2,.story-text h2,.interior-copy h2,.materials-heading h2,.location-copy h2,.sales-card h2{font-size:3.25rem}.feature-strip{grid-template-columns:1fr}.feature-strip div{border-right:0;border-bottom:1px solid var(--line)}.spec-grid{grid-template-columns:1fr}.cinema-caption{flex-direction:column}.cinema-caption p{width:100%}.price-block{align-items:flex-start;flex-direction:column;gap:8px}.material-photo{aspect-ratio:4/3}footer{flex-direction:column}}

.material-card-wide{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr}
.material-card-wide .material-photo{aspect-ratio:auto;min-height:420px}
.material-card-wide .material-copy{align-content:center;padding:42px}
@media(max-width:950px){
  .material-card-wide{grid-column:auto;display:block}
  .material-card-wide .material-photo{min-height:0;aspect-ratio:4/3}
}
@media(max-width:560px){
  .hero-logo{top:10vh;width:88vw}
  .hero-copy{bottom:19vh}
  .hero-copy h1{font-size:4.3rem}
  .hero-subtitle{font-size:.58rem;line-height:1.6}
  .hero-bottom{grid-template-columns:1fr;gap:8px}
  .hero-price{text-align:left}
  .hero-bottom a{display:none}
}

/* --- V3 HERO LAYOUT FIX --- */
.header{
  height:92px;
  padding:0 4.5vw;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,.24);
}
.hero-brand{
  position:absolute;
  top:18px;
  left:4.5vw;
  width:260px;
  z-index:4;
}
.hero-brand img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.hero-title-panel{
  position:absolute;
  left:4.5vw;
  bottom:17vh;
  max-width:760px;
  z-index:3;
}
.hero-title-panel .hero-location,
.hero-title-panel .hero-subtitle{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.67rem;
}
.hero-title-panel h1{
  font-family:Prata,Georgia,serif;
  font-size:clamp(4.6rem,8.5vw,8.7rem);
  font-weight:400;
  line-height:.9;
  margin:.8rem 0 1.1rem;
}
.hero-logo,
.hero-copy{
  display:none !important;
}
.sales-image{
  background-image:url("assets/villa-contact-sharp.jpg") !important;
  background-position:center;
  background-size:cover;
}
.material-card-wide,
.material-photo.concrete{
  display:none !important;
}
@media(max-width:950px){
  .hero-brand{
    top:16px;
    left:5vw;
    width:210px;
  }
  .hero-title-panel{
    left:5vw;
    bottom:18vh;
    max-width:88vw;
  }
}
@media(max-width:560px){
  .header{height:78px}
  .hero-brand{
    width:175px;
    top:13px;
  }
  .hero-title-panel{
    bottom:20vh;
  }
  .hero-title-panel h1{
    font-size:4.15rem;
  }
  .hero-title-panel .hero-subtitle{
    max-width:280px;
    line-height:1.55;
  }
}
