.footer-brand span{
    color:#c4a5dc;
    font-size:8px;
    font-weight:900;
    text-transform:uppercase
}
.footer-grid h4{
    margin:0 0 17px;
    font-size:11px
}
.footer-grid>div:not(:first-child){
    display:grid;
    align-content:start;
    gap:9px
}
.footer-grid a{
    color:rgba(255,255,255,.52);
    font-size:9px
}
/* Atalho flutuante de WhatsApp, transplantado da LP anterior: verde da
   marca, 70px e halo pulsante. Substitui o botao roxo que apenas
   rolava ate o formulario. */
.floating-contact{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:100;
    width:70px;
    height:70px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:#25d366;
    box-shadow:0 16px 35px rgba(37,211,102,.34);
    animation:whatsappPulse 1.7s ease-out infinite
}

.floating-contact:hover{
    background:#1fbd5a;
    transform:translateY(-2px)
}

.floating-contact i{
    font-size:38px;
    line-height:1
}

@keyframes whatsappPulse{
    0%{
        box-shadow:
            0 0 0 0 rgba(37,211,102,.48),
            0 16px 35px rgba(37,211,102,.34)
    }

    70%{
        box-shadow:
            0 0 0 16px rgba(37,211,102,0),
            0 16px 35px rgba(37,211,102,.34)
    }

    100%{
        box-shadow:
            0 0 0 0 rgba(37,211,102,0),
            0 16px 35px rgba(37,211,102,.34)
    }
}

@media(max-width:700px){
    .floating-contact{
        width:58px;
        height:58px
    }

    .floating-contact i{
        font-size:31px
    }

    /* O atalho e redundante dentro do proprio bloco de contato e cobria
       os campos nas telas curtas. O script.js aplica esta classe apenas
       enquanto a secao #contato estiver cruzando a viewport. */
    .floating-contact.is-over-contact{
        visibility:hidden;
        opacity:0;
        pointer-events:none;
        animation-play-state:paused
    }
}
@media(max-width:1080px){
    .footer-grid{
        grid-template-columns:1.5fr repeat(2,1fr)
    }
}
@media(max-width:700px){
.footer-grid{
        grid-template-columns:1fr
    }
    .footer-bottom{
        flex-direction:column;
        gap:8px
    }
}









                                    .site-footer{
    padding:75px 0 25px;
    color:#fff;
    background:#10091d;



                                        position:relative;


                                        background:#0f0624;


                                        color:white;


                                        padding:90px 0 30px;


                                        overflow:hidden;


                                        /* topo arredondado da LP anterior: o rodape sobe
                                           84px e cobre o fim da .cta, que recebe o padding
                                           correspondente no bloco de transplante ao final
                                           deste arquivo */
                                        border-radius:84px 84px 0 0;


                                        margin-top:-84px;
}




                                        .footer-glow{


                                        position:absolute;


                                        width:500px;

                                        height:500px;


                                        right:-200px;


                                        top:-250px;


                                        background:

                                        radial-gradient(
                                        circle,
                                        rgba(130,70,255,.35),
                                        transparent 70%
                                        );


                                        }




                                        .footer-grid{
    display:grid;
    grid-template-columns:1.45fr repeat(4,1fr);
    gap:45px;
    padding-bottom:45px;
    border-bottom:1px solid rgba(255,255,255,.1);



                                        position:relative;


                                        display:grid;


                                        grid-template-columns:

                                        2fr repeat(4,1fr);


                                        gap:50px;
}





                                        .footer-brand img{
    width:150px;



                                        width:210px;


                                        margin-bottom:25px;
}



                                        .footer-brand p{
    max-width:290px;
    color:rgba(255,255,255,.56);
    font-size:11px;



                                        max-width:330px;


                                        line-height:1.7;


                                        color:#a99fb8;


                                        font-size:16px;
}



                                        .footer-ecosystem{


                                        margin-top:30px;


                                        display:flex;


                                        flex-direction:column;


                                        gap:5px;


                                        }



                                        .footer-ecosystem span{


                                        font-size:12px;


                                        color:#a99fb8;


                                        }



                                        .footer-ecosystem strong{


                                        color:#d4b3ff;


                                        font-size:18px;


                                        }



                                        .footer-links-social{


                                        display:flex;


                                        gap:20px;


                                        margin-top:30px;


                                        }



                                        .footer-links-social a{


                                        color:white;


                                        font-size:14px;


                                        }







                                        .footer-column h4{


                                        font-size:15px;


                                        margin-bottom:25px;


                                        }



                                        .footer-column a{


                                        display:block;


                                        color:#9f96ae;


                                        text-decoration:none;


                                        margin-bottom:15px;


                                        font-size:14px;


                                        transition:.3s;


                                        }



                                        .footer-column a:hover{


                                        color:white;


                                        transform:translateX(5px);


                                        }








                                        .footer-security{


                                        margin-top:70px;


                                        padding:35px 0;


                                        border-top:

                                        1px solid rgba(255,255,255,.12);


                                        border-bottom:

                                        1px solid rgba(255,255,255,.12);


                                        display:flex;


                                        justify-content:space-between;


                                        align-items:center;


                                        }



                                        .footer-security strong{


                                        display:block;


                                        font-size:22px;


                                        }



                                        .footer-security span{


                                        color:#aaa0ba;


                                        }



                                        .security-items{


                                        display:flex;


                                        gap:15px;


                                        flex-wrap:wrap;


                                        }



                                        .security-items span{


                                        padding:10px 18px;


                                        border-radius:30px;


                                        background:

                                        rgba(255,255,255,.06);


                                        border:

                                        1px solid rgba(255,255,255,.1);


                                        font-size:13px;


                                        color:#ddd;


                                        }








                                        .footer-bottom{
    display:flex;
    justify-content:space-between;
    padding-top:20px;
    color:rgba(255,255,255,.32);
    font-size:8px;



                                        padding-top:25px;


                                        display:flex;


                                        justify-content:space-between;


                                        color:#746b85;


                                        font-size:12px;
}




                                        @media(max-width:1000px){


                                        .footer-grid{


                                        grid-template-columns:1fr 1fr;


                                        }



                                        .footer-security{


                                        flex-direction:column;


                                        gap:30px;


                                        align-items:flex-start;


                                        }
}



                                        @media(max-width:600px){


                                        .footer-grid{


                                        grid-template-columns:1fr;


                                        }



                                        .footer-bottom{


                                        flex-direction:column;


                                        gap:15px;


                                        }
}


/* ============================================================
   TRANSPLANTE DO RODAPE DA LP ANTERIOR
   O rodape ja tinha vindo igual na modularizacao; faltavam o topo
   arredondado (aplicado na regra .site-footer acima) e a faixa de
   selos de certificacao, que so a home usa.
   Os selos sao desenhados em CSS, sem imagem: toda medida deriva de
   --u (QMS) e --s (ICP), 1% da altura do selo, entao trocar essa
   unica variavel reescala o componente inteiro.
   Na LP anterior o wrapper acumulava .hero-seals .footer-seals,
   herdando da hero um layout que o footer sobrescrevia em quase
   tudo. Como a hero nova nao tem selos, aqui .footer-seals e
   autossuficiente - o par .qms-seal/.icp-seal segue reutilizavel se
   os selos voltarem para a hero.
   ============================================================ */

/* A folga que compensa o margin-top negativo deste rodape vive em
   contato.css, junto das demais regras de .cta: o bloco mobile de la
   precisa vir depois, e contato.css carrega antes deste arquivo. */

.footer-security{
    gap:34px
}

.security-items{
    justify-content:flex-end
}

.footer-seals{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px
}

/* Reafirmacao de cor - NAO e redundante com as regras dos selos abaixo.
   A faixa define `.footer-security span{color:#aaa0ba}` (0,1,1), que
   vence os seletores de classe unica dos selos (0,1,0). Sem isto todo
   <span> do selo sai lilas: o "Q", o "ICP Brasil", o "CERTIFICATION" e
   os quadradinhos QMS - que herdam do <span> pai. Os elementos que nao
   sao <span> (o <small>, o <strong> e o <p> do titulo) nao precisam de
   reforco e por isso ficam de fora. */
.footer-seals .qms-seal__q,
.footer-seals .qms-seal__marks,
.footer-seals .qms-seal__marks i{
    color:#fff
}

.footer-seals .qms-seal__word,
.footer-seals .icp-seal__icp{
    color:#111
}

/* ---- selo QMS (ISO/IEC 27001) ---- */
.qms-seal{
    --u:.82px;
    --laranja:#E8410F;
    box-sizing:content-box;
    width:calc(71 * var(--u));
    padding:5px;
    border-radius:8px;
    background:#fff;
    display:flex;
    flex-direction:column;
    gap:calc(2 * var(--u));
    font-family:Nunito,Arial,sans-serif
}

.qms-seal__panel{
    height:calc(88 * var(--u));
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:space-between;
    padding:calc(4 * var(--u)) calc(3 * var(--u));
    background:var(--laranja)
}

.qms-seal__q{
    display:grid;
    place-items:center;
    width:100%;
    height:calc(52 * var(--u));
    color:#fff;
    font-family:"Times New Roman",Georgia,serif;
    font-size:calc(62 * var(--u));
    font-weight:900;
    line-height:1
}

.qms-seal__plate{
    width:100%;
    padding:calc(2.5 * var(--u)) calc(2 * var(--u)) calc(3 * var(--u));
    background:#fff;
    text-align:center;
    line-height:1
}

.qms-seal__plate small{
    display:block;
    color:var(--laranja);
    font-size:calc(5.2 * var(--u));
    font-weight:900;
    letter-spacing:-.01em;
    white-space:nowrap
}

.qms-seal__plate strong{
    display:block;
    margin-top:calc(1.5 * var(--u));
    color:#111;
    font-size:calc(7.6 * var(--u));
    font-weight:900;
    letter-spacing:-.02em;
    white-space:nowrap
}

.qms-seal__foot{
    display:flex;
    align-items:center;
    gap:calc(2 * var(--u));
    height:calc(10 * var(--u))
}

.qms-seal__marks{
    display:flex;
    gap:calc(1 * var(--u))
}

.qms-seal__marks i{
    display:grid;
    place-items:center;
    width:calc(7 * var(--u));
    height:calc(7 * var(--u));
    background:var(--laranja);
    color:#fff;
    font-size:calc(5 * var(--u));
    font-style:normal;
    font-weight:900
}

.qms-seal__word{
    color:#111;
    font-size:calc(6 * var(--u));
    font-weight:400;
    letter-spacing:.01em;
    white-space:nowrap
}

/* ---- selo ICP-Brasil ----
   Hexagono metalico em tres camadas empilhadas (moldura escovada, aro
   escuro, face interna), todas com a mesma mascara. A mascara vai
   embutida como data-URI em vez de apontar para um arquivo: se o SVG
   nao chegasse (caminho, cache, MIME) o elemento seria mascarado a
   nada e o selo sumiria inteiro, enquanto o QMS ao lado, que nao usa
   mascara, continuaria aparecendo. */
.icp-seal{
    --s:.82px;
    --hex:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20117%20108%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M29%2C0%20L88%2C0%20L117%2C54%20L88%2C108%20L29%2C108%20L0%2C54%20Z%22%20transform%3D%22translate%2858.5%2C54%29%20scale%280.74%2C0.76%29%20translate%28-58.5%2C-54%29%22%20fill%3D%22%23000%22%20stroke%3D%22%23000%22%20stroke-width%3D%2227%22%20stroke-linejoin%3D%22round%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;
    --metal:linear-gradient(102deg,
            #dfe2e4 0%, #fbfcfc 9%, #c2c8cc 22%, #eef0f1 34%,
            #aeb5ba 48%, #f4f5f6 60%, #b8bfc4 74%, #eceef0 86%, #cdd2d6 100%);
    position:relative;
    /* mesma altura total do QMS: 100u de selo + os 10px de moldura
       branca dele (5px em cima e embaixo) */
    height:calc(100 * var(--s) + 10px);
    /* a largura vem escrita, e nao so do aspect-ratio: os filhos sao
       todos absolutos, entao num navegador sem aspect-ratio o
       width:auto colapsaria para 0 e o selo sumiria. O valor e o mesmo
       que a proporcao 117/108 produz. */
    width:calc((100 * var(--s) + 10px) * 117 / 108);
    aspect-ratio:117/108;
    background:var(--metal);
    -webkit-mask:var(--hex);
    mask:var(--hex);
    filter:drop-shadow(0 calc(3 * var(--s)) calc(6 * var(--s)) rgba(9,3,23,.3))
}

.icp-seal__ring,
.icp-seal__face{
    position:absolute;
    -webkit-mask:var(--hex);
    mask:var(--hex)
}

.icp-seal__ring{
    inset:calc(5 * var(--s)) calc(4.5 * var(--s));
    background:linear-gradient(160deg,#5a6066,#3a4046 55%,#6a7076)
}

.icp-seal__face{
    inset:calc(8 * var(--s)) calc(7 * var(--s));
    background:var(--metal)
}

.icp-seal__body{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:calc(4 * var(--s))
}

.icp-seal__title{
    margin:0;
    color:#111;
    font-family:Nunito,Arial,sans-serif;
    font-size:calc(11 * var(--s));
    font-weight:900;
    line-height:1.06;
    letter-spacing:-.02em;
    text-align:center;
    white-space:nowrap
}

.icp-seal__mark{
    display:flex;
    align-items:center;
    gap:calc(1.5 * var(--s))
}

.icp-seal__icp{
    display:flex;
    flex-direction:column;
    align-items:center;
    color:#111;
    font-family:Nunito,Arial,sans-serif;
    font-size:calc(16 * var(--s));
    font-weight:900;
    line-height:.94;
    letter-spacing:-.03em
}

.icp-seal__icp em{
    font-size:calc(11.5 * var(--s));
    font-style:normal;
    font-weight:900
}

/* a partir de 1000px a .footer-security vira coluna (regra acima), e
   selos e chips passam a alinhar pela esquerda */
@media(max-width:1000px){
    .security-items{
        justify-content:flex-start
    }
}

@media(max-width:600px){
    .site-footer{
        border-radius:52px 52px 0 0;
        margin-top:-52px;
        padding:52px 0 22px
    }

    .footer-seals{
        gap:8px;
        justify-content:center
    }

    .footer-seals .qms-seal{
        --u:.58px
    }

    .footer-seals .icp-seal{
        --s:.58px
    }

    /* Mesmo empilhamento e respiro do footer mobile da LP anterior. */
    .footer-grid{
        grid-template-columns:1fr;
        gap:40px;
        padding-bottom:40px;
    }

    .footer-brand{
        grid-column:auto;
    }

    .footer-brand img{
        width:150px;
        margin-bottom:18px;
    }

    .footer-brand p{
        max-width:290px;
        font-size:14px;
        line-height:1.6;
    }

    .footer-column{
        gap:12px;
    }

    .footer-column h4{
        margin-bottom:8px;
        font-size:15px;
    }

    .footer-column a{
        margin-bottom:0;
        font-size:14px;
    }

    .footer-bottom{
        align-items:flex-start;
        gap:15px;
        font-size:13px;
        text-align:left;
    }

    /* Ordem móvel da LP antiga: marca, quatro grupos de links, faixa de
       segurança e, por último, as informações legais. */
    .footer-grid{
        grid-auto-flow:row;
    }

    .footer-brand{order:0}
    .footer-column:nth-of-type(2){order:1}
    .footer-column:nth-of-type(3){order:2}
    .footer-column:nth-of-type(4){order:3}
    .footer-column:nth-of-type(5){order:4}

    .footer-security{
        flex-direction:column;
        align-items:flex-start;
        gap:30px;
        margin-top:40px;
        padding:28px 0;
    }

    .security-items{
        justify-content:flex-start;
    }

    .footer-bottom{
        flex-direction:column;
        justify-content:flex-start;
    }
}
