body{
  font-family: Arial, Helvetica, sans-serif;
}

/* NAV */
.navbar{
  background: linear-gradient(to right, #f7f8f9, #299AD6);
}


/* HERO */
.hero{
  background:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),
  
  background-size:cover;
  background-position:center;
  height:95vh;
  color:white;
  display:flex;
  align-items:center;
  text-align:center;
}

.hero h1{
  font-size:3rem;
  font-weight:bold;
}

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

/* SERVICIOS */
.service-box{
  padding:30px;
  border-radius:10px;
  box-shadow:0 5px 15px rgba(0,0,0,.1);
  transition:.3s;
  background:white;
}

.service-box:hover{
  transform:translateY(-5px);
}

/* METRICS */
.metrics{
  background:#f5f7fa;
  text-align:center;
}

.metrics h2{
  color:#2F5DAA;
  font-weight:bold;
}

/* CTA */
.cta{
  background:#2F5DAA;
  color:white;
  text-align:center;
}

/* CONTACT */
.contact-box{
  box-shadow:0 5px 15px rgba(0,0,0,.1);
  padding:30px;
  border-radius:10px;
}

/* FOOTER */
footer{
  background:#111;
  color:white;
}



/* MOBILE ICON BAR */

.mobile-icons{
  position: fixed;
  top: 56px;              /* debajo del navbar */
  width: 100%;
  background: white;
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding: 10px 0;
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
  z-index: 999;
}

.mobile-icons a{
  color: #299ad6;
  font-size: 1.3rem;
  text-decoration: none;
}

/* Ocultar en desktop */
@media(min-width:992px){
  .mobile-icons{
    display:none;
  }
}
body{
  margin-top: 80px; /* altura del navbar */
}


/* LOGO NAVBAR */

.logo{
  height:40px;
  width:auto;
}

/* Texto marca */
.brand-text{
  font-weight:600;
  font-size:1rem;
  color:white;
}

/* Responsive */
@media(max-width:768px){

  .brand-text{
    display:none; /* solo logo en mobile */
  }

  .logo{
    height:35px;
  }

}


/* Links normales */
.navbar .nav-link{
  color:#0a2156;
  font-weight:500;
  transition:.3s;
}

/* Hover */
.navbar .nav-link:hover{
  color:#3FA9F5;
}

/* Activo */
.navbar .nav-link.active{
  color:#10022d;
  font-weight:600;
}

/* Mobile collapse */
.navbar-collapse{
  
  padding:10px;
}



.service-box{
  background:white;
  padding:35px 25px;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  transition:.35s;
  height:100%;
  position:relative;
  overflow:hidden;
}

/* Hover elegante */
.service-box:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.15);
}



.service-box::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#1E3F73,#3FA9F5);
}



.icon-box{
  width:70px;
  height:70px;
  margin:0 auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#2F5DAA,#3FA9F5);
  border-radius:50%;
  color:white;
  font-size:1.6rem;
}


#servicios{
  background:linear-gradient(#F5F7FA,#FFFFFF);
}


#servicios{
  background:
  linear-gradient(rgba(245,247,250,.95),
                  rgba(255,255,255,.95)),
  url('../img/pattern-tech.png');
}


.section-title{
  font-weight:700;
  color:#1E3F73;
  margin-bottom:60px;
  position:relative;
}

.section-title::after{
  content:'';
  width:60px;
  height:4px;
  background:#3FA9F5;
  display:block;
  margin:15px auto 0;
}




.modal-content{
  border-radius:14px;
  border:none;
  box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.modal-header{
  border-bottom:none;
}

.modal-footer{
  border-top:1px solid #eee;
}





/* ========================================= */
/* SECCIÓN CLIENTES */
/* ========================================= */

.clientes {
  background: #ffffff;
  overflow: hidden; /* 🔥 evita desbordes generales */
}


/* ========================================= */
/* CLIENTE DESTACADO */
/* ========================================= */

.cliente-destacado {
  display: block;
  margin: 0 auto 40px;

  width: 100%;          /* Se adapta al contenedor */
  max-width: 500px;    /* Límite visual horizontal */

  height: auto;
  max-height: 120px;  /* Controla altura */

  object-fit: contain;

  filter: grayscale(100%);
  opacity: 0.9;
  transition: all 0.3s ease;
}

/* Hover elegante */

.cliente-destacado:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.03);
}


/* ========================================= */
/* MARQUESINA */
/* ========================================= */

.logo-marquee {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding: 25px 0;
  background: #f8f9fa;
}


/* TRACK DE LOGOS */

.logo-track {
  display: flex;
  align-items: center;
  gap: 70px;

  width: max-content;

  animation: scroll 40s linear infinite;
}


/* LOGOS INDIVIDUALES */

.logo-track img {
  height: 60px;
  max-width: 140px;

  width: auto;
  object-fit: contain;

  filter: grayscale(100%);
  opacity: 0.8;

  transition: all 0.3s ease;
}


/* Hover logos */

.logo-track img:hover {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.08);
}


/* ========================================= */
/* ANIMACIÓN INFINITA */
/* ========================================= */

@keyframes scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}


/* ========================================= */
/* FADE LATERAL (EFECTO PREMIUM) */
/* ========================================= */

.logo-marquee::before,
.logo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  width: 120px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

/* Fade izquierdo */

.logo-marquee::before {
  left: 0;
  background: linear-gradient(to right, #f8f9fa, transparent);
}

/* Fade derecho */

.logo-marquee::after {
  right: 0;
  background: linear-gradient(to left, #f8f9fa, transparent);
}


/* ========================================= */
/* RESPONSIVE */
/* ========================================= */

@media (max-width: 992px) {

  .logo-track {
    gap: 50px;
    animation: scroll 30s linear infinite;
  }

  .logo-track img {
    height: 50px;
    max-width: 120px;
  }

  .cliente-destacado {
    max-height: 100px;
    max-width: 400px;
  }

}


@media (max-width: 768px) {

  .logo-track {
    gap: 40px;
    animation: scroll 25s linear infinite;
  }

  .logo-track img {
    height: 45px;
    max-width: 100px;
  }

  .cliente-destacado {
    max-height: 80px;
    max-width: 300px;
  }

}


@media (max-width: 480px) {

  .logo-track {
    gap: 30px;
    animation: scroll 20s linear infinite;
  }

  .logo-track img {
    height: 40px;
    max-width: 90px;
  }

  .cliente-destacado {
    max-height: 70px;
    max-width: 260px;
  }

}



.contact-box {
  background: #ffffff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.section-title {
  font-weight: 600;
}

.form-label {
  font-weight: 500;
}

.btn-primary {
  font-weight: 500;
  letter-spacing: 0.3px;
}
