/**
 * public_html/assets/css/site.css — site público do Dossel (dossel.app)
 *
 * v3.1 (01/11/2026): depoimentos em cartões que giram de lado, no tamanho dos planos (sai a janela
 *     grande com barra de tempo, setas, pontos e pausa).
 * v3 (01/11/2026): a página inteira escala com a janela no computador (a partir de 900 px de
 *     largura): tudo em rem, e a letra base é 16 px numa janela de 1440 × 900, menor ou maior na
 *     mesma proporção (o menor entre largura e altura manda; mínimo 11 px, máximo 20 px). Assim
 *     a abertura, o Sentinela, as funcionalidades e os planos ficam com o mesmo desenho em
 *     qualquer notebook. Celular sem mudança (16 px). Documentos legais seguem em 12 pt.
 * v2.4 (01/11/2026): ícones do Instagram e do WhatsApp no rodapé, atalho do WhatsApp no Fale conosco
 *     e página de endereço não encontrado (404.php).
 * v2.3 (01/11/2026): cartão "Com a sua marca" com a logomarca de demonstração e as cores da Aparência.
 * v2.2 (01/11/2026): barra do topo branca e sólida; funcionalidades no fundo da abertura
 *     (branco com as curvas) e cartões mais baixos (ícone ao lado do título), cabendo numa
 *     tela; rostos da equipe em foto; mapa do Sentinela com três imagens em 16:10 que se
 *     alternam sob o radar; Sob medida com fundo branco.
 * v2.1 (01/11/2026): menu para no lugar certo (a compensação do topo fixo entrava duas
 *     vezes e deixava uma faixa de ~100 px acima de cada seção); letras cerca de 12%
 *     menores; abertura e Sentinela cabem numa tela (desenhos limitados pela altura da
 *     janela); textos legais em 12 pt (mínimo do art. 54, § 3º, do CDC) com letra Arial,
 *     que ocupa menos que a Manrope; respostas das dúvidas abrem sem pulo.
 * v2 (01/11/2026): visual novo (direção A, aprovado em 31/10): fundo branco, verde #1F7A57,
 *     logotipo verde-escuro, texto centralizado nas aberturas de seção; abertura com o
 *     notebook e o celular (SVG); seção própria do Sentinela em verde-escuro, com a tela
 *     real rolando, a imagem aérea com radar e os avisos; funcionalidades em grade;
 *     depoimentos em giro (controles, pausa, deslizar) e faixa de logomarcas; passos;
 *     chave Mensal/Anual que desliza; dúvidas com uma resposta aberta por vez; chamada
 *     final; barra fixa de assinatura no celular; páginas legais, Fale conosco e cookies
 *     no tema claro. Movimento só enfeita: nenhum conteúdo depende de animação para aparecer.
 * v1.4 (30/10/2026): texto dos documentos legais em 12 pt, mínimo do art. 54, § 3º, do CDC.
 * v1.3 (30/10/2026): documentos legais com fonte menor e texto justificado.
 * v1.2 (29/10/2026): páginas dos documentos legais e Fale conosco no menu do celular.
 * v1.1 (29/10/2026): seções claras, menu de celular, animações mais leves.
 * v1 (29/10/2026): página inicial nova (visual escuro da marca).
 */
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:200 800;
  src:url("/fonts/manrope-latin-wght-normal.woff2") format("woff2")}
:root{
  color-scheme:light;box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  --fundo:#FFFFFF;--alt:#F4F8F6;--nevoa:#E7F2EC;--linha:#DCE5E0;--linha2:#E3EAE6;
  --tinta:#123C34;--texto:#3F4D47;--apag:#5D6B65;--apag2:#6A7A73;
  --verde:#1F7A57;--verde-esc:#176346;--menta:#3DDC97;--petroleo:#0C2A21;--petroleo2:#123C34;
  --alerta:#DC2626;--fonte:"Manrope","Arial Nova",Arial,"Helvetica Neue",sans-serif;--larg:75rem;
  --topo:4.75rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + env(safe-area-inset-top,0px))}
body{font-family:var(--fonte);color:var(--texto);background:var(--fundo);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:#fff}
img,svg{max-width:100%;display:block}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--menta);outline-offset:3px;border-radius:0.625rem}
.cx{width:100%;max-width:var(--larg);margin:0 auto;padding:0 1.25rem}
.ic{width:1.25rem;height:1.25rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.so-largo{display:none}
.so-cel{display:block}
.so-desk{display:none}

/* Topo */
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;border-bottom:1px solid var(--linha2)}
.topo .cx{display:flex;align-items:center;gap:0.75rem;height:var(--topo)}
.marca{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.marca img{height:2.125rem;width:auto;display:block}
.menu{display:none;gap:0.25rem;margin-left:1.5rem}
.menu a{text-decoration:none;color:var(--texto);font-weight:600;font-size:0.9062rem;padding:0.5625rem 0.75rem;border-radius:0.625rem}
.menu a:hover{color:var(--tinta);background:var(--nevoa)}
.menu-acessar{display:none}
.menu-contato{display:none;background:none;border:0;text-align:left;cursor:pointer;color:var(--texto);font-weight:600;font-size:0.9375rem;padding:0.5625rem 0.75rem}
.menu-botao{display:none;width:2.75rem;height:2.75rem;border:1.5px solid #C9D7D0;border-radius:0.625rem;background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center}
.menu-botao span{display:block;width:1.125rem;height:2px;background:var(--tinta);border-radius:2px;margin:2.5px 0;transition:transform .25s,opacity .25s}
.menu-botao[aria-expanded="true"] span:nth-child(1){transform:translateY(0.4375rem) rotate(45deg)}
.menu-botao[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-botao[aria-expanded="true"] span:nth-child(3){transform:translateY(-0.4375rem) rotate(-45deg)}
.topo .direita{margin-left:auto;display:flex;align-items:center;gap:0.625rem}
.lnk{text-decoration:none;color:var(--tinta);font-weight:700;font-size:0.9375rem;padding:0.5625rem 0.75rem;background:none;border:0;cursor:pointer;border-radius:0.625rem}
.lnk:hover{background:var(--nevoa)}
.lnk-borda{border:1.5px solid #C9D7D0;height:2.75rem;display:inline-flex;align-items:center;padding:0 1.125rem}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.625rem;text-decoration:none;font-weight:700;font-size:0.9375rem;line-height:1;height:2.75rem;padding:0 1.375rem;border-radius:0.625rem;border:1.5px solid transparent;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;position:relative;overflow:hidden}
.btn-cheio{background:var(--verde);color:#fff}
.btn-cheio:hover{background:var(--verde-esc);transform:translateY(-2px);box-shadow:0 0.625rem 1.375rem rgba(31,122,87,.28)}
.btn-linha{border-color:#C9D7D0;color:var(--tinta);background:#fff}
.btn-linha:hover{background:var(--nevoa);transform:translateY(-2px)}
.btn-menta{background:var(--menta);color:#071D19;font-weight:800}
.btn-menta:hover{background:#5BE8AA;transform:translateY(-2px)}
.btn-branco{border-color:#5E8B7A;color:#fff;background:transparent}
.btn-branco:hover{background:rgba(255,255,255,.08)}
.btn-g{font-size:0.9688rem;height:3rem;padding:0 1.625rem;border-radius:0.75rem}
.btn .ic{width:1.125rem;height:1.125rem;stroke-width:2.2}
.brilho{position:absolute;inset:0;width:40%;background:linear-gradient(100deg,transparent 0,rgba(255,255,255,.55) 50%,transparent 100%);transform:translateX(-120%);pointer-events:none}
.vis .brilho,.abertura .brilho{animation:brilho 2.2s 1.6s ease-out 1 both}
@keyframes brilho{0%,70%{transform:translateX(-120%)}100%{transform:translateX(220%)}}

/* Cabeçalhos de seção (texto centralizado) */
.secao{position:relative;padding:4.5rem 0}
.secao-alt{background:var(--alt)}
.secao-curvas{background:#fff;overflow:hidden}
.secao-curvas .cx{position:relative}
.curvas-sec{top:0;height:100%}
.cabeca{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.75rem;margin-bottom:2.25rem}
.cabeca h2{color:var(--tinta);font-size:clamp(1.5625rem,2.7vw,2.125rem);line-height:1.12;font-weight:800;letter-spacing:-.02em;max-width:47.5rem;text-wrap:balance}
.cabeca p{color:#4A5852;font-size:1rem;max-width:37.5rem;text-wrap:pretty}
.legenda{margin-top:0.75rem;text-align:center;color:var(--apag2);font-size:0.75rem;font-weight:600}

/* Entrada ao rolar e ao carregar: só deslocamento, nunca transparência no conteúdo */
.rv{transform:translateY(1.125rem);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.vis{transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
.ent{animation:sobeLeve .9s cubic-bezier(.2,.7,.2,1) both}
.e2{animation-delay:.12s}.e3{animation-delay:.24s}.e4{animation-delay:.36s}
@keyframes sobeLeve{from{transform:translateY(1.625rem)}to{transform:none}}

/* Abertura */
.abertura{position:relative;overflow:hidden;padding:2.5rem 0 1.75rem;background:var(--fundo)}
.curvas{position:absolute;left:0;top:18.75rem;width:100%;height:47.5rem;pointer-events:none}
.gira-lento{transform-box:fill-box;transform-origin:50% 50%;animation:giro 160s linear infinite}
.gira-lento2{transform-box:fill-box;transform-origin:50% 50%;animation:giro 220s linear infinite reverse}
@keyframes giro{to{transform:rotate(360deg)}}
.abertura .cx{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.875rem;position:relative}
.abertura h1{color:var(--tinta);font-size:clamp(1.8125rem,3.6vw,2.875rem);line-height:1.08;font-weight:800;letter-spacing:-.022em;max-width:47.5rem;text-wrap:balance}
.abertura .sub{color:#4A5852;font-size:clamp(0.9375rem,1.2vw,1.0625rem);line-height:1.55;max-width:37.5rem;text-wrap:pretty}
.acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:0.75rem;margin-top:0.25rem;width:100%}
.abertura .acoes .btn{flex:1 1 100%}
.garantia-linha{display:flex;align-items:center;justify-content:center;gap:0.5rem;color:var(--apag);font-size:0.875rem;font-weight:600}
.garantia-linha .ic{width:1.125rem;height:1.125rem;color:var(--verde);stroke-width:2;flex:0 0 auto}
@media (max-width:639px){.garantia-linha{font-size:0.8438rem;gap:0.375rem}.garantia-linha .ic{width:1rem;height:1rem}}
.vitrine{position:relative;max-width:70rem;margin:1.75rem auto 0;padding:0 clamp(0.75rem,3vw,1.5rem)}
.vitrine .so-desk>svg,.vitrine .so-cel>svg{width:100%;height:auto;overflow:visible}
svg svg{max-width:none}
.vitrine .so-cel{width:20.625rem;max-width:100%;margin:0 auto}
.note-in{animation:entraNote 1.2s .4s cubic-bezier(.2,.7,.2,1) both;transform-box:fill-box;transform-origin:50% 100%}
.cel-in{animation:entraCel 1.2s .85s cubic-bezier(.2,.7,.2,1) both;transform-box:fill-box;transform-origin:50% 50%}
.so-cel .cel-in{animation-name:entraCelSobe;transform-origin:50% 100%}
.cel-flutua{animation:flutua 6s 2.2s ease-in-out infinite}
.anel{transform-box:fill-box;transform-origin:50% 50%;animation:pulso 2.4s ease-out infinite}
.aviso-novo{animation:chegaCima .8s 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes entraNote{from{opacity:0;transform:translateY(4.375rem) scale(.95)}to{opacity:1;transform:none}}
@keyframes entraCel{from{opacity:0;transform:translate(5.625rem,3.125rem) rotate(9deg)}to{opacity:1;transform:none}}
@keyframes entraCelSobe{from{opacity:0;transform:translateY(5rem) scale(.92)}to{opacity:1;transform:none}}
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-0.75rem)}}
@keyframes pulso{0%{transform:scale(.7);opacity:.6}100%{transform:scale(2.6);opacity:0}}
@keyframes chegaCima{from{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:none}}

/* Sentinela */
.sent{position:relative;overflow:hidden;background:var(--petroleo);color:#C3D8CE;padding:4.5rem 0 4.5rem}
.sent .fundo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.sent .cabeca{margin-bottom:1.75rem;gap:0.625rem}
.sent .cabeca h2{color:#fff;font-size:clamp(1.6875rem,3vw,2.375rem)}
.sent .cabeca p{color:#C3D8CE}
.sent .caixa-ic{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:0.8125rem;background:var(--verde);color:#fff}
.sent .caixa-ic .ic{width:1.375rem;height:1.375rem}
.palco{position:relative}
.tela{border-radius:1rem;overflow:hidden;background:#fff;box-shadow:0 1.875rem 3.75rem rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.1)}
.tela-nav{height:2rem;display:flex;align-items:center;justify-content:center;background:#EEF2F0;border-bottom:1px solid #DDE4E0}
.tela-nav span{padding:2px 1rem;border-radius:62.4375rem;background:#fff;color:var(--apag);font-size:0.7188rem;font-weight:600}
.tela-vp{position:relative;aspect-ratio:16/9;overflow:hidden;background:#F5F7F6}
.tela-vp img{width:100%;height:auto}
.on .rola{animation:rolaLongo 26s ease-in-out infinite}
@keyframes rolaLongo{0%,8%{transform:translateY(0)}46%,58%{transform:translateY(-40%)}94%,100%{transform:translateY(0)}}
.tela-cel{display:block}
.tela-vp.so-desk{display:none}
.mapa{position:relative;margin:-1.75rem 0.625rem 0 1.625rem}
.mapa-caixa{position:relative;border-radius:1.25rem;overflow:hidden;box-shadow:0 1.875rem 3.75rem rgba(0,0,0,.55);border:1px solid rgba(61,220,151,.25);background:#06140F}
.mapa-fotos{position:relative;aspect-ratio:16/10;overflow:hidden;background:#06140F}
.mapa-fotos::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,rgba(0,0,0,0) 55%,rgba(0,0,0,.42));pointer-events:none}
.mf{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.mf1{opacity:1}
.on .mf{animation:ciclo 18s ease-in-out infinite}
.on .mf2{animation-delay:6s}.on .mf3{animation-delay:12s}
@keyframes ciclo{0%{opacity:0;transform:scale(1.05)}6%{opacity:1}33%{opacity:1}40%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.radar{position:absolute;left:50%;top:50%;width:170%;aspect-ratio:1;margin:-85% 0 0 -85%;border-radius:50%;background:conic-gradient(from 0deg,rgba(61,220,151,0) 0deg,rgba(61,220,151,0) 290deg,rgba(61,220,151,.34) 360deg);pointer-events:none;mix-blend-mode:screen}
.on .radar{animation:giro 5.5s linear infinite}
.contorno{stroke-dasharray:1;stroke-dashoffset:1}
.vis .contorno{animation:desenha 2.6s .6s ease-in-out both}
@keyframes desenha{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.on .embargo{animation:piscaLeve 3.6s ease-in-out infinite}
@keyframes piscaLeve{0%,100%{opacity:.7}50%{opacity:1}}
.alerta{position:absolute;display:flex;align-items:center;gap:0.625rem;padding:0.6875rem 0.875rem 0.6875rem 0.6875rem;background:#fff;border-radius:0.875rem;box-shadow:0 0.875rem 1.875rem rgba(0,0,0,.35);opacity:0;transform:translateY(1rem) scale(.94)}
.vis .alerta-1{animation:chega .7s 1.4s cubic-bezier(.2,.7,.2,1) both}
.vis .alerta-2{animation:chega .7s 2.6s cubic-bezier(.2,.7,.2,1) both}
@keyframes chega{to{opacity:1;transform:none}}
.alerta-1{left:-0.875rem;top:-1.625rem}
.alerta-2{right:-0.375rem;bottom:-1.5rem}
.alerta i{display:inline-flex;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;border-radius:50%;flex:0 0 auto}
.alerta i .ic{width:1rem;height:1rem;stroke-width:2.4}
.alerta .vermelho{background:#FEE2E2;color:var(--alerta)}
.alerta .verdinho{background:#D1FAE5;color:#047857}
.alerta b{display:block;color:#1F2937;font-size:0.875rem;line-height:1.25}
.alerta span{display:block;color:var(--apag);font-size:0.75rem;line-height:1.25}
.pontos{list-style:none;margin:3.5rem 0 0;padding:0 0.25rem;display:grid;gap:1.375rem}
.pontos li{display:flex;gap:0.875rem;align-items:flex-start}
.pontos .bola{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.625rem;height:2.625rem;border-radius:0.8125rem;background:rgba(61,220,151,.14);color:var(--menta)}
.pontos .bola .ic{width:1.25rem;height:1.25rem}
.pontos b{display:block;color:#fff;font-size:0.9688rem;font-weight:800}
.pontos span{display:block;color:#B7CEC4;font-size:0.875rem;line-height:1.5}
.sent .legenda{color:#8FB0A2;margin-top:2.5rem}

/* Funcionalidades (grade) */
.bento{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.tile{display:flex;flex-direction:column;gap:0.625rem;padding:1.375rem;background:#fff;border:1px solid var(--linha);border-radius:1.375rem;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease}
.tile:hover{transform:translateY(-0.375rem);box-shadow:0 1.375rem 2.75rem rgba(18,60,52,.12);border-color:#BFD5C9}
.tile .titulo{display:flex;align-items:center;gap:0.75rem}
.tile .caixa-ic{display:inline-flex;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;flex:0 0 auto;border-radius:0.6875rem;background:var(--nevoa);color:var(--verde)}
.tile .caixa-ic .ic{width:1.25rem;height:1.25rem}
.tile h3{color:var(--tinta);font-size:1.0938rem;line-height:1.25;font-weight:800}
.tile p{color:var(--texto);font-size:0.9062rem;line-height:1.55}
.bento-main .caixa-ic{width:2.625rem;height:2.625rem;border-radius:0.75rem;background:var(--verde);color:#fff}
.bento-main h3{font-size:1.3125rem}
.bento-main p{font-size:0.9688rem;max-width:35rem}
.lins{margin-top:auto;display:flex;flex-direction:column;gap:0.5rem}
.lin{display:flex;align-items:center;gap:0.75rem;padding:0.625rem 0.875rem;background:#F7FAF8;border-radius:0.75rem}
.foto{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;color:#fff;font-size:0.8125rem;font-weight:800;flex:0 0 auto;overflow:hidden}
.foto img{width:100%;height:100%;object-fit:cover}
.lin .txt{display:flex;flex-direction:column;line-height:1.3;flex:1;min-width:0}
.lin .txt b{color:#1F2937;font-size:0.875rem}
.lin .txt span{color:var(--apag);font-size:0.8125rem}
.chip{padding:0.25rem 0.75rem;border-radius:62.4375rem;font-size:0.8125rem;font-weight:800;white-space:nowrap}
.chip-v{background:#FEE2E2;color:#991B1B}.chip-a{background:#FEF3C7;color:#92400E}.chip-ok{background:#D1FAE5;color:#065F46}
.fluxo{margin-top:auto;display:flex;align-items:center;gap:0.625rem;font-size:0.7812rem;font-weight:700;color:var(--texto)}
.fluxo span{padding:0.375rem 0.75rem;border-radius:0.625rem;background:#F3F4F6}
.fluxo span.v{background:var(--nevoa);color:var(--verde-esc)}
.fluxo svg{width:2.75rem;height:0.625rem;flex:0 0 auto}
.avatares{margin-top:auto;display:flex}
.avatares .foto{width:2.375rem;height:2.375rem;border:3px solid #fff;box-sizing:content-box}
.avatares .foto + .foto{margin-left:-0.625rem}
.barras{margin-top:auto;height:2.5rem;display:flex;align-items:flex-end;gap:0.5rem}
.barras span{width:1rem;border-radius:0.25rem;background:var(--verde);transform:scaleY(0);transform-origin:50% 100%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.barras span:last-child{background:var(--menta)}
.vis .barras span{transform:none}
.sigla{display:inline-flex;align-items:center;justify-content:center;width:2.375rem;height:2.375rem;flex:0 0 auto;border-radius:0.6875rem;background:var(--verde);color:#fff;font-size:0.875rem;font-weight:800}
.on .sigla{animation:paleta 12s steps(1) infinite}
.marca-demo{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;flex-wrap:wrap;padding:0.75rem 0.875rem;background:#F7FAF8;border-radius:0.75rem}
.marca-demo img{height:1.375rem;width:auto}
.cores{display:flex;gap:0.375rem}
.cores i{display:block;width:0.9375rem;height:0.9375rem;border-radius:50%}
.cores i:first-child{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #1F7A57}
@keyframes paleta{0%,16%{background:#1F7A57}20%,36%{background:#0F766E}40%,56%{background:#1D4ED8}60%,76%{background:#A16207}80%,96%{background:#374151}100%{background:#1F7A57}}

/* Depoimentos: cartões girando de lado (o da frente maior; o anterior e o próximo menores, atrás) */
#depoimentos{overflow:hidden}
.cartas{position:relative;height:23rem;max-width:62rem;margin:0 auto}
.carta{position:absolute;left:50%;top:1rem;width:min(21rem,82vw);transform:translateX(-50%) scale(.7);display:flex;flex-direction:column;gap:0.875rem;margin:0;padding:1.5rem;background:#fff;border:1px solid var(--linha);border-radius:1.375rem;box-shadow:0 1.25rem 2.75rem rgba(18,60,52,.13);opacity:0;pointer-events:none;z-index:1;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .8s ease}
.carta.frente{transform:translateX(-50%) translateY(-0.5rem) scale(1);opacity:1;z-index:3;pointer-events:auto}
.carta.antes{transform:translateX(-128%) scale(.84);opacity:.55;z-index:2;pointer-events:auto;cursor:pointer}
.carta.depois{transform:translateX(28%) scale(.84);opacity:.55;z-index:2;pointer-events:auto;cursor:pointer}
.carta.antes:hover,.carta.depois:hover{opacity:.8}
.carta-topo{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.75rem}
.carta-logo img{display:block;height:2.75rem;width:auto;max-width:11rem;object-fit:contain}
.carta-nome-esc{color:var(--tinta);font-size:1rem;font-weight:800}
.carta .aspas{width:2rem;height:1.6rem;color:var(--verde);opacity:.2;flex:0 0 auto}
.carta blockquote{flex:1;color:var(--tinta);font-size:0.95rem;line-height:1.55;font-weight:600;text-wrap:pretty}
.carta figcaption{display:flex;align-items:center;gap:0.75rem;padding-top:0.875rem;border-top:1px solid var(--linha2)}
.carta .foto{width:2.75rem;height:2.75rem;background:#DCEBE3;color:var(--verde)}
.carta .foto .ic{width:1.375rem;height:1.375rem;stroke-width:1.6}
.carta .quem{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.carta .quem b{color:var(--tinta);font-size:0.9rem}
.carta .quem small{color:var(--apag);font-size:0.8rem}
.faixa{margin-top:2.75rem;display:flex;flex-direction:column;align-items:center;gap:1.125rem}
.faixa p{color:var(--apag);font-size:0.875rem;font-weight:700}
.faixa-rolo{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.letreiro{display:flex;gap:1rem;width:max-content;animation:letreiro 38s linear infinite}
.letreiro:hover{animation-play-state:paused}
.letreiro span{display:flex;align-items:center;justify-content:center;width:9.375rem;height:3.75rem;padding:0.5rem 0.875rem;border:1px solid var(--linha);border-radius:0.875rem;background:#fff;color:var(--apag);font-size:0.8125rem;font-weight:700;text-align:center}
.letreiro img{max-height:2.5rem;width:auto}
@keyframes letreiro{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Comece em três passos */
.passos-caixa{position:relative}
.linha-passos{position:absolute;left:1.625rem;top:1.625rem;bottom:1.625rem;width:2px;background:#9CC7B3;transform-origin:50% 0;transform:scaleY(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.vis .linha-passos{transform:none}
.passos{position:relative;list-style:none;display:flex;flex-direction:column;gap:1.75rem;padding-left:0.25rem}
.passo{display:flex;gap:1rem;align-items:flex-start}
.passo .num{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2.875rem;height:2.875rem;border-radius:50%;background:var(--verde);color:#fff;font-size:1.125rem;font-weight:800;box-shadow:0 0 0 0.375rem var(--alt)}
.passo .txt{display:flex;flex-direction:column;gap:0.25rem;padding-top:0.5rem}
.passo b{color:var(--tinta);font-size:1.0625rem;font-weight:800}
.passo span{color:var(--texto);font-size:0.875rem;line-height:1.55}

/* Planos */
.chave-linha{display:flex;flex-direction:column;align-items:center;gap:0.75rem;margin-bottom:1.75rem;text-align:center}
.chave-grupo{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0.75rem;width:100%}
.chave{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:17.5rem;padding:0.3125rem;background:#EDF3F0;border-radius:62.4375rem}
.chave i{position:absolute;left:0.3125rem;top:0.3125rem;bottom:0.3125rem;width:calc(50% - 0.3125rem);border-radius:62.4375rem;background:#fff;box-shadow:0 2px 0.375rem rgba(18,60,52,.18);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
[data-periodo="anual"] .chave i{transform:translateX(100%)}
.chave button{position:relative;height:2.75rem;border:0;border-radius:62.4375rem;background:transparent;color:var(--apag);font-size:1rem;font-weight:700;cursor:pointer;transition:color .3s ease}
.chave button[aria-pressed="true"]{color:var(--tinta)}
.chave-selo{padding:0.375rem 0.875rem;border-radius:62.4375rem;background:var(--nevoa);color:var(--verde-esc);font-size:0.875rem;font-weight:800}
.chave-nota{color:var(--apag);font-size:0.875rem;font-weight:600}
.m,.a{display:none}
[data-periodo="mensal"] .m,[data-periodo="anual"] .a{display:block;animation:trocaLeve .4s cubic-bezier(.2,.7,.2,1) both}
@keyframes trocaLeve{from{transform:translateY(-0.625rem)}to{transform:none}}
.planos{display:grid;gap:1rem}
.plano{display:flex;flex-direction:column;gap:1.125rem;padding:1.75rem;background:#fff;border:1px solid var(--linha);border-radius:1.375rem}
.plano h3{color:var(--tinta);font-size:1.2188rem;font-weight:800}
.plano .desc{color:var(--apag);font-size:0.875rem;line-height:1.5;margin-top:0.25rem}
.plano-plus{border:2px solid var(--verde);box-shadow:0 1.375rem 3rem rgba(18,60,52,.14)}
.plano-medida{background:#fff}
.preco{min-height:4.25rem}
.preco .valor{display:flex;align-items:baseline;gap:0.375rem;color:var(--tinta)}
.preco .valor small{font-size:1.125rem;font-weight:700}
.preco .valor b{font-size:2.5rem;line-height:1;font-weight:800;letter-spacing:-.02em}
.preco .valor span{color:var(--apag);font-size:1rem;font-weight:600}
.preco .sub{color:var(--apag);font-size:0.875rem;font-weight:600;margin-top:0.25rem}
.preco .consulta{color:var(--tinta);font-size:1.75rem;line-height:1.4;font-weight:800;letter-spacing:-.01em}
.plano .btn{margin-top:auto;width:100%;height:3.125rem;border-radius:0.75rem;font-size:1rem;font-weight:800}
.plano .btn-verde-linha{border-color:var(--verde);color:var(--verde);background:#fff}
.plano .btn-verde-linha:hover{background:var(--nevoa)}
.plano-medida .btn-linha{border-color:var(--tinta)}
.garantia{margin-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.375rem;padding:1.5rem 1.75rem;background:var(--nevoa);border-radius:1.25rem;text-align:center}
.garantia .bola{display:inline-flex;align-items:center;justify-content:center;width:3.375rem;height:3.375rem;border-radius:50%;background:var(--verde);color:#fff;flex:0 0 auto}
.garantia .bola .ic{width:1.75rem;height:1.75rem}
.garantia b{display:block;color:var(--tinta);font-size:1.1562rem;font-weight:800}
.garantia p{color:var(--texto);font-size:0.9062rem;line-height:1.5}

/* Dúvidas */
.perguntas{max-width:51.25rem;margin:0 auto;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linha);border-radius:1.375rem;padding:0.25rem 1.25rem}
.perguntas details{border-bottom:1px solid var(--linha2)}
.perguntas details:last-child{border-bottom:0}
.perguntas summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:1rem 0;color:var(--tinta);font-size:0.9375rem;font-weight:800;line-height:1.35}
.perguntas summary::-webkit-details-marker{display:none}
.perguntas summary .ic{flex:0 0 auto;width:1.25rem;height:1.25rem;color:var(--verde);stroke-width:2;transition:transform .25s ease}
.perguntas details[open] summary .ic{transform:rotate(180deg)}
.perguntas details p{color:var(--texto);font-size:0.9062rem;line-height:1.65;padding:0 0 1.125rem;text-align:left}

/* Chamada final */
.final{background:var(--alt);padding:0 0 4.5rem}
.final .caixa{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:2.75rem 1.375rem;background:var(--petroleo2);border-radius:1.5rem}
.final .fundo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.final h2{position:relative;color:#fff;font-size:clamp(1.5625rem,2.8vw,2.125rem);line-height:1.12;font-weight:800;letter-spacing:-.02em;max-width:45rem;text-wrap:balance}
.final p{position:relative;color:#CFE3D9;font-size:0.9688rem;max-width:32.5rem}
.final .acoes{position:relative}

/* Rodapé */
.rodape{background:#fff;border-top:1px solid var(--linha2);padding:2.5rem 0 2rem}
.rodape .cx{display:flex;flex-direction:column;gap:1.5rem}
.rodape .marca img{height:1.875rem}
.rodape-topo{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.redes{display:flex;gap:0.625rem}
.redes a{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border-radius:50%;border:1.5px solid var(--linha);color:var(--tinta);transition:background-color .2s ease,color .2s ease,border-color .2s ease}
.redes a:hover{background:var(--verde);border-color:var(--verde);color:#fff}
.redes .ic{width:1.25rem;height:1.25rem}
.wa-atalho{display:inline-flex;align-items:center;gap:0.5rem;margin-top:0.625rem;padding:0.5rem 0.875rem;border-radius:62.4375rem;background:var(--nevoa);color:var(--verde-esc);font-size:0.875rem;font-weight:700;text-decoration:none}
.wa-atalho:hover{background:#D5EBDF}
.wa-atalho .ic{width:1.125rem;height:1.125rem}
.nao-achou{position:relative;overflow:hidden;min-height:calc(100svh - var(--topo) - 10rem);display:flex;align-items:center;padding:4rem 0}
.nao-achou .cx{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.875rem}
.nao-achou .codigo{color:var(--verde);font-size:0.9375rem;font-weight:800;letter-spacing:.12em}
.nao-achou h1{color:var(--tinta);font-size:clamp(1.75rem,3.4vw,2.625rem);line-height:1.1;font-weight:800;letter-spacing:-.02em;max-width:40rem;text-wrap:balance}
.nao-achou p{color:#4A5852;font-size:1rem;max-width:32.5rem}
.rodape nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.25rem 1rem}
.rodape nav a,.rodape nav button{display:flex;align-items:center;min-height:2.75rem;text-decoration:none;color:var(--texto);font-size:0.9375rem;font-weight:600;background:none;border:0;cursor:pointer;padding:0;text-align:left}
.rodape nav a:hover,.rodape nav button:hover{color:var(--tinta)}
.rodape-base{display:flex;flex-direction:column;gap:0.25rem;padding-top:1.125rem;border-top:1px solid #EDF1EF;color:var(--apag);font-size:0.8438rem}
.rodape-base a{color:inherit;text-decoration:none}

/* Barra fixa (celular) */
.barra-fixa{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:center;gap:0.875rem;padding:0.75rem 1rem calc(0.75rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--linha2);box-shadow:0 -0.625rem 1.875rem rgba(0,0,0,.14);transform:translateY(110%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.barra-on .barra-fixa{transform:none}
.barra-fixa .txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.barra-fixa b{display:flex;align-items:center;gap:0.375rem;color:var(--tinta);font-size:0.9375rem;font-weight:800}
.barra-fixa b .ic{width:1rem;height:1rem;color:var(--verde);stroke-width:2.2}
.barra-fixa span{color:var(--apag);font-size:0.8125rem;font-weight:600}
.barra-fixa .btn{margin-left:auto;flex:0 0 auto;height:3.25rem;padding:0 1.625rem;border-radius:0.75rem;font-size:1.0625rem;font-weight:800}
.barra-on{padding-bottom:5.25rem}

/* Fale conosco */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:1.25rem;background:rgba(7,29,25,.55);backdrop-filter:blur(0.375rem)}
.modal.aberto{display:flex}
.modal-caixa{width:100%;max-width:32.5rem;max-height:92vh;overflow:auto;background:#fff;border:1px solid var(--linha);border-radius:1.375rem;padding:1.75rem;box-shadow:0 2.5rem 6.25rem rgba(7,29,25,.35);animation:sobeLeve .35s cubic-bezier(.2,.7,.2,1)}
.modal-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}
.modal h3{color:var(--tinta);font-size:1.5rem;letter-spacing:-.4px}
.modal-topo p{color:var(--apag);margin-top:0.25rem;font-size:0.9375rem}
.fechar{width:2.375rem;height:2.375rem;flex:0 0 auto;border-radius:0.625rem;border:1px solid var(--linha);background:transparent;color:var(--apag);cursor:pointer;font-size:1.375rem;line-height:1}
.campo{display:block;margin-top:1rem}
.campo span{display:block;font-size:0.8438rem;font-weight:700;color:var(--tinta);margin-bottom:0.375rem}
.campo input,.campo textarea{width:100%;background:#fff;border:1.5px solid var(--linha);border-radius:0.75rem;padding:0.8125rem 0.875rem;color:#1F2937;font-size:1rem;font-family:var(--fonte)}
.campo textarea{min-height:6.875rem;resize:vertical}
.campo input:focus,.campo textarea:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(31,122,87,.18)}
.duas{display:grid;gap:0 0.75rem}
.hp{position:absolute;left:-9999px;opacity:0}
.modal .btn{width:100%;margin-top:1.25rem}
.modal .lgpd{margin-top:0.75rem;font-size:0.7812rem;color:var(--apag2)}
.modal .lgpd a{color:var(--verde);font-weight:700;text-decoration:none}
#retorno{margin-top:0.75rem;font-size:0.875rem;font-weight:700;display:none}
#retorno.ok{color:var(--verde-esc)}#retorno.erro{color:#B91C1C}

/* Cookies */
#cbanner{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;background:#fff;border-top:1px solid var(--linha);box-shadow:0 -0.5rem 1.875rem rgba(7,29,25,.18);padding:0.875rem 1rem calc(0.875rem + env(safe-area-inset-bottom,0px))}
#cbanner .cb-in{max-width:var(--larg);margin:0 auto;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
#cbanner p{flex:1;min-width:13.75rem;font-size:0.8125rem;line-height:1.5;color:var(--texto)}
#cbanner p a{color:var(--verde);font-weight:700;text-decoration:none}
.cb-acoes{display:flex;gap:0.625rem}
.cb-btn{border-radius:0.625rem;padding:0.6875rem 1.25rem;font-size:0.875rem;font-weight:800;cursor:pointer;border:1.5px solid var(--linha)}
.cb-sim{background:var(--verde);color:#fff;border-color:var(--verde)}
.cb-nao{background:#fff;color:var(--tinta)}

/* Documentos legais (termos.php, privacidade.php, cookies.php) */
.legal{background:var(--alt);color:#13231C}
.legal-topo{background:var(--nevoa);color:var(--tinta);padding:3rem 0 2.5rem}
.legal-topo h1{font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-1px;line-height:1.1;margin-top:0.75rem;color:var(--tinta)}
.legal-topo p{color:#4A5852;max-width:46em;margin-top:0.75rem;font-size:0.9375rem}
.legal-topo p a{color:var(--verde);text-decoration:none;font-weight:700}
.legal-topo .btn{margin-top:1.375rem}
.legal-grade{display:grid;gap:1.75rem;padding-top:2.25rem;padding-bottom:5.625rem}
.legal-sumario details{background:#fff;border:1px solid var(--linha);border-radius:0.875rem;padding:1.125rem 1.25rem}
.legal-sumario summary{cursor:pointer;font-weight:800;font-size:0.9375rem;color:var(--tinta)}
.legal-sumario ol{list-style:none;margin-top:0.75rem;display:grid;gap:2px}
.legal-sumario a{display:block;padding:0.3125rem 0.5rem;border-radius:0.5rem;color:#4F6A5B;text-decoration:none;font-size:0.875rem}
.legal-sumario a:hover{background:var(--nevoa);color:var(--verde-esc)}
.legal-texto{background:#fff;border:1px solid var(--linha);border-radius:1rem;padding:1.75rem 1.375rem;min-width:0}
.legal-texto h2{font-size:13.5pt;letter-spacing:-.4px;margin:2.5rem 0 0.375rem;padding-top:1.625rem;border-top:1px solid var(--linha2);scroll-margin-top:6rem;color:var(--tinta)}
.legal-texto h3{font-size:12pt;letter-spacing:-.2px;margin:1.75rem 0 0.5rem;scroll-margin-top:6rem;color:var(--tinta)}
.legal-texto h3:first-child{margin-top:0}
.legal-texto{font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}
.legal-texto p,.legal-texto li{font-size:12pt;line-height:1.5;color:#2A3D34;text-align:justify;-webkit-hyphens:auto;hyphens:auto}
.legal-texto p{margin:0.5rem 0}
.legal-texto ul,.legal-texto ol{padding-left:1.375rem;margin:0.5rem 0}
.legal-texto li p{margin:0.25rem 0}
.legal-texto a{color:var(--verde-esc);font-weight:700}
.legal-texto em{color:#5F7569}
.legal-tabela{overflow-x:auto;margin:0.875rem 0;border:1px solid var(--linha2);border-radius:0.75rem}
.legal-tabela table{width:100%;border-collapse:collapse;font-size:12pt;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;min-width:35rem}
.legal-tabela th{background:#F1F7F3;text-align:left;font-weight:800;color:#13231C}
.legal-tabela th,.legal-tabela td{padding:0.5625rem 0.75rem;border-bottom:1px solid #E8EFE9;vertical-align:top;line-height:1.5}
.legal-tabela tr:last-child td{border-bottom:0}
.legal-fim{margin-top:2.25rem!important;padding-top:1rem;border-top:1px solid var(--linha2);font-size:0.7812rem!important;color:#5F7569!important}

/* Larguras */
@media (min-width:640px){
  .so-largo{display:inline-flex}
  .abertura .acoes .btn{flex:0 0 auto}
  .passos{flex-direction:row;gap:2.5rem}
  .passo{flex-direction:column;align-items:center;text-align:center;flex:1}
  .passo .txt{padding-top:0;align-items:center}
  .linha-passos{left:16.6%;right:16.6%;top:1.4375rem;bottom:auto;width:auto;height:2px;transform-origin:0 50%;transform:scaleX(0)}
  .planos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .garantia{text-align:left}
  .duas{grid-template-columns:1fr 1fr}
  .rodape nav{display:flex;flex-wrap:wrap;gap:0.25rem 1.5rem}
  .rodape nav a,.rodape nav button{min-height:2.25rem}
  .rodape-base{flex-direction:row;justify-content:space-between;flex-wrap:wrap}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bento-main{grid-column:1/-1}
  .final .caixa{padding:4rem 3rem}
}
@media (max-width:999px){
  .menu-botao{display:flex}
  .menu{position:absolute;left:0;right:0;top:100%;z-index:5;flex-direction:column;gap:0;margin:0;padding:0.625rem 1.25rem 1rem;background:#fff;border-bottom:1px solid var(--linha);box-shadow:0 1.125rem 1.875rem rgba(7,29,25,.12)}
  .menu.aberto{display:flex}
  .menu a{padding:0.875rem 0.625rem;border-bottom:1px solid var(--linha2);border-radius:0;font-size:1rem}
  .menu .menu-contato{display:block;padding:0.875rem 0.625rem;font-size:1rem;border-bottom:1px solid var(--linha2)}
  .menu .menu-acessar{display:block;color:var(--verde);font-weight:800}
  .topo .lnk-borda{display:none}
}
@media (min-width:900px){
  .so-cel{display:none}
  .so-desk{display:block}
  .tela-cel{display:none}
  .tela-vp.so-desk{display:block}
  .sent{padding:3rem 0 4rem}
  .palco{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));width:100%;max-width:64rem;margin:0 auto}
  .palco-tela{grid-column:1/10;grid-row:1;position:relative;z-index:1}
  .mapa{grid-column:7/13;grid-row:1;margin:26% 0 0;position:relative;z-index:2}
  .alerta{padding:0.875rem 1.125rem 0.875rem 0.875rem;border-radius:1rem}
  .alerta i{width:2.25rem;height:2.25rem}.alerta i .ic{width:1.125rem;height:1.125rem}
  .alerta b{font-size:0.9375rem}.alerta span{font-size:0.8125rem}
  .alerta-1{left:-4rem;top:-2.25rem}
  .alerta-2{right:1.375rem;bottom:-1.875rem}
  .pontos{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.25rem;margin-top:2.5rem}
  .pontos li{flex-direction:column;align-items:center;text-align:center;gap:0.625rem}
  .pontos .bola{width:2.875rem;height:2.875rem}
  .pontos span{max-width:18.75rem}
  .bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .bento-main{grid-column:span 2;grid-row:span 2;padding:1.625rem 1.75rem}
  .tile{padding:1.375rem 1.5rem}
  #funcionalidades{padding:3.25rem 0 3.75rem}
  #funcionalidades .cabeca{margin-bottom:1.75rem}
  .barra-fixa{display:none}
  .barra-on{padding-bottom:0}
}
@media (min-width:900px){
  html{font-size:clamp(11px,min(1.1111vw,1.7778vh),20px)}
}
@supports (height:1svh){@media (min-width:900px){html{font-size:clamp(11px,min(1.1111vw,1.7778svh),20px)}}}
@media (min-width:1000px){
  .cx{padding:0 2rem}
  .menu{display:flex}
  .abertura{padding:2.75rem 0 2rem}
  .vitrine{margin-top:1.75rem;max-width:49rem}
  .secao{padding:5rem 0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{transform:none}
  .alerta{opacity:1;transform:none}
  .barras span{transform:none}
  .linha-passos{transform:none}
  .contorno{stroke-dashoffset:0}
}
@media print{.topo,.rodape,#cbanner,.modal,.barra-fixa{display:none}}
