:root{--blue:#1DA7E8;--dark:#1F3B5A;--graphite:#222831;--white:#fff;--muted:#6b7280;--light:#f4f9fc;--shadow:0 24px 70px rgba(31,59,90,.18);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--graphite);background:linear-gradient(180deg,#fff 0,#f7fbfe 45%,#fff 100%)}a{text-decoration:none;color:inherit}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:14px 7%;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(31,59,90,.08)}.brand{display:flex;gap:12px;align-items:center;font-weight:700;color:var(--dark)}.brand img{width:54px;height:54px;border-radius:14px;object-fit:cover;box-shadow:0 10px 25px rgba(0,0,0,.12)}.nav nav{display:flex;gap:24px;align-items:center}.nav nav a{font-weight:600;color:#2b3b4d}.nav-cta{padding:12px 18px;border-radius:999px;background:var(--dark)!important;color:#fff!important}.menu-btn{display:none}.hero{min-height:78vh;display:grid;grid-template-columns:1.15fr .85fr;gap:42px;align-items:center;padding:80px 7%;background:radial-gradient(circle at 85% 10%,rgba(29,167,232,.18),transparent 34%),linear-gradient(135deg,#fff 0,#eff9ff 100%)}.badge,.eyebrow{display:inline-flex;color:var(--blue);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.hero h1,.section h2,.about h2,.contact h2{font-size:clamp(2.2rem,5vw,4.8rem);line-height:.97;margin:16px 0;color:var(--dark);letter-spacing:-.06em}.hero p,.section-head p,.split p,.about p,.contact p{font-size:1.12rem;line-height:1.7;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{border:0;border-radius:999px;padding:15px 22px;font-weight:800;cursor:pointer;display:inline-flex;justify-content:center;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{background:linear-gradient(135deg,var(--blue),#127db0);color:#fff;box-shadow:0 14px 30px rgba(29,167,232,.28)}.ghost{background:#fff;color:var(--dark);border:1px solid rgba(31,59,90,.12)}.full{width:100%}.hero-card{border-radius:32px;padding:18px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.65));box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9)}.search-box{background:#fff;padding:28px;border-radius:26px;display:grid;gap:18px}.search-box label{font-size:1.7rem;font-weight:900;color:var(--dark)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid #dbeafe;background:#f8fbff;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700}.chip.active{background:var(--dark);color:#fff}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}select,input,textarea{width:100%;border:1px solid #d7e6f2;border-radius:16px;padding:15px;background:#fff;font:inherit}textarea{min-height:120px;resize:vertical}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 7%;margin-top:-36px}.stats div{background:#fff;border-radius:24px;padding:26px;box-shadow:0 18px 40px rgba(31,59,90,.1)}.stats b{display:block;color:var(--blue);font-size:2rem}.stats span{color:var(--muted);font-weight:700}.section{padding:90px 7%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.section-head h2,.split h2,.about h2,.contact h2{font-size:clamp(2rem,4vw,3.2rem)}.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 50px rgba(31,59,90,.1);border:1px solid rgba(31,59,90,.08);transition:.2s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.photo{height:220px;background:linear-gradient(135deg,#dff5ff,#bdeaff);position:relative;display:flex;align-items:end;padding:16px;color:#fff;font-weight:900}.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(31,59,90,.72))}.photo span{position:relative}.tag{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.9);color:var(--dark);padding:8px 12px;border-radius:999px;font-size:.8rem}.fav{position:absolute;top:12px;right:12px;border:0;border-radius:50%;width:42px;height:42px;background:#fff;cursor:pointer;font-size:1.1rem}.fav.active{color:var(--blue)}.card-body{padding:20px}.price{color:var(--blue);font-size:1.5rem;font-weight:900}.meta{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-weight:700}.meta span{background:#f1f7fb;padding:8px 10px;border-radius:10px}.card-actions{display:flex;gap:10px}.small{padding:12px 14px;font-size:.9rem}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start;background:var(--light)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.service-grid article{background:#fff;border-radius:22px;padding:22px;box-shadow:0 14px 35px rgba(31,59,90,.08)}.service-grid span{font-size:2rem}.service-grid h3{color:var(--dark);margin-bottom:6px}.about{margin:80px 7%;padding:42px;border-radius:34px;background:linear-gradient(135deg,var(--dark),#14263a);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;box-shadow:var(--shadow)}.about h2,.about p{color:#fff}.mock-map{min-height:310px;border-radius:28px;background:radial-gradient(circle at 20% 25%,var(--blue) 0 8px,transparent 9px),radial-gradient(circle at 65% 45%,var(--blue) 0 8px,transparent 9px),radial-gradient(circle at 45% 78%,var(--blue) 0 8px,transparent 9px),linear-gradient(135deg,#eef8ff,#d9eef9);color:var(--dark);display:grid;place-items:center;font-weight:900}.contact{padding:80px 7%;text-align:center}.contact-form{max-width:780px;margin:26px auto 0;display:grid;gap:14px;background:#fff;border-radius:28px;padding:26px;box-shadow:0 16px 45px rgba(31,59,90,.09)}.whatsapp,.top-btn{position:fixed;z-index:9;border:0}.whatsapp{right:20px;bottom:20px;background:#22c55e;color:#fff;border-radius:999px;padding:14px 18px;font-weight:900;box-shadow:0 14px 35px rgba(34,197,94,.28)}.top-btn{right:20px;bottom:78px;width:44px;height:44px;border-radius:50%;background:var(--dark);color:#fff;display:none;cursor:pointer}footer{padding:34px 7%;background:#101d2b;color:#fff;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}dialog{border:0;border-radius:28px;padding:0;max-width:860px;width:92%;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(12,24,38,.55);backdrop-filter:blur(4px)}.close{position:absolute;right:14px;top:14px;border:0;background:#fff;border-radius:50%;width:40px;height:40px;font-size:1.5rem;cursor:pointer}.modal-photo{height:320px;background:linear-gradient(135deg,#c9efff,#7ed6ff);display:flex;align-items:end;padding:28px;color:#fff;font-size:2rem;font-weight:900}.modal-body{padding:28px}.reveal{opacity:0;transform:translateY(22px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:850px){.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;padding:20px 7%;flex-direction:column;align-items:flex-start}.nav nav.open{display:flex}.menu-btn{display:block;border:0;background:var(--dark);color:#fff;border-radius:12px;padding:10px 12px}.hero,.split,.about{grid-template-columns:1fr}.stats,.property-grid{grid-template-columns:1fr}.section-head{display:block}.grid-2,.service-grid{grid-template-columns:1fr}.hero{padding-top:46px}.hero h1{font-size:2.6rem}}
.hero {
  background-image:
    linear-gradient(
      rgba(31, 59, 90, 0.35),
      rgba(31, 59, 90, 0.25)
    ),
    url("assets/imagenes/casa3.jpg");
  background-size: cover;
  background-position: center;
}
.hero h1{
    color: #F8FBFF;
    text-shadow:
        0 2px 4px rgba(0,0,0,0.7),
        0 4px 12px rgba(0,0,0,0.5);
}

.hero p{
    color: #E6EEF7;
    text-shadow: 0 2px 10px rgba(0,0,0,.35);
}

.photo {
  min-height: 210px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.modal-photo {
  min-height: 320px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 22px;
  display: flex;
  align-items: flex-end;
  padding: 20px;
}

.modal-photo span {
  background: rgba(31, 59, 90, 0.85);
  color: #fff;
  padding: 8px 14px;
  border-radius: 999px;
  font-weight: 700;
}