:root {
    --site-verde: #0b5cab;
    --site-verde-escuro: #063a70;
    --site-verde-claro: #dceef8;
    --site-destaque: #13a6b7;
    --site-texto: #12263f;
    --site-texto-suave: #5c7088;
    --site-creme: #f7fbff;
    --site-fundo: #eff6fb;
    --site-borda: #dbe7f0;
    --site-branco: #ffffff;
    --site-sombra: 0 22px 55px rgba(20, 62, 114, .13);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body.site-publico {
    margin: 0;
    color: var(--site-texto);
    background: var(--site-creme);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
}

.site-conteiner {
    width: min(1160px, calc(100% - 48px));
    margin: 0 auto;
}

.site-pular-conteudo {
    position: fixed;
    z-index: 30;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    transform: translateY(-180%);
    border-radius: 8px;
    color: #fff;
    background: var(--site-verde-escuro);
    text-decoration: none;
}

.site-pular-conteudo:focus {
    transform: translateY(0);
}

.site-cabecalho {
    position: sticky;
    z-index: 20;
    top: 0;
    border-bottom: 1px solid rgba(218, 229, 221, .7);
    background: rgba(251, 250, 245, .91);
    backdrop-filter: blur(14px);
}

.site-barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 78px;
    gap: 28px;
}

.site-marca {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--site-verde-escuro);
    font-size: 1.35rem;
    font-weight: 820;
    letter-spacing: -.055em;
    text-decoration: none;
}

.site-marca img {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    object-fit: cover;
}

.site-navegacao {
    display: flex;
    align-items: center;
    gap: 27px;
    margin-left: auto;
}

.site-navegacao a {
    color: #4f625a;
    font-size: .88rem;
    font-weight: 680;
    text-decoration: none;
}

.site-navegacao a:hover,
.site-navegacao a:focus-visible {
    color: var(--site-verde);
}

.site-cabecalho-contato {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 8px;
    color: #fff;
    background: #0b5cab;
    box-shadow: 0 7px 16px rgba(11, 92, 171, .18);
    font-size: .78rem;
    font-weight: 780;
    text-decoration: none;
    transition: background .16s ease, transform .16s ease, box-shadow .16s ease;
}

.site-cabecalho-contato:hover,
.site-cabecalho-contato:focus-visible {
    color: #fff;
    background: #063a70;
    box-shadow: 0 10px 20px rgba(6, 58, 112, .24);
    transform: translateY(-1px);
}

.site-link-acesso {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--site-verde);
    font-size: .86rem;
    font-weight: 780;
    text-decoration: none;
}

.site-link-acesso span {
    font-size: 1.1rem;
}

.site-link-acesso:hover,
.site-link-acesso:focus-visible {
    color: var(--site-destaque);
}

.site-botao:focus-visible,
.site-botao-texto:focus-visible,
.site-link-acesso:focus-visible,
.site-cabecalho-contato:focus-visible,
.site-navegacao a:focus-visible {
    outline: 3px solid rgba(231, 112, 77, .32);
    outline-offset: 4px;
}

.site-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(64px, 8.3vw, 112px) 0 clamp(86px, 10vw, 134px);
    background:
        radial-gradient(circle at 83% 19%, rgba(233, 174, 126, .24), transparent 24rem),
        radial-gradient(circle at 17% 88%, rgba(96, 174, 139, .14), transparent 24rem),
        var(--site-creme);
}

.site-hero::after {
    position: absolute;
    right: -154px;
    bottom: -220px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(13, 107, 84, .1);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.site-hero-grade {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(385px, .84fr);
    align-items: center;
    gap: clamp(55px, 8vw, 122px);
}

.site-hero-texto {
    max-width: 610px;
}

.site-sobrancelha {
    margin: 0 0 17px;
    color: var(--site-verde);
    font-size: .7rem;
    font-weight: 820;
    letter-spacing: .14em;
    line-height: 1.2;
    text-transform: uppercase;
}

.site-hero h1,
.site-solucao h2,
.site-cabecalho-secao h2,
.site-rotina h2,
.site-equipe h2,
.site-acesso h2 {
    margin: 0;
    color: var(--site-verde-escuro);
    font-weight: 790;
    letter-spacing: -.064em;
    line-height: 1.04;
}

.site-hero h1 {
    max-width: 660px;
    font-size: clamp(2.75rem, 5.25vw, 5.1rem);
}

.site-hero h1 span {
    color: var(--site-verde);
}

.site-introducao {
    max-width: 565px;
    margin: 27px 0 0;
    color: var(--site-texto-suave);
    font-size: clamp(1rem, 1.4vw, 1.13rem);
    line-height: 1.73;
}

.site-hero-acoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 22px;
    margin-top: 34px;
}

.site-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 51px;
    padding: 0 21px;
    border-radius: 10px;
    font-size: .89rem;
    font-weight: 790;
    text-decoration: none;
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.site-botao-principal {
    color: #fff;
    background: var(--site-verde);
    box-shadow: 0 13px 25px rgba(13, 107, 84, .22);
}

.site-botao-principal:hover,
.site-botao-principal:focus-visible {
    background: #095543;
    box-shadow: 0 17px 31px rgba(13, 107, 84, .28);
    transform: translateY(-2px);
}

.site-botao-texto {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--site-verde);
    font-size: .87rem;
    font-weight: 760;
    text-decoration: none;
}

.site-botao-texto:hover,
.site-botao-texto:focus-visible {
    color: var(--site-destaque);
}

.site-lista-confianca {
    display: grid;
    gap: 9px;
    margin: 37px 0 0;
    padding: 0;
    color: #52655d;
    font-size: .78rem;
    font-weight: 640;
    list-style: none;
}

.site-lista-confianca li {
    display: flex;
    align-items: center;
    gap: 9px;
}

.site-lista-confianca li::before {
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: var(--site-verde);
    background: var(--site-verde-claro);
    content: "✓";
    font-size: .64rem;
    font-weight: 900;
}

.site-hero-composicao {
    position: relative;
    justify-self: end;
    width: min(100%, 485px);
    padding: 0 0 49px 47px;
}

.site-foto-hero {
    position: relative;
    height: 575px;
    margin: 0;
    overflow: hidden;
    border-radius: 26px;
    background: #d8e4de;
    box-shadow: var(--site-sombra);
}

.site-foto-hero::after {
    position: absolute;
    inset: auto 0 0;
    height: 35%;
    background: linear-gradient(to top, rgba(5, 38, 30, .54), transparent);
    content: "";
}

.site-foto-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 60% center;
}

.site-foto-hero figcaption {
    position: absolute;
    z-index: 1;
    right: 22px;
    bottom: 21px;
    left: 22px;
    color: #fff;
    font-size: .8rem;
    font-weight: 690;
    text-shadow: 0 1px 16px rgba(0, 0, 0, .28);
}

.site-cartao-hero {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    width: 345px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .92);
    border-radius: 17px;
    background: rgba(255, 253, 248, .96);
    box-shadow: 0 18px 38px rgba(17, 59, 47, .15);
}

.site-cartao-hero-etiqueta {
    display: block;
    color: var(--site-destaque);
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .115em;
    text-transform: uppercase;
}

.site-cartao-hero h2 {
    margin: 10px 0 8px;
    color: var(--site-verde-escuro);
    font-size: 1.1rem;
    letter-spacing: -.035em;
    line-height: 1.22;
}

.site-cartao-hero p {
    margin: 0;
    color: #6b786f;
    font-size: .76rem;
    line-height: 1.6;
}

.site-cartao-hero-linha {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #e1e8df;
    color: #416357;
    font-size: .7rem;
    font-weight: 730;
}

.site-cartao-hero-linha span {
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: #fff;
    background: var(--site-verde);
    font-size: .61rem;
}

.site-faixa {
    border-top: 1px solid #dfe7df;
    border-bottom: 1px solid #dfe7df;
    background: #fffefa;
}

.site-faixa-conteudo {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.site-faixa p {
    display: grid;
    gap: 3px;
    min-height: 105px;
    margin: 0;
    padding: 28px 33px;
    border-left: 1px solid #e1e9e1;
}

.site-faixa p:first-child {
    padding-left: 0;
    border-left: 0;
}

.site-faixa p:last-child {
    padding-right: 0;
}

.site-faixa strong {
    color: var(--site-verde-escuro);
    font-size: .93rem;
    letter-spacing: -.02em;
}

.site-faixa span {
    color: #75827b;
    font-size: .75rem;
}

.site-solucao,
.site-funcionalidades,
.site-rotina,
.site-equipe,
.site-acesso {
    padding: clamp(77px, 9vw, 128px) 0;
}

.site-solucao {
    background: #fff;
}

.site-solucao-grade {
    display: flex;
    flex-direction: column;
    align-items: start;
}

.site-solucao h2,
.site-cabecalho-secao h2,
.site-rotina h2,
.site-equipe h2,
.site-acesso h2 {
    font-size: clamp(2rem, 3.5vw, 3.5rem);
}

.site-solucao-texto {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-bottom: 4px;
}

.site-solucao-texto p {
    margin: 0;
    color: var(--site-texto-suave);
    font-size: 20px;
    line-height: 1.75;
    margin-top: 10px;
}

.site-dispositivos {
    overflow: hidden;
    padding: clamp(76px, 9vw, 124px) 0;
    background: #f5f9fd;
}

.site-dispositivos-grade {
    display: grid;
    grid-template-columns: minmax(0, .62fr) minmax(500px, 1.18fr);
    align-items: center;
    gap: clamp(36px, 6vw, 82px);
}

.site-dispositivos h2 {
    max-width: 510px;
    margin: 0;
    color: #063a70;
    font-size: clamp(2rem, 3.4vw, 3.35rem);
    font-weight: 790;
    letter-spacing: -.058em;
    line-height: 1.08;
}

.site-dispositivos-texto > p:not(.site-sobrancelha) {
    max-width: 500px;
    margin: 22px 0 0;
    color: #5c7088;
    font-size: .98rem;
    line-height: 1.73;
}

.site-dispositivos-texto ul {
    display: grid;
    gap: 10px;
    margin: 27px 0 0;
    padding: 0;
    color: #496b87;
    font-size: .8rem;
    font-weight: 700;
    list-style: none;
}

.site-dispositivos-texto li { display: flex; align-items: center; gap: 9px; }
.site-dispositivos-texto li::before { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; color: #0b5cab; background: #dceef8; content: "✓"; font-size: .65rem; font-weight: 900; }

.site-dispositivos-vitrine {
    position: relative;
    margin: 0;
    padding: 18px 8px 6px;
    border: 1px solid #d6e5f0;
    border-radius: 24px;
    background: linear-gradient(145deg, #fff, #eef8fc);
    box-shadow: 0 20px 50px rgba(17, 71, 125, .12);
}

.site-dispositivos-vitrine img { display: block; width: 100%; height: auto; }

.imgNotebook {
    display: block;
    justify-self: center;
    width: min(100%, 720px);
    height: auto;
}

.site-funcionalidades {
    background: var(--site-fundo);
}

.site-cabecalho-secao {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(290px, .62fr);
    align-items: end;
    gap: clamp(40px, 8vw, 130px);
}

.site-cabecalho-secao>p {
    max-width: 430px;
    margin: 0 0 4px;
    color: var(--site-texto-suave);
    font-size: .96rem;
    line-height: 1.73;
}

.site-grade-funcionalidades {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 19px;
    margin-top: 55px;
}

.site-funcionalidade {
    min-height: 294px;
    padding: 30px;
    border: 1px solid #dde6dd;
    border-radius: 18px;
    background: #fff;
}

.site-funcionalidade-destaque {
    border-color: var(--site-verde);
    color: #eefaf5;
    background: var(--site-verde);
}

.site-numero {
    display: inline-block;
    color: var(--site-destaque);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .12em;
}

.site-funcionalidade h3 {
    margin: 19px 0 9px;
    color: var(--site-verde-escuro);
    font-size: 1.25rem;
    letter-spacing: -.035em;
}

.site-funcionalidade h3.site-titulo-funcionalidade {
    display: flex;
    align-items: center;
    gap: 10px;
}

.site-icone-funcionalidade {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 31px;
    height: 31px;
    border-radius: 9px;
    color: #0b5cab;
    background: #e3f2fb;
}

.site-icone-funcionalidade svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.site-funcionalidade-destaque .site-icone-funcionalidade {
    color: #0b5cab;
    background: #d9f5f6;
}

.site-funcionalidade p {
    max-width: 440px;
    margin: 0;
    color: #64766d;
    font-size: .86rem;
    line-height: 1.67;
}

.site-funcionalidade ul {
    display: grid;
    gap: 7px;
    margin: 26px 0 0;
    padding: 0;
    font-size: .74rem;
    font-weight: 670;
    list-style: none;
}

.site-funcionalidade li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.site-funcionalidade li::before {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    color: #08715b;
    background: #def5e9;
    content: "✓";
    font-size: .57rem;
    font-weight: 900;
    line-height: 15px;
    text-align: center;
}

.site-funcionalidade-destaque .site-numero {
    color: #f8b299;
}

.site-funcionalidade-destaque h3 {
    color: #fff;
}

.site-funcionalidade-destaque p {
    color: #cce5db;
}

.site-funcionalidade-destaque li {
    color: #e6f6ef;
}

.site-funcionalidade-destaque li::before {
    color: var(--site-verde);
    background: #ccecdf;
}

.site-rotina {
    background: #fff;
}

.site-rotina-grade {
    display: grid;
    grid-template-columns: minmax(330px, .87fr) minmax(0, .74fr);
    align-items: center;
    gap: clamp(52px, 9vw, 138px);
}

.site-rotina-imagem {
    height: clamp(420px, 39vw, 505px);
    margin: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #dfe9e2;
    box-shadow: 0 20px 45px rgba(26, 69, 54, .12);
}

.site-rotina-imagem img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 46% center;
}

.site-rotina-conteudo>p:not(.site-sobrancelha) {
    margin: 22px 0 0;
    color: var(--site-texto-suave);
    font-size: .98rem;
    line-height: 1.73;
}

.site-etapas {
    display: grid;
    gap: 23px;
    margin: 35px 0 0;
    padding: 0;
    list-style: none;
}

.site-etapas li {
    display: grid;
    grid-template-columns: 43px 1fr;
    gap: 15px;
}

.site-etapas li>span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    color: var(--site-verde);
    background: #e4f2ea;
    font-size: .76rem;
    font-weight: 850;
}

.site-etapas h3 {
    margin: 2px 0 4px;
    color: var(--site-verde-escuro);
    font-size: .95rem;
}

.site-etapas p {
    margin: 0;
    color: #6d7d75;
    font-size: .82rem;
    line-height: 1.6;
}

.site-equipe {
    color: #eff8f2;
    background: var(--site-verde-escuro);
}

.site-equipe .site-sobrancelha {
    color: #98cbb6;
}

.site-equipe h2 {
    color: #fff;
}

.site-equipe-grade {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(420px, 1fr);
    gap: clamp(45px, 8vw, 110px);
    align-items: start;
}

.site-perfis {
    display: grid;
    gap: 0;
    border-top: 1px solid rgba(202, 235, 220, .2);
}

.site-perfis article {
    display: grid;
    grid-template-columns: 33px 1fr;
    column-gap: 15px;
    padding: 21px 0;
    border-bottom: 1px solid rgba(202, 235, 220, .2);
}

.site-icone-perfil {
    display: grid;
    grid-row: span 2;
    place-items: center;
    width: 30px;
    height: 30px;
    margin-top: 1px;
    border: 1px solid rgba(159, 206, 229, .42);
    border-radius: 9px;
    color: #9fcee5;
    background: rgba(159, 206, 229, .1);
}

.site-icone-perfil svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.site-perfis h3 {
    margin: 0 0 4px;
    color: #fff;
    font-size: .98rem;
}

.site-perfis p {
    margin: 0;
    color: #b8d7c9;
    font-size: .79rem;
    line-height: 1.61;
}

.site-acesso {
    background: #f8f6f0;
}

.site-acesso-grade {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(380px, .75fr);
    gap: clamp(52px, 9vw, 138px);
    align-items: center;
}

.site-acesso>.site-conteiner>div>p:not(.site-sobrancelha) {
    max-width: 570px;
    margin: 22px 0 0;
    color: var(--site-texto-suave);
    font-size: .98rem;
    line-height: 1.73;
}

.site-paineis-acesso {
    display: grid;
    gap: 13px;
}

.site-paineis-acesso article {
    min-height: 144px;
    padding: 23px;
    border: 1px solid #d9e3da;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 29px rgba(42, 70, 56, .06);
}

.site-paineis-acesso article:last-child {
    border-color: #9bcbb8;
    background: #edf8f2;
}

.site-painel-etiqueta {
    display: block;
    color: var(--site-destaque);
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.site-paineis-acesso h3 {
    margin: 8px 0 4px;
    color: var(--site-verde-escuro);
    font-size: 1.04rem;
    letter-spacing: -.02em;
}

.site-paineis-acesso p {
    margin: 0;
    color: #6c7d74;
    font-size: .78rem;
    line-height: 1.58;
}

.site-rodape {
    padding: 37px 0;
    color: #bdd6c9;
    background: #062f26;
}

.site-rodape-conteudo {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 30px;
}

.site-marca-rodape {
    color: #fff;
    font-size: 1.13rem;
}

.site-marca-rodape img {
    width: 34px;
    height: 34px;
}

.site-rodape p,
.site-rodape small {
    margin: 0;
    font-size: .75rem;
}

.site-rodape small {
    color: #8db2a1;
    text-align: right;
}

@media (max-width: 920px) {

    .site-hero-grade,
    .site-solucao-grade,
    .site-cabecalho-secao,
    .site-dispositivos-grade,
    .site-rotina-grade,
    .site-equipe-grade,
    .site-acesso-grade {
        grid-template-columns: 1fr;
    }

    .site-hero-grade {
        gap: 58px;
    }

    .site-hero-texto {
        max-width: 690px;
    }

    .site-hero-composicao {
        justify-self: center;
        width: min(100%, 590px);
    }

    .site-foto-hero {
        height: 570px;
    }

    .site-solucao-grade,
    .site-cabecalho-secao {
        gap: 22px;
    }

    .site-cabecalho-secao>p {
        max-width: 610px;
    }

    .site-dispositivos-grade {
        gap: 38px;
    }

    .site-dispositivos-vitrine {
        width: min(100%, 650px);
    }

    .site-rotina-imagem {
        width: min(100%, 650px);
        height: clamp(390px, 63vw, 500px);
    }

    .site-equipe-grade {
        gap: 43px;
    }

    .site-acesso-grade {
        gap: 43px;
    }

    .site-paineis-acesso {
        width: min(100%, 560px);
    }
}

@media (max-width: 680px) {
    .site-conteiner {
        width: min(100% - 32px, 1160px);
    }

    .site-barra {
        min-height: 68px;
        gap: 14px;
    }

    .site-marca {
        font-size: 1.16rem;
    }

    .site-marca img {
        width: 35px;
        height: 35px;
        border-radius: 10px;
    }

    .site-navegacao {
        display: none;
    }

    .site-link-acesso {
        font-size: .75rem;
    }

    .site-cabecalho-contato {
        min-height: 35px;
        padding: 0 12px;
        font-size: .73rem;
    }

    .site-hero {
        padding-top: 62px;
    }

    .site-hero h1 {
        font-size: clamp(2.38rem, 11vw, 3.65rem);
    }

    .site-hero-acoes {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .site-lista-confianca {
        margin-top: 31px;
    }

    .site-hero-composicao {
        padding: 0 0 0 18px;
    }

    .site-foto-hero {
        height: clamp(410px, 124vw, 500px);
        border-radius: 21px;
    }

    .site-cartao-hero {
        position: relative;
        width: calc(100% - 18px);
        margin: -33px 18px 0 0;
        padding: 20px;
    }

    .site-cartao-hero h2 {
        font-size: 1.02rem;
    }

    .site-faixa-conteudo,
    .site-grade-funcionalidades {
        grid-template-columns: 1fr;
    }

    .site-faixa p,
    .site-faixa p:first-child,
    .site-faixa p:last-child {
        min-height: auto;
        padding: 20px 0;
        border-top: 1px solid #e1e9e1;
        border-left: 0;
    }

    .site-faixa p:first-child {
        border-top: 0;
    }

    .site-solucao,
    .site-dispositivos,
    .site-funcionalidades,
    .site-rotina,
    .site-equipe,
    .site-acesso {
        padding: 70px 0;
    }

    .site-funcionalidade {
        min-height: 0;
        padding: 24px;
    }

    .site-dispositivos-vitrine {
        padding: 10px 4px 4px;
        border-radius: 18px;
    }

    .site-rotina-grade {
        gap: 43px;
    }

    .site-rotina-imagem {
        height: clamp(290px, 85vw, 365px);
        border-radius: 18px;
    }

    .site-etapas {
        gap: 20px;
    }

    .site-paineis-acesso article {
        min-height: 0;
    }

    .site-rodape-conteudo {
        grid-template-columns: 1fr;
        gap: 13px;
    }

    .site-rodape small {
        text-align: left;
    }
}

.site-contato-final {
    padding: clamp(74px, 9vw, 118px) 0;
    color: #fff;
    background:
        radial-gradient(circle at 85% 15%, rgba(19, 166, 183, .42), transparent 22rem),
        #0b5cab;
}

.site-contato-final-conteudo {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(380px, .7fr);
    align-items: center;
    gap: clamp(45px, 9vw, 126px);
}

.site-contato-final .site-sobrancelha { color: #a8edf1; }
.site-contato-final h2, .site-faq h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.35rem); font-weight: 790; letter-spacing: -.058em; line-height: 1.08; }
.site-contato-final h2 { max-width: 580px; color: #fff; }
.site-contato-final-conteudo > div > p:not(.site-sobrancelha) { max-width: 565px; margin: 20px 0 0; color: #d5ebf7; font-size: .98rem; line-height: 1.72; }

.site-form-whatsapp { padding: 25px; border: 1px solid rgba(203, 240, 247, .38); border-radius: 18px; background: rgba(255, 255, 255, .11); box-shadow: 0 18px 38px rgba(4, 42, 91, .18); }
.site-form-whatsapp > label { display: block; margin-bottom: 9px; color: #e7f7fb; font-size: .78rem; font-weight: 760; }
.site-form-whatsapp > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.site-form-whatsapp input { width: 100%; min-width: 0; height: 51px; padding: 0 14px; border: 1px solid rgba(212, 239, 248, .65); border-radius: 10px; outline: 0; color: #163c62; background: #fff; font-size: .88rem; }
.site-form-whatsapp input::placeholder { color: #8196aa; }
.site-form-whatsapp input:focus { border-color: #13a6b7; box-shadow: 0 0 0 3px rgba(19, 166, 183, .32); }
.site-botao-whatsapp { min-height: 51px; border: 0; color: #063a70; background: #fff; box-shadow: none; cursor: pointer; white-space: nowrap; }
.site-botao-whatsapp:hover, .site-botao-whatsapp:focus-visible { color: #fff; background: #13a6b7; box-shadow: none; }
.site-form-whatsapp > p { min-height: 19px; margin: 10px 0 0; color: #d9f3f5; font-size: .72rem; }

.site-faq { padding: clamp(76px, 9vw, 124px) 0; background: #fff; }
.site-faq-grade { display: grid; grid-template-columns: minmax(0, .67fr) minmax(420px, 1fr); gap: clamp(48px, 9vw, 130px); align-items: start; }
.site-faq h2 { color: #063a70; }
.site-faq > .site-conteiner > div > p:not(.site-sobrancelha) { max-width: 440px; margin: 20px 0 0; color: #5c7088; font-size: .96rem; line-height: 1.72; }
.site-faq-lista { border-top: 1px solid #dce7f0; }
.site-faq-lista details { border-bottom: 1px solid #dce7f0; }
.site-faq-lista summary { position: relative; padding: 20px 35px 20px 0; color: #163e6d; cursor: pointer; font-size: .93rem; font-weight: 760; list-style: none; }
.site-faq-lista summary::-webkit-details-marker { display: none; }
.site-faq-lista summary::after { position: absolute; top: 18px; right: 2px; color: #13a6b7; content: "+"; font-size: 1.3rem; font-weight: 500; }
.site-faq-lista details[open] summary::after { content: "−"; }
.site-faq-lista details p { max-width: 620px; margin: -2px 0 20px; color: #61758b; font-size: .84rem; line-height: 1.68; }

@media (max-width: 920px) {
    .site-contato-final-conteudo, .site-faq-grade { grid-template-columns: 1fr; }
    .site-contato-final-conteudo { gap: 34px; }
    .site-faq-grade { gap: 38px; }
    .site-form-whatsapp { width: min(550px, 100%); }
}

@media (max-width: 680px) {
    .site-contato-final, .site-faq { padding: 70px 0; }
    .site-form-whatsapp { padding: 20px; }
    .site-form-whatsapp > div { grid-template-columns: 1fr; }
    .site-botao-whatsapp { width: 100%; }
}

.site-whatsapp-flutuante {
    position: fixed;
    z-index: 35;
    right: 24px;
    bottom: 24px;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 54px;
    padding: 0 18px;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: #0b5cab;
    box-shadow: 0 12px 28px rgba(11, 92, 171, .32);
    font-size: .84rem;
    font-weight: 800;
    text-decoration: none;
    animation: site-whatsapp-pulso 1.8s ease-in-out infinite;
    transition: background .16s ease, transform .16s ease;
}

.site-whatsapp-flutuante svg { width: 22px; height: 22px; flex: 0 0 auto; }

.site-whatsapp-flutuante:hover,
.site-whatsapp-flutuante:focus-visible {
    outline: 0;
    background: #13a6b7;
    transform: translateY(-3px);
}

@keyframes site-whatsapp-pulso {
    0%, 100% { box-shadow: 0 12px 28px rgba(11, 92, 171, .32), 0 0 0 0 rgba(19, 166, 183, .42); }
    50% { box-shadow: 0 14px 31px rgba(11, 92, 171, .35), 0 0 0 11px rgba(19, 166, 183, 0); }
}

@media (max-width: 680px) {
    .site-whatsapp-flutuante { right: 16px; bottom: 16px; min-height: 50px; padding: 0 16px; }
}

@media (prefers-reduced-motion: reduce) {
    .site-whatsapp-flutuante { animation: none; }
}

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* Ajustes finais de paleta: azul e ciano do Zylar. */
.site-cabecalho {
    border-bottom-color: rgba(219, 229, 240, .78);
    background: rgba(247, 251, 255, .91);
}

.site-navegacao a {
    color: #496078;
}

.site-botao:focus-visible,
.site-botao-texto:focus-visible,
.site-link-acesso:focus-visible,
.site-navegacao a:focus-visible {
    outline-color: rgba(19, 166, 183, .32);
}

.site-hero {
    background: radial-gradient(circle at 83% 19%, rgba(19, 166, 183, .17), transparent 24rem), radial-gradient(circle at 17% 88%, rgba(11, 92, 171, .11), transparent 24rem), var(--site-creme);
}

.site-hero::after {
    border-color: rgba(11, 92, 171, .1);
}

.site-botao-principal {
    box-shadow: 0 13px 25px rgba(11, 92, 171, .22);
}

.site-botao-principal:hover,
.site-botao-principal:focus-visible {
    background: #074b90;
    box-shadow: 0 17px 31px rgba(11, 92, 171, .28);
}

.site-lista-confianca {
    color: #50677e;
}

.site-foto-hero {
    background: #d8eaf5;
}

.site-foto-hero::after {
    background: linear-gradient(to top, rgba(4, 45, 91, .54), transparent);
}

.site-cartao-hero {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 18px 38px rgba(20, 62, 114, .15);
}

.site-cartao-hero p {
    color: #647a90;
}

.site-cartao-hero-linha {
    border-top-color: #e2ebf4;
    color: #416d8f;
}

.site-faixa {
    border-color: #dce7f0;
    background: #fbfdff;
}

.site-faixa p {
    border-left-color: #e1eaf3;
}

.site-faixa span {
    color: #71859a;
}

.site-funcionalidade {
    border-color: #dbe7f0;
}

.site-funcionalidade-destaque {
    color: #edf7fb;
}

.site-funcionalidade p {
    color: #5c7088;
}

.site-funcionalidade li::before {
    color: #0b7598;
    background: #e0f4f8;
}

.site-funcionalidade-destaque .site-numero {
    color: #99e5e9;
}

.site-funcionalidade-destaque p {
    color: #c8e5f4;
}

.site-funcionalidade-destaque li {
    color: #e4f5fa;
}

.site-funcionalidade-destaque li::before {
    color: var(--site-verde);
    background: #d9f5f6;
}

.site-rotina-imagem {
    background: #deedf7;
    box-shadow: 0 20px 45px rgba(26, 69, 111, .12);
}

.site-etapas li>span {
    background: #e3f2fb;
}

.site-etapas p {
    color: #6d8095;
}

.site-equipe {
    color: #eef7ff;
}

.site-equipe .site-sobrancelha {
    color: #9fd8ee;
}

.site-perfis {
    border-top-color: rgba(195, 225, 244, .25);
}

.site-perfis article {
    border-bottom-color: rgba(195, 225, 244, .25);
}

.site-icone-perfil {
    color: #9fcee5;
}

.site-perfis p {
    color: #c5ddec;
}

.site-acesso {
    background: #f5f9fd;
}

.site-paineis-acesso article {
    border-color: #d9e6f0;
    box-shadow: 0 12px 29px rgba(42, 70, 116, .06);
}

.site-paineis-acesso article:last-child {
    border-color: #9bcfe4;
    background: #eef8fc;
}

.site-paineis-acesso p {
    color: #6c8093;
}

.site-rodape {
    color: #bed8ea;
    background: #082d55;
}

.site-rodape small {
    color: #8fb4cf;
}

.site-rodape-legais {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
}

.site-link-termos {
    padding: 0;
    border: 0;
    color: #bed8ea;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: .75rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-link-termos:hover,
.site-link-termos:focus-visible {
    color: #fff;
}

.site-link-termos:focus-visible,
.site-modal-fechar:focus-visible {
    outline: 3px solid #13a6b7;
    outline-offset: 3px;
}

.site-modal-termos {
    width: min(720px, calc(100% - 32px));
    max-height: min(760px, calc(100dvh - 32px));
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 20px;
    color: #264561;
    background: #fff;
    box-shadow: 0 24px 75px rgba(4, 31, 61, .35);
}

.site-modal-termos::backdrop {
    background: rgba(3, 32, 61, .68);
    backdrop-filter: blur(3px);
}

.site-modal-termos-cabecalho,
.site-modal-termos-rodape {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 28px;
}

.site-modal-termos-cabecalho {
    border-bottom: 1px solid #deebf4;
}

.site-modal-termos-cabecalho .site-sobrancelha {
    margin-bottom: 7px;
    color: #0b7598;
}

.site-modal-termos h2 {
    margin: 0;
    color: #063a70;
    font-size: clamp(1.35rem, 3vw, 1.75rem);
    letter-spacing: -.035em;
}

.site-modal-fechar {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #315b7c;
    background: #edf5fa;
    cursor: pointer;
    font-size: 1.7rem;
    line-height: 1;
}

.site-modal-fechar:hover { background: #dceef8; }

.site-modal-termos-conteudo {
    max-height: min(530px, calc(100dvh - 210px));
    padding: 22px 28px 28px;
    overflow-y: auto;
}

.site-modal-atualizacao {
    margin: 0 0 22px;
    color: #6d8095;
    font-size: .78rem;
}

.site-modal-termos-conteudo section + section { margin-top: 20px; }

.site-modal-termos h3 {
    margin: 0;
    color: #0b5cab;
    font-size: .95rem;
}

.site-modal-termos-conteudo section p {
    margin: 7px 0 0;
    color: #5c7088;
    font-size: .89rem;
    line-height: 1.65;
}

.site-modal-termos-rodape {
    justify-content: flex-end;
    border-top: 1px solid #deebf4;
    background: #f7fbfe;
}

.site-modal-termos-rodape .site-botao-principal {
    border: 0;
    background: #0b5cab;
    box-shadow: none;
    cursor: pointer;
}

.site-modal-termos-rodape .site-botao-principal:hover,
.site-modal-termos-rodape .site-botao-principal:focus-visible {
    background: #063a70;
    box-shadow: none;
}

@media (max-width: 680px) {

    .site-faixa p,
    .site-faixa p:first-child,
    .site-faixa p:last-child {
        border-top-color: #e1eaf3;
    }

    .site-rodape-legais {
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
        gap: 9px;
    }

    .site-modal-termos-cabecalho,
    .site-modal-termos-rodape {
        padding: 18px 20px;
    }

    .site-modal-termos-conteudo {
        max-height: calc(100dvh - 190px);
        padding: 20px;
    }
}

/* Variações de cor para deixar a apresentação mais acolhedora e dinâmica. */
.site-hero {
    background:
        radial-gradient(circle at 83% 18%, rgba(19, 166, 183, .27), transparent 25rem),
        radial-gradient(circle at 12% 88%, rgba(104, 154, 235, .18), transparent 23rem),
        linear-gradient(135deg, #f9fdff 0%, #eff9fc 100%);
}

.site-solucao {
    background:
        radial-gradient(circle at 94% 10%, rgba(118, 202, 218, .18), transparent 19rem),
        linear-gradient(180deg, #fff 0%, #f8fcff 100%);
}

.site-dispositivos {
    background:
        radial-gradient(circle at 10% 80%, rgba(132, 183, 240, .2), transparent 23rem),
        radial-gradient(circle at 90% 18%, rgba(48, 191, 193, .16), transparent 20rem),
        #f3f9ff;
}

.site-dispositivos-vitrine {
    border-color: #b9ddef;
    background: linear-gradient(135deg, #fff 10%, #e4f7f8 100%);
    box-shadow: 0 24px 58px rgba(11, 92, 171, .16);
}

.site-funcionalidades {
    background:
        radial-gradient(circle at 8% 12%, rgba(135, 190, 245, .19), transparent 22rem),
        radial-gradient(circle at 93% 80%, rgba(62, 205, 196, .16), transparent 24rem),
        #f5faff;
}

.site-funcionalidade {
    transition: transform .18s ease, box-shadow .18s ease;
}

.site-funcionalidade:hover {
    box-shadow: 0 16px 32px rgba(24, 79, 135, .11);
    transform: translateY(-3px);
}

.site-funcionalidade-destaque {
    border-color: #0b5cab;
    background: linear-gradient(145deg, #0b5cab 0%, #087b9d 100%);
}

.site-grade-funcionalidades > .site-funcionalidade:nth-child(2) {
    border-color: #d9ccf7;
    background: linear-gradient(145deg, #fff 25%, #f6f2ff 100%);
}

.site-grade-funcionalidades > .site-funcionalidade:nth-child(2) .site-icone-funcionalidade {
    color: #7353b6;
    background: #ece4ff;
}

.site-grade-funcionalidades > .site-funcionalidade:nth-child(3) {
    border-color: #f3d4bc;
    background: linear-gradient(145deg, #fff 25%, #fff4ec 100%);
}

.site-grade-funcionalidades > .site-funcionalidade:nth-child(3) .site-icone-funcionalidade {
    color: #c96c3d;
    background: #ffeadb;
}

.site-grade-funcionalidades > .site-funcionalidade:nth-child(4) {
    border-color: #c5e5cc;
    background: linear-gradient(145deg, #fff 25%, #effaf1 100%);
}

.site-grade-funcionalidades > .site-funcionalidade:nth-child(4) .site-icone-funcionalidade {
    color: #287a55;
    background: #daf2e2;
}

.site-rotina {
    background:
        radial-gradient(circle at 88% 18%, rgba(144, 185, 245, .18), transparent 23rem),
        #fff;
}

.site-rotina-imagem {
    outline: 8px solid rgba(144, 213, 224, .16);
    outline-offset: -8px;
}

.site-equipe {
    background:
        radial-gradient(circle at 90% 8%, rgba(32, 181, 185, .5), transparent 28rem),
        radial-gradient(circle at 6% 92%, rgba(71, 117, 199, .42), transparent 26rem),
        #063a70;
}

.site-faq {
    background:
        radial-gradient(circle at 8% 88%, rgba(143, 210, 224, .2), transparent 20rem),
        #fff;
}

/* Entradas sutis enquanto o conteúdo aparece na tela. */
.site-animar {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity .62s cubic-bezier(.22, 1, .36, 1),
        transform .62s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--site-atraso-animacao, 0ms);
}

.site-animar.site-animado {
    opacity: 1;
    transform: translateY(0);
}

.site-hero-composicao.site-animar {
    transform: translateX(24px);
}

.site-hero-composicao.site-animar.site-animado {
    transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
    .site-animar {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* Ajustes finos para a experiência em celulares. */
@media (max-width: 680px) {
    body.site-publico {
        overflow-x: clip;
    }

    .site-conteiner {
        width: min(100% - 28px, 1160px);
    }

    .site-barra {
        min-height: 64px;
        gap: 10px;
    }

    .site-marca {
        gap: 8px;
        font-size: 1.08rem;
    }

    .site-marca img {
        width: 33px;
        height: 33px;
    }

    .site-cabecalho-contato {
        min-height: 34px;
        padding: 0 11px;
        border-radius: 7px;
    }

    .site-hero {
        padding: 46px 0 66px;
    }

    .site-hero h1 {
        font-size: clamp(2.15rem, 10.4vw, 3rem);
        letter-spacing: -.058em;
        line-height: 1.06;
    }

    .site-introducao {
        margin-top: 21px;
        font-size: .98rem;
        line-height: 1.65;
    }

    .site-hero-acoes {
        width: 100%;
        margin-top: 27px;
    }

    .site-hero-acoes .site-botao {
        width: 100%;
    }

    .site-lista-confianca {
        gap: 8px;
        margin-top: 26px;
        font-size: .82rem;
    }

    .site-hero-grade {
        gap: 43px;
    }

    .site-hero-composicao {
        width: 100%;
        padding-left: 12px;
    }

    .site-foto-hero {
        height: min(116vw, 470px);
        border-radius: 19px;
    }

    .site-foto-hero figcaption {
        right: 17px;
        bottom: 16px;
        left: 17px;
        font-size: .73rem;
    }

    .site-cartao-hero {
        width: calc(100% - 12px);
        margin-right: 12px;
        padding: 18px;
        border-radius: 15px;
    }

    .site-cartao-hero p {
        font-size: .74rem;
    }

    .site-solucao,
    .site-dispositivos,
    .site-funcionalidades,
    .site-rotina,
    .site-equipe,
    .site-contato-final,
    .site-faq {
        padding: 58px 0;
    }

    .site-solucao h2,
    .site-dispositivos h2,
    .site-cabecalho-secao h2,
    .site-rotina h2,
    .site-equipe h2,
    .site-contato-final h2,
    .site-faq h2 {
        font-size: clamp(1.85rem, 8.6vw, 2.4rem);
        letter-spacing: -.05em;
    }

    .site-solucao-texto p {
        margin-top: 17px;
        font-size: 1rem;
        line-height: 1.68;
    }

    .site-dispositivos-grade {
        gap: 30px;
    }

    .site-dispositivos-texto > p:not(.site-sobrancelha),
    .site-rotina-conteudo > p:not(.site-sobrancelha),
    .site-cabecalho-secao > p,
    .site-contato-final-conteudo > div > p:not(.site-sobrancelha) {
        margin-top: 17px;
        font-size: .93rem;
        line-height: 1.66;
    }

    .site-dispositivos-texto ul {
        gap: 9px;
        margin-top: 22px;
        font-size: .77rem;
    }

    .imgNotebook {
        width: calc(100% + 4px);
        max-width: none;
        margin-left: -2px;
    }

    .site-grade-funcionalidades {
        gap: 14px;
        margin-top: 34px;
    }

    .site-funcionalidade {
        padding: 21px;
        border-radius: 16px;
    }

    .site-funcionalidade h3 {
        margin-top: 15px;
        font-size: 1.1rem;
    }

    .site-funcionalidade p {
        font-size: .82rem;
    }

    .site-funcionalidade ul {
        margin-top: 20px;
        font-size: .72rem;
    }

    .site-rotina-grade,
    .site-equipe-grade {
        gap: 34px;
    }

    .site-rotina-imagem {
        width: 100%;
        height: min(92vw, 365px);
        border-radius: 17px;
    }

    .site-etapas {
        gap: 17px;
        margin-top: 27px;
    }

    .site-etapas li {
        grid-template-columns: 36px 1fr;
        gap: 12px;
    }

    .site-etapas li > span {
        width: 34px;
        height: 34px;
        border-radius: 10px;
    }

    .site-perfis article {
        grid-template-columns: 30px 1fr;
        column-gap: 12px;
        padding: 18px 0;
    }

    .site-perfis h3 {
        font-size: .92rem;
    }

    .site-perfis p {
        font-size: .76rem;
    }

    .site-contato-final-conteudo,
    .site-faq-grade {
        gap: 30px;
    }

    .site-form-whatsapp {
        padding: 18px;
        border-radius: 15px;
    }

    .site-form-whatsapp input,
    .site-botao-whatsapp {
        min-height: 50px;
    }

    .site-faq-lista summary {
        padding: 17px 31px 17px 0;
        font-size: .88rem;
    }

    .site-faq-lista summary::after {
        top: 15px;
    }

    .site-whatsapp-flutuante {
        right: 14px;
        bottom: max(14px, env(safe-area-inset-bottom));
        min-height: 48px;
        padding: 0 14px;
        font-size: .77rem;
    }
}

@media (max-width: 380px) {
    .site-marca span {
        font-size: 1rem;
    }

    .site-cabecalho-contato {
        padding: 0 9px;
        font-size: .69rem;
    }

    .site-hero h1 {
        font-size: 2.08rem;
    }

    .site-cartao-hero {
        padding: 16px;
    }
}
