:root{
  --dorado:#C2A542;
  --dorado-osc:#a88e34;
  --gris-900:#1f2937;
  --gris-700:#414141;
  --gris-500:#6b7280;
  --gris-100:#f5f5f5;
  --blanco:#fff;
  --maxw:1200px;
  --radius:12px;
  --shadow:0 10px 28px rgba(0,0,0,.08);
  --header-h:92px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--gris-700); background:var(--blanco); line-height:1.6}
h1,h2,h3{font-family:"Playfair Display",serif; color:var(--gris-900); margin:0 0 .5rem}
h1{font-size:clamp(2.1rem,4vw,3.1rem); line-height:1.15}
h2{font-size:clamp(1.7rem,3vw,2.3rem)}
p{margin:.25rem 0 1rem}
a{color:inherit; text-decoration:none}
img{max-width:100%; height:auto; display:block}
.container{max-width:var(--maxw); margin:0 auto; padding:0 22px}
.btn{display:inline-block; padding:12px 22px; border-radius:10px; font-weight:700; transition:.25s transform ease, .25s background-color ease, .25s color ease, .25s box-shadow ease; box-shadow:0 2px 12px rgba(0,0,0,.06)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--dorado); color:var(--blanco)}
.btn-primary:hover{background:var(--dorado-osc)}
.btn-secondary{background:#222; color:var(--blanco)}
.text-muted{color:var(--gris-500)}
.section{padding:88px 0}
.section.gray{background:var(--gris-100)}
.grid{display:grid; gap:24px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 900px){ .grid-3{grid-template-columns:1fr 1fr} }
@media (max-width: 720px){ .grid-2, .grid-3{grid-template-columns:1fr} }
header{position:sticky; top:0; z-index:50; background:var(--blanco); border-bottom:1px solid #eee; height:var(--header-h)}
.nav{display:flex; align-items:center; justify-content:space-between; height:var(--header-h)}
.brand{display:flex; align-items:center; gap:14px}
.brand img{height:64px; width:auto; image-rendering:-webkit-optimize-contrast}
.brand span{font-family:"Playfair Display",serif; font-weight:700; letter-spacing:.4px; font-size:1.05rem}
nav ul{display:flex; gap:22px; list-style:none; margin:0; padding:0}
nav a{padding:10px 12px; border-radius:10px; font-weight:700}
nav a:hover{background:#f2f2f2}
.nav-cta{display:none}
.burger{display:none; flex-direction:column; gap:5px; cursor:pointer}
.burger span{width:28px; height:2px; background:#333; transition:.25s}
@media (max-width: 980px){
  .brand img{height:52px}
  nav ul{display:none; position:absolute; top:var(--header-h); left:0; right:0; background:var(--blanco); padding:16px 20px; border-bottom:1px solid #eee}
  nav ul.open{display:flex; flex-direction:column}
  .nav-cta{display:inline-flex}
  .burger{display:flex}
}
@media (max-width: 520px){
  .brand img{height:44px}
  :root{ --header-h:86px }
}
.hero{
  padding: clamp(100px,12vw,160px) 0 96px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.9) 45%, rgba(255,255,255,.78) 70%, rgba(255,255,255,.72) 100%),
    url('https://images.unsplash.com/photo-1554224155-6726b3ff858f?auto=format&fit=crop&w=2000&q=80') center/cover no-repeat;
}
.hero-wrap{display:grid; gap:32px; grid-template-columns:1.25fr .75fr; align-items:center}
.hero .lede{font-size:1.1rem}
.hero .cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px}
.hero-card{background:var(--blanco); border:1px solid #eee; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow)}
@media (max-width: 980px){ .hero-wrap{grid-template-columns:1fr} }
.card{background:var(--blanco); border:1px solid #eee; border-radius:var(--radius); padding:22px; box-shadow:var(--shadow); transition:.25s transform ease, .25s box-shadow ease, .25s border-color ease}
.card:hover{transform:translateY(-3px); box-shadow:0 16px 32px rgba(0,0,0,.1); border-color:#e6e6e6}
.icon{width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:#fcf8eb; margin-bottom:12px}
.person{display:flex; gap:16px; align-items:center}
.avatar{width:78px; height:78px; border-radius:50%; background:#ddd; flex:0 0 78px; overflow:hidden}
.person h3{margin:0 0 2px; font-size:1.06rem}
.person small{color:var(--gris-500)}
form{display:grid; gap:14px}
input, textarea{width:100%; padding:12px 14px; border:1px solid #ddd; border-radius:10px; font:inherit; background:#fff}
textarea{min-height:120px; resize:vertical}
.contact-box{display:grid; grid-template-columns:1fr 1fr; gap:24px}
@media (max-width: 900px){ .contact-box{grid-template-columns:1fr} }
.map{border:0; width:100%; height:100%; min-height:340px; border-radius:var(--radius); box-shadow:var(--shadow)}
footer{padding:30px 0; border-top:1px solid #eee; background:#fff}
.foot{display:flex; justify-content:space-between; gap:20px; align-items:center; flex-wrap:wrap}
.caps{letter-spacing:.08em; text-transform:uppercase; font-size:.8rem; color:var(--gris-500); font-weight:700}
.divider{height:1px; background:#eee; margin:24px 0}
.honeypot{position:absolute; left:-9999px; opacity:0}
.inmobiliaria-section{background:linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.9) 45%, rgba(255,255,255,.85) 100%), url('https://images.unsplash.com/photo-1505691723518-36a5ac3be353?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat;}
:target::before{content:""; display:block; height:calc(var(--header-h) + 12px); margin-top:calc(-1 * (var(--header-h) + 12px))}
