/* ==========================================================================
   Lean Office | Escritórios de Contabilidade
   Estilos exclusivos desta landing page.
   Reaproveita os tokens da marca Going2 (verde #8ee567 / grafite #1a1a1a).
   ========================================================================== */

:root{
    --g2-verde:#8ee567;
    --g2-verde-escuro:#1c420b;
    --g2-verde-claro:#b8dfa6;
    --g2-grafite:#1a1a1a;
    --g2-cinza:#efeff0;
    --g2-texto:#232323;
    --g2-display:'carbonplus-regular-bl (1)',sans-serif;

    /* Escala tipográfica — 8 degraus. Todo tamanho da página sai daqui;
       valor solto dentro de um componente é bug, não escolha. */
    --t-stat:4rem;      /* 64px — números de impacto */
    --t-h1:3.4rem;      /* 54px — título da dobra */
    --t-h2:2.4rem;      /* 38px — título de seção */
    --t-h3:1.25rem;     /* 20px — título de card e pergunta do formulário */
    --t-lead:1.125rem;  /* 18px — parágrafo de abertura e botões */
    --t-body:1rem;      /* 16px — corpo */
    --t-small:.875rem;  /* 14px — apoio, legendas, abas */
    --t-label:.78rem;   /* 12.5px — rótulo em caixa alta */

    /* Degraus só para telas pequenas, onde os títulos grandes precisam ceder */
    --t-h2-m:1.8rem;    /* 29px — título de seção no celular */
    --t-stat-m:3rem;    /* 48px — número de impacto no celular */
}

.lo-section{padding:5rem 0}
@media (max-width:768px){.lo-section{padding:3.5rem 0}}
.lo-bg-cinza{background-color:var(--g2-cinza)}
.lo-bg-branco{background-color:#fff}
.lo-bg-grafite{background-color:var(--g2-grafite);color:#fff}
.lo-bg-verde{background-color:var(--g2-verde-claro)}
/* Marca a fronteira quando uma seção clara segue outra seção clara —
   sem esse fio o leitor lê os dois blocos como um só. */
.lo-corte{border-top:1px solid #dcdcdc}

.lo-eyebrow{
    display:inline-block;font-family:var(--g2-display);font-size:var(--t-label);
    letter-spacing:.14em;text-transform:uppercase;font-weight:600;
    background:var(--g2-grafite);color:var(--g2-verde);
    padding:8px 18px;border-radius:100px;margin-bottom:1.25rem;
}
.lo-bg-grafite .lo-eyebrow{background:var(--g2-verde);color:var(--g2-verde-escuro)}

.lo-titulo{font-family:var(--g2-display);font-size:var(--t-h2);line-height:1.12;color:#000;margin:0 0 1rem}
.lo-bg-grafite .lo-titulo{color:#fff}
.lo-titulo strong{color:inherit}
@media (max-width:768px){.lo-titulo{font-size:var(--t-h2-m)}}
/* O título do formulário vive numa coluna de 550px ao lado do formulário, e a
   38px cada frase dele precisa de ~640px. As duas quebras extras deixam quatro
   linhas parelhas (90% entre a mais curta e a mais longa em vez de 31%), mas só
   valem enquanto a coluna é estreita: abaixo de 992px ela passa a ocupar a
   largura toda e ali duas linhas bastam. */
@media (max-width:991.98px){.lo-br-estreito{display:none}}
#diagnostico .lo-titulo{text-wrap:balance}

.lo-subtitulo{font-family:var(--g2-display);font-size:var(--t-lead);line-height:1.55;color:var(--g2-texto);margin:0 0 2rem}
.lo-bg-grafite .lo-subtitulo{color:#c9c9c9}
@media (max-width:768px){.lo-subtitulo{font-size:var(--t-body)}}

/* --- Selo de confiança sob o CTA ---------------------------------------- */
.lo-selos{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;padding:0;list-style:none}
.lo-selos li{font-family:var(--g2-display);font-size:var(--t-small);color:var(--g2-texto);display:flex;align-items:center;gap:.4rem}
.lo-selos li svg{flex-shrink:0}

/* --- Etapas da metodologia ---------------------------------------------- */
.lo-etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;margin-top:3rem;counter-reset:etapa}
.lo-etapa{background:#fff;border-radius:14px;padding:1.75rem 1.5rem;position:relative;border:1px solid #dedede}
.lo-bg-grafite .lo-etapa{background:#242424;border-color:#333}
.lo-etapa-num{
    font-family:var(--g2-display);font-size:var(--t-label);font-weight:700;letter-spacing:.1em;
    color:var(--g2-verde-escuro);background:var(--g2-verde);
    width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;
    margin-bottom:1rem;
}
.lo-etapa h3{font-family:var(--g2-display);font-size:var(--t-h3);color:#000;margin:0 0 .6rem}
.lo-bg-grafite .lo-etapa h3{color:var(--g2-verde)}
.lo-etapa p{font-family:var(--g2-display);font-size:var(--t-body);line-height:1.55;color:#555;margin:0}
.lo-bg-grafite .lo-etapa p{color:#bdbdbd}
.lo-etapa-prazo{
    display:inline-block;margin-top:.9rem;font-family:var(--g2-display);font-size:var(--t-label);
    color:#666;background:var(--g2-cinza);padding:4px 10px;border-radius:6px;
}
.lo-bg-grafite .lo-etapa-prazo{color:#9d9d9d;background:#1a1a1a}

/* --- Abas de frentes de trabalho (padrão das outras LPs) ---------------- */
#lo-frentes{background:#1e1e1e;border-radius:16px;overflow:hidden;min-height:430px;display:flex;flex-direction:row;text-align:left}
#lo-frentes .lo-tabs{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:24px 0;min-width:190px;max-width:210px;border-right:1px solid #2a2a2a}
#lo-frentes .lo-tab{
    font-family:var(--g2-display);font-size:var(--t-small);background:transparent;color:#9a9a9a;border:none;
    border-left:3px solid transparent;padding:14px 16px;cursor:pointer;text-align:left;line-height:1.3;transition:all .2s;
}
#lo-frentes .lo-tab.active{color:var(--g2-verde);border-left-color:var(--g2-verde);font-weight:600}
#lo-frentes .lo-painel{padding:28px 28px 32px;flex:1}
#lo-frentes .lo-painel-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
#lo-frentes .lo-painel-icone{width:40px;height:40px;background:var(--g2-verde);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#lo-frentes .lo-painel h3{color:var(--g2-verde);font-family:var(--g2-display);font-size:var(--t-h3);margin:0}
#lo-frentes .lo-painel>p{color:#ccc;font-family:var(--g2-display);font-size:var(--t-body);line-height:1.6;margin-bottom:20px}
#lo-frentes ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
#lo-frentes li{color:#fff;font-family:var(--g2-display);font-size:var(--t-body);display:flex;align-items:flex-start;gap:8px}
#lo-frentes li b{color:var(--g2-verde);font-weight:700;margin-top:2px}
#lo-frentes .lo-tab .lo-tab-curto{display:none}
@media (max-width:991.98px){
    #lo-frentes{flex-direction:column;min-height:0}
    #lo-frentes .lo-tabs{flex-direction:row;justify-content:flex-start;gap:0;padding:0;min-width:0;max-width:none;border-right:none;border-bottom:1px solid #2a2a2a;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    #lo-frentes .lo-tabs::-webkit-scrollbar{display:none}
    #lo-frentes .lo-tab{border-left:none;border-bottom:3px solid transparent;padding:14px 10px 11px;flex:1 1 0;text-align:center;white-space:nowrap}
    #lo-frentes .lo-tab.active{border-bottom-color:var(--g2-verde)}
    #lo-frentes .lo-painel{padding:22px 20px 26px}
    #lo-frentes .lo-tab .lo-tab-completo{display:none}
    #lo-frentes .lo-tab .lo-tab-curto{display:inline}
}

/* --- Antes x Depois ------------------------------------------------------
   Um par por linha, com a seta no meio. Em duas colunas soltas o pareamento
   ficava por conta do leitor, e bastava uma frase quebrar em duas linhas para
   as duas listas saírem de sincronia — problema que já apareceu na prática. */
/* Os rótulos ficam sobre as colunas, fora do painel, na mesma grade dele. */
.lo-transf-rotulos{
    display:grid;grid-template-columns:1fr 40px 1fr;gap:0 1rem;
    margin-top:2.5rem;padding:0 1.75rem;
}
.lo-transf-rotulos span{
    font-family:var(--g2-display);font-size:var(--t-label);font-weight:700;
    letter-spacing:.16em;text-transform:uppercase;color:#8a8a8a;
}
.lo-transf-rotulos span:last-child{grid-column:3;color:#4b7a33}
@media (max-width:768px){.lo-transf-rotulos{display:none}}

.lo-transformacao{
    margin-top:.5rem;background:var(--g2-grafite);
    border-radius:16px;padding:1.5rem 1.75rem 1.75rem;
}
.lo-transf-cabeca,.lo-transf-pares li{
    display:grid;grid-template-columns:1fr 40px 1fr;gap:0 1rem;align-items:center;
}
.lo-transf-cabeca{padding-bottom:1rem}
.lo-transf-cabeca h3{
    font-family:var(--g2-display);font-size:var(--t-h3);margin:0;
    display:flex;align-items:center;gap:.5rem;
}
.lo-transf-cabeca h3 svg{flex-shrink:0}
.lo-transf-antes{color:#ff9a91}
.lo-transf-depois{color:var(--g2-verde);grid-column:3}

.lo-transf-pares{list-style:none;margin:0;padding:0;counter-reset:par}
.lo-transf-pares li{padding:.9rem 0;border-top:1px solid #303030}
.lo-par-antes,.lo-par-depois{
    font-family:var(--g2-display);font-size:var(--t-body);line-height:1.5;
}
.lo-par-antes{color:#9a9a9a}
.lo-par-depois{color:#fff}
.lo-par-seta{justify-self:center;flex-shrink:0}

/* No celular o par vira um bloco de dois andares e a seta desce junto: em
   coluna única, uma seta apontando para a direita mentiria sobre onde está o
   "depois". */
@media (max-width:768px){
    .lo-transformacao{padding:1.25rem 1.25rem 1.5rem}
    .lo-transf-cabeca{display:none}
    .lo-transf-pares li{
        grid-template-columns:1fr;gap:.5rem;
        padding:1rem 0;justify-items:start;
    }
    .lo-par-seta{transform:rotate(90deg);justify-self:start;margin-left:.15rem}
    /* Sem o cabeçalho, cada metade precisa dizer sozinha de que lado está. */
    .lo-par-antes::before{
        content:"Hoje";display:block;font-size:var(--t-label);letter-spacing:.1em;
        text-transform:uppercase;color:#ff9a91;margin-bottom:.25rem;
    }
    .lo-par-depois::before{
        content:"Com processo";display:block;font-size:var(--t-label);letter-spacing:.1em;
        text-transform:uppercase;color:var(--g2-verde);margin-bottom:.25rem;
    }
}

/* --- Formulário multi-step ---------------------------------------------- */
.lo-form-card{background:#fff;border-radius:18px;padding:2.5rem;box-shadow:0 18px 45px rgba(0,0,0,.16)}
@media (max-width:768px){.lo-form-card{padding:1.75rem 1.25rem}}
.lo-progresso{display:flex;gap:.5rem;margin-bottom:1.75rem}
.lo-progresso-item{flex:1;height:6px;border-radius:100px;background:#e2e2e2;transition:background .3s}
.lo-progresso-item.ativo{background:var(--g2-verde)}
.lo-etapa-rotulo{font-family:var(--g2-display);font-size:var(--t-small);letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b;margin-bottom:.5rem}
.lo-pergunta{font-family:var(--g2-display);font-size:var(--t-h3);line-height:1.35;color:#000;margin:0 0 1.5rem}
@media (max-width:768px){.lo-pergunta{font-size:var(--t-lead)}}
.lo-campo{margin-bottom:1.5rem}
.lo-campo>label{display:block;font-family:var(--g2-display);font-size:var(--t-body);color:#333;margin-bottom:.65rem;font-weight:600}
.lo-opcoes{display:grid;gap:.6rem}
.lo-opcoes.lo-duas{grid-template-columns:1fr 1fr}
/* Os rótulos de faixa são curtos: cabem em duas colunas mesmo em telas de 360px. */
@media (max-width:339.98px){.lo-opcoes.lo-duas{grid-template-columns:1fr}}
.lo-opcao{position:relative}
.lo-opcao input{position:absolute;opacity:0;width:0;height:0}
.lo-opcao span{
    display:block;font-family:var(--g2-display);font-size:var(--t-body);line-height:1.4;color:#333;
    border:2px solid #dcdcdc;border-radius:10px;padding:.85rem 1rem;cursor:pointer;transition:all .18s;background:#fff;
}
.lo-opcao input:checked+span{border-color:var(--g2-verde);background:#f2fbee;color:#000;font-weight:600}
.lo-opcao input:focus-visible+span{outline:3px solid rgba(142,229,103,.55);outline-offset:2px}
.lo-opcao span:hover{border-color:#b6b6b6}
.lo-input{
    width:100%;font-family:var(--g2-display);font-size:var(--t-body);color:#000;
    border:2px solid #dcdcdc;border-radius:10px;padding:.85rem 1rem;background:#fff;transition:border-color .18s;
}
.lo-input:focus{outline:none;border-color:var(--g2-verde)}
.lo-input::placeholder{color:#a5a5a5}
.lo-erro{display:none;font-family:var(--g2-display);font-size:var(--t-small);color:#c0392b;margin-top:.6rem}
.lo-erro.visivel{display:block}
.lo-form-acoes{display:flex;gap:.75rem;align-items:center;margin-top:1.75rem;flex-wrap:wrap}
.lo-btn{
    font-family:var(--g2-display);font-size:var(--t-body);font-weight:600;border:2px solid transparent;
    border-radius:6px;padding:.9rem 1.75rem;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;
}
.lo-btn-primario{background:var(--g2-verde);color:var(--g2-verde-escuro)}
.lo-btn-primario:hover{background:#aeec93;color:var(--g2-verde-escuro)}
.lo-btn-voltar{background:transparent;color:#777;border-color:#d5d5d5}
.lo-btn-voltar:hover{color:#000;border-color:#9c9c9c}
.lo-form-nota{font-family:var(--g2-display);font-size:var(--t-small);color:#6b6b6b;margin-top:1.1rem;line-height:1.5}
/* O link da política não deve competir com o botão de envio: mesma cor do
   texto, só o sublinhado indica que dá para clicar. */
.lo-form-nota a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.lo-form-nota a:hover{color:#000}
.lo-passo{display:none}
.lo-passo.ativo{display:block}

/* Tela de confirmação: ocupa o lugar do formulário depois do envio.
   O seletor com [hidden] vem depois e tem especificidade maior, senão o
   display do bloco venceria o atributo e a tela nasceria visível. */
.lo-confirmacao{display:block;text-align:center;padding:1rem 0 .5rem}
.lo-confirmacao[hidden]{display:none}
.lo-confirmacao-selo{
    display:inline-flex;align-items:center;justify-content:center;
    width:56px;height:56px;border-radius:50%;background:var(--g2-verde);margin-bottom:1.25rem;
}
.lo-confirmacao .lo-pergunta{margin-bottom:.85rem}
.lo-confirmacao .lo-pergunta:focus{outline:none}
.lo-confirmacao-texto{
    font-family:var(--g2-display);font-size:var(--t-body);color:#4a4a4a;
    line-height:1.6;margin:0 0 1.75rem;
}
.lo-confirmacao-texto strong{color:#000}
.lo-btn-whats{display:inline-flex;align-items:center;gap:.6rem}
.lo-resumo{background:#f4f4f4;border-radius:12px;padding:1.1rem 1.25rem;margin-bottom:1.5rem}
.lo-resumo dl{margin:0;display:grid;gap:.5rem}
.lo-resumo div{display:flex;gap:.5rem;font-family:var(--g2-display);font-size:var(--t-body);line-height:1.4}
.lo-resumo dt{color:#6b6b6b;flex-shrink:0}
.lo-resumo dd{color:#000;margin:0;font-weight:600}

/* --- CTA final ----------------------------------------------------------- */
.lo-cta-final{text-align:center}
.lo-cta-final .lo-titulo,.lo-cta-final .lo-subtitulo{max-width:760px;margin-left:auto;margin-right:auto}
.lo-cta-final .lo-selos{justify-content:center}

/* --- Barra fixa de CTA no mobile ---------------------------------------- */
.lo-barra-mobile{
    display:none;position:fixed;bottom:0;left:0;right:0;z-index:9998;
    background:rgba(26,26,26,.97);padding:.7rem 5rem .7rem .9rem;
    box-shadow:0 -4px 18px rgba(0,0,0,.28);
}
.lo-barra-mobile a{
    display:block;text-align:center;background:var(--g2-verde);color:var(--g2-verde-escuro);
    font-family:var(--g2-display);font-weight:700;font-size:var(--t-body);padding:.85rem 1rem;border-radius:6px;text-decoration:none;
}
@media (max-width:991px){.lo-barra-mobile{display:block}body{padding-bottom:74px}}

/* --- Botão flutuante do WhatsApp (idêntico às demais LPs) --------------- */
.whatsapp-floating-btn{
    position:fixed;bottom:20px;right:20px;width:60px;height:60px;background-color:#25D366;
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:9999;text-decoration:none;
    /* Escondido até a pessoa chegar no formulário */
    opacity:0;visibility:hidden;transform:scale(.8);pointer-events:none;
    transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
.whatsapp-floating-btn.visivel{opacity:1;visibility:visible;transform:scale(1);pointer-events:auto}
.whatsapp-floating-btn.visivel:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(37,211,102,.4)}
@media (max-width:991px){.whatsapp-floating-btn{width:52px;height:52px;bottom:12px;right:12px}
.whatsapp-floating-btn svg{width:28px;height:28px}}

/* --- FAQ (acordeão) ------------------------------------------------------ */
.panel-collapse.collapse{display:none}
.panel-collapse.collapse.show{display:block}

/* --- Âncoras internas sob o topo fixo ----------------------------------- */
html{scroll-behavior:smooth}
section[id],div[id]{scroll-margin-top:100px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* --- Topo fixo: marca à esquerda, CTA à direita -------------------------
   O tema base alinha tudo à direita porque o menu original só aparecia no
   mobile. Aqui a barra é permanente, então a marca volta para a esquerda. */
.cid-uJG6K8heNv .navbar-brand{margin-right:auto}
.cid-uJG6K8heNv .container{justify-content:space-between}
.cid-uJG6K8heNv .navbar-buttons{min-width:0}
@media (max-width:991px){
    .cid-uJG6K8heNv .navbar .navbar-logo img{height:2.1rem!important}
}

/* --- Dobra principal: a mesa é o fundo do bloco ---------------------------
   A foto tem os objetos concentrados no terço direito e a metade esquerda é
   mesa vazia — é lá que o texto cai. Por isso o texto ocupa 7 de 12 colunas e
   o resto do bloco fica por conta da imagem, em vez de uma <img> ao lado.
   A cor de fundo é a mesma média da área vazia da foto: se a imagem demorar
   ou falhar, o bloco não pisca de cor nem perde contraste. */
.cid-uJG5EulIRX{
    background-color:#eef1f4;
    /* Véu em degradê: opaco onde o texto cai, transparente sobre os objetos.
       Sobre a mesa vazia da esquerda ele é invisível (branco sobre branco), e
       sobre a xícara e os gráficos ele garante o contraste quando a tela
       encolhe e o texto avança para cima deles. Medido: sem o véu, em 1200px
       o título ficava em 2,8:1 e os selos em 1:1. */
    background-image:
        linear-gradient(to right,
            rgba(255,255,255,.90) 0%,
            rgba(255,255,255,.90) 50%,
            rgba(255,255,255,.55) 68%,
            rgba(255,255,255,0)   82%),
        url('../../images/dobra-mesa.webp?v=b6ec5f17');
    background-size:cover;
    background-position:center right;
    background-repeat:no-repeat;
}
/* No celular o corte cai inteiro na parte cheia da foto e o texto ocupa a
   largura toda, então o degradê não resolve: entra véu chapado. A foto
   continua legível por trás, como textura. */
@media (max-width:991px){
    .cid-uJG5EulIRX{
        background-image:
            linear-gradient(rgba(255,255,255,.87), rgba(255,255,255,.87)),
            url('../../images/dobra-mesa.webp?v=b6ec5f17');
    }
}
/* A chamada não tem mais <br>: quebra fixa só acerta numa largura, em todas as
   outras deixa órfão ("ENTRA" sozinho numa linha). balance distribui as linhas
   de forma pareja; onde o navegador não suporta, cai na quebra natural, que já
   é melhor que a fixa. */
.cid-uJG5EulIRX h1{
    text-wrap:balance;
    max-width:16em;
}
.cid-uJG5EulIRX .lo-dobra-linha{flex-direction:row;align-items:center;justify-content:flex-start}

@media (max-width:991px){
    .cid-uJG5EulIRX{padding-top:6rem;padding-bottom:2.5rem}
    .cid-uJG5EulIRX .lo-selos{justify-content:center}
}
@media (max-width:576px){
    .cid-uJG5EulIRX{padding-top:5.25rem}
}

/* O topo sai da frente ao descer. transform em vez de display para não
   causar reflow, e a transição some para quem pediu menos animação. */
.navbar-fixed-top{
    transition:transform .28s ease;
    will-change:transform;
}
.navbar-fixed-top.lo-topo-oculto{
    transform:translateY(-100%);
}
@media (prefers-reduced-motion:reduce){
    .navbar-fixed-top{transition:none}
}

/* --- Topo translúcido sobre a foto ---------------------------------------
   A barra era #efeff0 chapado, a mesma cor da dobra antiga: invisível. Com a
   foto de fundo, mais clara, ela virava uma faixa cinza com emenda dura por
   cima da xícara. Vidro fosco resolve nos dois casos — sobre a foto e sobre
   qualquer seção quando a página rola. O fallback para navegador sem
   backdrop-filter é um branco mais opaco, que também funciona. */
.cid-uJG6K8heNv .navbar-dropdown{
    background-color:rgba(255,255,255,.82)!important;
    border-bottom:1px solid rgba(0,0,0,.06);
}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
    .cid-uJG6K8heNv .navbar-dropdown{
        background-color:rgba(255,255,255,.62)!important;
        -webkit-backdrop-filter:blur(12px);
        backdrop-filter:blur(12px);
    }
}

/* --- Topo fixo também no mobile -----------------------------------------
   O tema base esconde o header no celular (as outras LPs deixam só o botão
   flutuante). Nesta LP a barra é logo + um CTA único: mantém a marca visível
   na primeira tela, que é sinal de confiança para este público. */
@media (max-width:991px){
    .cid-uJG6K8heNv{display:block!important}
    .cid-uJG6K8heNv .navbar{min-height:56px}
    .cid-uJG6K8heNv .navbar-dropdown{border-bottom:1px solid rgba(0,0,0,.06)}
    .cid-uJG6K8heNv .navbar-logo{padding-left:0}
    .cid-uJG6K8heNv .container{padding-left:1rem;padding-right:1rem}
}

/* Quebras de linha do título são desenhadas para o desktop; no celular o
   texto flui melhor sozinho. */
@media (max-width:767px){
    .cid-uJG5EulIRX h1 br{display:none}
    .cid-uJG5EulIRX h1 strong{display:block;margin-top:.35rem}
}

/* A barra fixa só entra depois que a dobra principal sai da tela, para não
   cobrir o CTA do hero nem repetir o mesmo botão duas vezes. */
.lo-barra-mobile{transform:translateY(110%);transition:transform .25s ease}
.lo-barra-mobile.visivel{transform:translateY(0)}

/* No celular o formulário vem primeiro: quem clicou no CTA já foi
   convencido pela página, o texto de apoio fica logo abaixo como reforço. */
@media (max-width:991px){
    #diagnostico .row{flex-direction:column-reverse}
    #diagnostico .col-lg-6.offset-lg-1{margin-bottom:2rem}
    .lo-titulo br{display:none}
    /* Sem o <br>, estes dois títulos quebram deixando uma palavra sozinha na
       última linha ("QUANTAS" num, "MÊS." no outro). O balance entra só neles:
       aplicado a todos os .lo-titulo ele piora dois outros (a linha mais curta
       cai para 41% e 20% da mais longa) porque equilibra contando o <strong>
       como bloco à parte.
       Medido a 390px: #dores 39% -> 71%, #antes-depois 16% -> 84%,
       #retorno 58% -> 72%. */
    #dores .lo-titulo,
    #antes-depois .lo-titulo,
    #retorno .lo-titulo{text-wrap:balance}
    .lo-titulo strong{display:block}
}

/* ==========================================================================
   Componentes vindos do material institucional do Lean Office
   ========================================================================== */

/* --- Iceberg: o que se vê x o que consome a margem ---------------------- */

/* --- Os 8 desperdícios, ditos em primeira pessoa -------------------------
   Cada card é uma fala: o desperdício abstrato ("superprodução") vira a frase
   que o sócio realmente diz. O rótulo do desperdício fica pequeno, no topo,
   porque quem lê reconhece a situação antes do nome dela. */
/* Duas colunas: oito cards fecham quatro linhas cheias, sem sobra. Em três
   colunas o sétimo ficava sozinho com dois buracos ao lado — e a linha da
   citação ficava curta demais para ler como fala. */
.lo-desperdicios{list-style:none;padding:0;margin:2.5rem 0 0;
    display:grid;grid-template-columns:1fr;gap:.85rem}
@media (min-width:768px){.lo-desperdicios{grid-template-columns:1fr 1fr}}
/* O card vira e mostra o verso: a fala de um lado, o que a gente faz com ela
   do outro. As duas faces ocupam a MESMA célula de grid, então a altura do
   card é a da face mais alta e nada é cortado no meio do giro — que é o que
   quebra a maioria dos flips, porque a face de trás não tem altura própria
   quando está fora de fluxo. */
.lo-desperdicios .lo-fala{position:relative;perspective:1400px}
.lo-fala-faces{
    display:grid;transform-style:preserve-3d;
    transition:transform .55s cubic-bezier(.2,.7,.3,1);
}
.lo-fala.lo-virado .lo-fala-faces{transform:rotateY(180deg)}
.lo-fala-frente,.lo-fala-verso{
    grid-area:1/1;background:var(--g2-cinza);border-radius:12px;
    padding:1.35rem 1.4rem 1.2rem;
    -webkit-backface-visibility:hidden;backface-visibility:hidden;
    display:flex;flex-direction:column;
}
.lo-fala-verso{transform:rotateY(180deg)}
/* Número e categoria voltam a dividir a linha: dentro de um container flex em
   coluna cada span virava bloco e caía um sob o outro. */
.lo-fala-cabeca{display:flex;align-items:baseline}
.lo-fala-verso p{
    font-family:var(--g2-display);font-size:var(--t-body);line-height:1.55;
    color:var(--g2-texto);margin:.85rem 0 .9rem;
}
/* A chamada de ação encosta no rodapé do card, nas duas faces, para o giro
   não deslocar o ponto onde o olho está. */
.lo-fala-acao{
    margin-top:auto;display:flex;align-items:center;gap:.35rem;
    font-family:var(--g2-display);font-size:var(--t-small);font-weight:600;
    color:#4b7a33;
}
.lo-fala-acao-voltar .lo-fala-seta{transform:rotate(180deg)}
.lo-fala-seta{flex-shrink:0}

/* O botão cobre o card inteiro: o alvo de clique é o card, mas quem recebe o
   foco e o teclado é um <button> de verdade. Fica por cima das duas faces,
   fora do elemento que gira. */
.lo-fala-virar{
    position:absolute;inset:0;z-index:2;
    background:none;border:none;padding:0;cursor:pointer;
    border-radius:12px;
}
.lo-fala-virar:focus-visible{outline:3px solid var(--g2-verde-escuro);outline-offset:3px}
/* Afordância no hover: só sombra. Levantar o card com translateY exigiria
   escrever transform nas faces, e transform é exatamente a propriedade que
   faz o giro — o hover reescrevia o rotateY e a face de trás aparecia
   espelhada. Sombra não disputa nada. */
.lo-fala-frente,.lo-fala-verso{transition:box-shadow .2s}
.lo-fala:hover .lo-fala-frente,.lo-fala:hover .lo-fala-verso{
    box-shadow:0 6px 20px rgba(0,0,0,.12);
}
.lo-fala:hover .lo-fala-acao{color:#2f5e18}
.lo-oculto{
    position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}

/* Quem pede menos animação recebe a troca sem o giro. */
@media (prefers-reduced-motion:reduce){
    .lo-fala-faces{transition:none;transform-style:flat}
    .lo-fala.lo-virado .lo-fala-faces{transform:none}
    .lo-fala-frente,.lo-fala-verso{
        -webkit-backface-visibility:visible;backface-visibility:visible;
        transform:none;
    }
    .lo-fala-verso{visibility:hidden}
    .lo-fala.lo-virado .lo-fala-frente{visibility:hidden}
    .lo-fala.lo-virado .lo-fala-verso{visibility:visible}
}
.lo-desperdicios .lo-num{
    font-family:var(--g2-display);font-size:var(--t-label);font-weight:700;color:#9a9a9a;
    letter-spacing:.05em;margin-right:.6rem;
}
.lo-fala-tipo{
    font-family:var(--g2-display);font-size:var(--t-label);letter-spacing:.1em;
    text-transform:uppercase;color:#8a8a8a;
}
.lo-desperdicios blockquote{
    font-family:var(--g2-display);font-size:var(--t-body);line-height:1.55;
    color:var(--g2-texto);margin:.85rem 0 .9rem;quotes:"\201C" "\201D";
}
.lo-desperdicios blockquote::before{content:open-quote}
.lo-desperdicios blockquote::after{content:close-quote}
.lo-desperdicios cite{
    display:block;font-family:var(--g2-display);font-size:var(--t-small);
    font-style:normal;color:#6b6b6b;
}
.lo-desperdicios cite strong{color:var(--g2-texto);font-weight:600}
/* O oitavo é o que muda a conversa de custo para gente: se destaca pela cor. */
.lo-destaque .lo-fala-frente,.lo-destaque .lo-fala-verso{background:var(--g2-verde-escuro)}
.lo-desperdicios .lo-destaque .lo-num{color:var(--g2-verde)}
.lo-desperdicios .lo-destaque .lo-fala-tipo{color:var(--g2-verde-claro)}
.lo-desperdicios .lo-destaque blockquote{color:#fff;font-weight:600}
.lo-desperdicios .lo-destaque .lo-fala-verso p{color:#eaf5e3}
.lo-desperdicios .lo-destaque cite{color:#b9d6ab}
.lo-desperdicios .lo-destaque cite strong{color:#fff}
.lo-desperdicios .lo-destaque .lo-fala-acao{color:var(--g2-verde)}
.lo-desperdicios .lo-destaque .lo-fala-virar:focus-visible{outline-color:var(--g2-verde)}
.lo-desperdicios .lo-destaque:hover .lo-fala-acao{color:#b9e8a0}

/* Aviso de que os nomes são ilustrativos. Discreto, mas presente: quem lê
   precisa poder saber que não são depoimentos de clientes reais. */
.lo-nota-ilustrativa{
    font-family:var(--g2-display);font-size:var(--t-small);color:#6b6b6b;
    margin:1.1rem 0 0;
}

/* --- Chips de capacidades ------------------------------------------------ */
.lo-chips{list-style:none;padding:0;margin:.75rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
#frentes .lo-eyebrow:last-of-type{margin-top:2.5rem}
#frentes .row:last-child{text-align:center}
.lo-chips li{
    font-family:var(--g2-display);font-size:var(--t-small);color:var(--g2-texto);
    border:1px solid #c9c9c9;border-radius:100px;padding:.45rem 1rem;background:#fff;
}

/* --- Fórmula do retorno -------------------------------------------------- */
.lo-formula{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;
    margin:2.5rem 0;padding:1.5rem;background:#242424;border:1px solid #333;border-radius:14px;
    font-family:var(--g2-display);text-align:center;
}
.lo-formula span{font-size:var(--t-body);color:#e4e4e4}
.lo-formula b{font-size:var(--t-h3);color:var(--g2-verde);font-weight:700}
.lo-formula .lo-formula-res{color:var(--g2-verde);font-weight:700}
@media (max-width:576px){.lo-formula{font-size:var(--t-small);padding:1.15rem}.lo-formula span{font-size:var(--t-body)}}

/* --- Ciclos de horas devolvidas ------------------------------------------ */

/* --- Regras de como trabalhamos ------------------------------------------ */
.lo-regras{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;gap:1rem}
.lo-regras li{display:flex;gap:1rem;align-items:flex-start;background:var(--g2-cinza);border-radius:12px;padding:1.35rem 1.5rem}
.lo-regras svg{flex-shrink:0;margin-top:3px}
.lo-regras h3{font-family:var(--g2-display);font-size:var(--t-h3);color:#000;margin:0 0 .4rem}
.lo-regras p{font-family:var(--g2-display);font-size:var(--t-body);line-height:1.55;color:#555;margin:0}

/* --- Régua de clientes ---------------------------------------------------
   Os logos vêm antes dos números: quem o leitor reconhece pesa mais do que a
   quantidade. Os três primeiros são escritórios de serviço como o dele e
   ficam meio degrau maiores e opacos; o resto da carteira fica um pouco menor
   e a 65%. O degrau é de propósito pequeno: passar disso vira hierarquia de
   pódio e o resto da carteira parece de segunda.

   Cada logo mora numa célula e se ajusta por object-fit. Altura igual para
   todos não resolve: logo alto e estreito, limitado só pela altura, ocupa
   muito menos área do que um logo largo e baixo — o HimmelCORP (116x144)
   saía com um terço da área da Confialtiva (380x84). Daí o --escala inline em
   cada <li>, derivado da proporção do arquivo, que equaliza a área percebida.
   O expoente é 0,35 e não 0,5 porque a equalização completa daria ao
   HimmelCORP altura maior que a da linha inteira; o valor fica preso entre
   0,85 e 1,40. */
.lo-logos{
    margin-top:2rem;background:#fff;border-radius:14px;
    padding:2rem 1.75rem 1.75rem;
}
.lo-logos ul{list-style:none;margin:0;padding:0;display:grid;align-items:center}
.lo-logos li{display:flex;align-items:center;justify-content:center}
.lo-logos img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

.lo-logos-destaque{grid-template-columns:repeat(3,1fr);gap:1.5rem}
.lo-logos-destaque li{height:calc(52px * var(--escala,1))}

.lo-logos-demais{
    grid-template-columns:repeat(6,1fr);gap:1.75rem 1.25rem;
    margin-top:2rem;padding-top:2rem;border-top:1px solid #f1f1f1;
}
.lo-logos-demais li{height:calc(42px * var(--escala,1))}
.lo-logos-demais img{opacity:.65}

@media (max-width:768px){
    .lo-logos-demais{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:576px){
    .lo-logos{padding:1.5rem 1.25rem 1.25rem}
    .lo-logos-destaque{gap:1rem}
    .lo-logos-destaque li{height:calc(44px * var(--escala,1))}
    /* Quatro colunas contra três: no celular a largura da coluna é que
       limita o logo, não a altura, então o degrau de tamanho tem de vir da
       contagem de colunas ou os dois grupos saem iguais. */
    .lo-logos-demais{grid-template-columns:repeat(4,1fr);gap:1.1rem .9rem}
    .lo-logos-demais li{height:calc(32px * var(--escala,1))}
}

/* Selo de residência: crédito institucional, não argumento de venda — fecha a
   seção em vez de disputar espaço no subtítulo. A marca do PTS é branca, então
   a pastilha é grafite; o texto só diz o vínculo, porque o nome do parque já
   está na arte. */
.lo-residencia{
    display:inline-flex;align-items:center;gap:1.1rem;
    background:var(--g2-grafite);border-radius:14px;padding:.9rem 1.4rem;
    margin:2rem 0 0;
}
/* O tema traz img{width:100%} e, abaixo de 768px, img{height:auto!important}.
   Sem o !important aqui o selo estica até a largura da pastilha e vira uma
   marca de 143px de altura no celular. */
.lo-residencia img{display:block;height:80px!important;width:auto!important}
.lo-residencia span{
    font-family:var(--g2-display);font-size:var(--t-small);letter-spacing:.1em;
    text-transform:uppercase;color:#fff;
    padding-left:1.1rem;border-left:1px solid rgba(255,255,255,.22);
}
/* O <p> é inline-flex para a pastilha ter a largura do conteúdo; a centralização
   tem de vir do pai. */
.lo-residencia-linha{text-align:center}
/* No celular a pastilha empilha em vez de encolher: o nome do parque fica
   embaixo da marca na arte, e a 60px de altura ele some. Empilhado, a marca
   pode crescer sem estourar a largura. */
@media (max-width:576px){
    .lo-residencia{flex-direction:column;gap:.85rem;padding:1.1rem 1.4rem}
    .lo-residencia img{height:88px!important}
    .lo-residencia span{
        padding-left:0;padding-top:.85rem;
        border-left:none;border-top:1px solid rgba(255,255,255,.22);
        align-self:stretch;text-align:center;font-size:var(--t-label);
    }
}

/* Rótulo que introduz uma lista dentro de uma seção já iniciada */
.lo-lista-rotulo{
    font-family:var(--g2-display);font-size:var(--t-body);color:#5c5c5c;
    margin:2.5rem 0 1rem;font-weight:600;
}
.lo-bg-grafite .lo-lista-rotulo{color:#a5a5a5}

/* --- Campo revelado quando a resposta é "Outro" -------------------------- */
.lo-condicional{margin-top:.85rem}
.lo-condicional label{
    display:block;font-family:var(--g2-display);font-size:var(--t-small);
    color:#4b7a33;margin-bottom:.5rem;font-weight:600;
}

/* --- O tema também entra na escala --------------------------------------
   O Mobirise interpola tamanho por viewport e produz valores fora de
   qualquer degrau — no celular o H1 da dobra chegava a ficar MENOR que os
   títulos de seção. Aqui os textos do tema são amarrados aos mesmos tokens. */
.cid-uJG5EulIRX h1.display-1{font-size:var(--t-h1)!important;line-height:1.05!important}
.cid-uJG5EulIRX .mbr-text.display-7{font-size:var(--t-lead)!important;line-height:1.55!important}
.cid-uJG6kGmonL .mbr-section-title.display-2{font-size:var(--t-h2)!important;line-height:1.12!important}
.cid-uJG6kGmonL .panel-title-edit.display-5{font-size:var(--t-h3)!important;line-height:1.4!important}
.cid-uJG6kGmonL .panel-text.display-7{font-size:var(--t-body)!important;line-height:1.6!important;color:var(--g2-texto)!important}
.btn.display-4{font-size:var(--t-lead)!important;line-height:1.4!important}
.cid-uJGmeoHnIT .footer-link{font-size:var(--t-small)!important}
.lo-barra-mobile a{font-size:var(--t-body)}
@media (max-width:767px){
    /* O H1 precisa continuar acima do título de seção: 32px contra 29px. */
    .cid-uJG5EulIRX h1.display-1{font-size:2rem!important;line-height:1.2!important}
    .cid-uJG5EulIRX .mbr-text.display-7{font-size:var(--t-body)!important}
    .cid-uJG6kGmonL .mbr-section-title.display-2{font-size:var(--t-h2-m)!important}
    /* Pergunta do FAQ tem de ficar acima da resposta, não igual. */
    .cid-uJG6kGmonL .panel-title-edit.display-5{font-size:var(--t-lead)!important}
    .btn.display-4{font-size:var(--t-body)!important}
}

/* --- Setas em SVG, no lugar da fonte de ícones --------------------------- */
.lo-seta{vertical-align:-.2em;margin-right:.45rem;flex-shrink:0}
.btn .lo-seta{margin-right:.5rem}
/* A seta do FAQ gira ao abrir o painel, como fazia o glifo do tema */
.cid-uJG6kGmonL .sign{display:inline-flex;align-items:center;color:#000;transition:transform .3s;transform:rotate(180deg);flex-shrink:0;padding-left:.5rem}
.cid-uJG6kGmonL .collapsed .sign{transform:rotate(0)}

/* --- Números de impacto -------------------------------------------------
   Mesmo tratamento do material institucional: número grande em verde sobre
   grafite, rótulo em caixa alta abaixo. */
.lo-numeros{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2.5rem}
@media (max-width:576px){.lo-numeros{grid-template-columns:1fr}}
.lo-numero{
    background:var(--g2-grafite);border-radius:14px;padding:2rem 1.75rem;text-align:center;
}
.lo-numero strong{
    display:block;font-family:var(--g2-display);font-size:var(--t-stat);line-height:.95;
    color:var(--g2-verde);font-weight:400;
}
@media (max-width:768px){.lo-numero strong{font-size:var(--t-stat-m)}}
.lo-numero span{
    display:block;font-family:var(--g2-display);font-size:var(--t-small);letter-spacing:.1em;
    text-transform:uppercase;color:#fff;margin-top:.9rem;
}
.cid-uJGmeoHnIT .btn-contact{font-size:var(--t-small)!important}

/* Títulos de card cedem um degrau no celular, mantendo a escada */
@media (max-width:767px){
    .lo-etapa h3,#lo-frentes .lo-painel h3,.lo-transf-cabeca h3,.lo-regras h3{font-size:var(--t-lead)}
}


/* Linha legal do rodapé: contato e privacidade. Cinza sobre o grafite do
   rodapé, contraste acima de 4.5:1, sem disputar atenção com o CTA. */
.lo-rodape-legal{
  border-top:1px solid #333;
  margin-top:2.5rem;
  padding-top:1.25rem;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.5rem;
  align-items:center;
  font-family:var(--g2-display);
  font-size:var(--t-small);
  color:#9a9a9a;
}
.lo-rodape-legal a{
  font-family:var(--g2-display);
  color:#9a9a9a;
  text-decoration:none;
  border-bottom:1px solid #4a4a4a;
}
.lo-rodape-legal a:hover,
.lo-rodape-legal a:focus{
  color:#8ee567;
  border-bottom-color:#8ee567;
}
