@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500;1,600&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --navy:#000e35;
  --navy-2:#0c2749;
  --charcoal:#171717;
  --charcoal-2:#232323;
  --cream:#f7f5ee;
  --white:#ffffff;
  --sky:#a3d4f2;
  --line-dark:rgba(247,245,238,0.14);
  --line-light:rgba(23,23,23,0.08);
  --glass-bg:rgba(255,255,255,0.6);
  --glass-bg-dark:rgba(12,39,73,0.55);
  --glass-border:rgba(255,255,255,0.5);
  --glass-border-dark:rgba(255,255,255,0.14);
  --r-sm:12px;
  --r-md:20px;
  --r-lg:28px;
  --r-full:999px;
}
.featured-projects{
padding: 40px 90px!important;
}
*{box-sizing:border-box; margin:0; padding:0; transition: all 0.3s ease}
html{scroll-behavior:smooth;}
body{
  background:var(--cream);
  color:var(--charcoal);
  font-family:'Inter',sans-serif;
  -webkit-font-smoothing:antialiased;
}
.serif{ font-family:'Plus Jakarta Sans', sans-serif; }
.mono{ font-family:'Inter', sans-serif; letter-spacing:0.02em; }
a{color:inherit; text-decoration:none;}
img{display:block; max-width:100%;}
button{font-family:inherit; cursor:pointer;}
[hidden]{ display:none !important; }

/* ---------- preloader ---------- */
#preloader{
  position:fixed; inset:0; z-index:9999;
  background:var(--navy);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
  transition:opacity 0.45s ease, visibility 0.45s ease;
}
#preloader.preloader-hidden{ opacity:0; visibility:hidden; pointer-events:none; }
.preloader-logo{ max-width:180px; width:60%; height:auto; }
.preloader-ring{
  width:34px; height:34px; border-radius:50%;
  border:3px solid rgba(247,245,238,0.18);
  border-top-color:var(--sky);
  animation:preloader-spin 0.8s linear infinite;
}
@keyframes preloader-spin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){
  .preloader-ring{ animation:none; }
}

/* ---------- nav (floating liquid-glass pill) ---------- */
.nav{
  position:fixed; top:14px; left:14px; right:14px; z-index:80;
  color:var(--cream);
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 22px;
  margin: 0 10% ;
  border-radius:var(--r-lg);
  background:rgba(255,255,255,0.10);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid var(--glass-border-dark);
  box-shadow:0 8px 30px rgba(0,14,53,0.12);
  transition:background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.nav.nav-solid{
  background:var(--glass-bg-dark);
  border-color:rgba(255,255,255,0.18);
  box-shadow:0 12px 34px rgba(0,14,53,0.28);
}
.nav-left{ display:flex; align-items:center; gap:40px; }
.brand{ font-family:'Plus Jakarta Sans',sans-serif; font-size:19px; font-weight:600; letter-spacing:0.01em; white-space:nowrap;}
.brand span{ color:var(--sky); }
.brand { width: 100px;}
.nav-links{ display:flex; gap:28px; font-size:13px; }
.nav-links a{ color:rgba(247,245,238,0.68); transition:color 0.15s ease; padding:6px 0; border-bottom:2px solid transparent;}
.nav-links a:hover, .nav-links a.active{ color:var(--cream); border-bottom-color:var(--sky); }
.nav-right{ display:flex; align-items:center; gap:18px; }
.lang-toggle{
  display:flex; border:1px solid rgba(247,245,238,0.25); border-radius:var(--r-full); overflow:hidden;
  font-family:'Inter',sans-serif; font-size:11px;
}
.lang-toggle button{ background:none; border:none; color:rgba(247,245,238,0.6); padding:6px 12px; }
.lang-toggle button.active{ background:var(--navy); color:#fff; }
.nav-cta{
  background:var(--navy); color:#fff; font-size:12.5px; font-weight:600;
  padding:10px 20px; border:none; letter-spacing:0.02em; border-radius:var(--r-full);
}
.nav-cta:hover{ background:#000; }
.nav-burger{ display:none; background:none; border:none; color:var(--cream); font-size:24px; padding:4px; line-height:1; }

.mobile-menu{
  position:fixed; inset:0; background:var(--navy); z-index:200;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  transform:translateX(100%); transition:transform 0.3s ease;
}
.mobile-menu.open{ transform:translateX(0); }
.mobile-menu-close{
  position:absolute; top:20px; right:20px; background:none; border:1px solid var(--line-dark);
  color:var(--cream); width:44px; height:44px; font-size:20px; border-radius:var(--r-full);
}
.mobile-menu a{
  color:var(--cream); font-family:'Plus Jakarta Sans',sans-serif; font-size:26px; padding:16px 0;
}
.mobile-menu a.active{ color:var(--sky); }
.mobile-menu .lang-toggle{ margin-top:24px; }

@media(max-width:860px){
  .nav-links{ display:none; }
  .nav-cta{ display:none; }
  .nav-burger{ display:block; }
}

/* ---------- hero ---------- */
.hero{
  position:relative; color:var(--cream); overflow:hidden;
  min-height:660px;
  display:flex; align-items:center;
  padding:0 11%;
  background:
    linear-gradient(180deg, rgba(0,14,53,0.45) 0%, rgba(0,14,53,0.82) 75%, var(--navy) 100%),
    url('hero-bg.jpg') center 30%/cover no-repeat;
}
.hero-inner{ position:relative; z-index:2; padding:120px 0 220px; }
.hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; max-width:1320px; }
.hero-left{ max-width:600px; }

.hero-carousel-label{
  display:block; font-size:11px; text-transform:uppercase; letter-spacing:0.12em; color:var(--sky); margin-bottom:12px;
}
.hero-carousel{
  position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--r-lg);
  box-shadow:0 30px 60px rgba(0,14,53,0.4);
  border:1px solid rgba(255,255,255,0.18);
}
.hc-slides{ display:flex; height:100%; transition:transform 0.4s ease; }
.hc-slide{ min-width:100%; height:100%; position:relative; background:var(--sky); }
.hc-slide img{ width:100%; height:100%; object-fit:cover; }
.hc-slide-info{
  position:absolute; left:0; right:0; bottom:0; padding:20px 22px;
  background:linear-gradient(0deg, rgba(0,14,53,0.92) 0%, rgba(0,14,53,0) 100%);
  color:var(--cream);
}
.hc-price{ font-family:'Plus Jakarta Sans',sans-serif; font-size:20px; font-weight:600; }
.hc-title{ font-size:12.5px; color:rgba(247,245,238,0.85); margin-top:2px; line-height:1.4; max-width:90%;}
.hc-loc{ font-size:11px; color:var(--sky); margin-top:4px; font-family:'Inter',sans-serif; }
.hc-nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  background:rgba(255,255,255,0.18); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  color:#fff; border:1px solid rgba(255,255,255,0.3); width:36px; height:36px; font-size:16px; border-radius:var(--r-full);
}
.hc-nav.prev{ left:12px; } .hc-nav.next{ right:12px; }
.hc-nav:hover{ background:rgba(255,255,255,0.32); }
.hc-dots{ position:absolute; bottom:12px; left:0; right:0; display:flex; justify-content:center; gap:6px; z-index:3; }
.hc-dots button{
  width:7px; height:7px; border-radius:50%; border:none; background:rgba(247,245,238,0.4); padding:0;
}
.hc-dots button.active{ background:var(--cream); }

@media(max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-right{ margin-top:20px; }
}
.hero-eyebrow{
  font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--sky); margin-bottom:22px; display:block;
}
.hero h1{ font-size:40px; font-weight:500; line-height:1.05; letter-spacing:-0.01em;}
.hero h1 em{ font-style:italic; color:var(--sky); font-weight:400;}
.hero p{ margin-top:22px; max-width:480px; font-size:16px; line-height:1.65; color:rgba(247,245,238,0.78);}
.hero-stats{ display:flex; gap:44px; margin-top:44px; flex-wrap:wrap;}
.hero-stats .num{ font-family:'Plus Jakarta Sans',sans-serif; font-size:30px; color:var(--cream); display:block;}
.hero-stats .num em{ font-style:normal; color:var(--sky); }
.hero-stats .label{ font-family:'Inter',sans-serif; font-size:10.5px; color:rgba(247,245,238,0.55); text-transform:uppercase; letter-spacing:0.08em;}

/* ---------- hero search bar (liquid glass card) ---------- */
.searchbar{
  position:relative; z-index:3; margin:-90px auto 0; max-width:1160px;
  background:rgba(255,255,255,0.65);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid var(--glass-border);
  color:var(--charcoal);
  padding:22px clamp(18px,3vw,34px); box-shadow:0 30px 70px rgba(0,14,53,0.25);
  display:flex; flex-direction:column; gap:12px;
  border-radius:var(--r-lg);
}
.searchbar-row{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

/* text fields with an icon (main search + ubicación) */
.search-field{ position:relative; flex:1 1 220px; min-width:160px; }
.search-field-main{ flex:2 1 320px; }
.search-field input[type=text]{
  width:100%; font-family:'Inter',sans-serif; font-size:13.5px;
  border:1px solid var(--line-light); background:rgba(255,255,255,0.85); color:var(--charcoal);
  padding:12px 40px 12px 16px; border-radius:var(--r-sm);
}
.search-field input[type=text]::placeholder{ color:#8a8f96; }
.search-field svg{ position:absolute; top:50%; right:14px; transform:translateY(-50%); color:#8a8f96; pointer-events:none; }

/* dropdowns, bottom row */
.searchbar-row-bottom select{
  flex:1 1 140px; font-family:'Inter',sans-serif; font-size:13.5px;
  border:1px solid var(--line-light); background:rgba(255,255,255,0.85); color:var(--charcoal);
  padding:12px 14px; min-width:130px; border-radius:var(--r-sm);
}

.clear-filters-btn{
  background:var(--navy); border:1px solid var(--navy); color:#fff;
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600;
  padding:12px 22px; border-radius:var(--r-sm); white-space:nowrap;
}
.clear-filters-btn:hover{ background:var(--navy-2); }

/* ---------- price min/max fields ---------- */
.price-range-wrap{ display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.price-range-label{
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; color:var(--navy); white-space:nowrap;
}
.price-range{ display:flex; align-items:center; gap:8px; }
.price-range input[type=number]{
  width:76px; font-family:'Inter',sans-serif; font-size:13.5px;
  border:1px solid var(--line-light); background:rgba(255,255,255,0.85); color:var(--charcoal);
  padding:12px 12px; border-radius:var(--r-sm); -moz-appearance:textfield;
}
.price-range input[type=number]::-webkit-outer-spin-button,
.price-range input[type=number]::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.price-range input[type=number]::placeholder{ color:#8a8f96; }
.price-range-sep{ color:#8a8f96; font-size:13px; flex-shrink:0; }

/* ---------- dynamic extra filters (shown once a property type is selected) ---------- */
.extra-filters{
  width:100%; display:flex; flex-wrap:wrap; gap:16px; margin-top:6px;
  padding-top:16px; border-top:1px solid var(--line-light);
}
.ef-field{ display:flex; flex-direction:column; gap:6px; }
.ef-label{ font-family:'Inter',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:0.06em; color:var(--navy-2); }
.ef-inputs{ display:flex; align-items:center; gap:6px; }
.ef-inputs input{
  width:72px; font-family:'Inter',sans-serif; font-size:13px;
  border:1px solid var(--line-light); background:rgba(255,255,255,0.8); color:var(--charcoal);
  padding:8px 10px; border-radius:var(--r-sm);
}
.ef-inputs span{ color:#8a8f96; font-size:12px; }

/* ---------- section shells ---------- */


#propiedades{
  padding:0 10% !important;
}
.section{ padding:120px clamp(20px,4vw,48px) 90px; max-width:1400px; margin:0 auto; }
.section-tight{ padding-top:70px; }
.section-eyebrow{
  font-family:'Inter',sans-serif; font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--navy); margin-bottom:14px; display:block;
}
.section-title{ font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(26px,3.4vw,40px); font-weight:600; max-width:620px; line-height:1.15;}
.section-head{ margin-bottom:48px; }
.section-caption{ display:block; font-size:13.5px; color:var(--muted,#6b7690); margin-top:6px; }
.faq-section .section-head{ text-align:center; }
.faq-section .section-title{ margin:0 auto; }

/* ---------- result count (right end of the bottom searchbar row) ---------- */
.searchbar .count{
  margin-left:auto; font-family:'Inter',sans-serif; font-size:12.5px; color:var(--navy-2); white-space:nowrap;
}

/* ---------- pagination ---------- */
.pagination{
  display:flex; align-items:center; justify-content:center; gap:20px;
  padding:36px 0 10px; font-family:'Inter',sans-serif; font-size:13px;
}
.pagination button{
  background:#fff; border:1px solid var(--line-light); color:var(--navy); font-size:12.5px; font-weight:600;
  padding:10px 20px; border-radius:var(--r-full);
}
.pagination button:hover:not(:disabled){ background:var(--navy); color:#fff; }
.pagination button:disabled{ opacity:0.35; cursor:default; }
.page-info{ color:#6b6f76; }

/* ---------- grid ---------- */
.wrap{ padding:40px clamp(20px,4vw,48px) 20px; max-width:1400px; margin:0 auto;}
.grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:28px; }
@media(max-width:1100px){ .grid{ grid-template-columns:repeat(3, 1fr); } }
@media(max-width:900px){ .grid{ grid-template-columns:repeat(2, 1fr); } }
@media(max-width:640px){ .grid{ grid-template-columns:1fr; } }
.card{
  background:rgba(255,255,255,0.75);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  border:1px solid var(--line-light); cursor:pointer;
  transition:transform 0.2s ease, box-shadow 0.2s ease;
  display:flex; flex-direction:column;
  border-radius:var(--r-md); overflow:hidden;
}
.card:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(0,14,53,0.16); }
.card-img{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--sky);}
.card-img img{ width:100%; height:100%; object-fit:cover; }
.card-tag{
  position:absolute; top:12px; left:12px;
  background:rgba(0,14,53,0.72); color:var(--cream);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  font-family:'Inter',sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:0.06em;
  padding:5px 12px; border-radius:var(--r-full);
}
.card-tag.rent{ background:rgba(163,212,242,0.9); color:var(--navy); }
.card-tag.featured{
  position:absolute; top:12px; right:12px; left:auto;
  background:#000; color:#fff; border:1px solid rgba(163,212,242,0.5); font-weight:600;
}
.card-body{ padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; gap:10px;}
.card-price{ font-family:'Plus Jakarta Sans',sans-serif; font-size:23px; font-weight:600; color:var(--navy);}
.card-price span{ font-family:'Inter',sans-serif; font-size:12px; color:var(--navy-2); margin-left:6px; font-weight:400;}
.card-title{ font-size:14px; line-height:1.4; color:var(--charcoal); font-weight:500; }
.card-loc{ font-size:12px; color:#6b6f76; }
.card-specs{
  margin-top:auto; padding-top:12px; border-top:1px solid var(--line-light);
  display:flex; gap:14px; font-family:'Inter',sans-serif; font-size:11.5px; color:var(--navy-2);
}
.empty{ padding:80px 20px; text-align:center; font-family:'Inter',sans-serif; color:#6b6f76; grid-column:1/-1; }

/* ---------- invest section: dark navy panel floating on the light page ---------- */
.invest{
  background:var(--navy); color:var(--cream);
  max-width:100%; margin:0 5%; 
  border-radius:var(--r-lg);
  box-shadow: 0px 1px 1px rgba(3, 7, 18, 0.02),
  0px 5px 5px rgba(3, 7, 18, 0.03),
  0px 12px 12px rgba(3, 7, 18, 0.05),
  0px 20px 20px rgba(3, 7, 18, 0.06),
  0px 32px 32px rgba(3, 7, 18, 0.08);

  border:1px solid rgba(255,255,255,0.08);
}
.invest .section-eyebrow{ color:var(--sky); }
.invest-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start; }
.invest p{ font-size:16px; line-height:1.8; color:rgba(247,245,238,0.8); margin-top:20px; max-width:560px;}
.invest-chips{ display:flex; flex-direction:column; gap:0; border-top:1px solid var(--line-dark); }
.invest-chip{ padding:22px 0; border-bottom:1px solid var(--line-dark); }
.invest-chip .n{ font-family:'Plus Jakarta Sans',sans-serif; font-size:26px; color:var(--sky); margin-bottom:6px; display:block;}
.invest-chip .t{ font-size:13.5px; color:rgba(247,245,238,0.72); line-height:1.5;}

@media(max-width:900px){ .invest-grid{ grid-template-columns:1fr; } }

/* ---------- featured projects: hover-expand panels ---------- */
.fp-head{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:36px; }
.fp-panels{ display:flex; gap:10px; height:480px; }
.fp-panel{
  position:relative; flex:1 1 0%; min-width:0; overflow:hidden;
  border-radius:var(--r-lg); background-size:cover; background-position:center;
  background-color:var(--navy-2); /* respaldo visible si la foto no carga */
  transition:flex-grow 0.55s cubic-bezier(.4,0,.2,1), height .4s ease;
  cursor:pointer;
}
.fp-panel-overlay{
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(0,14,53,0.88) 0%, rgba(0,14,53,0.2) 55%, rgba(0,14,53,0.4) 100%);
}
.fp-panel-content{ position:absolute; left:0; right:0; bottom:0; padding:24px; z-index:2; }
.fp-panel-name{
  color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:16px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.fp-panel-extra{ max-height:0; opacity:0; overflow:hidden; transition:max-height .4s ease, opacity .3s ease; }
@media(min-width:901px){
  .fp-panel:hover .fp-panel-extra{ max-height:250px; opacity:1; }
}
.fp-panel-loc{ color:var(--sky); font-size:12px; margin-top:6px; }
.fp-panel-price{ color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:15px; margin-top:8px; }
.fp-panel-desc{ color:rgba(247,245,238,0.85); font-size:12.5px; line-height:1.55; margin-top:8px; max-width:320px; }
.fp-panel-link{ display:inline-block; color:#fff; font-size:12.5px; font-weight:600; margin-top:12px; border-bottom:1px solid rgba(255,255,255,0.5); }
.fp-panel-link:hover{ border-color:#fff; }

@media(max-width:900px){
  .fp-panels{ flex-direction:column; height:auto; gap:12px; }
  .fp-panel{ flex:0 0 110px; }
  .fp-panel.fp-active{ flex:0 0 400px; }
  .fp-panel-extra{ max-height:0; opacity:0; }
  .fp-panel.fp-active .fp-panel-extra{ max-height:260px; opacity:1; }
}

/* ---------- team ---------- */
.team-head{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:20px; margin-bottom:36px;}
.team-nav{ display:flex; gap:10px; }
.team-nav button{
  width:38px; height:38px; border:1px solid var(--line-light); background:#fff; font-size:16px; color:var(--navy);
  border-radius:var(--r-full);
}
.team-nav button:hover{ background:var(--navy); color:#fff; }
.team-track{
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px;
  scrollbar-width:none;
}
.team-track::-webkit-scrollbar{ display:none; }
.agent-card{
  scroll-snap-align:start; flex:0 0 240px;
  background:rgba(255,255,255,0.7); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  border:1px solid var(--line-light);
   text-align:center; border-radius:var(--r-md);
   padding: 0;
   padding-bottom: 20px;
}
.agent-photo{
  width:100%; height:200px; overflow:hidden; margin:0 auto 16px; border: 0px; border-radius: 8px;

}
.agent-photo img{ width:100%; height:100%; object-fit:cover; }
.agent-name{ font-family:'Plus Jakarta Sans',sans-serif; font-size:16.5px; font-weight:600; color:var(--navy);}
.agent-title{ font-size:11.5px; color:var(--navy-2); text-transform:uppercase; letter-spacing:0.06em; margin-top:4px; font-family:'Inter',sans-serif;}
.agent-lang{ font-size:12.5px; color:#6b6f76; margin-top:10px; }
.agent-contact{
  display:inline-block; margin-top:14px; font-size:12px; font-weight:600; color:var(--navy);
  border-bottom:1px solid var(--navy); padding-bottom:2px;
}
.agent-contact:hover{ color:#000; border-color:#000; }
.agent-actions{ display:flex; gap:8px; margin-top:16px; padding: 0 20px; }
.agent-btn{
  flex:1; font-size:11.5px; font-weight:600; padding:9px 8px; letter-spacing:0.01em;
  border:1px solid var(--navy); color:var(--navy); background:#fff; text-align:center;
  border-radius:var(--r-full);
}
.agent-btn:hover{ background:var(--navy); color:#fff; }
.agent-btn.whatsapp{ background:var(--navy); color:#fff; border-color:var(--navy); }
.agent-btn.whatsapp:hover{ background:#000; border-color:#000; }

/* ---------- unete page ---------- */
.unete-hero{
  background:
    linear-gradient(150deg, rgba(0,14,53,0.72) 0%, rgba(23,23,23,0.8) 100%),
    url('unete-hero-bg.jpg') center 40%/cover no-repeat;
  color:var(--cream);
  padding: 8% 10% 6% 10%; text-align:center;
  display:flex; flex-direction:column; align-items:center;
  border-radius:0 0 var(--r-lg) var(--r-lg);
}
.unete-hero h1{ margin:0 auto; }
.unete-hero p{ margin-left:auto; margin-right:auto; }
.unete-hero h1{ font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(30px,4.4vw,50px); max-width:760px; line-height:1.15; font-weight:600;}
.unete-hero p{ margin-top:22px; max-width:560px; font-size:16px; line-height:1.7; color:rgba(247,245,238,0.78);}
.unete-cta{
  display:inline-block; margin-top:32px; background:var(--navy); color:#fff; font-weight:600; font-size:14px;
  padding:15px 32px; letter-spacing:0.02em; border-radius:var(--r-full);
}
.unete-cta:hover{ background:#000; }
.unete-benefits{ background:var(--cream); }
.benefits-grid{ display:grid; grid-template-columns:1.2fr 0.8fr; gap:48px; align-items:center; margin-top:24px; }
.benefit-list{ display:flex; flex-direction:column; gap:16px; }
.benefit{ display:flex; gap:12px; align-items:flex-start; background:none; border:none; padding:0; backdrop-filter:none; -webkit-backdrop-filter:none; }
.benefit::before{
  content:"✓"; flex-shrink:0; color:var(--navy); font-weight:700; font-size:14px;
  width:20px; height:20px; margin-top:2px;
}
.benefit-text{ display:flex; flex-direction:column; gap:4px; }
.benefit b{ font-family:'Inter',sans-serif; font-size:14.5px; color:var(--navy); font-weight:700; }
.benefit span{ font-size:14.5px; color:#3a3e44; line-height:1.6; font-weight:400; }
.benefit-image{ border-radius:var(--r-lg); overflow:hidden; max-width:340px; aspect-ratio:1/1; margin:0 auto; box-shadow:0 24px 50px rgba(0,14,53,0.18); }
.benefit-image img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:860px){
  .benefits-grid{ grid-template-columns:1fr; }
  .benefit-image{ order:-1; }
}
.unete-faq{ max-width:960px; margin:0 auto; padding:0 clamp(20px,4vw,48px) 100px; display:grid; grid-template-columns:1fr 1fr; gap:8px 48px; }
.faq-item{ border-bottom:1px solid var(--line-light); padding:22px 0; position:relative; }
.faq-item b{ font-family:'Inter',sans-serif; font-size:13.5px; text-transform:uppercase; letter-spacing:0.02em; display:block; margin-bottom:0; padding-right:28px; color:var(--navy); font-weight:700; cursor:pointer; }
.faq-item b::after{
  content:"+"; position:absolute; top:20px; right:0; width:22px; height:22px; border-radius:50%;
  border:1.5px solid var(--navy); color:var(--navy); font-size:14px; line-height:19px; text-align:center; font-weight:400;
  transition:transform .2s ease;
}
.faq-item.open b::after{ transform:rotate(135deg); }
.faq-item span{ font-size:14px; color:#4a4e54; line-height:1.65; display:none; margin-top:10px; }
.faq-item.open span{ display:block; }
@media (max-width:760px){
  .unete-faq{ grid-template-columns:1fr; }
}
.unete-callout{
  background:
    linear-gradient(90deg, rgba(0,14,53,0.88) 0%, rgba(0,14,53,0.55) 45%, rgba(0,14,53,0.15) 75%),
    url('unete-cta-bg.jpg') center/cover no-repeat;
  color:var(--cream);
  text-align:left; border-radius:var(--r-lg); margin:0 clamp(20px,4vw,48px) 80px; padding:70px clamp(24px,6vw,72px);
}
.unete-callout .section-title{ margin:0; max-width:480px; }
.unete-callout p{ margin-top:16px; max-width:440px; font-size:15px; line-height:1.6; color:rgba(247,245,238,0.85); }
.unete-callout .unete-cta{ margin-top:28px; }

/* ---------- modal (glass) ---------- */
.modal-bg{ display:none; position:fixed; inset:0; background:rgba(0,14,53,0.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); z-index:100; padding:24px; overflow-y:auto; }
.modal-bg.open{ display:flex; align-items:flex-start; justify-content:center; }
.modal{ background:#fff; max-width:900px; width:100%; margin-top:24px; margin-bottom:24px; border-radius:var(--r-lg); overflow:hidden; box-shadow:0 40px 80px rgba(0,14,53,0.35); }
.modal-gallery{ position:relative; aspect-ratio:16/9; background:var(--sky); overflow:hidden;}
.modal-gallery img{ width:100%; height:100%; object-fit:cover;}
.modal-nav{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,0.2); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff; border:1px solid rgba(255,255,255,0.3); width:38px; height:38px; font-size:16px; border-radius:var(--r-full); }
.modal-nav.prev{ left:12px;} .modal-nav.next{ right:12px;}
.modal-close{ position:absolute; top:14px; right:14px; background:rgba(255,255,255,0.2); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff; border:1px solid rgba(255,255,255,0.3); width:32px; height:32px; font-size:16px; z-index:2; border-radius:var(--r-full);}
.modal-body{ padding:32px clamp(20px,4vw,44px) 44px; }
.modal-tag{ font-family:'Inter',sans-serif; font-size:11px; text-transform:uppercase; color:var(--navy-2); letter-spacing:0.08em;}
.modal-title{ font-family:'Plus Jakarta Sans',sans-serif; font-size:28px; margin-top:8px; margin-bottom:6px; line-height:1.15;}
.modal-loc{ color:#6b6f76; font-size:13px; margin-bottom:20px;}
.modal-price{ font-family:'Plus Jakarta Sans',sans-serif; font-size:26px; color:var(--navy); margin-bottom:22px;}
.modal-specs{ display:flex; gap:26px; flex-wrap:wrap; padding:18px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); margin-bottom:22px; font-family:'Inter',sans-serif; font-size:12.5px; color:var(--navy-2); }
.modal-desc{ font-size:14.5px; line-height:1.75; color:#333; white-space:pre-line;}
.modal-agent{ margin-top:28px; padding-top:20px; border-top:1px solid var(--line-light); font-size:13px; color:#6b6f76; }
.modal-agent b{ color:var(--charcoal); }
.modal-contact-row{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 20px; margin-top:14px; }
.modal-whatsapp{
  display:flex; align-items:center; gap:8px; width:fit-content;
  background:var(--navy); color:#fff; font-size:13px; font-weight:600;
  padding:11px 20px; border-radius:var(--r-full);
}
.modal-whatsapp:hover{ background:#000; }
.modal-contact-btn{
  display:flex; align-items:center; gap:6px; width:fit-content;
  background:none; color:var(--navy-2); font-size:13px; font-weight:500;
  padding:0; border:none;
}
.modal-contact-btn:hover{ color:var(--navy); text-decoration:underline; }

footer{
  background:var(--charcoal); color:rgba(247,245,238,0.55);
  padding:52px clamp(20px,4vw,48px) 28px; font-size:12.5px; text-align:center;
  max-width:100%; 
  min-width: 100%;
  margin:0 auto;
}
.footer-inner{ max-width:480px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:22px; }
.footer-logo{ max-height:44px; width:auto; opacity:0.95; }
.footer-logo:not([src]), .footer-logo[src=""]{
  min-width:200px; height:44px; border:1px dashed var(--line-dark); border-radius:var(--r-sm);
}
.footer-social{ display:flex; align-items:center; gap:16px; }
.footer-icon{
  width:38px; height:38px; border:1px solid var(--line-dark); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:rgba(247,245,238,0.75);
}
.footer-icon:hover{ color:var(--cream); border-color:rgba(247,245,238,0.4); }
.footer-whatsapp{
  display:flex; align-items:center; gap:8px; background:var(--navy); color:#fff;
  font-size:12.5px; font-weight:600; padding:10px 20px; border-radius:var(--r-full);
}
.footer-whatsapp:hover{ background:#000; }
.footer-bottom{ font-size:11px; padding-top:10px; border-top:1px solid var(--line-dark); width:100%; }

@media(max-width:640px){
  .hero-stats{ gap:24px; }
  .filters{ overflow-x:auto; flex-wrap:nowrap; }
  .searchbar{ margin-top:-60px; border-radius:var(--r-md); }
  .invest-grid{ gap:36px; }
  .invest, footer{ border-radius:0; }
}
@media (prefers-reduced-motion: reduce){ *{ transition:none !important; scroll-behavior:auto !important;} }

/* ---------- lead modal (formulario de reclutamiento, Únete a REMAX) ---------- */
.lead-modal-overlay{
  position:fixed; inset:0; z-index:200; background:rgba(0,14,53,0.55);
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:20px;
  opacity:0; pointer-events:none; transition:opacity .25s ease;
}
.lead-modal-overlay.open{ opacity:1; pointer-events:auto; }
.lead-modal{
  position:relative; background:var(--cream); border-radius:var(--r-lg);
  padding:40px clamp(24px,5vw,48px); max-width:520px; width:100%;
  max-height:88vh; overflow-y:auto; box-shadow:0 40px 90px rgba(0,14,53,0.35);
}
.lead-modal-close{
  position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line-light); background:#fff; font-size:20px; line-height:1;
  color:var(--navy); cursor:pointer;
}
.lead-modal h3{ font-family:'Plus Jakarta Sans',sans-serif; font-size:22px; margin:0 0 8px; color:var(--navy); }
.lead-modal > div > p{ font-size:14px; color:#4a4e54; margin:0 0 24px; }
#lead-form label{ display:block; font-size:12.5px; font-weight:700; color:var(--navy); margin:16px 0 6px; }
#lead-form input[type=text], #lead-form input[type=email], #lead-form input[type=tel]{
  width:100%; padding:11px 14px; border-radius:var(--r-sm); border:1px solid var(--line-light);
  background:#fff; font-size:13.5px; font-family:'Inter',sans-serif;
}
#wa-capture-form label{ display:block; font-size:12.5px; font-weight:700; color:var(--navy); margin:16px 0 6px; }
#wa-capture-form input[type=text], #wa-capture-form input[type=tel], #wa-capture-form input[type=email]{
  width:100%; padding:11px 14px; border-radius:var(--r-sm); border:1px solid var(--line-light);
  background:#fff; font-size:13.5px; font-family:'Inter',sans-serif;
}
.lead-radio-group{ display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:2px; }
.lead-radio-group label{ display:flex; align-items:center; gap:6px; font-size:13.5px; font-weight:500; color:var(--charcoal); margin:0; }
.lead-radio-group input{ width:auto; }
#lead-submit-btn{ margin-top:26px; width:100%; text-align:center; border:none; cursor:pointer; }
#lead-form-status{ margin-top:10px; font-size:13px; color:#b1433e; min-height:16px; }
.lead-success{ text-align:center; padding:24px 4px; }
.lead-success p{ font-size:15px; color:var(--navy); line-height:1.6; }
@media (max-width:480px){
  .lead-modal{ padding:32px 20px; }
}

/* ---------- página de propiedad individual (propiedad.php) ---------- */
.property-page{ padding:130px clamp(20px,4vw,48px) 80px; max-width:900px; margin:0 auto; }
.property-gallery-main{
  position:relative; aspect-ratio:16/9; border-radius:var(--r-lg); overflow:hidden;
  background:var(--sky); box-shadow:0 20px 50px rgba(0,14,53,0.18);
}
.property-gallery-main img{ width:100%; height:100%; object-fit:cover; }
.property-thumbs{ display:flex; gap:8px; overflow-x:auto; margin-top:10px; padding-bottom:4px; }
.property-thumbs img{
  width:84px; height:60px; object-fit:cover; border-radius:8px; cursor:pointer;
  opacity:.55; flex-shrink:0; transition:opacity .15s ease;
}
.property-thumbs img:hover{ opacity:.85; }
.property-thumbs img.active{ opacity:1; outline:2px solid var(--navy); outline-offset:-2px; }
.property-share{ margin-top:20px; padding-top:18px; border-top:1px solid var(--line-light); font-size:13px; color:#6b6f76; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.property-share .modal-contact-btn{ padding:6px 12px; border:1px solid var(--line-light); border-radius:var(--r-full); }
@media (max-width:640px){
  .property-page{ padding:110px 20px 60px; }
}
