/* Continuidad visual con las campañas VIVIR y CERTEZA. */
:root{
  --forest:#34382c;
  --forest2:#4f5542;
  --sage:#cfd1c6;
  --cream:#ece6e1;
  --paper:#f4f1ed;
  --ink:#181713;
  --taupe:#8d7a5e;
  --gold:#8d7a5e;
  --available:#465a48;
  --reserved:#987235;
  --sold:#4f524f;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Cormorant Garamond",Georgia,serif;
}

body,button,input,textarea,select{font-family:var(--serif)}

.hero h1,.section h2,.lot-dialog h2,.progress-total strong,.hero-proof strong,
.progress-card h3,.amenity-grid h3,.contact>div>a{
  font-family:var(--serif);
  letter-spacing:-.015em;
}

.hero h1{font-weight:400}.section h2{font-weight:400}.intro>div:last-child{font-family:var(--serif);font-size:22px;font-weight:300}
.eyebrow,.header nav a,.header-cta,.button,.progress-total span,.state,.card-meta{
  letter-spacing:.17em;
}

.progress-section{background:#34382c}.contact{background:#cfd1c6}.amenities,.intro{background:#ece6e1}
.progress-card,.contact form,.amenity-grid article{background:#f7f4f0}
.lot-available{background:var(--available)}.lot-reserved{background:var(--reserved)}.lot-sold{background:var(--sold)}
.legend .available{background:var(--available)}.legend .reserved{background:var(--reserved)}.legend .sold{background:var(--sold)}
.whatsapp-float{background:#8d7a5e}.button{background:#34382c}
.campaign-proof{display:grid;grid-template-columns:repeat(4,1fr);background:#ece6e1;border-bottom:1px solid #d6d0ca;padding:35px clamp(20px,7vw,110px);gap:24px}
.campaign-proof div{display:grid;border-right:1px solid #c7c0b9;padding-right:24px}.campaign-proof div:last-child{border-right:0}
.campaign-proof strong{font:500 clamp(24px,3vw,38px)/1.1 var(--serif)}.campaign-proof span{text-transform:uppercase;letter-spacing:.15em;font-size:9px;margin-top:7px}

/* Autoría arquitectónica. */
.architect-section{display:grid;grid-template-columns:1.08fr .92fr;min-height:720px;background:#262d27;color:#ece6e1}
.architect-image{min-height:620px;overflow:hidden}.architect-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.architect-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,120px)}
.architect-kicker{margin:20px 0 8px;font:500 17px/1 var(--serif);letter-spacing:.24em}
.architect-copy h2{margin:10px 0 30px;font:400 clamp(44px,5vw,72px)/1.02 var(--serif);letter-spacing:-.02em}
.architect-copy>p:not(.eyebrow):not(.architect-kicker){margin:0 0 18px;font:300 clamp(18px,1.55vw,23px)/1.5 var(--serif)}
.architect-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}.architect-links .button-light{background:#ece6e1;color:#262d27}.architect-links .text-link{font-size:16px}

@media(min-width:901px){
  .hero-copy{max-width:790px}
  .hero h1{font-size:clamp(66px,7.2vw,104px)}
  .section-heading h2{max-width:820px}
}
@media(max-width:800px){.campaign-proof{grid-template-columns:1fr 1fr}.campaign-proof div:nth-child(2){border-right:0}}
@media(max-width:800px){.architect-section{grid-template-columns:1fr}.architect-image{min-height:460px}.architect-copy{padding:70px 24px}}
@media(max-width:480px){.campaign-proof{grid-template-columns:1fr}.campaign-proof div{border-right:0;border-bottom:1px solid #c7c0b9;padding:0 0 18px}.campaign-proof div:last-child{border-bottom:0}}

/* Hero editorial con rotación suave. */
.hero{background:#20271f;isolation:isolate;overflow:hidden;align-items:end}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slide{background-position:center;background-size:cover;opacity:0;transform:scale(1.045);transition:opacity 1.25s ease,transform 7s cubic-bezier(.2,.6,.2,1);will-change:opacity,transform}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(20,28,22,.86) 0%,rgba(20,28,22,.48) 56%,rgba(20,28,22,.16) 100%),linear-gradient(0deg,rgba(20,28,22,.56),transparent 48%)}
.hero-copy,.hero-proof,.hero-controls{z-index:2}
.hero-copy{max-width:850px}
.hero .hero-copy .hero-word{margin:0 0 2px;font:300 clamp(76px,10vw,150px)/.78 var(--serif);letter-spacing:.08em;text-transform:uppercase}
.hero .hero-copy .hero-place{margin:18px 0 26px;font:500 clamp(17px,1.5vw,22px)/1 var(--serif);letter-spacing:.34em;text-transform:uppercase}
.hero-title{min-height:2.05em}
.hero h1{font-size:clamp(38px,4.4vw,66px);max-width:780px}.hero-subtitle{font:400 clamp(21px,2vw,29px)/1.32 var(--serif);max-width:760px}
.button.button-light{background:#34382c;color:#ece6e1;border:1px solid rgba(236,230,225,.28)}
.button.button-light:hover,.button.button-light:focus-visible{background:#ece6e1;color:#181713}
.hero-controls{position:absolute;left:clamp(20px,7vw,110px);bottom:30px;display:flex;align-items:center;gap:17px}
.hero-dots{display:flex;gap:9px}.hero-dots button{width:34px;height:2px;min-height:0;padding:0;border:0;background:rgba(255,255,255,.35)}.hero-dots button.is-active{background:#fff}
.hero-pause{width:36px;height:36px;min-height:36px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font:500 12px var(--sans)}

/* Sistema editorial Cormorant Garamond. */
.hero-title,.section h2{font-weight:400}.hero-word,.hero-subtitle,.intro p,.progress-card p,.amenity-grid p{font-weight:300}
.hero-place,.campaign-proof strong,.lot strong{font-family:var(--serif);font-weight:500}
.hero-proof strong,.progress-total strong{font-weight:300}
.section-heading>div>p:not(.eyebrow),.availability .section-heading p{font-family:var(--serif);font-size:20px;font-weight:300}
.button,.header-cta{font-family:var(--serif);font-size:14px;font-weight:600}.header nav a{font-family:var(--serif);font-size:16px;font-weight:500}.eyebrow{font-family:var(--serif);font-weight:600}

/* Disponibilidad y plano. */
.lot{color:#fff;border:1px solid rgba(255,255,255,.13)}
.lot strong{font-size:20px;letter-spacing:.08em}.lot span,.lot small{font-weight:400}
.plan-layout figure{display:grid;place-items:center;overflow:hidden}
.plan-layout figure img{display:block;width:100%;height:auto!important;aspect-ratio:567/718;object-fit:contain;object-position:center}
.lot-dialog h2{font-weight:400}.dialog-sold{padding:12px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}

/* Marca y WhatsApp. */
.brand img{width:215px;height:auto}.whatsapp-float span{display:grid;place-items:center}.whatsapp-float span img{width:25px;height:25px;filter:invert(1)}
footer img{width:230px;height:auto}

@media(max-width:900px){.hero-copy{max-width:100%}.hero-title{min-height:auto}.hero-proof{z-index:2}.brand img{width:165px}.hero-controls{bottom:18px}.hero{padding-bottom:95px}}
@media(max-width:620px){.hero .hero-copy .hero-word{font-size:64px}.hero .hero-copy .hero-place{font-size:16px;margin:13px 0 18px}.hero-title{font-size:44px}.hero-subtitle{font-size:20px}.hero-proof{margin-top:34px}.hero-controls{position:relative;left:auto;bottom:auto;margin-top:38px}.plan-layout figure img{max-height:none}.lot strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}}
