
    @import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
    :root{
      --burgundi:#5a1e2b;
      --oro:#c9a24d;
      --marfil:#f5f1e8;
      --negro:#1a1a1a;
    }

    body{
      font-family:'Playfair Display', serif;
      background:var(--marfil);
      color:var(--negro);
    }

    h1,h2,h3,h4,h5{
      font-family:'Cinzel', serif;
      letter-spacing:1px;
    }
p,a{
font-family: "Open Sans", sans-serif;
}

/* header */
.logo{
  width: 500px;
}
@media (max-width:876px){
.logo{
  width: 100%;
}
}
.top-header{
  background:#5a1e2b;
  color:#c9a24d;
  font-size:14px;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;
}

.header-link{
  color:#c9a24d;
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:6px;
  transition:.2s ease;
  font-size: 1.3rem;
}

.header-link i{
  font-size:1.3rem;
}

.header-link:hover{
  color: white;
}




    section{
      overflow:hidden;
      padding:80px 0;
    }

    /* HERO */
    .hero{
      background:url("../img/fondo.jpeg") center/cover fixed;
      position:relative;
      color:#fff;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      margin-top: 50px;
    }

    .hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:rgba(0, 0, 0, 0.85); ;
    }

    .hero-content{
      position:relative;
      z-index:2;
    }

    .hero h1{
      font-weight: 300;
      font-size:2rem;
      color:var(--oro);
    }

    .hero p{
      font-size:1.2rem;
    }


    /* CONTENEDOR DE BRILLOS */
.hero-sparkles{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1; /* debajo del texto */
  overflow:hidden;
}

/* BRILLO INDIVIDUAL */
.hero-sparkles span{
  position:absolute;
  width:14px;
  height:14px;
  opacity:0;
  animation: sparkleMove 4s linear infinite;
}

/* cruz de 4 puntas */
.hero-sparkles span::before,
.hero-sparkles span::after{
  content:"";
  position:absolute;
  background:rgba(201,162,77,.9); /* oro */
}

.hero-sparkles span::before{
  width:100%;
  height:2px;
  top:50%;
  left:0;
  transform:translateY(-50%);
}

.hero-sparkles span::after{
  width:2px;
  height:100%;
  left:50%;
  top:0;
  transform:translateX(-50%);
}

/* POSICIONES + TIEMPOS VARIADOS */
.hero-sparkles span:nth-child(1){
  top:20%;
  left:15%;
  animation-delay:0s;
}

.hero-sparkles span:nth-child(2){
  top:40%;
  left:70%;
  animation-delay:2s;
}

.hero-sparkles span:nth-child(3){
  top:65%;
  left:30%;
  animation-delay:4s;
}

.hero-sparkles span:nth-child(4){
  top:25%;
  left:50%;
  animation-delay:6s;
}

.hero-sparkles span:nth-child(5){
  top:75%;
  left:80%;
  animation-delay:3s;
}

/* ANIMACIÓN */
@keyframes sparkleMove{
  0%{
    opacity:0;
    transform:scale(0.2) translateY(0);
  }
  20%{
    opacity:1;
    transform:scale(1);
  }
  40%{
    opacity:0;
    transform:scale(0.3);
  }
  100%{
    opacity:0;
    transform:scale(0.2) translateY(-60px);
  }
}

    /* TITULOS */
    .section-title{
      text-align:center;
      margin-bottom:50px;
    }

    .section-title h2{
      color:var(--burgundi);
    }

    .divider{
      width:80px;
      height:3px;
      background:var(--oro);
      margin:15px auto;
    }

    /* CARDS */
    .lux-card{
      background:#fff;
      border:none;
      box-shadow:0 10px 30px rgba(0,0,0,0.1);
      transition:.3s;
    }

    .lux-card:hover{
      transform:translateY(-5px);
    }

    .lux-card i{
      font-size:2rem;
      color:var(--oro);
    }

    /* LISTAS */
    .lux-list li{
      margin-bottom:10px;
    }

    /* CTA */
/* CTA CON IMAGEN + OVERLAY */
.cta{
  position:relative;
  background-image:url("../img/fondo2-01.jpg");
  background-size:cover;
  background-position:center;
  color:#fff;
  overflow:hidden;
  background-attachment: fixed;
}

/* OVERLAY BURGUNDI */
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(90,30,43,.85); /* burgundi con opacidad */
  z-index:1;
}

/* CONTENIDO POR ARRIBA */
.cta > *{
  position:relative;
  z-index:2;
}


    .cta i{
      color:var(--oro);
    }

    /* FOOTER */
    footer{
      background:#111;
      color:#ccc;
      padding:10px 0;
    }
        footer p{
margin: 0;
padding: 0;
    }


.lux-card img{
  height:390px;
  object-fit:cover;
  filter:brightness(0.85);
}

.lux-card:hover img{
  filter:brightness(1);
}

.lux-card h4{
  color:var(--burgundi);
}
/* IMAGENES CON OVERLAY */
.card-img-wrapper{
  position:relative;
  overflow:hidden;
}

.card-img-wrapper::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(26,26,26,.85),
    rgba(26,26,26,.15)
  );
}

.card-img-wrapper span{
  position:absolute;
  bottom:15px;
  left:15px;
  color:var(--oro);
  font-family:'Cinzel', serif;
  z-index:2;
  font-size:1.1rem;
}

/* WHATSAPP FLOTANTE PREMIUM */
.whatsapp-float{
  position:fixed;
  bottom:25px;
  right:25px;
  background:#25d366;
  color:#fff;
  width:55px;
  height:55px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.6rem;
  z-index:999;
  box-shadow:0 10px 25px rgba(0,0,0,.4);
  transition:.3s;
}

.whatsapp-float:hover{
  transform:scale(1.1);
}

/* IMAGENES DIVISORAS */
.image-divider{
  background-size:cover;
  background-position:center;
  height:280px;
  position:relative;
}

.image-divider::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(90,30,43,.6);
}

/* COMPROMISO CARDS */
.commit-card{
  background:#fff;
  padding:35px;
  text-align:center;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  height:100%;
}

.commit-card i{
  font-size:2.5rem;
  color:var(--oro);
  margin-bottom:15px;
}

.commit-card h4{
  color:var(--burgundi);
}

/* CTA LUJO */
.cta-wrapper{
  padding:40px 0;
}

.cta-luxury{
  position:relative;
  display:inline-block;
  padding:18px 48px;
  color:var(--oro);
  font-family:'Cinzel', serif;
  font-size:1.1rem;
  letter-spacing:1.5px;
  text-decoration:none;
  background:linear-gradient(145deg, #5a1e2b, #4a1623);
  border:2px solid var(--oro);
  overflow:hidden;
  transition:all .4s ease;
}

/* shimmer dorado */
.cta-luxury::before{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(201,162,77,.4),
    transparent
  );
  transition:all .6s ease;
}

.cta-luxury:hover::before{
  left:100%;
}

.cta-luxury:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 15px 35px rgba(0,0,0,.35);
}



.cta-luxuryD{
  position:relative;
  display:inline-block;
  padding:5px 8px;
  color:var(--oro);
  font-family:'Cinzel', serif;
  font-size:1.1rem;
  letter-spacing:1.5px;
  text-decoration:none;
  background:linear-gradient(145deg, #5a1e2b, #4a1623);
  border:2px solid var(--oro);
  overflow:hidden;
  transition:all .4s ease;
}

/* shimmer dorado */
.cta-luxuryD::before{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(201,162,77,.4),
    transparent
  );
  transition:all .6s ease;
}

.cta-luxuryD:hover::before{
  left:100%;
}

.cta-luxuryD:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 15px 35px rgba(0,0,0,.35);
}

/* animación continua sutil */
@keyframes luxuryPulse{
  0%{ box-shadow:0 0 0 0 rgba(201,162,77,.35); }
  70%{ box-shadow:0 0 0 12px rgba(201,162,77,0); }
  100%{ box-shadow:0 0 0 0 rgba(201,162,77,0); }
}

.cta-luxury{
  animation:luxuryPulse 3.5s infinite;
}

/* MOBILE */
@media(max-width:768px){
  .cta-luxury{
    padding:16px 34px;
    font-size:1rem;
  }
}


.institu{
  position:relative;
  background-image:url("../img/moderno-patron-ornamental-brillante.png");
  background-size:cover;
  background-position:center;
  overflow:hidden;
}

/* OVERLAY BURGUNDI */
.institu::before{
  content:"";
  position:absolute;
  inset:0;
  background:#f5f1e8da; /* burgundi con opacidad */
  z-index:1;
}

/* CONTENIDO POR ARRIBA */
.institu > *{
  position:relative;
  z-index:2;
}



/* PASOS LUJO */
.pasos-lujo{
  background:#000000;
  padding:0 10px;
}

/* ROW */
.pasos-row{
  min-height:250px;
  justify-content: center;

}

/* PASO BASE */
.paso{
  position:relative;
  text-align:center;
  color:var(--oro);
  display:flex;
  flex-direction:column;
  align-items:center;
  width: 20%;
}
@media(max-width:1031px){
  .pasos-row{
  flex-wrap: wrap;

}
  .paso{
    min-height:auto !important;
    width: 95%;
    padding: 20px 0px;
  }
  .pasos-lujo{
  background:#000000;
  padding:0 0px;
}
}
@media(max-width:780px){
  .pasos-row{
  flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
}

}
/* COLORES MARCADOS */
.paso-1{ 
  background:#3f131d; 
}

.paso-2{ background:#5a1e2b; }
.paso-3{ background:#702132; }
.paso-4{ background:#912a40; }
.paso-5{ background:#a72f49; }




/* TRANSICIÓN ENTRE PASOS */
.paso:not(:last-child)::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:40px;
  height:100%;
  background:linear-gradient(
    to right,
    rgba(0,0,0,0),
    rgba(0,0,0,.35)
  );
  z-index:2;
}

/* ICONOS GRANDES */
.paso i{
  font-size:3.6rem;
  color:#fff;
  margin-bottom:20px;
  filter:drop-shadow(0 0 6px rgba(201,162,77,.35));
}

/* TEXTO */
.paso p{
  font-family:'Cinzel', serif;
  font-size:1rem;
  letter-spacing:2px;
  text-transform:uppercase;
  line-height:1.6;
  margin:0;
}

/* NUMERO */
.paso-num{
  position:absolute;
  top:-22px;
  left:-10px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#fff;
  color:#3a1a10;
  font-family:'Cinzel', serif;
  font-weight:700;
  font-size:1.35rem;
  border: 5px solid #c9a24d;
  display:flex;
  align-items:center;
  justify-content:center;

  box-shadow:
    0 6px 18px rgba(0,0,0,.45),
    inset 0 0 0 2px rgba(201,162,77,.35);

  z-index:5;
}

/* BRILLO SUTIL */
.paso::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent,
    rgba(201,162,77,.12),
    transparent
  );
  opacity:0;
  transition:.6s;
}

.paso:hover::before{
  opacity:1;
}

/* ICONOS FUERTES */
.paso i{
  position:relative;
  z-index:4;
  font-size:4.5rem;
  color:#ffffff;
  margin-bottom:22px;
  filter:
    drop-shadow(0 0 8px rgba(201,162,77,.45))
    drop-shadow(0 0 2px rgba(0,0,0,.6));
}

/* refuerzo específico paso 3 */
.paso-3 i{
  color:#fff;
}
.paso::before{
  z-index:1;
}
/* MOBILE */
@media(max-width:991px){
  .paso{
    min-height:320px;
  }
}




@media (max-width:876px){
.top-header{
  position: static;
  top: 0;
}
.hero{

      margin-top: 0px;
    }
}