


html{
    scroll-behavior: smooth;
}

body{
    background-color: #FAFCFE;
    overflow-x: hidden;
}

main {
    max-width: 1600px;
    margin: auto;
}

:root{
    --navy:      #021942;
      --navy-dark: #091428;
      --cyan:      #00AFEF;
      --cyan-dark: #0D67A5;
      --white:     #ffffff;
      --grey: #828181;
      --grey-tit: #3D3D3D;
}

section[id] {
  scroll-margin-top: 100px;
}

/* HERO */

.header{
    background-image: url("../images/hero-home.webp");
    background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  min-height: 420px;
  position: relative;
}

.hero{
    margin: 0px 10px;
    padding: 140px 10px 180px 10px;
}

.hero-content{
  max-width: 720px;
  margin: auto;
}

.hero-content h1{
    color: var(--white);
    font-size: 16px;
    font-variant: small-caps;
    left: 2px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 8px;
}

.hero-content p:first-of-type{
    color: var(--white);
    font-size: 36px;
    letter-spacing: 2px;
    font-weight: bolder;
    text-align: center;
    margin-bottom: 34px;
    line-height: 1;
}

.hero-content p:first-of-type span{
    background: linear-gradient(135deg, #00AFEF 70%, #78CFEA 100%);
    -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-content p:nth-of-type(2){
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--white);
    line-height: 1.5;
    text-align: center;
    margin-bottom: 34px;
}

.hero-content ul{
    font-size: 16px;
    letter-spacing: 2px;
    color: var(--white);
    font-weight: 600;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

.hero-content ul i{
    color: var(--cyan);
}

.btn-transparente{
  display: none;
}


.btn-relleno,
.btn-banner-cta{
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 12px 30px;
  border-radius: 16px;
  color: white;
  font-variant: small-caps;
  align-items: center;
    justify-content: center;
    max-width: 280px;
    transition: transform 0.25s ease;
    cursor: pointer;
    background: linear-gradient(135deg, #0D67A5 70%, #00AFEF 100%);
}

.btn-relleno:hover,
.btn-banner-cta:hover{
  transform: translate(2px, -2px);
}

.ctas-hero{
      display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    margin-top: 74px;
}

/* CAJA VALORES */

.secc-caja-valores{
  position: relative;
  z-index: 20;
  margin-top: -60px;
  display: flex;
    justify-content: center;
}

.caja-valores{
  display: flex;
  flex-direction: column;
  gap: 16px;
  background-color: var(--white);
  border-radius: 40px;
  padding: 36px 26px;
  box-shadow: 0 8px 24px rgba(110, 130, 145, 0.25);
  margin: 0 16px;
}

.caja-valores div{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.caja-valores div img{
  width: 54px;
  height: auto;
}

.caja-valores div p{
  color: var(--navy-dark);
  font-size: 34px;
  font-weight: bolder;
  line-height: 16px;
}

.caja-valores div p span{
  color: var(--grey);
  font-size: 12px;
  letter-spacing: 2px;
  font-weight: 400;
  line-height: 0;
}

/* CARRUSEL */

.carrusel{
      max-width: 720px;
    margin: 84px auto 0 auto;
}

.carrusel-txt{
  color: var(--grey);
  font-size: 20px;
  letter-spacing: 2px;
  font-variant: small-caps;
  text-align: center;
}

:root {
      --logo-h: 32px;       /* altura en mobile */
      --item-gap: 40px;     /* espacio entre logos */
      --duration: 22s;      /* duración del loop — bajá para ir más rápido */
      --fade-w: 60px;       /* ancho del fade lateral */
    }

 .logos-section {
      width: 100%;
      padding: 16px 0 2em 0;
      overflow: hidden;
      position: relative;
    }
 
    /* Fades laterales */
    .logos-section::before,
    .logos-section::after {
      content: "";
      position: absolute;
      inset-block: 0;
      width: var(--fade-w);
      z-index: 2;
      pointer-events: none;
    }
    .logos-section::before {
      left: 0;
      background: linear-gradient(to right, var(--carousel-bg) 0%, transparent 100%);
    }
    .logos-section::after {
      right: 0;
      background: linear-gradient(to left, var(--carousel-bg) 0%, transparent 100%);
    }
 
    /* ─────────────────────────────────────────
       TRACK — animación CSS pura
    ───────────────────────────────────────── */
    .logos-track {
      display: flex;
      align-items: center;
      gap: var(--item-gap);
      width: max-content;
 
      /* pausa por defecto, JS activa cuando está en vista */
      animation: scroll-logos var(--duration) linear infinite;
      animation-play-state: paused;
    }
 
    .logos-track.is-playing {
      animation-play-state: running;
    }
 
    @keyframes scroll-logos {
      0%   { transform: translateX(0); }
      100% { transform: translateX(-50%); }
      /* 50% porque el track tiene 2 copias: al llegar al 50% reseteamos
         de forma invisible y el ojo no lo nota */
    }
 
    /* ─────────────────────────────────────────
       LOGOS
    ───────────────────────────────────────── */
    .logo-item {
      flex-shrink: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0.9;
      transition: opacity 0.3s;
    }
    .logo-item:hover { opacity: 1; }
 
    .logo-item img {
      height: var(--logo-h);
      width: auto;
      max-width: 120px;
      object-fit: contain;
      display: block;
      user-select: none;
      -webkit-user-drag: none;
      /* Escala de grises — quitá si querés color siempre */
      filter: grayscale(100%);
      transition: filter 0.3s;
    }
    .logo-item:hover img { filter: grayscale(0%); }
 

    /* SERVICIOS */

    .servicios-secc{
      margin: 84px 16px;
      display: flex;
    justify-content: center;
    }

    .servicios-secc div{
      max-width: 1200px;
    }

    .sevicios-tit{
      color: var(--grey-tit);
      font-size: 46px;
      letter-spacing: 1px;
      font-weight: bold;
      padding-bottom: 18px;
      position: relative;
    display: inline-block;
    margin-bottom: 64px;
    line-height: 1;
    }

    .sevicios-tit::after{
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 76px;
      height: 4px;
      background-color: var(--cyan-dark);
    }


    /* SERVICIOS TARJETA */

    .tarjetas{
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      gap: 36px;
    }

    .tarjeta-servicios{
      max-width: 440px;
      border-radius: 40px;
      box-shadow: 0 8px 24px rgba(110, 130, 145, 0.25);
      margin: 0 16px;
      background-color: white;
    }

    .tarjeta-servicios img{
      border-radius: 40px 40px 0px 0;
      max-width: 100%;
      height: auto;
    }

    .tj-serv-content{
      display: block;
      padding: 0 26px 34px 26px;
    }

    .tj-serv-tit{
      display: flex;
      flex-direction: row;
      padding: 44px 0 30px 0;
      gap: 16px;
      align-items: center;
    }

    .tj-serv-tit h3{
      color: var(--grey-tit);
      font-size: 28px;
      letter-spacing: 1px;
      font-weight: bold;
    }

    .tj-serv-tit h3 span{
      background: linear-gradient(135deg, #00AFEF 70%, #78CFEA 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    }

    .tarjeta-servicios p{
      color: var(--grey-tit);
      font-size: 16px;
      letter-spacing: 1px;
      line-height: 1.5;
    }


  /* PORQUE ELEGIRNOS */

  .porque-secc{
    display: flex;
    justify-content: center;
    margin: 0 20px;
  }

  .porque-caja{
    border-radius: 40px;
    box-shadow: 0 8px 24px rgba(110, 130, 145, 0.25);
    background-color: white;
    padding: 54px 20px;
    max-width: 980px;
  }

  .porque-tit h2{
    color: var(--cyan-dark);
    text-align: center;
    font-size: 32px;
    letter-spacing: 3px;
    font-variant: small-caps;
    line-height: 1;
    margin-bottom: 16px;
  }

  .porque-tit p {
    text-align: center;
    color: var(--grey-tit);
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.5;
  }

  .li-porque{
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
    max-width: 280px;
  }

  .li-porque div{
    display: flex;
    flex-direction: row;
    gap: 16px;
  }

  .li-porque div p{
    color: var(--grey-tit);
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: bold;
  }

  .li-porque div img{
    width: 34px;
    height: 34px;
  }

  .li-porque p{
    color: var(--grey-tit);
    font-size: 14px;
    letter-spacing: 1px;
    line-height: 1.2;
  }

  .porque-content ul{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 36px;
    margin: 54px 0;
  }

   .btn-transparente-azul{
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 8px 16px;
  border: 1px solid var(--cyan);
  border-radius: 16px;
  color: var(--cyan-dark);
  align-items: center;
    justify-content: center;
    max-width: 280px;
    transition: transform 0.25s ease;
    cursor: pointer;
}

.btn-transparente-azul:hover{
  transform: translate(2px, -2px);
}

.porque-ctas{
  display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: center;
}

/* TESTTIMONIOS */

:root {
      --testimonios-bg: #ffffff;
      --dot-color: #cccccc;
      --dot-active: #000000;
      --dot-size: 8px;
      --dot-gap: 8px;
      --transition-speed: 500ms;
      --autoplay-delay: 5000ms; /* ms entre slides */
    }

    .testimonios-secc{
      margin: 164px 0;
    }

    .testimonios-secc div{
      max-width: 1200px;
      margin: auto;
    }

  .testimonios-tit{
    margin: 0 16px 34px 16px;
  }

.testimonios-section {
      width: 100%;
      position: relative;
    }

    blockquote{
      display: flex;
      flex-direction: column;
      gap: 34px;
      max-width: 780px;
    margin: 0 auto;
    background-color: #01295E;
      border-radius: 40px;
      padding: 84px 20px;
    }

    blockquote p{
      font-size: 16px;
      color: white;
      letter-spacing: 2px;
      line-height: 1.3;
      text-align: center;
    }

    blockquote p i{
      color: #00AFEF;
      font-size: 36px;
      padding: 0 16px;
    }

    blockquote cite{
      font-size: 14px;
      color: white;
      letter-spacing: 2px;
      text-align: center;
      font-style: italic;
    }

    blockquote img{
      width: 100%;
      max-width: 180px; /* ajustá según necesites */
    height: auto;
    display: block;
    margin: 0 auto;
    margin-top: 34px;
    }

  
    /* ─────────────────────────────────────────
       VIEWPORT — ventana que recorta las slides
    ───────────────────────────────────────── */
    .testimonios-viewport {
      overflow: hidden;
      width: 100%;
      position: relative;
       background-image: url("../images/historias-bckg.webp");
    background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  border-radius: 40px;
  min-height: 420px;
    }
 
    /* ─────────────────────────────────────────
       TRACK — fila de slides
    ───────────────────────────────────────── */
    .testimonios-track {
      display: flex;
      transition: transform var(--transition-speed) ease-in-out;
      will-change: transform;
    }
 
    /* ─────────────────────────────────────────
       SLIDE — ocupa siempre el 100% del viewport
    ───────────────────────────────────────── */
    .testimonio-slide {
      flex: 0 0 100%;
      width: 100%;
      /* ── Acá va tu contenido interno ── */
      padding: 2rem 1rem;
    }

     /* ─────────────────────────────────────────
       CONTROLES — flechas
    ───────────────────────────────────────── */
    .testimonios-controls {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
    }
 
    .testimonios-btn {
      background: none;
      border: 1px solid var(--dot-active);
      border-radius: 50%;
      width: 36px;
      height: 36px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      transition: background 0.2s, color 0.2s;
      color: var(--dot-active);
    }
    .testimonios-btn:hover {
      background: var(--dot-active);
      color: var(--testimonios-bg);
    }
    .testimonios-btn svg {
      width: 14px;
      height: 14px;
      stroke: currentColor;
      fill: none;
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

     /* ─────────────────────────────────────────
       DOTS
    ───────────────────────────────────────── */
    .testimonios-dots {
      display: flex;
      align-items: center;
      gap: var(--dot-gap);
    }
 
    .testimonios-dot {
      width: var(--dot-size);
      height: var(--dot-size);
      border-radius: 50%;
      background: var(--dot-color);
      border: none;
      cursor: pointer;
      padding: 0;
      transition: background 0.3s, transform 0.3s;
    }
    .testimonios-dot.is-active {
      background: var(--dot-active);
      transform: scale(1.3);
    }
 
/* FORMULARIO */

.form-secc{
  margin: 64px auto;
    display: flex;
    justify-content: center;
    max-width: 1200px;
}

.success-message,
.error-message {
  display: none;
  margin-bottom: 40px;
}

.success-message { color: #0a7b28 !important; font-size: 16px !important;}
.error-message   { color: #b00020 !important; font-size: 16px !important;}

.form-div{
  background-image: url("../images/form-bkg.webp");
    background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  min-height: 420px;
  border-radius: 40px;
    padding: 64px 16px;
}

.form-div h2{
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 1px;
  text-align: center;
  color: white;
  margin-bottom: 44px;
}

.form-content{
  display: flex;
  flex-direction: column;
  gap: 44px;
}

.form-derecha,
.form-izquierda{
  background-color: #FAFCFE;
  border-radius: 40px;
  padding: 44px 20px;
}

.form-derecha{
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.form-derecha a{
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}

.form-derecha a span{
  color: var(--grey-tit);
  font-size: 16px;
}

.form-derecha a span:hover{
  text-decoration: underline;
}

.form-derecha a i{
  color: var(--cyan-dark);
  font-size: 26px;
}

.form-izquierda p {
  font-size: 24px;
  color: var(--grey-tit);
  font-weight: bold;
  margin-bottom: 34px;
}


.form-box,
.form-box-msj{
  display: flex;
  flex-direction: column;
  margin-bottom: 16px;
}

.form-box,
.form-box-msj label{
  font-variant: small-caps;
  font-size: 16px;
  color: var(--grey-tit);
}

.form-box input{
  height: 34px;
  border: solid rgb(204, 202, 202);
  border-width: 1px 0 1px 0;
}

.form-box-msj textarea{
  height: 64px;
  border: solid rgb(204, 202, 202);
  border-width: 1px 0 1px 0;
  resize: vertical;
}

.cta-form{
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 8px 26px;
  border: none;
  border-radius: 16px;
  color: white;
  font-variant: small-caps;
  align-items: center;
    justify-content: center;
    max-width: 240px;
    transition: transform 0.25s ease;
    cursor: pointer;
    background: linear-gradient(135deg, #0D67A5 70%, #00AFEF 100%);
    margin-top: 34px;
}

.cta-form:hover{
  transform: translate(2px, -2px);
}





@media (min-width: 425px) {

  /* HERO */
.btn-relleno,
.btn-transparente{
  letter-spacing: 2px;
}

/* CARRUSEL */

:root {
        --logo-h: 38px;
        --item-gap: 52px;
      }


}


@media (min-width: 768px) {

  /* HERO */

  .header {
    min-height: 520px;
  }

  .hero-content p:first-of-type{
    font-size: 46px;
  }

  .hero-content ul{
    flex-direction: row;
    justify-content: center;
  }

  .ctas-hero{
    flex-direction: row;
    justify-content: center;
    margin-top: 64px;
  }

  .hero-content p:nth-of-type(2) {
    font-size: 16px;
  }

  .btn-relleno,
.btn-banner-cta{
  font-size: 16px;
  padding: 8px 26px;
}

  .btn-transparente{
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 8px 26px;
  border: 1px solid var(--cyan);
  border-radius: 16px;
  color: white;
  font-variant: small-caps;
  align-items: center;
    justify-content: center;
    max-width: 320px;
    transition: transform 0.25s ease;
    cursor: pointer;
}

.btn-transparente:hover{
  transform: translate(2px, -2px);
}

/* CAJA DE VALORES */

.caja-valores{
  flex-direction: row;
    padding: 26px 64px;
    max-width: 800px;
}

/* CARRUSEL */
:root {
        --logo-h: 44px;
        --item-gap: 64px;
        --fade-w: 80px;
      }

 /* SERVICIOS TARJETA */

 .tj-serv-content{
  padding: 0 44px 44px 44px;
 }

 .tarjeta-servicios{
  transition: transform 0.25s ease;
 }

 .tarjeta-servicios:hover{
  transform: translate(2px, -2px);
 }

 /* SERVICIOS */

    .servicios-secc{
      margin: 84px 60px;
    }

   /* PORQUE ELEGIRNOS */

  .porque-secc{
    margin: 0 40px;
  }

  .porque-caja{
    padding: 54px 44px;
  }

  .porque-ctas{
    flex-direction: row;
  }

  /* TESTIMONIOS */

  .testimonios-tit{
        margin: 0 60px 34px 60px;
  }


   .testimonio-slide { padding: 2.5rem 2rem; }

   .testimonios-btn { width: 42px; height: 42px; }
      .testimonios-btn svg { width: 16px; height: 16px; }

  /* FORMULARIO */

  .form-div{
    border-radius: 60px;
  }

  .form-content {
    flex-direction: row;
    gap: 20px;
}

.form-izquierda{
  padding: 44px 64px;
}

}

@media (min-width: 1024px) {

  /* HERO */

  .header {
    min-height: 620px;
  }

  .hero{
    padding: 200px 10px 180px 10px;
}

/* CARRUSEL */

:root {
        --logo-h: 52px;
        --item-gap: 80px;
        --fade-w: 100px;
      }

      /* SERVICIOS */

    .servicios-secc{
      margin: 84px 64px;
    }

    /* PORQUE ELEGIRNOS */

    .porque-tit{
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .porque-tit h2{
      font-size: 42px;
    }

    .porque-tit p{
      width: 90%;
    }

  /* TESTTIMONIOS */

  .testimonios-tit{
        margin: 0 64px 34px 64px;
  }


  .testimonio-slide { padding: 3rem; }

  /* FORMULARIO */

  .form-div h2{
    font-size: 42px;
  }

  .form-box input{
    width: 380px;
  }

  .form-div{
    padding: 64px 46px;
  }
}

@media (min-width: 1440px) {

  /* HERO */

  .header {
    min-height: 720px;
  }

  /* SERVICIOS */

    .servicios-secc{
      margin: 84px 84px;
    }

  /* TESTIMONIOS */

  .testimonios-tit{
    margin: 0 84px 34px 84px;
  }
}

 @media (prefers-reduced-motion: reduce) {
      .logos-track { animation: none !important; }
    }

@media (prefers-reduced-motion: reduce) {
      .testimonios-track { transition: none; }
    }