/* ========================================
   HERO ALIANZA
======================================== */
.logo-desarrollo{
    width:180px;
    margin-bottom:15px;
}

.hero-alianza {
    position: relative;
     min-height: 100vh;
    display:flex;
    align-items:center;

      padding: 80px 0;

    background-image: url('img/condado/condado.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    overflow: hidden;
}

.hero-alianza h1,
.section-header h2,
.cta-alianza h2{
    font-family:"Cormorant Garamond", serif;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0,0,0,.85) 0%,
        rgba(0,0,0,.65) 45%,
        rgba(0,0,0,.35) 100%
    );
}

.hero-alianza-content {
    position: relative;
    z-index: 2;
    max-width: 700px;
}

.hero-subtitle{
    display:inline-block;
    color:#d4af37;
    font-size:.9rem;
    letter-spacing:5px;
    text-transform:uppercase;
    margin-bottom:10px;
    font-weight:600;
}

.hero-alianza h1{
    font-size: clamp(3rem, 6vw, 5rem);
    margin-bottom:15px;
    font-weight: 300;
    line-height: .95;
    letter-spacing: 2px;
    color: #fff;
    text-transform: uppercase;
}

.hero-alianza p{
    font-size:1.1rem;
    line-height:1.6;
    max-width:550px;
    color:rgba(255,255,255,.85);
    margin-bottom:25px;
}

.hero-buttons .btn-contacto{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:18px 42px;

    border:2px solid #d4af37;

    color:#d4af37;
    background:transparent;

    text-decoration:none;
    text-transform:uppercase;

    letter-spacing:2px;
    font-size:.9rem;
    font-weight:600;

    transition:.35s ease;
}

.hero-buttons .btn-contacto:hover{
    background:#d4af37;
    color:#000;
    transform:translateY(-3px);
}

/* ========================================
   SECCIONES GENERALES
======================================== */
.masterplan-section,
.modelos-section,
.amenidades-section,
.ubicacion-section,
.cta-alianza{
    background:#000;
}

.masterplan-section,
.modelos-section,
.amenidades-section,
.ubicacion-section {
    padding: 100px 0;
}

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header span{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;

    color:#d4af37;
    letter-spacing:4px;
    text-transform:uppercase;
}

.section-header span::before,
.section-header span::after{
    content:"";
    width:80px;
    height:1px;
    background:#d4af37;
}

.section-header h2{
    font-family:"Cormorant Garamond", serif;
    font-size: clamp(3rem, 5vw, 4.8rem);
    font-weight: 500;
    line-height: 1;
}



/* ========================================
   MASTER PLAN
======================================== */

.masterplan-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
}

.masterplan-image{
    padding:20px;
    border:1px solid rgba(212,175,55,.4);
    border-radius:20px;
}

.masterplan-image img{
    width:100%;
    display:block;
    border-radius:12px;
}

.masterplan-content p {
    font-size: 1.05rem;
    line-height: 1.9;
    color: var(--text-light);
    margin-bottom: 25px;
}

.masterplan-content ul {
    list-style: none;
    padding: 0;
}

.masterplan-content li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(212,175,55,.2);
}

.masterplan-content li::before {
    content: "✓";
    color: var(--gold);
    margin-right: 10px;
}

.masterplan-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.masterplan-info{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.masterplan-card{
    background:#0b0b0b;
    border:1px solid rgba(212,175,55,.15);
    border-radius:18px;
    padding:20px;
    text-align:center;
}

.masterplan-card h3{
    margin:0;
}

.masterplan-card p{
    margin-top:8px;
    color:#d8d8d8;
}
/* ========================================
   MODELOS
======================================== */
.contenido-card *{
    margin-top:0;
}


.catalogo-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.modelos-section .catalogo-grid {
    gap: 30px;
}

.modelos-section .imagen-card{
    height:240px;
    overflow:hidden;
}

.modelos-section .imagen-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s ease;
}

.propiedad-card{
    background:#0b0b0b;
    border:1px solid rgba(212,175,55,.15);
    border-radius:24px;
    overflow:hidden;
    transition:.4s ease;
}

.propiedad-card:hover{
    transform:translateY(-8px);
    border-color:rgba(212,175,55,.5);
    box-shadow:0 15px 40px rgba(0,0,0,.35);
}

.contenido-card{
    padding:15px 18px;
    text-align:center;
}

.contenido-card h3{
    font-family:"Cormorant Garamond", serif;
    font-size:1.7rem;
    font-weight:500;
    margin:0 0 4px;
    color:#fff;
    line-height:1.1;
}

.precio-card{
    color:#d4af37;
    font-size:.95rem;
    letter-spacing:1px;
    text-transform:uppercase;
    margin:0;
    line-height:1;
}


/* ========================================
   UBICACION
======================================== */

.ubicacion-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    align-items: center;
}

.ubicacion-mapa img {
    width: 100%;
    border-radius: 20px;
    display: block;
}

.ubicacion-content p {
    line-height: 1.9;
    margin-bottom: 25px;
}

.ubicacion-content ul {
    list-style: none;
    padding: 0;
}

.ubicacion-content li {
    padding: 12px 0;
    border-bottom: 1px solid rgba(212,175,55,.2);
}

.ubicacion-content li::before {
    content: "📍";
    margin-right: 10px;
}

.cta-alianza{
    padding:0;
    background:#090909;
    overflow:hidden;
}

.cta-banner{
    display:block;
    width:100%;
    height:auto;
}

/* ========================================
   RESPONSIVE
======================================== */

@media (max-width: 992px) {

    .masterplan-grid,
    .ubicacion-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .amenidades-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}

@media (max-width: 768px) {

    .hero-alianza {
        min-height: 80vh;
    }

@media (max-width: 768px) {

    .masterplan-section,
        .modelos-section,
    .amenidades-section,
    .ubicacion-section {
        padding: 70px 0;
    }

    .cta-alianza{
        padding:0 !important;
    }

}

    .amenidades-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 576px) {

    .hero-alianza p,
    .masterplan-content p,
    .ubicacion-content p {
        font-size: 1rem;
    }

    .section-header {
        margin-bottom: 40px;
    }

}

@media (max-width:1200px){
    .catalogo-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media (max-width:992px){
    .catalogo-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media (max-width:576px){
    .catalogo-grid{
        grid-template-columns:1fr;
    }
}

/* HERO AQUASOL */

.hero-aquasol{
    background:url('img/aquasol/aquasol2.webp') center center/cover no-repeat;
}

.hero-aquasol .hero-content{
    transform: translateY(-60px);
}

.hero-content span{
    color:#d4af37;
    font-size:.95rem;
    letter-spacing:3px;
    text-transform:uppercase;
    font-weight:600;
}

.hero-content h1{
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(3rem, 7vw, 5.5rem);
    font-weight: 600;
    color: #fff;
    line-height: 1;
    margin-bottom: 20px;
}

.masterplan-card h3{
    font-size:2rem;
    color:#d4af37;
    font-family:'Cormorant Garamond', serif;
}


/* =====================================
   AMENIDADES PREMIUM
===================================== */

.amenidades-intro{
    max-width:850px;
    margin:20px auto 60px;
    text-align:center;
    color:#d8d8d8;
    line-height:1.8;
}

/* GRID */

.amenidades-grid-premium{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:25px;
}

/* TARJETAS */

.amenidad-card{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    min-height:280px;
    border:1px solid rgba(212,175,55,.15);
}

.amenidad-principal{
    grid-row:span 2;
    min-height:585px;
}

/* IMAGEN */

.amenidad-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:0.6s ease;
}

/* OVERLAY */

.amenidad-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-end;
    padding:30px;

    background:
    linear-gradient(
        to top,
        rgba(0,0,0,.9),
        rgba(0,0,0,.15)
    );
}

.amenidad-overlay h3{
    color:#fff;
    font-family:'Cormorant Garamond', serif;
    font-size:2rem;
    font-weight:600;
    margin:0;
}

/* HOVER */

.amenidad-card:hover img{
    transform:scale(1.08);
}

.amenidad-card:hover{
    border-color:rgba(212,175,55,.4);
    box-shadow:
    0 15px 40px rgba(0,0,0,.35),
    0 0 20px rgba(212,175,55,.08);
}

/* RESPONSIVE */

@media(max-width:992px){

    .amenidades-grid-premium{
        grid-template-columns:1fr 1fr;
    }

    .amenidad-principal{
        grid-column:span 2;
        grid-row:auto;
        min-height:400px;
    }

}

@media(max-width:576px){

    .amenidades-grid-premium{
        grid-template-columns:1fr;
    }

    .amenidad-principal{
        grid-column:auto;
    }

    .amenidad-card{
        min-height:250px;
    }

}

/* MODELOS */

.modelos-aquasol{
    display:grid;
    grid-template-columns:repeat(2,minmax(350px,500px));
    justify-content:center;
    gap:40px;
}

.caracteristicas-modelo{
    list-style:none;
    padding:0;
    margin-top:15px;
}

.caracteristicas-modelo li{
    color:#d8d8d8;
    margin:8px 0;
    font-size:.95rem;
}


/* UBICACION */

.ubicacion-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:50px;
    align-items:center;
}

.ubicacion-mapa{
    overflow:hidden;
    border-radius:20px;
    border:1px solid rgba(212,175,55,.2);
}

.ubicacion-info p{
    color:#d8d8d8;
    line-height:1.8;
    margin-bottom:25px;
}

.ubicacion-info ul{
    list-style:none;
    padding:0;
}

.ubicacion-info li{
    padding:10px 0;
    color:#d4af37;
    border-bottom:1px solid rgba(212,175,55,.1);
}


/* RESPONSIVE */

@media(max-width:992px){

    .modelos-aquasol{
        grid-template-columns:1fr;
    }

    .ubicacion-grid{
        grid-template-columns:1fr;
    }

}

/* HERO */
.desarrollo-info h2,
.modelo-content h3,
.ubicacion-info h3{
    font-family:"Cormorant Garamond", serif;
    font-weight:600;
    color:#fff;
}

.desarrollo-image img{
    width:100%;
    border-radius:24px;
}
.hero-cygnus{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    background:url('/img/cygnus/cygnus2.webp') center center/cover;
}

.hero-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to right,
        rgba(0,0,0,.85),
        rgba(0,0,0,.45)
    );
}

.hero-content span{
    color:#d4af37;
    letter-spacing:3px;
    text-transform:uppercase;
}

.logo-desarrollo{
    max-width:320px;
    margin:20px 0;
}

.hero-content p{
    color:#fff;
    font-size:1.15rem;
    line-height:1.8;
    margin-bottom:35px;
}

/* DESARROLLO */

.desarrollo-cygnus{
    padding:120px 0;
}

.desarrollo-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

.desarrollo-info span{
    color:#d4af37;
    letter-spacing:3px;
}

.desarrollo-info h2{
    font-size:3rem;
    margin:15px 0 25px;
}

.desarrollo-info p{
    color:#d5d5d5;
    line-height:1.9;
    margin-bottom:35px;
}

.features-list{
    list-style:none;
}

.features-list li{
    color:#fff;
    margin-bottom:15px;
}

.features-list li::before{
    content:"✓";
    color:#d4af37;
    margin-right:10px;
}

.desarrollo-image img{
    width:100%;
    border-radius:24px;

    box-shadow:
    0 25px 60px rgba(0,0,0,.45);
}

/* MODELOS */

.modelo-info h3{
    font-size:2.5rem;
    margin-bottom:30px;
}

.modelo-info ul{
    list-style:none;
}

.modelo-info li{
    margin-bottom:15px;
    color:#d8d8d8;
}

.modelo-row{
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:80px;
    align-items:center;
}

.modelo-row.reverse{
    grid-template-columns:1.1fr 0.9fr;
}

.modelo-img{
    max-width:520px;
    width:100%;
    height: 450px;
    margin:auto;
    border-radius:24px;
    background:#0b0b0b;
    display:flex;
    align-items:center;
    justify-content:center;
}

.modelo-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
}

/* UBICACIÓN */

.ubicacion-cygnus{
    padding:120px 0;
}

.ubicacion-grid{
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:50px;
    margin-top:60px;
}

.mapa iframe{
    width:100%;
    height:500px;
    border:none;
    border-radius:24px;
}

.ubicacion-info{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.ubicacion-info h3{
    font-size:2rem;
    margin-bottom:25px;
}

.ubicacion-info ul{
    list-style:none;
}

.ubicacion-info li{
    color:#d8d8d8;
    margin-bottom:15px;
}

.ubicacion-info li::before{
    content:"•";
    color:#d4af37;
    margin-right:10px;
}

/* RESPONSIVE */

@media(max-width:992px){

    .desarrollo-grid,
    .modelo-card,
    .ubicacion-grid{
        grid-template-columns:1fr;
    }

    .desarrollo-info h2{
        font-size:2.3rem;
    }

}

.modelo-showcase{
    padding:120px 0;
}

.modelo-row{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:70px;
    align-items:center;
    margin-top:80px;
}

.modelo-row.reverse{
    grid-template-columns:1fr 1.2fr;
}

.modelo-row.reverse .modelo-img{
    order:2;
}

.modelo-row.reverse .modelo-content{
    order:1;
}

.modelo-img{
    overflow:hidden;
    border-radius:24px;
}

.modelo-img img{
    width:100%;
    display:block;
    border-radius:24px;
    transition:.6s;
}

.modelo-img:hover img{
    transform:scale(1.05);
}

.modelo-content span{
    color:#d4af37;
    letter-spacing:3px;
    text-transform:uppercase;
}

.modelo-content h3{
    font-size:2.8rem;
    margin:15px 0 25px;
}

.modelo-content ul{
    list-style:none;
    padding:0;
}

.modelo-content li{
    color:#d8d8d8;
    margin-bottom:14px;
    font-size:1.05rem;
}

.modelo-content li::before{
    content:"✓";
    color:#d4af37;
    margin-right:10px;
}

@media(max-width:992px){

    .modelo-row,
    .modelo-row.reverse{
        grid-template-columns:1fr;
    }

    .modelo-row.reverse .modelo-img,
    .modelo-row.reverse .modelo-content{
        order:initial;
    }

    .modelo-content h3{
        font-size:2.2rem;
    }

}
@media (max-width:768px){

  .hero-alianza,
  .hero-cygnus{
    min-height:70vh !important;
    padding:40px 0 !important;
  }

  .logo-desarrollo{
    width:140px !important;
    max-width:140px !important;
    margin-bottom:10px !important;
  }

  .hero-content{
    padding:0 20px !important;
  }

  .hero-content h1,
  .hero-alianza h1{
    font-size:2.3rem !important;
    line-height:1 !important;
    margin-bottom:12px !important;
  }

  .hero-content p,
  .hero-alianza p{
    font-size:.9rem !important;
    line-height:1.5 !important;
    margin-bottom:15px !important;
  }

  .hero-buttons .btn-contacto{
    padding:12px 22px !important;
    font-size:.75rem !important;
  }

}

@media (max-width:768px){

  .section-header{
    margin-bottom:25px !important;
  }

  .section-header h2{
    font-size:2rem !important;
    line-height:1.1 !important;
  }

  .section-header span{
    font-size:.7rem !important;
    letter-spacing:2px !important;
  }

  .section-header span::before,
  .section-header span::after{
    width:30px !important;
  }

}

@media (max-width:768px){

  .masterplan-section,
  .modelos-section,
  .amenidades-section,
  .ubicacion-section,
  .desarrollo-cygnus,
  .ubicacion-cygnus{
    padding:50px 0 !important;
  }

}

@media (max-width:768px){

  .catalogo-grid{
    grid-template-columns:repeat(2,1fr) !important;
    gap:10px !important;
  }

  .modelos-section .imagen-card{
    height:120px !important;
  }

  .contenido-card{
    padding:10px !important;
  }

  .contenido-card h3{
    font-size:1rem !important;
  }

  .precio-card{
    font-size:.7rem !important;
  }

}

@media (max-width:768px){

  .amenidades-grid-premium{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .amenidad-card,
  .amenidad-principal{
    min-height:180px !important;
  }

  .amenidad-overlay{
    padding:15px !important;
  }

  .amenidad-overlay h3{
    font-size:1.3rem !important;
  }

}

@media (max-width:768px){

  .modelo-row,
  .modelo-row.reverse{
    gap:20px !important;
    margin-top:40px !important;
  }

  .modelo-img{
    height:220px !important;
  }

  .modelo-content h3{
    font-size:1.8rem !important;
    margin:10px 0 !important;
  }

  .modelo-content li{
    font-size:.85rem !important;
    margin-bottom:8px !important;
  }

}

@media (max-width:768px){

  .ubicacion-grid{
    gap:20px !important;
  }

  .ubicacion-mapa iframe{
    height:250px !important;
  }

  .ubicacion-info p,
  .ubicacion-info li{
    font-size:.85rem !important;
  }

}

@media (max-width:768px){

  .container{
    width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
    box-sizing:border-box !important;
  }

}

@media (max-width:768px){

  .cta-banner{
    width:100% !important;
    height:260px !important;
    object-fit:cover !important;
    object-position:center !important;
    border-radius:18px !important;
    display:block !important;
  }

}

@media(max-width:768px){

  .masterplan-grid{
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
  }

  .masterplan-info{
    display:flex !important;
    flex-wrap:wrap !important;
    width:100% !important;
    gap:10px !important;
  }

  .masterplan-card{
    flex:0 0 calc(50% - 5px) !important;
    width:auto !important;
    box-sizing:border-box !important;
  }

}

@media(max-width:768px){

  .masterplan-img{
      width:90% !important;
      margin:0 auto 20px !important;
      border-radius:20px !important;
      overflow:hidden !important;
  }

  .masterplan-img img{
      width:100% !important;
      display:block !important;
  }

}