/* VARIABLES */
:root{
  --primary:#22003f;
  --primary-2:#3a0b63;
  --accent:#33ace3;
  --accent-2:#b128a5;
  --light:#f4f4f6;
  --text:#1e1e1e;
  --muted:#6c6c76;
  --orange:#f48b33;
}

/* BASE */
body{
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background:#fff;
}

/* HEADER */
.topbar{
  background:var(--primary);
  padding:22px 0;
}

.logo{
  height:90px;
  width:auto;
  transition:all .3s ease;
}

.logo:hover{
  transform:scale(1.05);
}

/* BOTONES */
.btn-main{
  background:var(--accent);
  color:#fff;
  border:none;
  border-radius:6px;
  padding:14px 26px;
  font-weight:600;
  transition:all .25s ease;
}

.btn-main:hover{
  background:#2497cb;
  color:#fff;
}

.btn-secondary-custom{
  background:var(--accent-2);
  color:#fff;
  border:none;
  border-radius:6px;
  padding:14px 28px;
  font-weight:600;
  transition:all .25s ease;
}

.btn-secondary-custom:hover{
  background:#971f8d;
  color:#fff;
}

/* HERO */
.hero{
  background:var(--primary);
  color:#fff;
  padding:70px 0;
}

.hero h1{
  font-size:clamp(2rem,4vw,3.5rem);
  line-height:1.05;
  font-weight:800;
  margin-bottom:24px;
}

.hero h1 .boxed{
  display:inline;
  box-shadow: none;
  padding:4px 0;
}

.hero p{
  font-size:1.15rem;
  color:#d9d3e2;
  max-width:700px;
  margin-bottom:30px;
}

/* FORM */
.lead-form-card{
  background:#d8d8d8;
  padding:28px;
}

.form-control,
.form-select{
  border-radius:0;
  min-height:52px;
  border:1px solid #8fd0ef;
  box-shadow:none;
}

.form-control:focus,
.form-select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 .15rem rgba(51,172,227,.15);
}

/* SECCIONES */
.section{
  padding:70px 0;
  background:#fff; /* evita gris */
}

.section-title{
  font-size:clamp(2rem,3vw,3rem);
  font-weight:800;
  margin-bottom:18px;
  text-align:center;
}

/* LOGOS */
.logos-row img{
  height:80px;         /* altura uniforme */
  width:auto;
  object-fit:contain;
  display:block;
  margin:0 auto;
  filter:grayscale(0%);
  opacity:.9;
  transition:all .3s ease;
}

.logos-row img:hover{
  opacity:1;
  transform:scale(1.05);
}

.logos-row .col-lg{
  display:flex;
  align-items:center;
  justify-content:center;
}

.logos-row img{
  max-height:70px;
  width:auto;
  object-fit:contain;
}

@media (max-width:768px){
  .logos-row img{
    max-height:50px;
  }
}

/* FEATURES MEJORADO */
.feature-strip{
  background:var(--primary);
  color:#fff;
  padding:26px 0;
  margin:0;
}

.feature-item{
  display:flex;
  align-items:center;
  gap:24px; /* más espacio */
  justify-content:center;
  text-align:left;
  font-size:1.2rem;
  font-weight:700;
}

.feature-icon{
  width:110px;
  height:110px;
  object-fit:contain;
  padding:14px;
  background:rgba(255,255,255,0.06);
  border-radius:20px;
  flex-shrink:0;
}

/* RIESGOS */
.risk-card{
  text-align:center;
  padding:28px 20px;
  border-radius:16px;
  background:#fff;
  height:100%;
  transition:all .3s ease;
}

.risk-card:hover{
  transform:translateY(-8px);
  box-shadow:0 16px 36px rgba(0,0,0,.08);
}

.risk-card img{
  width:105px;
  height:105px;
  object-fit:contain;
  margin-bottom:20px;
}

.risk-card h3{
  font-size:1.45rem;
  color:var(--primary);
  font-weight:800;
  line-height:1.3;
  min-height:76px;
  margin-bottom:14px;
}

.risk-card p{
  color:#7f7f88;
  font-size:1.08rem;
  line-height:1.6;
}

/* TEXTO DESTACADO */
.highlight-text{
  color:var(--accent);
  font-size:clamp(1.8rem,3vw,3rem);
  line-height:1.2;
  font-weight:800;
  text-align:center;
  margin:40px auto 30px;
  max-width:1000px;
}

/* WHY */
.why-title{
  color:var(--orange);
  font-size:clamp(2rem,3vw,3rem);
  font-weight:800;
  margin-bottom:16px;
}

.why-list{
  list-style:none;
  padding:0;
  margin:0;
  font-size:1.2rem;
  color:var(--primary);
  line-height:1.9;
}

/* UNIFIED */
.unified-title{
  font-size:clamp(2rem,3.4vw,3.2rem);
  line-height:1.15;
  font-weight:800;
  color:var(--primary);
  text-align:center;
}

.unified-title em{
  color:#167fb5;
  font-style:italic;
}

.unified-sub{
  color:#f2aa7f;
  text-align:center;
  font-size:1.1rem;
  margin-bottom:42px;
}

/* MINI SERVICIOS */
.mini-service h4{
  font-size:1.35rem;
  color:var(--primary);
  font-weight:800;
  margin-bottom:10px;
}

.mini-service p{
  color:#7e7e86;
  font-size:1.1rem;
}

/* BANNER AZUL */
.blue-banner{
  background:#9fd2ec;
  padding:70px 0 0;
  overflow:hidden;
  position:relative;
}

.blue-banner .container{
  position:relative;
}

.blue-banner .row{
  min-height:420px; /* altura del bloque */
  align-items:center; /* 👈 centra verticalmente TODO */
}

.blue-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.blue-banner h2{
  color:var(--primary);
  font-size:clamp(2.6rem, 4vw, 3.6rem);
  font-weight:800;
  margin-bottom:20px;
  line-height:1.15;
  max-width:950px;
}

.blue-banner ul{
  color:var(--accent-2);
  font-size:1.35rem;
  line-height:1.8;
  margin:0;
  padding-left:24px;
}

.blue-figure-wrap{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.blue-figure{
  width:100%;
  max-width:430px;
  height:auto;
  display:block;
  margin:0 auto;
  transform:translateY(32px);
}

/* GUÍA */
.guide-title{
  color:var(--primary);
  font-size:clamp(2.2rem,4vw,4rem);
  font-weight:800;
  text-align:center;
}

.guide-sub{
  color:var(--orange);
  text-align:center;
  font-size:1.2rem;
  margin-bottom:30px;
}

/* CTA FINAL */
.bottom-cta{
  background:var(--primary);
  color:#fff;
  padding:50px 0;
}

.bottom-cta h3{
  font-size:clamp(1.8rem,3vw,3rem);
  font-weight:800;
}

/* TEXTO PEQUEÑO */
.small-note{
  color:#b8b1c6;
  font-size:.95rem;
}

/* TITULO CLIENTES */
.trusted-title{
  color:var(--primary);
  font-weight:800;
  text-align:center;
  font-size:clamp(1.7rem,2.4vw,2.7rem);
  margin-bottom:28px;
  text-decoration:none;
}

/* RESPONSIVE */
@media (max-width: 991.98px){

  .hero{
    padding:42px 0 55px;
  }

  .hero .hero-copy{
    order:2;
    margin-top:25px;
    text-align:center;
  }

  .hero-copy p{
    margin-left:auto;
    margin-right:auto;
  }

  .hero .hero-form{
    margin-top:10px;
    order:1;
  }

  .topbar .btn-main{
    width:100%;
  }

  .feature-item{
    justify-content:flex-start;
  }

  .bottom-cta .text-lg-end{
    text-align:left !important;
    margin-top:20px;
  }

  .risk-card{
    padding:24px 16px;
  }

  .risk-card img{
    width:90px;
    height:90px;
  }

  .risk-card h3{
    font-size:1.25rem;
    min-height:auto;
  }

  .risk-card p{
    font-size:1rem;
  }

 .blue-banner{
    padding:55px 0 0;
  }

  .blue-banner h2{
    font-size:clamp(2.1rem, 5vw, 3rem);
    max-width:100%;
  }

  .blue-banner ul{
    font-size:1.12rem;
    line-height:1.7;
    padding-left:22px;
    margin-bottom:20px;
    text-align:left; /* mantiene bullets alineados bonito */
    display:inline-block;
  }

  .blue-figure{
    max-width:300px;
    transform:translateY(14px);
  }

  .blue-banner .row{
    text-align:center;
  }

  .blue-text{
    align-items:center;
  }


  
}

@media (max-width: 575.98px){

  .logo{
    height:60px;
  }

  .risk-card img{
    width:82px;
    height:82px;
  }

  .risk-card h3{
    font-size:1.15rem;
  }

  .risk-card p{
    font-size:.98rem;
  }

.blue-banner{
    padding:45px 0;
    text-align:left;
  }

  .blue-banner h2{
    font-size:2rem;
    line-height:1.15;
    max-width:100%;
    margin-bottom:18px;
  }

  .blue-banner ul{
    font-size:1.05rem;
    line-height:1.65;
    padding-left:20px;
    margin-bottom:25px;
  }

  .blue-banner ul li{
    margin-bottom:10px;
  }

  .blue-banner img{
    max-width:240px;
    width:100%;
    display:block;
    margin:20px auto 0;
  }

}