 body {
     overflow-x: hidden;
     font-family: 'Jost', sans-serif;
 }

 h1,
 h2,
 h3,
 .texto-produtos p,
 .texto-solucoes span,
 .texto-tec h1 {
     font-family: 'Michroma', sans-serif;
     letter-spacing: 1px;
 }

 .menu,
 ::after,
 ::before {
     box-sizing: unset !important;
 }

 /*--------------------------------- animação ------------------------------------*/

 .social-icons a img {
    text-align: center !important;
    width: auto !important;
    height: 50px !important;
}

 .fade-in-up {
     opacity: 0;
     transform: translateY(20px);
     transition: all 0.8s ease-out;
 }

 .fade-in-up.show {
     opacity: 1;
     transform: translateY(0);
 }

 /* fade + escala */
 .fade-in-scale {
     opacity: 0;
     transform: scale(0.9);
     transition: all 0.8s ease-out;
 }

 .fade-in-scale.show {
     opacity: 1;
     transform: scale(1);
 }

 .fade-rotate {
     opacity: 0;
     transform: rotate(-10deg);
     transition: all 0.8s ease-out;
 }

 .fade-rotate.show {
     opacity: 1;
     transform: rotate(0deg);
 }

 .zoom-in {
     opacity: 0;
     transform: scale(0.8);
     transition: all 0.8s ease-out;
 }

 .zoom-in.show {
     opacity: 1;
     transform: scale(1);
 }

 .slide-in-right {
     opacity: 0;
     transform: translateX(-100px);
     transition: all 0.8s ease-out;
 }

 .slide-in-right.show {
     opacity: 1;
     transform: translateX(1);
 }



 .hero-img {
     width: 100%;
     object-fit: contain;
 }

 .hero-section {
     background-color: #f8f9fa;
     padding: 40px 0;
     text-align: center;
 }

 @media (max-width: 768px) {
     .navbar-nav {
         justify-content: center !important;
     }
 }

 .hero-section {
     position: relative;
     width: 100%;
     overflow: hidden;
 }

 .hero-section img {
     height: 100%;
     background-size: cover;
 }

 img,
 svg {
     vertical-align: unset !important;
 }

 .hero-section .overlay {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: 1;
 }

 .vantagens-grid {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 20px;
 }

 @media (max-width: 768px) {

     .vantagens-grid,
     .box-vantagem-dois {
         grid-template-columns: 1fr;
         /* Um por linha no mobile */
     }
 }

 .box-vantagem {
     background-color: #b3dcff;
     padding: 15px;
     border-radius: 12px;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     font-size: 14px;
     text-align: center;
     word-break: break-word;
 }

 .box-vantagem-dois {
     background-color: #83BBE0;
     padding: 15px;
     border-radius: 12px;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     font-size: 14px;
     text-align: center;
     word-break: break-word;
 }

 .box-vantagem p {
     color: #060030;
 }

 h5 {
     color: #060030E6;
 }

 .bg-dark {
     background-color: #1e1944 !important;
 }

 .img-fluid {
     box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
 }

 .bg-dark ul {
     list-style-type: disc;
     padding-left: 20px;
 }

 .img-onda {
     display: block;
     width: 100%;
     max-width: 100%;
     height: auto;
 }

 .device-image {
     width: 100%;
     height: 200px;
     /* altura padrão */
     object-fit: contain;
     /* mantém proporção e não corta a imagem */
     background-color: #fff;
     /* opcional: fundo branco para imagens transparentes */
     padding: 10px;
     border-radius: 10px;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
 }

 .rotate-on-hover {
     transition: transform 0.5s ease;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.35);
 }

 .rotate-on-hover:hover {
     transform: scale(1.1);
 }


 .device-title {
     font-weight: 500;
     margin: 12px 0 10px;
     color: #060030;
     font-size: 16px;
     text-align: center;
 }

 .btn-device {
     display: inline-block;
     background-color: #00c9b7;
     color: #fff;
     padding: 6px 12px;
     border-radius: 8px;
     font-weight: 500;
     text-decoration: none;
     font-size: 14px;
     transition: background-color 0.3s ease;
 }

 .btn-device:hover {
     background-color: #009f90;
     color: #fff;
 }

 .solucao-icon {
     width: 100%;
     height: 200px;
     object-fit: cover;
     border-radius: 8px;
 }