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;
}

/* HERO */

header{
    background-image: url("../images/procesos-hero.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%); }


    /* PORQUE ELEGIRNOS */

  .porque-secc{
    display: flex;
    justify-content: center;
    margin: 84px 8px;
  }

  .porque-caja{
    border-radius: 40px;
    box-shadow: 0 8px 24px rgba(110, 130, 145, 0.25);
    background-color: white;
    padding: 84px 26px;
    max-width: 980px;
  }
  
  .box-tit{
      color: var(--grey-tit);
      font-size: 32px;
      letter-spacing: 1px;
      font-weight: bold;
      padding-bottom: 18px;
      position: relative;
    display: inline-block;
    margin-bottom: 24px;
    line-height: 1;
    }

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

    .box-tit span{
       background: linear-gradient(135deg, #115A91 0%, #00AFEF 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }


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

  .li-porque{
    display: flex;
    flex-direction: column;
    gap: 16px;
    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;
}

/* SERVICIOS */

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

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

.h2-azul{
  color: var(--cyan-dark);
  font-size: 18px;
  font-variant: small-caps;
  letter-spacing: 3px;
  margin-bottom: 8px;
}

.servicios-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;
    max-width: 680px;
    }

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

     .servicios-tit span{
       background: linear-gradient(135deg, #115A91 0%, #00AFEF 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }

    .servicios-txt{
    color: var(--grey-tit);
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.5;
    max-width: 720px;
    }

  /* SERVICIOS TARJETAS */

  .card{
    box-shadow: 0 8px 24px rgba(110, 130, 145, 0.25);
    background-color: white;
    margin: 64px 0 34px 0;
    max-width: 880px !important;
  }

  .derecha{
    display: flex;
    justify-content: flex-end;
  }

  .izquierda{
    display: flex;
    justify-content: flex-start;
  }

  .card-dr{
    border-radius: 60px 0 0 60px;
  }

  .card-iz{
    border-radius: 0 60px 60px 0;
  }

  .card-img{
    padding: 24px;
  }

  .card-img img{
    width: 280px;
    height: auto;
  }

  .card-img-dr img{
    border-radius: 56px 0 0 56px;
  }

  .card-img-iz img{
    border-radius: 0 56px 56px 0;
  }

  .card-tit h3{
    color: var(--grey-tit);
    font-size: 32px;
    letter-spacing: 1px;
    margin-bottom: 16px;
  }

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

  .card-txt{
    color: var(--grey-tit);
    font-size: 15px;
    letter-spacing: 1px;
  }

  .card ul{
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 36px;
  }

   .card ul li{
    display: flex;
    flex-direction: row;
    gap: 16px;
  }

  .card-cta{
    color: var(--cyan-dark);
    font-size: 14px;
    letter-spacing: 1px;
    text-decoration: underline;
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-top: 36px;
    align-items: center;
    font-weight: bold;
    transition: transform 0.25s ease;
  }

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

  .card-content{
    padding: 34px 26px 64px 26px;
  }

  /* OTROS SERVICIOS */

    .otros-h2 h2 {
  color: var(--grey-tit);
  font-size: 36px;
  letter-spacing: 1px;
  font-weight: bold;
  padding-bottom: 18px;
  position: relative;
  margin-bottom: 64px;
  line-height: 1;
  text-align: center;
}

.otros-h2 h2::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 76px;
  height: 4px;
  background-color: var(--cyan-dark);
}


  /* CARRUSEL OTROS SERVICIOS */

  .carousel-wrapper {
      position: relative;
      width: 100%;
      overflow: hidden;
      max-width: 980px;
      margin-inline: auto;
    }
 
    /* ── Track ── */
    .carousel-track {
      display: flex;
      gap: 16px;
      padding: 16px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;         /* Firefox */
    }
 
    .carousel-track::-webkit-scrollbar {
      display: none;                 /* Chrome / Safari */
    }
 
    /* ── Tarjeta ── */
    .carousel-track a.card {
      flex: 0 0 calc(100% - 32px); /* padding del track */
  scroll-snap-align: start;
  display: block;
  text-decoration: none;
    }
    
     /* ── Navegación con botones (oculta en touch) ── */
    .carousel-btn {
      display: none;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 2;
      background: none;
      border: none;
      cursor: pointer;
      padding: 8px;
    }
 
    .carousel-btn--prev { left: 0; }
    .carousel-btn--next { right: 0; }

    /* TARJETA OTROS SERVICIOS */

    .card-otros{
      border-radius: 40px;
      box-shadow: 0 8px 24px rgba(110, 130, 145, 0.25);
      width: 300px;
    }

    .otros-cont{
      display: flex;
      flex-direction: row;
      justify-content: space-around;
      padding: 24px 24px 32px 24px;
    }

    .otros-cont p{
      color: var(--grey-tit);
      font-size: 22px;
      letter-spacing: 1px;
      font-weight: bold;
    }

    .otros-cont p span{
       background: linear-gradient(135deg, #115A91 0%, #00AFEF 100%);
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
    }
  
    .card-otros img{
      width: 300px;
      height: auto;
      border-radius: 40px 40px 0 0;
    }

/* PREGUNTAS FRECUENTES */

.faq-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.faq-title {
  margin-bottom: 32px;
  font-size: 32px;
  line-height: 1.1;
  color: #1f2933;
}

.faq-list {
  width: 100%;
}

.faq-item {
  border-top: 1px solid #67c7ef;
}

.faq-item:last-child {
  border-bottom: 1px solid #67c7ef;
}

.faq-question {
  width: 100%;
  min-height: 64px;
  padding: 18px 0;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  text-align: left;
  cursor: pointer;
}

.faq-question h3 {
  margin: 0;
  color: #2f343a;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.faq-icon {
  position: relative;
  width: 26px;
  height: 26px;
  border: 2px solid #67c7ef;
  border-radius: 50%;
  flex: 0 0 26px;
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.faq-icon::before,
.faq-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: #67c7ef;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.faq-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s ease;
}

.faq-answer p {
  margin: 0;
  padding: 0 48px 22px 0;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.7;
}

/* Estado abierto */
.faq-item.is-open .faq-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item.is-open .faq-icon {
  transform: rotate(180deg);
}

.faq-item.is-open .faq-question h3 {
  color: #111827;
}

@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;
      }
  
  /* PORQUE ELEGIRNOS */

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

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

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

  /* SERVICIOS */

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

/* SERVICIOS TARJETA */

    .card{
      display: flex;
      flex-direction: row;
    }

    /* CARRUSEL OTROS SERVICIOS */

    .carousel-track a.card {
    /* (100% del track - 2 gaps) / 3 tarjetas visibles */
    flex: 0 0 calc((100% - 2 * 16px) / 3);
  }

  /* PREGUNTAS FRECUENTES */

  .faq-section {
    padding: 0 32px;
  }

  .faq-question {
    min-height: 78px;
    padding: 22px 0;
  }

  .faq-question h3 {
    font-size: 16px;
  }

  .faq-answer p {
    max-width: 850px;
    padding-bottom: 28px;
  }

}


@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;
      }

 /* PORQUE ELEGIRNOS */

 .porque-secc {
        margin: 0 auto;
        padding: 84px 120px;
    }

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

    .porque-caja{
      padding: 84px 64px;
    }
  

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

    .box-tit{
      max-width: 580px;
    }
  
    /* SERVICIOS */

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

    /* SERVICIOS TARJETA */


    .card-img img{
      width: 100%;
    }

    .card-img{
      margin: auto;
    }

    .card-content {
    padding: 34px 26px 34px 26px;
    width: 70%;
}

.card-iz{
  flex-direction: row-reverse;
  padding-left: 20px;
}

/* CARRUSEL OTROS SERVICIOS */

.carousel-btn,
.carousel-btn--prev,
.carousel-btn--next,
.carousel-dots {
      display: none !important;
    }

/* PREGUNTAS FRECUENTES */

.faq-section {
    padding: 0 40px 84px 0;
  }

  .faq-question {
    padding-left: 96px;
    padding-right: 140px;
  }

  .faq-answer p {
    padding-left: 96px;
    padding-right: 180px;
  }


}

@media (min-width: 1240px) {

   /* SERVICIOS */

    .servicios-secc{
      margin: 84px 84px 64px 120px;
        max-width: 1200px;
        justify-content: flex-start;
    }


}


@media (min-width: 1440px) {

  /* HERO */

  .header {
    min-height: 720px;
  }

}

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

/* CARRUSEL OTROS SERVICIOS */

/* Mostrar botones solo en dispositivos con mouse */
    @media (hover: hover) and (pointer: fine) {
      .carousel-btn { display: flex; }
    }
 
    /* ── Dots ── */
    .carousel-dots {
      display: flex;
      justify-content: center;
      gap: 8px;
      padding: 12px 0;
      list-style: none;
    }
 
    .carousel-dots li {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: currentColor;
      opacity: 0.3;
      cursor: pointer;
      transition: opacity 0.2s;
    }
 
    .carousel-dots li.is-active {
      opacity: 1;
    }

