
/* ==========================================================
   PROPIEDADES CHILLÁN — PROFESIONAL LUJO V2
   ========================================================== */
:root{
  --pc-navy:#071827;
  --pc-navy-2:#0C263B;
  --pc-gold:#C99A4A;
  --pc-gold-light:#E4C27F;
  --pc-ivory:#F7F5F0;
  --pc-white:#FFFFFF;
  --pc-ink:#162431;
  --pc-muted:#66727C;
  --pc-line:#DCE2E6;
  --pc-soft:#EDF1F3;
  --pc-green:#20B896;
  --pc-shadow:0 24px 70px rgba(6,24,39,.12);
}

body{
  background:var(--pc-ivory)!important;
  color:var(--pc-ink)!important;
}
.wrap{
  max-width:1280px!important;
  padding-inline:28px!important;
}
.eyebrow{
  color:var(--pc-gold)!important;
  font-size:.72rem!important;
  font-weight:600!important;
}
.eyebrow::before{
  width:30px!important;
  background:var(--pc-gold)!important;
}

/* Header */
header{
  padding:16px 0!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(7,24,39,.08)!important;
  box-shadow:0 10px 28px rgba(7,24,39,.06)!important;
  backdrop-filter:blur(16px)!important;
}
header.scrolled{
  padding:12px 0!important;
  background:rgba(255,255,255,.92)!important;
}
.brand{
  font-size:1.22rem!important;
  letter-spacing:-.02em!important;
}
.brand svg{
  width:36px!important;
  height:36px!important;
}
.nav-links{
  gap:26px!important;
}
.nav-links a{
  font-size:.88rem!important;
  font-weight:600!important;
  color:#2E4050!important;
}
.nav-links a::after{
  height:2px!important;
  background:var(--pc-gold)!important;
}
.nav-login{
  padding:11px 19px!important;
  border-radius:999px!important;
  background:var(--pc-navy)!important;
  color:#fff!important;
  box-shadow:0 10px 23px rgba(7,24,39,.16)!important;
}
.nav-login:hover{
  background:var(--pc-gold)!important;
  color:var(--pc-navy)!important;
}

/* Hero real y equilibrado */
.hero{
  min-height:820px!important;
  padding:150px 0 95px!important;
  background:
    linear-gradient(90deg,
      rgba(4,16,27,.98) 0%,
      rgba(4,16,27,.94) 35%,
      rgba(4,16,27,.62) 56%,
      rgba(4,16,27,.14) 78%,
      rgba(4,16,27,.20) 100%),
    url("assets/hero-casa-premium.jpg") center right/cover no-repeat!important;
  color:#fff!important;
}
.hero::before,
.hero::after{
  display:none!important;
}
.hero-content{
  max-width:1280px!important;
  position:relative!important;
  z-index:2!important;
}
.hero-content>*{
  max-width:610px!important;
}
.hero h1{
  font-size:clamp(3.7rem,6vw,6.4rem)!important;
  line-height:.94!important;
  letter-spacing:-.05em!important;
  margin:24px 0 28px!important;
  color:#fff!important;
}
.hero h1 em{
  display:block!important;
  color:var(--pc-gold-light)!important;
  font-weight:500!important;
  font-style:italic!important;
}
.hero p.lead{
  max-width:555px!important;
  color:rgba(255,255,255,.80)!important;
  font-size:1.08rem!important;
  line-height:1.72!important;
  margin-bottom:31px!important;
}
.hero-actions{
  gap:13px!important;
  margin:0 0 54px!important;
}
.btn{
  min-height:54px!important;
  padding:0 25px!important;
  border-radius:999px!important;
  font-size:.91rem!important;
  font-weight:700!important;
}
.btn-primary{
  background:linear-gradient(135deg,var(--pc-gold),#E1BD76)!important;
  color:var(--pc-navy)!important;
  box-shadow:0 16px 34px rgba(201,154,74,.24)!important;
}
.btn-primary:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 21px 42px rgba(201,154,74,.30)!important;
}
.btn-ghost{
  background:rgba(5,20,33,.38)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.50)!important;
  backdrop-filter:blur(8px)!important;
}
.btn-ghost:hover{
  background:rgba(255,255,255,.10)!important;
  transform:translateY(-3px)!important;
}
.hero-stats{
  max-width:585px!important;
  gap:38px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
}
.hero-stats b{
  color:var(--pc-gold-light)!important;
  font-size:1.4rem!important;
  font-family:'Fraunces',serif!important;
}
.hero-stats span{
  color:rgba(255,255,255,.60)!important;
}
.hero-range,
.skyline{
  display:none!important;
}

/* Base de secciones */
section{
  padding:104px 0!important;
}
.section-head{
  max-width:720px!important;
  margin-bottom:50px!important;
}
.section-head h2{
  font-size:clamp(2.25rem,4vw,3.7rem)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  color:var(--pc-navy)!important;
}
.section-head p{
  color:var(--pc-muted)!important;
  font-size:1rem!important;
}

/* Servicios */
.services{
  background:var(--pc-ivory)!important;
}
.service-grid{
  gap:18px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
}
.service-card{
  padding:31px!important;
  min-height:285px!important;
  border-radius:20px!important;
  border:1px solid rgba(7,24,39,.10)!important;
  background:#fff!important;
  box-shadow:0 14px 42px rgba(7,24,39,.06)!important;
}
.service-card:hover{
  transform:translateY(-7px)!important;
  box-shadow:0 24px 55px rgba(7,24,39,.11)!important;
  border-color:rgba(201,154,74,.40)!important;
}
.service-card .num{
  color:rgba(201,154,74,.52)!important;
}
.service-icon{
  color:var(--pc-gold)!important;
}
.service-card h3{
  color:var(--pc-navy)!important;
  font-size:1.32rem!important;
}
.service-card p{
  color:var(--pc-muted)!important;
}

/* Catálogo */
#propiedades{
  background:var(--pc-soft)!important;
}
.catalog-toolbar{
  padding:16px!important;
  border:1px solid rgba(7,24,39,.09)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 14px 42px rgba(7,24,39,.07)!important;
}
.catalog-toolbar input,
.catalog-toolbar select{
  min-height:50px!important;
  border-radius:11px!important;
  border-color:rgba(7,24,39,.12)!important;
  background:#F8FAFB!important;
}
.prop-grid{
  gap:22px!important;
}
.prop-card{
  border-radius:20px!important;
  border:1px solid rgba(7,24,39,.10)!important;
  box-shadow:0 15px 45px rgba(7,24,39,.07)!important;
}
.prop-card:hover{
  transform:translateY(-7px)!important;
  box-shadow:0 28px 64px rgba(7,24,39,.14)!important;
}
.prop-img{
  height:260px!important;
  aspect-ratio:auto!important;
}
.prop-body{
  padding:24px!important;
}
.prop-price{
  color:var(--pc-gold)!important;
  font-size:1.18rem!important;
}
.prop-title{
  color:var(--pc-navy)!important;
  font-size:1.38rem!important;
}
.prop-loc,
.prop-desc,
.prop-feats{
  color:var(--pc-muted)!important;
}
.prop-tag{
  background:rgba(7,24,39,.92)!important;
  color:#fff!important;
}

/* Nosotros */
.nosotros{
  background:
    radial-gradient(circle at 85% 20%,rgba(201,154,74,.12),transparent 28%),
    linear-gradient(135deg,#061421,#0D304A)!important;
}
.nosotros-grid{
  max-width:1180px!important;
  grid-template-columns:.8fr 1.2fr!important;
  text-align:left!important;
  justify-items:stretch!important;
}
.nosotros-photo{
  width:100%!important;
  max-width:420px!important;
  border-radius:22px!important;
  border:1px solid rgba(228,194,127,.20)!important;
  box-shadow:0 28px 68px rgba(0,0,0,.28)!important;
}
.nosotros h2,
.nosotros h3{
  color:#fff!important;
}
.nosotros p{
  color:rgba(255,255,255,.72)!important;
}
.nosotros .eyebrow{
  color:var(--pc-gold-light)!important;
}
.nosotros .eyebrow::before{
  background:var(--pc-gold-light)!important;
}
.nosotros-points div{
  border-left-color:var(--pc-gold)!important;
}

/* Beneficios, proceso, testimonios */
.why-grid,
.process-track{
  gap:17px!important;
}
.why-card,
.process-step,
.testi-card{
  border-radius:18px!important;
  border:1px solid rgba(7,24,39,.10)!important;
  background:#fff!important;
  box-shadow:0 13px 38px rgba(7,24,39,.06)!important;
}
.why-card{
  padding:29px 23px!important;
}
.why-card:hover{
  transform:translateY(-6px)!important;
}
.why-card svg{
  color:var(--pc-gold)!important;
}
.why-card h3,
.process-step h3{
  color:var(--pc-navy)!important;
}
.process{
  background:var(--pc-soft)!important;
}
.process-track::before{
  background:rgba(7,24,39,.12)!important;
}
.process-step .dot{
  color:var(--pc-gold)!important;
  border-color:rgba(201,154,74,.34)!important;
}
.process-step.active .dot{
  background:var(--pc-navy)!important;
  color:#fff!important;
  border-color:var(--pc-navy)!important;
}
.testi-stars{
  color:var(--pc-gold)!important;
}
.testi-card p{
  color:var(--pc-navy)!important;
}

/* Contacto */
.contacto{
  background:
    radial-gradient(circle at 85% 15%,rgba(201,154,74,.12),transparent 28%),
    linear-gradient(135deg,#061421,#0D2C45)!important;
}
.contacto h2,
.contacto h3{
  color:#fff!important;
}
.contacto .eyebrow{
  color:var(--pc-gold-light)!important;
}
.contacto .eyebrow::before{
  background:var(--pc-gold-light)!important;
}
.contacto p.lead{
  color:rgba(255,255,255,.72)!important;
}
.contact-info svg{
  color:var(--pc-gold-light)!important;
}
.form-card{
  border-radius:20px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 24px 65px rgba(0,0,0,.22)!important;
}
.field input,
.field textarea,
.field select{
  border-radius:11px!important;
}
.map-wrap{
  border-radius:20px!important;
  border-color:rgba(201,154,74,.22)!important;
}

/* Footer */
footer{
  background:#040D15!important;
  padding-top:70px!important;
}
.footer-col h4{
  color:var(--pc-gold-light)!important;
}
.social-row a:hover{
  background:var(--pc-gold)!important;
  color:var(--pc-navy)!important;
  border-color:var(--pc-gold)!important;
}
.totop{
  background:var(--pc-gold)!important;
  color:var(--pc-navy)!important;
}

/* Mobile */
@media(max-width:980px){
  .hero{
    min-height:auto!important;
    padding:135px 0 82px!important;
    background:
      linear-gradient(90deg,rgba(4,16,27,.98),rgba(4,16,27,.82)),
      url("assets/hero-casa-premium.jpg") center/cover no-repeat!important;
  }
  .hero-content>*{
    max-width:100%!important;
  }
  .hero h1{
    max-width:700px!important;
  }
  .nosotros-grid{
    grid-template-columns:1fr!important;
    text-align:center!important;
    justify-items:center!important;
  }
}
@media(max-width:760px){
  .wrap{
    padding-inline:18px!important;
  }
  header{
    padding:12px 0!important;
  }
  .nav-links.open{
    top:67px!important;
    background:rgba(255,255,255,.98)!important;
  }
  .hero{
    padding:120px 0 72px!important;
  }
  .hero h1{
    font-size:clamp(3rem,14vw,4.8rem)!important;
  }
  .hero-stats{
    gap:18px!important;
  }
  .service-card{
    min-height:auto!important;
  }
  .prop-img{
    height:235px!important;
  }
}
