header{background-color: #00132E}
header .logo-desktop,header .logo-mobile-menu{width:160px;margin:1rem 0;}

.nav-link{
  color: var(--light);
  font-weight: 600;
  transition: .3s;
  border-radius: 1.5rem;
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show{
  color: var(--dark);
  background-color: var(--light);
}
.nav-link:hover{
  color: var(--light);
  font-weight: 600;
  transition: .3s;
}

.navbar-toggler{
  background-color: var(--light);
  border-radius: 1rem;
}

/* FOOTER */
footer {
  background-color: var(--primary-color);

  border-top-left-radius: 40px;
  border-top-right-radius: 40px;
}
footer .logo-desktop {
  max-width: 200px;
}
footer h3 {
  margin-top: 0;
  font-size: 1.125rem;
  color: var(--light);
}

.h3-span {
  margin-top: 0;
  font-size: 1.125rem;
  color: var(--light);
}
footer .footer__nav li a:not(.btn) {
  display: block;
  padding: 5px 0;
  font-size: 0.875rem;
  color: var(--light);
  transition: 0.3s;
}
footer .footer__nav li a i {
  font-size: 0.625rem;
}
footer .footer__nav li a:hover {
  color: #f0f0f0;
}
footer .address :is(span, a):not(.btn) {
  color: var(--light);
  font-size: 0.875rem;
  line-height: 25px;
  transition: 0.3s;
}
footer .address a:not(.btn):hover {
  color: var(--light);
}

.copyright-footer .btn.selos {
  min-height: unset;
}
@media screen and (max-width: 992.05px) {
  footer .social {
    justify-content: center;
  }
}

.card.card--23{all:unset;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;flex-flow:column nowrap;gap:1rem;background-color:var(--dark);background-image:linear-gradient(-45deg,var(--dark),var(--grey)),var(--card-background);background-size:cover;background-repeat:no-repeat;background-position:center;background-blend-mode:multiply,normal;border-radius:1rem;padding:1rem;position:relative;height:100%}
.card.card--23:focus-within,.card.card--23:hover{box-shadow:0 0 0 2px var(--secondary-color)}
.card.card--23 .card__title{color:#fff;font-size:1.25rem;text-shadow:0 0 .25rem var(--dark);margin:0;min-height:calc(1.25rem * 2 * 1.3)}
.card.card--23 .card__link{z-index:1;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-flow:row nowrap;padding:.5rem .75rem;font-size:.875rem;text-transform:uppercase;transition:var(--transition);color:var(--light);font-weight:600;border:2px solid currentColor;border-radius:99px}
.card.card--23 .card__link>span{width:0;max-width:fit-content;opacity:0;transition:var(--transition)}
.card.card--23 .card__link:focus>span,.card.card--23 .card__link:hover>span{width:100px;opacity:1;margin-right:.5rem}
.card.card--23 .card__link::before{content:"";display:block;width:100%;height:100%;position:absolute;left:0;top:0;z-index:-1;backface-visibility:visible}
.card.card--23 .card__link:focus,.card.card--23 .card__link:hover{border-color:var(--primary-color);background-color:var(--primary-color)}

.shadow-19{box-shadow:rgba(50,50,93,.25) 0 2px 5px -1px,rgba(0,0,0,.3) 0 1px 3px -1px}

.title-subtitle{margin-bottom:0}
.title-subtitle span{display:block;font-size:.9rem;color:#000;line-height:1rem;letter-spacing:.25rem;text-transform:uppercase}

/* ================= CLIENTES ================= */
.clientes .clientes__item{display:grid;place-items:center;padding:1rem;border:1px solid var(--bs-border-color);border-radius:var(--bs-border-radius);overflow:hidden}
.clientes .clientes__item img{width:100%;aspect-ratio:1/1;object-fit:contain;margin:0 auto;opacity:.75;border-radius:var(--bs-border-radius-sm);transition:opacity var(--transition)}
.clientes .clientes__item:hover img{opacity:1}

/* ================= DEPOIMENTOS ================= */
.testimonial .testimonial-author-image {
  width: 100%;
  max-width: 64px;
  aspect-ratio: 1/1;
  object-fit: cover;
  border-radius: 999px;
}

/* BANNER MOBILE */
.banner-mobile {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.banner-mobile::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.5));
  z-index: 1;
  pointer-events: none;
}

.banner-mobile img {
  width: 100%;
  height: auto;
  display: block;
}

.banner-mobile__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  z-index: 2;
  color: #fff;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
  text-align: center;
}

.border-color-lightblue {
    border-bottom: 1px solid rgba(233, 233, 233, 0.5);
}

.card-principios{
  padding: 1rem;
  border-radius: 8px;

  box-shadow: 0 1px 4px 0 rgba(27, 27, 27, 0.08);
border-radius: var(--radius-16, 16px);
border: 3px solid rgba(233, 233, 233, 0.10);

.content-card{
  background: #00214E;
    padding: 2rem;
      border-radius: 8px;
}

  h3{
    color: var(--light);
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
  }

  p{
    color: var(--light);
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
  }
}

/* Card Trajetoria */

.card-trajetoria{
    background-color: #f5f3f1; /* off white */
    border-radius: 20px;
    padding: 24px;
    min-height: 320px;
    transition: .3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card-trajetoria:hover{
    transform: translateY(-4px);
}

.card-trajetoria .card-body{
    height: 100%;
    padding: 0;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card-trajetoria .card-title{
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: #4b4b4b;
    margin-bottom: 0;
}

.card-trajetoria .card-text{
    font-size: 18px;
    line-height: 1.5;
    color: #8a8a8a !important;
    margin-bottom: 0;
    max-width: 230px;
}

.scroll-button{
    width: 40px;
    height: 40px;
    background-color: #003b8f;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    transition: .3s ease;
}

.scroll-button:hover{
    transform: translateY(-4px);
    background-color: #0047ad;
}

.scroll-button i{
    color: #fff;
    font-size: 20px;
}

.bg-contato {
  background-image: url("../imagens/bg-contato.webp");
  background-size: cover;
  background-position: center;
}
a.menu-product-footer {
font-size: 0.875rem;
}

a.menu-product-footer:hover{
  color: #f0f0f0;
}

.cta-btn {
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
  margin-right: 20px;
}



.card-categoria-destaque {
  border: 2px solid #F5C518 !important;
  box-shadow: 0 4px 16px rgba(245, 197, 24, 0.25);
}

.badge-destaque {
  position: absolute;
  top: -12px;
  left: 16px;
  background: #F5C518;
  color: #000;
  font-size: .75rem;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 20px;
  z-index: 2;
}

.card-categoria-destaque img {
  height: 320px;
}

@media screen and (min-width: 992px) {
  .card-categoria-destaque {
    flex-direction: row;
  }
}


/* ==================== BANNER ==================== */

.splide__slide-video {
  position: relative;
  overflow: hidden;
  min-height: 100%; /* ajuste conforme a altura do seu banner */
}

.splide__video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  object-fit: cover;
  object-position: top;
}

.splide__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3); /* mesma opacidade do seu gradiente original */
  z-index: 1;
}

.splide__content {
  position: relative;
  z-index: 2; /* garante que o conteúdo fique acima do vídeo e do overlay */
}

/* ================== FIM BANNER ================== */


/* ==================== faq ==================== */

 .gs-faq {
    --gs-navy: #0d1f3c;
    --gs-navy-hover: #18294d;
    --gs-yellow: #f2a93b;
    --gs-bg: #ffffff;
    --gs-text-soft: #64748b;
    --gs-line: #e6e9ee;

    background: var(--gs-bg);
    padding: 5rem 1.5rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  }

  .gs-faq__wrap {
    max-width: 880px;
    margin: 0 auto;
  }

  .gs-faq__eyebrow {
    text-align: center;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--gs-text-soft);
    margin: 0 0 0.6rem;
  }

  .gs-faq__title {
    text-align: center;
    font-size: clamp(1.6rem, 3.4vw, 2.15rem);
    font-weight: 700;
    line-height: 1.25;
    color: var(--gs-navy);
    margin: 0 0 2.75rem;
  }

  .gs-faq__list {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }

  .gs-faq__item {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(13, 31, 60, 0.08);
    border: 1px solid var(--gs-line);
  }

  .gs-faq__q {
    all: unset;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    padding: 1.15rem 1.4rem;
    background: var(--gs-navy);
    cursor: pointer;
    transition: background 0.2s ease;
  }

  .gs-faq__q:hover {
    background: var(--gs-navy-hover);
  }

  .gs-faq__q:focus-visible {
    outline: 2px solid var(--gs-yellow);
    outline-offset: -2px;
  }

  .gs-faq__num {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gs-yellow);
    letter-spacing: 0.03em;
    flex-shrink: 0;
  }

  .gs-faq__q-text {
    flex: 1;
    text-align: left;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
  }

  .gs-faq__toggle {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, border-color 0.2s ease;
  }

  .gs-faq__toggle svg {
    width: 14px;
    height: 14px;
    stroke: #ffffff;
    stroke-width: 2.2;
    stroke-linecap: round;
    transition: transform 0.3s ease;
  }

  .gs-faq__toggle svg line:last-child {
    transition: opacity 0.2s ease;
  }

  .gs-faq__item.is-open .gs-faq__toggle {
    background: var(--gs-yellow);
    border-color: var(--gs-yellow);
  }

  .gs-faq__item.is-open .gs-faq__toggle svg {
    stroke: var(--gs-navy);
  }

  .gs-faq__item.is-open .gs-faq__toggle svg line:last-child {
    opacity: 0;
  }

  .gs-faq__a {
    display: grid;
    grid-template-rows: 0fr;
    background: #ffffff;
    transition: grid-template-rows 0.3s ease;
  }

  .gs-faq__item.is-open .gs-faq__a {
    grid-template-rows: 1fr;
  }

  .gs-faq__a > p {
    overflow: hidden;
    margin: 0;
    padding: 0 1.4rem;
    max-height: 0;
    font-size: 0.95rem;
    line-height: 1.65;
    color: #384454;
  }

  .gs-faq__item.is-open .gs-faq__a > p {
    padding: 1.25rem 1.4rem 1.4rem;
    max-height: none;
  }

  @media (prefers-reduced-motion: reduce) {
    .gs-faq__a,
    .gs-faq__toggle svg,
    .gs-faq__q {
      transition: none;
    }
  }

  @media (max-width: 560px) {
    .gs-faq {
      padding: 3.5rem 1rem;
    }
    .gs-faq__q {
      padding: 1rem;
      gap: 0.75rem;
    }
    .gs-faq__num {
      display: none;
    }
    .gs-faq__q-text {
      font-size: 0.94rem;
    }
  }

/* ================== FIM faq ================== */