  :root{
    --azul-marino:   #0F3D5C;   /* texto fuerte / footer */
    --azul-principal:#1B6CA8;   /* color primario del logo */
    --turquesa:      #5FC1C7;   /* color secundario del logo */
    --turquesa-claro:#E4F5F5;
    --arena:         #F3EFE7;   /* fondo cálido, confianza */
    --blanco:        #FFFFFF;
    --texto-suave:   #4A5A63;
    --sombra:        0 12px 30px rgba(15,61,92,0.10);
  }

  html{ scroll-behavior:smooth; }

  body{
    font-family:'Inter', sans-serif;
    color:var(--texto-suave);
    background:var(--blanco);
    padding-top:76px;
  }

  h1,h2,h3,h4,.brand-font{
    font-family:'Poppins', sans-serif;
    color:var(--azul-marino);
  }

  .eyebrow{
    font-family:'Inter',sans-serif;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:.78rem;
    color:var(--turquesa);
  }

  /* ===== NAVBAR ===== */
  .navbar-rebeca{
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(6px);
    box-shadow:0 2px 18px rgba(15,61,92,0.06);
    transition:all .25s ease;
  }
  .navbar-brand-text{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    color:var(--azul-marino);
    font-size:1.25rem;
    line-height:1.05;
  }
  .navbar-brand-text small{
    display:block;
    font-family:'Inter',sans-serif;
    font-weight:600;
    letter-spacing:.18em;
    font-size:.6rem;
    color:var(--turquesa);
  }
  .navbar-rebeca .nav-link{
    font-weight:600;
    color:var(--azul-marino) !important;
    margin:0 .35rem;
    padding:.5rem .75rem !important;
    border-radius:8px;
    transition:all .2s ease;
  }
  .navbar-rebeca .nav-link:hover,
  .navbar-rebeca .nav-link.active{
    color:var(--azul-principal) !important;
    background:var(--turquesa-claro);
  }
  .btn-cta{
    background:linear-gradient(135deg,var(--azul-principal),var(--turquesa));
    color:#fff;
    font-weight:600;
    border:none;
    border-radius:50px;
    padding:.6rem 1.5rem;
    box-shadow:0 6px 16px rgba(27,108,168,0.30);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-cta:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(27,108,168,0.38);
  }
  .btn-outline-rebeca{
    border:2px solid var(--blanco);
    color:var(--blanco);
    font-weight:600;
    border-radius:50px;
    padding:.55rem 1.4rem;
    transition:all .2s ease;
  }
  .btn-outline-rebeca:hover{
    background:var(--blanco);
    color:var(--azul-principal);
  }

  /* ===== HERO ===== */
  .hero{
    position:relative;
    background:linear-gradient(160deg,var(--azul-marino) 0%, var(--azul-principal) 55%, var(--turquesa) 130%);
    color:#fff;
    padding:6.5rem 0 9rem;
    overflow:hidden;
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 82% 18%, rgba(255,255,255,0.16), transparent 45%);
  }
  .hero h1{
    color:#fff;
    font-weight:800;
    font-size:clamp(2.1rem, 4vw, 3.4rem);
    line-height:1.12;
  }
  .hero p.lead{
    color:rgba(255,255,255,0.88);
    font-size:1.15rem;
    max-width:520px;
  }
  .hero-stats{
    display:flex;
    gap:2.2rem;
    margin-top:2.2rem;
    flex-wrap:wrap;
  }
  .hero-stats .num{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:1.9rem;
    color:#fff;
    line-height:1;
  }
  .hero-stats .lbl{
    font-size:.78rem;
    color:rgba(255,255,255,0.75);
    text-transform:uppercase;
    letter-spacing:.08em;
  }
  .hero-visual{
    position:relative;
    z-index:2;
  }
  .hero-card{
    background:rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.25);
    border-radius:20px;
    padding:1.5rem;
    backdrop-filter:blur(8px);
  }
  .hero-card img{
    border-radius:14px;
    width:100%;
    height:550px;
    object-fit:cover;
  }

  /* Divisor de olas — elemento distintivo tomado del logo */
  .wave-divider{
    position:absolute;
    left:0; right:0; bottom:-1px;
    line-height:0;
  }
  .wave-divider svg{ width:100%; height:auto; display:block; }

  /* Buscador rápido superpuesto */
  .search-box{
    background:#fff;
    border-radius:18px;
    box-shadow:var(--sombra);
    padding:1.5rem;
    position:relative;
    z-index:3;
    margin-top:-3.6rem;
  }
  .search-box .form-select,
  .search-box .form-control{
    border-radius:10px;
    border:1px solid #E3E9EC;
    padding:.65rem .9rem;
  }
  .search-box .form-select:focus,
  .search-box .form-control:focus{
    border-color:var(--turquesa);
    box-shadow:0 0 0 .2rem rgba(95,193,199,0.25);
  }

  /* ===== SECCIONES GENERALES ===== */
  section{ padding:5.5rem 0; }
  .section-title{
    font-weight:700;
    font-size:clamp(1.6rem,2.6vw,2.2rem);
  }
  .section-lead{
    max-width:600px;
    color:var(--texto-suave);
  }

  .bg-arena{ background:var(--arena); }
  .bg-marino{ background:var(--azul-marino); color:#DCE8EE; }
  .bg-marino h2, .bg-marino h3, .bg-marino h4{ color:#fff; }

  /* ===== TARJETAS DE CATEGORÍA (Casas, Condominios, etc.) ===== */
  .categoria-card{
    border:none;
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--sombra);
    transition:transform .25s ease, box-shadow .25s ease;
    height:100%;
  }
  .categoria-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 34px rgba(15,61,92,0.16);
  }
  .categoria-card .img-wrap{
    position:relative;
    height:210px;
    overflow:hidden;
  }
  .categoria-card .img-wrap img{
    width:100%; height:100%; object-fit:cover;
    transition:transform .4s ease;
  }
  .categoria-card:hover .img-wrap img{ transform:scale(1.08); }
  .categoria-card .badge-tag{
    position:absolute; top:14px; left:14px;
    background:rgba(255,255,255,0.92);
    color:var(--azul-principal);
    font-weight:700;
    font-size:.72rem;
    padding:.3rem .7rem;
    border-radius:50px;
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  .categoria-card .card-body{ padding:1.4rem 1.5rem 1.6rem; }
  .categoria-card .card-body h4{ font-size:1.15rem; }
  .categoria-card .enlace{
    color:var(--azul-principal);
    font-weight:600;
    font-size:.92rem;
    text-decoration:none;
  }
  .categoria-card .enlace i{ transition:transform .2s ease; }
  .categoria-card .enlace:hover i{ transform:translateX(4px); }

  /* ===== POR QUÉ ELEGIRNOS ===== */
  .icono-circulo{
    width:60px; height:60px;
    border-radius:16px;
    background:var(--turquesa-claro);
    color:var(--azul-principal);
    display:flex;align-items:center;justify-content:center;
    font-size:1.5rem;
    margin-bottom:1rem;
  }

  /* ===== PROCESO ===== */
  .paso{
    position:relative;
    padding-left:3.6rem;
  }
  .paso .paso-num{
    position:absolute; left:0; top:0;
    width:2.7rem; height:2.7rem;
    border-radius:50%;
    background:linear-gradient(135deg,var(--azul-principal),var(--turquesa));
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-family:'Poppins',sans-serif;
    font-weight:700;
  }

  /* ===== TESTIMONIOS ===== */
  .testimonio-card{
    background:#fff;
    border-radius:16px;
    padding:1.8rem;
    box-shadow:var(--sombra);
    height:100%;
  }
  .testimonio-card .estrellas{ color:#F0B429; letter-spacing:2px; }
  .testimonio-avatar{
    width:46px;height:46px;border-radius:50%;
    background:var(--turquesa-claro);
    color:var(--azul-principal);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;
  }

  /* ===== CONTACTO ===== */
  .contacto-card{
    background:#fff;
    border-radius:20px;
    box-shadow:var(--sombra);
    padding:2.2rem;
  }
  .contacto-card .form-control,
  .contacto-card .form-select{
    border-radius:10px;
    padding:.7rem .9rem;
    border:1px solid #E3E9EC;
  }
  .contacto-card .form-control:focus,
  .contacto-card .form-select:focus{
    border-color:var(--turquesa);
    box-shadow:0 0 0 .2rem rgba(95,193,199,0.25);
  }
  .contacto-info-item{ display:flex; gap:1rem; align-items:flex-start; margin-bottom:1.4rem; }
  .contacto-info-item i{
    width:44px;height:44px;border-radius:12px;
    background:rgba(255,255,255,0.12);
    color:#fff;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }

  /* ===== FOOTER ===== */
  footer{
    background:var(--azul-marino);
    color:#B9CCD6;
    padding:3.5rem 0 1.5rem;
  }
  footer a{ color:#DCE8EE; text-decoration:none; }
  footer a:hover{ color:var(--turquesa); }
  footer h6{ color:#fff; font-family:'Poppins',sans-serif; font-weight:600; }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.1);
    margin-top:2rem;
    padding-top:1.4rem;
    font-size:.85rem;
  }
  .social-circle{
    width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,0.08);
    display:flex;align-items:center;justify-content:center;
    color:#fff;
  }
  .social-circle:hover{ background:var(--turquesa); color:#0F3D5C; }

  /* Botón flotante WhatsApp */
  .btn-whatsapp{
    position:fixed; right:1.4rem; bottom:1.4rem; z-index:1050;
    width:58px; height:58px; border-radius:50%;
    background:#25D366; color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem;
    box-shadow:0 8px 20px rgba(0,0,0,0.25);
  }

  @media (max-width:991.98px){
    .hero{ padding:3rem 0 7rem; text-align:center; }
    .hero p.lead{ margin-inline:auto; }
    .hero-stats{ justify-content:center; }
    .search-box{ margin-top:1.6rem; }
  }
  
  
  
   :root{
    --azul-marino:   #0F3D5C;
    --azul-principal:#1B6CA8;
    --turquesa:      #5FC1C7;
    --turquesa-claro:#E4F5F5;
    --arena:         #F3EFE7;
    --blanco:        #FFFFFF;
    --texto-suave:   #4A5A63;
    --sombra:        0 12px 30px rgba(15,61,92,0.10);
  }

  html{ scroll-behavior:smooth; }

  body{
    font-family:'Inter', sans-serif;
    color:var(--texto-suave);
    background:var(--blanco);
    padding-top:76px;
  }

  h1,h2,h3,h4,.brand-font{
    font-family:'Poppins', sans-serif;
    color:var(--azul-marino);
  }

  .eyebrow{
    font-family:'Inter',sans-serif;
    font-weight:600;
    letter-spacing:.14em;
    text-transform:uppercase;
    font-size:.78rem;
    color:var(--turquesa);
  }

  /* ===== NAVBAR (idéntica a la página principal) ===== */
  .navbar-rebeca{
    background:rgba(255,255,255,0.96);
    backdrop-filter:blur(6px);
    box-shadow:0 2px 18px rgba(15,61,92,0.06);
  }
  .navbar-brand-text{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    color:var(--azul-marino);
    font-size:1.25rem;
    line-height:1.05;
  }
  .navbar-brand-text small{
    display:block;
    font-family:'Inter',sans-serif;
    font-weight:600;
    letter-spacing:.18em;
    font-size:.6rem;
    color:var(--turquesa);
  }
  .navbar-rebeca .nav-link{
    font-weight:600;
    color:var(--azul-marino) !important;
    margin:0 .35rem;
    padding:.5rem .75rem !important;
    border-radius:8px;
  }
  .navbar-rebeca .nav-link:hover{
    color:var(--azul-principal) !important;
    background:var(--turquesa-claro);
  }
  .btn-cta{
    background:linear-gradient(135deg,var(--azul-principal),var(--turquesa));
    color:#fff;
    font-weight:600;
    border:none;
    border-radius:50px;
    padding:.6rem 1.5rem;
    box-shadow:0 6px 16px rgba(27,108,168,0.30);
    transition:transform .2s ease, box-shadow .2s ease;
  }
  .btn-cta:hover{
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(27,108,168,0.38);
  }
  .btn-outline-rebeca{
    border:2px solid var(--azul-principal);
    color:var(--azul-principal);
    font-weight:600;
    border-radius:50px;
    padding:.55rem 1.4rem;
    transition:all .2s ease;
    background:transparent;
  }
  .btn-outline-rebeca:hover{
    background:var(--azul-principal);
    color:#fff;
  }
  .btn-whatsapp-inline{
    background:#25D366;
    color:#fff;
    font-weight:600;
    border:none;
    border-radius:50px;
    padding:.6rem 1.5rem;
    transition:transform .2s ease;
  }
  .btn-whatsapp-inline:hover{ color:#fff; transform:translateY(-2px); }

  /* ===== MIGAS DE PAN ===== */
  .breadcrumb-bar{
    background:var(--arena);
    padding:.9rem 0;
    font-size:.85rem;
  }
  .breadcrumb-bar a{ color:var(--texto-suave); text-decoration:none; }
  .breadcrumb-bar a:hover{ color:var(--azul-principal); }
  .breadcrumb-bar .activa{ color:var(--azul-principal); font-weight:600; }

  /* ===== ENCABEZADO DE PROPIEDAD ===== */
  .propiedad-header{ padding:2.2rem 0 1.6rem; }
  .propiedad-header h1{
    font-weight:800;
    font-size:clamp(1.7rem,3vw,2.5rem);
    margin-bottom:.4rem;
  }
  .propiedad-ubicacion{
    color:var(--texto-suave);
    font-size:.98rem;
  }
  .propiedad-ubicacion i{ color:var(--turquesa); }
  .propiedad-precio{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    color:var(--azul-principal);
    font-size:clamp(1.6rem,2.6vw,2rem);
  }
  .badge-estatus{
    background:var(--turquesa-claro);
    color:var(--azul-principal);
    font-weight:700;
    font-size:.72rem;
    padding:.4rem .85rem;
    border-radius:50px;
    text-transform:uppercase;
    letter-spacing:.05em;
  }

  /* ===== GALERÍA ===== */
  .galeria{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-template-rows:repeat(2, 200px);
    gap:.6rem;
    border-radius:18px;
    overflow:hidden;
	    height: 415px;
  }
  .galeria img{
    width:100%; height:100%; object-fit:cover;
    cursor:pointer;
    transition:transform .4s ease, filter .3s ease;
  }
  .galeria img:hover{ transform:scale(1.03); filter:brightness(.92); }
  .galeria .principal{ grid-column:1 / 3; grid-row:1 / 3; }
  .galeria .ver-todas{
    position:relative;
  }
  .galeria .ver-todas::after{
    content:"+8 fotos";
    position:absolute; inset:0;
    background:rgba(15,61,92,0.55);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    font-weight:700;
    font-size:.9rem;
    border-radius:0 0 18px 0;
  }
  @media (max-width:767.98px){
    .galeria{ grid-template-columns:repeat(2,1fr); grid-template-rows:repeat(2,140px); }
    .galeria .principal{ grid-column:1 / 3; grid-row:1 / 2; height:220px; }
  }

  /* ===== FICHA DE CARACTERÍSTICAS ===== */
  .specs-bar{
    background:var(--arena);
    border-radius:16px;
    padding:1.3rem 1rem;
  }
  .spec-item{ text-align:center; }
  .spec-item i{
    font-size:1.4rem;
    color:var(--azul-principal);
    display:block;
    margin-bottom:.3rem;
  }
  .spec-item .valor{
    font-family:'Poppins',sans-serif;
    font-weight:700;
    color:var(--azul-marino);
    font-size:1.05rem;
  }
  .spec-item .etiqueta{
    font-size:.75rem;
    text-transform:uppercase;
    letter-spacing:.05em;
    color:var(--texto-suave);
  }

  /* ===== SECCIONES DE CONTENIDO ===== */
  .bloque-titulo{
    font-weight:700;
    font-size:1.35rem;
    margin-bottom:1rem;
  }
  .amenidad-item{
    display:flex; align-items:center; gap:.6rem;
    padding:.5rem 0;
    font-size:.95rem;
  }
  .amenidad-item i{ color:var(--turquesa); font-size:1.1rem; }

  /* ===== MAPA / UBICACIÓN ===== */
  .mapa-wrap{
    border-radius:16px;
    overflow:hidden;
    box-shadow:var(--sombra);
    height:360px;
  }
  .mapa-wrap iframe{ width:100%; height:100%; border:0; }
  .ubicacion-chip{
    display:inline-flex; align-items:center; gap:.4rem;
    background:var(--turquesa-claro);
    color:var(--azul-principal);
    font-size:.82rem;
    font-weight:600;
    padding:.35rem .8rem;
    border-radius:50px;
    margin:.2rem .3rem .2rem 0;
  }

  /* ===== TARJETA DE CONTACTO (sticky) ===== */
  .contacto-sticky{
    position:sticky;
    top:96px;
    background:#fff;
    border-radius:18px;
    box-shadow:var(--sombra);
    padding:1.6rem;
  }
  .contacto-sticky .agente{
    display:flex; align-items:center; gap:.8rem;
    margin-bottom:1rem;
  }
  .contacto-sticky .avatar{
    width:52px;height:52px;border-radius:50%;
    background:var(--turquesa-claro);
    color:var(--azul-principal);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;
    font-size:1.1rem;
  }
  .contacto-sticky .form-control,
  .contacto-sticky .form-select{
    border-radius:10px;
    padding:.65rem .85rem;
    border:1px solid #E3E9EC;
    font-size:.92rem;
  }
  .contacto-sticky .form-control:focus,
  .contacto-sticky .form-select:focus{
    border-color:var(--turquesa);
    box-shadow:0 0 0 .2rem rgba(95,193,199,0.25);
  }

  /* ===== PROPIEDADES SIMILARES ===== */
  .categoria-card{
    border:none;
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--sombra);
    transition:transform .25s ease, box-shadow .25s ease;
    height:100%;
  }
  .categoria-card:hover{ transform:translateY(-6px); box-shadow:0 18px 34px rgba(15,61,92,0.16); }
  .categoria-card .img-wrap{ position:relative; height:190px; overflow:hidden; }
  .categoria-card .img-wrap img{ width:100%; height:100%; object-fit:cover; }
  .categoria-card .card-body{ padding:1.2rem 1.3rem 1.4rem; }
  .categoria-card .enlace{ color:var(--azul-principal); font-weight:600; font-size:.9rem; text-decoration:none; }

  /* ===== FOOTER ===== */
  footer{ background:var(--azul-marino); color:#B9CCD6; padding:3rem 0 1.5rem; }
  footer a{ color:#DCE8EE; text-decoration:none; }
  footer a:hover{ color:var(--turquesa); }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.1);
    margin-top:2rem; padding-top:1.3rem; font-size:.85rem;
  }

  /* ===== BARRA DE CONTACTO FIJA (móvil) ===== */
  .barra-movil{
    display:none;
    position:fixed; left:0; right:0; bottom:0; z-index:1060;
    background:#fff;
    box-shadow:0 -6px 18px rgba(15,61,92,0.14);
    padding:.7rem 1rem;
    gap:.6rem;
  }
  @media (max-width:991.98px){
    .barra-movil{ display:flex; }
    body{ padding-bottom:78px; }
    .contacto-sticky{ position:static; }
  }

  /* Lightbox simple */
  .lightbox{
    display:none;
    position:fixed; inset:0; z-index:1080;
    background:rgba(15,61,92,0.92);
    align-items:center; justify-content:center;
    padding:1.5rem;
  }
  .lightbox.activo{ display:flex; }
  .lightbox img{ max-width:100%; max-height:85vh; border-radius:10px; }
  .lightbox .cerrar{
    position:absolute; top:1.2rem; right:1.5rem;
    color:#fff; font-size:2rem; cursor:pointer; line-height:1;
  }
  .lightbox .nav-flecha{
    position:absolute; top:50%; transform:translateY(-50%);
    color:#fff; font-size:2.2rem; cursor:pointer; padding:.5rem;
  }
  .lightbox .flecha-izq{ left:1rem; }
  .lightbox .flecha-der{ right:1rem; }