

/* ==========================================
   NOTEBOOK
   1200px
========================================== */

@media (max-width:1200px){

    .header{

        padding:20px 5%;

    }

    .logo img{

        height:48px;

    }

    .menu-btn{

        padding:12px 22px;

        font-size:15px;

    }

     .hero{

        gap:50px;

        padding:140px 6% 100px;

    }

    .hero h1{

        font-size:4rem;

    }

    .hero p{

        font-size:1.1rem;

    }

    .shield-container{

        width:380px;
        height:380px;

    }

}


/* ==========================================
   TABLET
   992px
========================================== */

@media (max-width:992px){

    .header{

        padding:18px 5%;

    }

    .logo img{

        height:42px;

    }

    .menu-btn{

        padding:11px 18px;

        font-size:14px;

    }

}


/* ==========================================
   MOBILE
   768px
========================================== */

@media (max-width:768px){

    .header{

        padding:15px 20px;

        display:flex;

        justify-content:space-between;

        align-items:center;

    }

    .logo img{

        height:36px;

    }

    .menu-btn{

        padding:10px 16px;

        font-size:13px;

        border-radius:10px;

    }

}


/* ==========================================
   MOBILE PEQUENO
   480px
========================================== */

@media (max-width:480px){

    .header{

        padding:15px;
        height:60px;

    }

    .logo img{

        height:32px;

    }

    .menu-btn{

        font-size:12px;

        padding:8px 14px;

    }

}

/* ==========================================
   HERO
   TABLET
========================================== */

@media (max-width:992px){

    .hero{

        display:flex;
        flex-direction:column;

        text-align:center;

        gap:60px;

        padding-top:140px;

    }

    .hero-left{
        order:2;
        max-width:750px;
    }

    .hero-right{
        order:1;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }
    .hero h1{
        font-size:3.4rem;
    }
    .hero p{
        margin:auto;
    }
    .shield-container{
        width:340px;
        height:340px;
    }
}

/* ==========================================
   HERO
   MOBILE
========================================== */

@media (max-width:768px){

    .hero{
        padding:120px 25px 70px;
    }

    .badge{
        font-size:13px;
        padding:8px 16px;
    }
    .hero h1{
        font-size:2.6rem;
    }
    .hero p{
        font-size:1rem;
        line-height:1.8;
    }

    .hero-buttons{
        flex-direction:column;
        gap:15px;
    }

    .hero-buttons a{
        width:100%;
        text-align:center;
    }

    .shield-container{
        width:280px;
        height:280px;
    }

    .shield-center{
        width:140px;
        height:140px;
    }
}

/* ==========================================
   HERO
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){

    .hero{
        padding:110px 20px 60px;
    }

    .hero h1{
        font-size:2rem;
        line-height:1.2;
    }

    .hero p{
        font-size:.95rem;
    }

    .badge{
        font-size:12px;
    }

    .shield-container{
        width:230px;
        height:230px;
    }

    .shield-center{
        width:120px;
        height:120px;
    }

}

/* ==========================================
   TAGS FLUTUANTES
========================================== */

@media (max-width:992px){
    .floating-tag{
        font-size:12px;
        padding:10px 14px;
    }

}

@media (max-width:768px){
    .floating-tag{

        display:none;

    }
}

/* ==========================================
   PARCEIROS
   NOTEBOOK
========================================== */

@media (max-width:1200px){
    .partners{
        padding:9px 0;
    }
    .partner-card{
        width:190px;
        height:105px;
    }

    .partner-card img{
        max-width:120px;
        max-height:55px;
    }
}

/* ==========================================
   PARCEIROS
   TABLET
========================================== */

@media (max-width:992px){
    .partners{
        padding:80px 0;
    }
    .partners-track{
        gap:18px;
        animation-duration:24s;
    }
    .partner-card{
        width:170px;
        height:95px;
    }
    .partner-card img{
        max-width:110px;
        max-height:48px;
    }
}

/* ==========================================
   PARCEIROS
   MOBILE
========================================== */

@media (max-width:768px){
    .partners{
        padding:70px 0;
    }
    .partners-carousel{
        margin-top:40px;
    }
    .partners-track{
        gap:14px;
        animation-duration:18s;
    }
    .partner-card{
        width:145px;
        height:80px;
        border-radius:16px;
    }

    .partner-card img{
        max-width:90px;
        max-height:40px;
    }
}

/* ==========================================
   PARCEIROS
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){
    .partners{
        padding:60px 0;
    }
    .partners-track{
        gap:12px;
        animation-duration:15s;
    }
    .partner-card{
        width:125px;
        height:72px;
    }
    .partner-card img{
        max-width:78px;
        max-height:36px;
    }
}

/* ==========================================
   FADE LATERAL
========================================== */

@media (max-width:768px){
    .partners-carousel::before,
    .partners-carousel::after{
        width:60px;
    }
}

@media (max-width:480px){
    .partners-carousel::before,
    .partners-carousel::after{
        width:35px;
    }
}

/* ==========================================
   SERVIÇOS
   NOTEBOOK
========================================== */

@media (max-width:1200px){
    .services{
        padding:100px 5%;
    }
    .service-card{
        min-width:290px;
    }
    .carousel-track{
        gap:20px;
    }
}
/* ==========================================
   SERVIÇOS
   TABLET
========================================== */

@media (max-width:992px){
    .services{
        padding:90px 5%;
    }
    .carousel-track{
        gap:18px;
        overflow-x:auto;
        scroll-behavior:smooth;
        scrollbar-width:none;
    }
    .carousel-track::-webkit-scrollbar{
        display:none;
    }
    .service-card{
        min-width:280px;
    }
}

/* ==========================================
   SERVIÇOS
   MOBILE
========================================== */

@media (max-width:768px){
    .services{
        padding:80px 20px;
    }
    .carousel-container{
        display:block;
    }
    .carousel-track{
        display:flex;
        gap:16px;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        padding-bottom:10px;
    }
    .service-card{
        min-width:85%;
        scroll-snap-align:center;
    }
    .carousel-btn{
        display:none;
    }
    .center{
        margin-top:35px;
    }
    .center .btn-primary{
        width:100%;
        text-align:center;
    }
}

/* ==========================================
   SERVIÇOS
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){
    .services{
        padding:70px 15px;
    }
    .service-card{
        min-width:92%;
        padding:24px;
    }
    .service-card h3{
        font-size:1.1rem;
    }
    .service-card p{
        font-size:.95rem;
        line-height:1.6;
    }
}

/* ==========================================
   LEGISLAÇÃO
========================================== */

@media(max-width:992px){
    .legislation-container{
        grid-template-columns:1fr;
        gap:50px;
    }
    .legislation-left{
        order:1;
    }
    .legislation-right{
        order:2;
        display:flex;
        justify-content:center;
    }
}
@media(max-width:768px){
    .legislation{
        padding:90px 20px;
    }
    .legislation-title{
        font-size:1.6rem;
    }
    .legislation-items{
        grid-template-columns:1fr;
    }
    .law-card{
        padding:35px;
    }
}

@media(max-width:480px){

    .legislation{

        padding:70px 15px;
    }
    .legislation-title{
        font-size:2rem;
    }

}

/* ==========================================
   ABOUT + DIFERENCIAL
   NOTEBOOK
========================================== */

@media (max-width:1200px){

    .about{

        padding:100px 6%;
    }
    .about p{
        max-width:800px;
        font-size:1.05rem;
    }
    .diff-grid{
        gap:22px;
    }
}

/* ==========================================
   ABOUT + DIFERENCIAL
   TABLET
========================================== */

@media (max-width:992px){
    .about{
        padding:90px 5%;
    }
    .about p{
        max-width:100%;
        font-size:1rem;
        line-height:1.9;
    }
    .diff-grid{
        grid-template-columns:
        repeat(2,1fr);
        gap:20px;
    }
}

/* ==========================================
   ABOUT + DIFERENCIAL
   MOBILE
========================================== */

@media (max-width:768px){
    .about{
        padding:80px 20px;
    }
    .about .section-title{
        margin-bottom:35px;
    }
    .about p{
        text-align:center;
        line-height:1.8;
        margin-bottom:60px;
    }
    .diff-grid{
        grid-template-columns:1fr;
        gap:18px;
    }
    .diff-card{
        padding:28px;
        font-size:15px;
    }
}

/* ==========================================
   ABOUT + DIFERENCIAL
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){
    .about{
        padding:70px 15px;
    }
    .about p{
        font-size:.95rem;
    }
    .diff-card{
        padding:24px;
        border-radius:16px;
    }
}

/* ==========================================
   FAQ
   NOTEBOOK
========================================== */

@media (max-width:1200px){

    .faq{
        padding:100px 6%;
    }
    .faq-item{
        max-width:900px;
        margin:auto;
    }
}
/* ==========================================
   FAQ
   TABLET
========================================== */

@media (max-width:992px){
    .faq{
        padding:90px 5%;
    }
    .faq-item{
        width:100%;
    }
    .faq-question{
        padding:22px 24px;
        font-size:1rem;
    }
    .faq-answer{
        padding:0 24px;
    }
}
/* ==========================================
   FAQ
   MOBILE
========================================== */

@media (max-width:768px){
    .faq{
        padding:80px 20px;
    }
    .faq-question{
        padding:20px;
        font-size:15px;
        line-height:1.6;
    }
    .faq-question i{
        font-size:18px;
    }
    .faq-answer{
        padding:0 20px;
    }
    .faq-answer p{
        font-size:.95rem;
        line-height:1.8;
    }
}

/* ==========================================
   FAQ
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){
    .faq{
        padding:70px 15px;
    }
    .faq-question{
        padding:18px;
        font-size:14px;
    }
    .faq-answer{
        padding:0 18px;
    }
}
/* ==========================================
   CONTATO
   NOTEBOOK
========================================== */

@media (max-width:1200px){
    .contact{
        padding:100px 6%;
    }
    .contact p{
        max-width:700px;
        margin:25px auto 0;
    }
}
/* ==========================================
   CONTATO
   TABLET
========================================== */

@media (max-width:992px){
    .contact{
        padding:90px 5%;
        text-align:center;
    }
    .contact-buttons{
        justify-content:center;
        flex-wrap:wrap;
        gap:18px;
    }
}

/* ==========================================
   CONTATO
   MOBILE
========================================== */

@media (max-width:768px){

    .contact{

        padding:80px 20px;

    }

    .contact p{

        font-size:1rem;

        line-height:1.8;

    }

    .contact-buttons{
        display:flex;
        flex-direction:column;
        gap:16px;
        margin-top:35px;
    }
    .contact-buttons a{
        width:100%;
        justify-content:center;
    }
}

/* ==========================================
   CONTATO
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){
    .contact{
        padding:70px 15px;
    }
    .contact p{
        font-size:.95rem;
    }
    .contact-buttons a{
        padding:15px 18px;
        font-size:14px;
    }
}

/* ==========================================
   FOOTER
   NOTEBOOK
========================================== */

@media (max-width:1200px){

    .footer-content{
        grid-template-columns:
        repeat(2,1fr);
        gap:45px;
        padding:60px 6%;
    }
}
/* ==========================================
   FOOTER
   TABLET
========================================== */

@media (max-width:992px){
    .footer-top{
        padding:60px 5%;
    }
    .footer-content{
        grid-template-columns:1fr 1fr;
        gap:40px;
        padding:60px 5%;
    }
    .footer-column{
        text-align:left;
    }
}

/* ==========================================
   FOOTER
   MOBILE
========================================== */

@media (max-width:768px){

    .footer-top{
        padding:50px 20px;
    }
    .footer-top h2{
        font-size:2rem;
    }
    .footer-top p{
        font-size:1rem;
    }
    .footer-content{
        grid-template-columns:1fr;
        gap:45px;
        padding:50px 20px;
        text-align:center;
    }
    .footer-logo{
        margin:0 auto 25px;
        display:block;
    }
    .footer-column{
        display:flex;
        flex-direction:column;
    }
    .footer-column ul{
        width:100%;
    }
  
}
/* ==========================================
   FOOTER
   MOBILE PEQUENO
========================================== */

@media (max-width:480px){
    .footer-top{
        padding:40px 15px;
    }
    .footer-top h2{
        font-size:1.8rem;
    }
    .footer-top span{
        font-size:.9rem;
        line-height:1.7;
        display:block;
    }
    .footer-content{
        padding:40px 15px;
    }
    .footer-column h3{
        margin-bottom:18px;
    }
    .footer-bottom{
        padding:25px 15px;
    }
    .footer-bottom p{
        font-size:.85rem;
        line-height:1.7;
    }
}

/* ======================================================
   MENU
   NOTEBOOK
====================================================== */

@media (max-width:1200px){

    .menu-modal{

        width:340px;

    }

    .menu-header{

        padding:20px;

    }

    .menu-logo{

        width:145px;

    }

    .menu-section{

        padding:20px;

    }

    .menu-grid{

        grid-template-columns:repeat(2,1fr);

        gap:10px;

    }

    .menu-grid li{

        min-height:48px;

        padding:10px;

    }

    .menu-icon{

        width:28px;

        height:28px;

    }

    .menu-grid a{

        font-size:13px;

    }

    .menu-cta{

        padding:20px;

    }

    .menu-content{

        justify-content:space-evenly;

    }

}

/* ======================================================
   MENU
   TABLET
====================================================== */

@media (max-width:992px){

    .menu-modal{

        width:360px;

    }

    .menu-header{

        padding:18px;

    }

    .menu-logo{

        width:135px;

    }

    .menu-section{

        padding:18px;

    }

    .menu-grid{

        grid-template-columns:repeat(2,1fr);

        gap:8px;

    }

    .menu-grid li{

        min-height:46px;

        padding:9px;

    }

    .menu-icon{

        width:24px;

        height:24px;

    }

    .menu-grid a{

        font-size:12px;

    }

    .menu-cta{

        padding:18px;

    }

    .menu-content{

        justify-content:space-evenly;

    }

}
/* ======================================================
   MENU
   MOBILE
====================================================== */

@media (max-width:768px){

    .menu-modal{

        width:min(95vw,360px);

        max-height:calc(100vh - 16px);

        margin:8px;

        border-radius:18px;

        overflow:hidden;

    }

    .menu-header{

        padding:14px 16px;

    }

    .menu-logo{

        width:115px;

    }

    .menu-close{

        font-size:24px;

    }

    .menu-section{

        padding:14px 16px;

    }

    .menu-section h3{

        font-size:.75rem;

        margin-bottom:12px;

    }

    .menu-grid{

        grid-template-columns:repeat(2,1fr);

        gap:8px;

    }

    .menu-grid li{

        min-height:42px;

        padding:8px;

        border-radius:10px;

    }
    .menu-content{

        justify-content:space-evenly;

    }

    .menu-icon{

        width:22px;

        height:22px;

    }

    .menu-grid a{

        font-size:11px;

    }

    .menu-cta{

        padding:16px;

    }

    .menu-cta .btn-primary{

        padding:12px 16px;

        font-size:13px;

    }

}
/* ======================================================
   MENU
   MOBILE PEQUENO
====================================================== */

@media (max-width:380px){

    .menu-modal{

        width:96vw;

        margin:2vw;

    }

    .menu-header{

        padding:12px;

    }

    .menu-logo{

        width:100px;

    }

    .menu-section{

        padding:12px;

    }

    .menu-grid{

        gap:6px;

    }

    .menu-grid li{

        min-height:38px;

        padding:7px;

    }

    .menu-icon{

        width:18px;

        height:18px;

    }

    .menu-grid a{

        font-size:10px;

    }

    .menu-cta{

        padding:12px;

    }

    .menu-cta .btn-primary{

        font-size:12px;

        padding:10px;

    }

    .menu-content{

        justify-content:space-evenly;

    }
}

/* ===================================================
   SERVICES PAGE
   DESKTOP
=================================================== */

@media (min-width:1200px){

    .services-page{

        max-width:1400px;

        margin:auto;

        padding:100px 40px;

    }

    .services-grid{

        display:grid;

        grid-template-columns:repeat(3,1fr);

        gap:22px;

    }

    .service-card{

        padding:22px;

        min-height:160px;

    }

}

/* ===================================================
   SERVICES PAGE
   NOTEBOOK
=================================================== */

@media (max-width:1199px){

    .services-page{

        padding:90px 32px;

    }

    .services-grid{

        display:grid;

        grid-template-columns:repeat(3,1fr);

        gap:18px;

    }

    .service-card{

        padding:18px;

        min-height:150px;

    }

    .service-card h3{

        font-size:1rem;

    }

    .service-card p{

        font-size:.9rem;

    }
    .service-category{

        font-size:.62rem;

    }

    .service-action{

        font-size:.72rem;

        padding:8px 12px;

    }

}

/* ===================================================
   SERVICES PAGE
   TABLET
=================================================== */

@media (max-width:992px){

    .services-page{

        padding:80px 24px;

    }

    .services-grid{

        display:grid;

        grid-template-columns:repeat(3,1fr);

        gap:16px;

    }

    .service-card{

        min-height:165px;

        padding:16px;

    }

    .service-card-content h3{

        font-size:.95rem;

    }

    .service-card-content p{

        font-size:.82rem;

    }

}

/* ===================================================
   SERVICES PAGE
   MOBILE
=================================================== */

@media (max-width:768px){

    .services-page{

        padding:70px 18px;

    }

    .services-grid{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:12px;

    }

    .service-card{

        padding:14px;

        min-height:150px;

        border-radius:14px;

    }

    .service-card-content h3{

        font-size:.85rem;

        margin-bottom:6px;

    }

    .service-card-content p{

        font-size:.72rem;

        line-height:1.35;

        margin-bottom:12px;

    }

    .service-action{

        width:100%;

        padding:8px 6px;

        font-size:.68rem;

    }

}

/* ===================================================
   SERVICES PAGE
   MOBILE PEQUENO
=================================================== */

@media (max-width:480px){

    .services-page{

        padding:60px 14px;

    }

    .services-grid{

        display:grid;

        grid-template-columns:repeat(2,1fr);

        gap:10px;

    }

    .service-card{

        padding:12px;

        min-height:145px;

        border-radius:12px;

    }

    .service-card-content h3{

        font-size:.78rem;

    }

    .service-card-content p{

        font-size:.67rem;

        line-height:1.3;

    }

    .service-action{

        padding:7px 5px;

        font-size:.62rem;

    }

}

@media (max-width:992px){

    .whatsapp-float{

        right:22px;

        bottom:22px;

        width:60px;

        height:60px;

    }

    .whatsapp-icon{

        width:52px;

        height:52px;

    }

    .whatsapp-icon svg{

        width:26px;

        height:26px;

    }

    .whatsapp-pulse{

        width:60px;

        height:60px;

    }

}

@media (max-width:768px){

    .whatsapp-float{

        right:18px;

        bottom:18px;

        width:56px;

        height:56px;

    }

    .whatsapp-icon{

        width:48px;

        height:48px;

    }

    .whatsapp-icon svg{

        width:24px;

        height:24px;

    }

    .whatsapp-pulse{

        width:56px;

        height:56px;

    }

}

@media (max-width:480px){

    .whatsapp-float{

        right:14px;

        bottom:14px;

        width:52px;

        height:52px;

    }

    .whatsapp-icon{

        width:45px;

        height:45px;

    }

    .whatsapp-icon svg{

        width:22px;

        height:22px;

    }

    .whatsapp-pulse{

        width:52px;

        height:52px;

    }

}

/* =====================================================
   SECURITY SCANNER — MOBILE
===================================================== */

@media (max-width: 480px) {

    .scanner-label {

        right: 14px;

    }

    .scanner-status {

        font-size: 8px;

    }

    .scanner-status-text {

        font-size: 6px;

        letter-spacing: 1.3px;

    }

    .scanner-line {

        height: 1.5px;

    }

    .scanner-glow {

        height: 70px;

    }

}

/* ===================================================
   CERTIFICAÇÕES — RESPONSIVIDADE
=================================================== */


/* ==========================================
   DESKTOP GRANDE
   1200px+
========================================== */

@media (min-width: 1200px) {

    .certificates-grid {

        grid-template-columns: repeat(3, 1fr);

        gap: 28px;

    }

}


/* ==========================================
   NOTEBOOK / DESKTOP
   769px — 1199px
========================================== */

@media (min-width: 769px) and (max-width: 1199px) {

    .certificates-grid {

        grid-template-columns: repeat(3, minmax(0, 1fr));

        gap: 18px;

    }

    .certificate-info {

        padding: 18px;

    }

    .certificate-info h3 {

        font-size: .95rem;

    }

    .certificate-info p {

        font-size: .82rem;

    }

}


/* ==========================================
   TABLET
   600px — 768px
========================================== */

@media (min-width: 600px) and (max-width: 768px) {

    .certificates-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 18px;

    }

    .certificate-info {

        padding: 17px;

    }

    .certificate-info h3 {

        font-size: .95rem;

    }

    .certificate-info p {

        font-size: .82rem;

    }

}


/* ==========================================
   CELULAR
   0px — 599px
========================================== */

@media (max-width: 599px) {

    .certificates-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 10px;

        margin-top: 25px;

        margin-bottom: 50px;

    }


    .certificate-card {

        border-radius: 12px;

    }


    .certificate-image {

        aspect-ratio: 4 / 3;

    }


    .certificate-image img {

        padding: 7px;

    }


    .certificate-info {

        padding: 12px;

    }


    .certificate-info h3 {

        font-size: .78rem;

        line-height: 1.3;

        margin-bottom: 6px;

    }


    .certificate-info p {

        font-size: .68rem;

        line-height: 1.45;

    }


    /* Evita movimentos exagerados no celular */

    .certificate-card:hover {

        transform: none;

    }

}


/* ==========================================
   CELULAR MUITO PEQUENO
   até 380px
========================================== */

@media (max-width: 380px) {

    .certificates-grid {

        gap: 8px;

    }


    .certificate-info {

        padding: 10px;

    }


    .certificate-info h3 {

        font-size: .72rem;

    }


    .certificate-info p {

        font-size: .63rem;

    }

}