header .logo-desktop,header .logo-mobile-menu{width:200px;margin:1rem 0}

#header-nav {
    position: absolute;
    top: 3rem;
    width: 100%;
    z-index: 1;
    box-shadow: 0 1px 4px 0 rgba(27, 27, 27, 0.05);
}

#header-nav .container {
    background: #FAFAFA;
    padding: 1rem;
}

.navbar-expand-lg .navbar-nav .nav-link{color: #1A1A1A; font-weight: 500;}
.navbar-expand-lg .navbar-nav .nav-link:hover{color: var(--primary-color);}
.navbar-expand-lg .navbar-nav .nav-link:not(.dropdown-toggle) {
  position: relative;
  overflow: hidden;
}

.navbar-expand-lg .navbar-nav .nav-link:not(.dropdown-toggle)::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0;
  height: 2px;
  background:var(--primary-color);
  transition: width 0.3s ease, right 0.3s ease;
}

.navbar-expand-lg .navbar-nav .nav-link:not(.dropdown-toggle):hover::after {
  width: 100%;
  right: auto;
  left: 0;
}

@media screen and (max-width: 768px) {
#header-nav {top: 0;}
}

/* FOOTER */
footer{background-color:#1A1A1A;}
footer .logo-desktop{max-width:200px;}
footer h3{margin-top:0;font-size:1.125rem;color:var(--light)}
footer .footer__nav li a:not(.btn){display:block;padding:5px 0;font-size:.875rem;color:var(--light);transition:.3s}
footer .footer__nav li a i{font-size:.625rem}
footer .footer__nav li a:hover{color:var(--primary-color)}
footer .address :is(span,a):not(.btn){color:var(--light);font-size:.875rem;line-height:25px;transition:.3s}
footer .address a:not(.btn):hover{color:var(--primary-color)}

.footer-card{
  border: 1px solid #4A4848;
  background: var(--Neutral-static-black, #1A1A1A);
  padding: 22px;
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-card__icon{
  width: 60px;
  height: 60px;
  background: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  margin-bottom: 6px;
}

.footer-card__icon i{
  color: #fff;
  font-size: 26px;
}

.footer-card__title{
  color: var(--light);
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}

.footer-card__text{
  color: var(--light);
  font-size: 13px;
  line-height: 1.45;
}

.footer-card__link{
  color: var(--light);
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
  transition: .3s;
  display: inline-block;
}

.footer-card__link:hover{
  color: var(--primary-color);
  opacity: 1;
}

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

.bg-dark-2{background-color: #1A1A1A;}

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

/* =============================== COUNTER (PRINT STYLE) =============================== */



.counter__box{
  border: 1px solid #4A4848;
  background: rgba(39, 39, 39, 0.20);
  border-radius: 6px;              
  padding: 28px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 120px;              
}

/* Número */
.counter__title{
  margin: 0 0 10px 0;
  font-size: clamp(32px, 3.2vw, 48px);
  font-weight: 700;
  color: var(--primary-color);
  line-height: 1;
}

/* + antes do número */
.counter__title::before{
  content: "+";
  margin-right: 2px;
  color: var(--primary-color);
  font-weight: 700;
}

/* Texto */
.counter__subtitle{
  color: #fafafa;
  font-size: 16px;
  font-weight: 400;
}

/* Mobile */
@media (max-width: 576px){
  .counter__box{
    padding: 22px 16px;
    min-height: 110px;
  }
}

  .compromisso {
    position: relative;
    background-image: var(--bg);
    background-size: cover;
    background-position: center right;
    background-repeat: no-repeat;
    overflow: hidden;
  }



  .compromisso .container {
    position: relative;
    z-index: 2;
  }

  .compromisso-card {
    border: 1px solid #4A4848;
    background: var(--Neutral-static-black, #1A1A1A);
    border-radius: 6px;
    padding: 26px 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 170px;
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
  }

  .compromisso-card__icon {
    width: 70px;
    height: 70px;
    background: var(--primary-color);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px auto;
    flex-shrink: 0;
  }

  .compromisso-card__icon img {
    width: 30px;
    height: 30px;
    object-fit: contain;
  }

  @media (max-width: 991px) {
    .compromisso {
      background-position: center;
    }
    .compromisso::before {
      background: rgba(0,0,0,.75);
    }
    .compromisso-card {
      min-height: auto;
    }
  }


  .tecnologia{
  position: relative;
  background: #fff;
  overflow: hidden;
}

/* SVG decorativo */
.tecnologia__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.tecnologia__bg img{
  position: absolute;
  right: -10%;
  top: 50%;
  transform: translateY(-50%);
  width: 70%;
  height: auto;
  color: var(--secondary-color);
}

.tecnologia .container{
  position: relative;
  z-index: 2;
}

.tecnologia__eyebrow{
  color: var(--secondary-color);
  letter-spacing: .08em;
}

.tecnologia__highlight{
  color: var(--secondary-color);
}



/* Ícone grande */
.tecnologia__icon{
  max-width: 340px;
}

/* Mobile */
@media (max-width: 991px){
  .tecnologia__bg svg{
    width: 120%;
    right: -40%;
    top: 20%;
  }

  .tecnologia__icon{
    max-width: 260px;
    margin-top: 30px;
  }
}

.cat-link{
  border: 1px solid #EAEAEA;
  background: #fff;
  padding: 22px 24px;
  border-radius: 6px;
  transition: .25s ease;
  height: 100%;
}

.cat-link__arrow{
  width: 54px;
  height: 54px;
  min-width: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 2px;
  transition: .25s ease;
}

.cat-link__arrow i{
  color: #fff;
  font-size: 14px;
}

.cat-link:hover{
  border-color: transparent;
  color: #fff;
}

/* hover: muda BG pro "accent" e mantém seta destacada */
.cat-link--primary:hover{
  background: var(--primary-color);
}
.cat-link--secondary:hover{
  background: var(--secondary-color);
}

.cat-link:hover .cat-link__title{
  color: #fff !important;
}

/* seta “inverte” no hover (quadrado branco com ícone na cor do accent) */
.cat-link:hover .cat-link__arrow{
  background: #fff !important;
}

.cat-link--primary:hover .cat-link__arrow i{
  color: var(--primary-color);
}
.cat-link--secondary:hover .cat-link__arrow i{
  color: var(--secondary-color);
}
