/* ============================================================
   HEADER / FOOTER — componente único, usado em todo o ecossistema.
   Qualquer alteração aqui se propaga para todas as páginas no
   próximo build. Não duplicar este bloco dentro de páginas.
   ============================================================ */

.navbar{
  position:fixed; top:0; left:0; right:0; width:100%; z-index:50; margin:0; padding:26px 80px;
  background:rgba(36,36,48,.85); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-sizing:border-box;
  display:flex; align-items:center; justify-content:space-between;
  transition:background .4s ease, backdrop-filter .4s ease, padding .4s ease;
}
.navbar.scrolled{padding:16px 80px;}
.navlogo{height:40px; transition:height .3s ease;}
.navbar.scrolled .navlogo{height:34px;}

.nav-home{display:inline-flex; align-items:center; flex-shrink:0;}

/* menu principal: links reais; Soluções e Segmentos com dropdown.
   Desktop: abre por hover/foco. Touch/mobile: botão de submenu. */
.menu{display:flex; gap:22px; list-style:none; margin:0; padding:0; align-items:center;}
.nav-item{position:relative; display:flex; align-items:center; gap:2px;}
.nav-link{
  color:#C7CCD6; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:300;
  text-transform:uppercase; letter-spacing:.6px; text-decoration:none; position:relative;
  padding:8px 0; transition:color .2s ease; white-space:nowrap;
}
.nav-item.active > .nav-link{color:#fff; font-weight:500;}
.nav-link:hover,.nav-link:focus-visible{color:#fff;}
.nav-item.active > .nav-link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--pink); border-radius:2px;
}
.nav-sub-toggle{
  background:none; border:none; padding:4px; margin:0; cursor:pointer; color:#C7CCD6;
  display:inline-flex; align-items:center; border-radius:6px;
}
.nav-sub-toggle svg{width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease;}
.nav-sub-toggle:hover{color:#fff;}
.nav-sub{
  position:absolute; top:calc(100% + 14px); left:-22px; min-width:320px; padding:12px;
  background:rgba(30,31,42,.96); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.1); border-radius:16px;
  box-shadow:0 28px 60px -24px rgba(0,0,0,.6);
  display:flex; flex-direction:column; gap:2px;
  opacity:0; visibility:hidden; transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.nav-sub::before{content:""; position:absolute; left:0; right:0; top:-16px; height:16px;} /* ponte do hover */
.nav-sub-cols{display:grid; grid-template-columns:1fr 1fr; min-width:440px;}
.nav-sub-cols .nav-sub-all{grid-column:1 / -1;}
.nav-sub a{
  display:flex; flex-direction:column; gap:3px; padding:10px 12px; border-radius:10px;
  color:#E6E8EE; text-decoration:none; transition:background .15s ease;
}
.nav-sub a b{font-size:14px; font-weight:600; letter-spacing:-.1px;}
.nav-sub a span{font-size:12.5px; color:#9EA4B2; line-height:1.4;}
.nav-sub a:hover,.nav-sub a:focus-visible{background:rgba(255,255,255,.07);}
.nav-sub a[aria-current="page"] b{color:#fff;}
.nav-sub a[aria-current="page"]{background:rgba(255,255,255,.06); box-shadow:inset 2px 0 0 var(--pink);}
.nav-sub .nav-sub-all{margin-top:4px; border-top:1px solid rgba(255,255,255,.08); border-radius:0 0 10px 10px; font-size:13px; font-weight:600; color:#C7CCD6;}
.has-sub:hover .nav-sub,.has-sub:focus-within .nav-sub,.has-sub.open .nav-sub{
  opacity:1; visibility:visible; transform:none; transition:opacity .18s ease, transform .18s ease;
}
.has-sub.open .nav-sub-toggle svg,.has-sub:hover .nav-sub-toggle svg{transform:rotate(180deg);}

/* Área do Cliente (LogosNet): acesso discreto, não é CTA comercial */
.nav-actions{display:flex; align-items:center; gap:18px;}
.nav-client{display:inline-flex; align-items:center; gap:9px; padding:4px 0; color:#E6E8EE; text-decoration:none;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:400; letter-spacing:.3px; white-space:nowrap; transition:color .2s ease;}
.nav-client-ico{display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; flex-shrink:0;
  background:rgba(108,196,245,.14); border:1px solid rgba(108,196,245,.55); color:#6CC4F5; transition:background .2s ease, color .2s ease, border-color .2s ease;}
.nav-client-ico svg{width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round;}
.nav-client:hover,.nav-client:focus-visible{color:#fff;}
.nav-client:hover .nav-client-ico,.nav-client:focus-visible .nav-client-ico,.nav-client-m:hover .nav-client-ico{background:#6CC4F5; border-color:#6CC4F5; color:#15151d;}
.nav-client:focus-visible{outline:none;} .nav-client:focus-visible .nav-client-ico{box-shadow:0 0 0 3px rgba(108,196,245,.35);}
.nav-item-client{display:none;}
.nav-item-contact{display:none;} /* "Contato" só no menu do celular: no desktop, "Fale com um especialista" cumpre a função */
.cta-nav{
  background:rgba(255,255,255,.22); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.35); color:#fff; padding:10px 18px; border-radius:999px;
  font-weight:700; font-size:14px; cursor:pointer; font-family:inherit; text-decoration:none; white-space:nowrap;
  transition:background .22s ease, transform .22s ease;
}
.cta-nav:hover{background:rgba(255,255,255,.34); transform:translateY(-2px);}
a.primary,a.secondary{text-decoration:none;}

/* botão do menu mobile */
.nav-toggle{display:none; width:42px; height:42px; border-radius:12px; border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06); cursor:pointer; padding:0; flex-direction:column; align-items:center; justify-content:center; gap:5px;}
.nav-toggle span{display:block; width:18px; height:1.6px; background:#fff; border-radius:2px; transition:transform .25s ease, opacity .2s ease;}
.navbar.menu-open .nav-toggle span:nth-child(1){transform:translateY(6.6px) rotate(45deg);}
.navbar.menu-open .nav-toggle span:nth-child(2){opacity:0;}
.navbar.menu-open .nav-toggle span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}

/* telas médias: "Área do Cliente" segue com texto; o espaço vem de gaps e paddings menores */
@media (max-width:1360px) and (min-width:1061px){
  .nav-actions{gap:14px;}
  .nav-client{gap:8px;}
}
@media (max-width:1240px) and (min-width:1061px){
  .menu{gap:16px;}
  .nav-actions{gap:12px;}
  .cta-nav{padding:9px 14px; font-size:13px;}
  .nav-client-ico{width:30px; height:30px;}
}
@media (max-width:1180px){
  .menu{gap:16px;}
  .nav-link{font-size:12px; letter-spacing:.4px;}
}
@media (max-width:1060px){
  .nav-toggle{display:inline-flex; order:3; margin-left:12px;}
  .nav-actions{margin-left:auto;}
  .cta-nav{padding:9px 14px; font-size:12.5px;}
  .menu{
    /* a navbar tem backdrop-filter, que vira o bloco de contenção de filhos fixos:
       o painel se ancora logo abaixo dela e ocupa o resto da tela */
    position:absolute; top:100%; left:0; right:0; height:calc(100dvh - var(--nav-h, 76px)); z-index:49;
    flex-direction:column; align-items:stretch; gap:0; padding:12px 24px 40px;
    background:#1C1D28;
    overflow-y:auto; opacity:0; visibility:hidden; transform:translateY(-8px);
    transition:opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
  }
  .navbar.menu-open .menu{opacity:1; visibility:visible; transform:none; transition:opacity .2s ease, transform .2s ease;}
  .nav-item{flex-wrap:wrap; border-bottom:1px solid rgba(255,255,255,.08);}
  .nav-item-contact{display:flex;}
  .nav-client{order:2;} .nav-client-txt{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
  .nav-client-ico{width:40px; height:40px;}
  .nav-item-client{display:flex; border-bottom:none; margin-top:18px;}
  .nav-client-m{display:flex; align-items:center; gap:14px; padding:14px 16px !important; border:1px solid rgba(108,196,245,.35); background:rgba(108,196,245,.06); border-radius:14px; text-transform:none; letter-spacing:.2px;}
  .nav-client-m span{display:flex; flex-direction:column; gap:2px; font-weight:500; color:#fff;}
  .nav-client-m small{font-size:12px; font-weight:300; color:#9EA4B2;}
  .nav-link{flex:1; font-size:15px; padding:18px 0; letter-spacing:.8px;}
  .nav-item.active > .nav-link::after{bottom:12px; right:auto; width:28px;}
  .nav-sub-toggle{width:44px; height:44px; justify-content:center;}
  .nav-sub-toggle svg{width:16px; height:16px;}
  .has-sub:hover .nav-sub-toggle svg{transform:none;}
  .has-sub.open .nav-sub-toggle svg{transform:rotate(180deg);}
  .nav-sub,.nav-sub-cols{
    position:static; flex-basis:100%; min-width:0; display:none; grid-template-columns:1fr;
    background:none; border:none; box-shadow:none; padding:0 0 12px; margin:0;
    opacity:1; visibility:visible; transform:none; backdrop-filter:none; -webkit-backdrop-filter:none;
  }
  .has-sub:hover .nav-sub{display:none;}
  .has-sub.open .nav-sub,.has-sub.open:hover .nav-sub{display:flex;}
  .has-sub.open .nav-sub-cols{display:grid;}
  .nav-sub a{padding:10px 12px;}
  body.nav-locked{overflow:hidden;}
}
@media (max-width:520px){
  .cta-nav{display:none;}
}

/* ---------- FOOTER ---------- */
.footer{background:var(--footerbg); padding:80px 80px 30px 80px;}
.footer-top{
  max-width:1220px; margin:0 auto 44px; display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
  padding-bottom:40px; border-bottom:1px solid rgba(36,36,48,.1);
}
.footer-wrap{
  max-width:1220px; margin:0 auto;
  padding-bottom:50px; border-bottom:1px solid rgba(36,36,48,.1);
}
.footer-brand{max-width:400px;}
.ft-logo{display:block; height:78px; width:auto; margin-bottom:16px;}
.footer-brand p{font-size:14px; color:var(--ink); line-height:1.6;}
.footer-reach{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.ft-phone{display:flex; flex-direction:column; gap:2px; color:var(--chumbo); text-decoration:none;}
.ft-phone span{font-size:11.5px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:rgba(36,36,48,.55);}
.ft-phone b{font-family:'Switzer',sans-serif; font-size:22px; font-weight:700; letter-spacing:-.2px; transition:color .2s ease;}
.ft-phone:hover b{color:var(--pink);}
.ft-social{display:flex; gap:8px;}
.ft-social a,.ft-social button{
  width:40px; height:40px; border-radius:50%; display:inline-grid; place-items:center; padding:0; cursor:pointer;
  border:1px solid rgba(36,36,48,.16); background:transparent; color:var(--chumbo);
  transition:color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.ft-social svg{width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.ft-social svg .f{fill:currentColor; stroke:none;}
.ft-social a:hover,.ft-social button:hover{color:#fff; background:var(--chumbo); border-color:var(--chumbo); transform:translateY(-2px);}
.ft-social a:focus-visible,.ft-social button:focus-visible{outline:2px solid var(--pink); outline-offset:2px;}
.footer-cols{display:flex; justify-content:space-between; gap:40px;}
.footer-col-contact a{line-height:1.35; margin-bottom:14px;}
.footer-col-contact a span{display:block; font-size:11px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:rgba(36,36,48,.55); margin-bottom:2px;}
.footer-col h4{font-size:14px; font-weight:700; margin-bottom:16px;}
.footer-col a{
  display:block; font-size:13.5px; color:var(--ink); text-decoration:none; margin-bottom:10px;
  width:fit-content; transition:color .2s ease, transform .2s ease;
}
.footer-col a:hover{color:var(--pink); transform:translateX(3px);}
.footer-bottom{
  max-width:1220px; margin:24px auto 0 auto; font-size:13px; color:var(--ink);
  display:flex; justify-content:space-between; align-items:center; gap:16px 32px;
}
/* assinatura Vogg: só o ponto; o nome aparece no hover/foco (no toque fica sempre visível) */
.fb-end{display:inline-flex; align-items:center; gap:40px;}
.vogg-sig{position:relative; display:inline-flex; align-items:center; justify-content:flex-end; width:18px; height:22px; align-items:flex-end; padding-bottom:4px; text-decoration:none !important;}
.vogg-sig i{width:5px; height:5px; border-radius:50%; background:#E900AE; transition:opacity .2s ease, transform .25s ease;}
.vogg-sig img{position:absolute; right:0; top:6px; width:37px; height:12px; max-width:none; opacity:0; transform:translateX(6px); pointer-events:none; transition:opacity .25s ease, transform .25s ease;}
.vogg-sig:hover img,.vogg-sig:focus-visible img{opacity:1; transform:none;}
.vogg-sig:hover i,.vogg-sig:focus-visible i{opacity:0; transform:scale(.4);}
@media (hover:none){
  .vogg-sig{width:37px;}
  .vogg-sig img{position:static; opacity:1; transform:none;}
  .vogg-sig i{display:none;}
}

@media (max-width:1100px){
  .navbar{padding-left:24px; padding-right:24px;}
  .footer{padding-left:24px; padding-right:24px;}
  .footer-top{flex-direction:column; align-items:flex-start; gap:26px;}
  .footer-cols{flex-wrap:wrap; justify-content:flex-start; gap:30px 44px;}
}
@media (max-width:640px){
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:8px;}
  .fb-end{flex-direction:column; align-items:flex-start; gap:14px;}
}

/* ============================================================
   WHATSAPP FLOAT — componente de conversão, não de experiência.
   Regra diferente do resto da Interaction Language: sempre visível
   desde o carregamento, em toda página, sem depender de scroll ou
   jornada. Estética discreta de propósito — vidro, não verde
   saturado, sem animação de chamar atenção.
   ============================================================ */
.wa-float{
  position:fixed; z-index:80; right:24px; bottom:24px;
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(36,36,48,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.16); border-radius:999px;
  color:#fff; text-decoration:none; padding:13px;
  box-shadow:0 12px 28px -12px rgba(0,0,0,.45);
  transition:background .22s ease, transform .22s ease, padding .22s ease, box-shadow .22s ease;
}
.wa-float-icon{width:22px; height:22px; flex-shrink:0;}
.wa-float-label{
  max-width:0; overflow:hidden; white-space:nowrap; font-size:14px; font-weight:600;
  opacity:0; transition:max-width .25s ease, opacity .2s ease;
}
.wa-float:hover{background:rgba(36,36,48,.92); transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(0,0,0,.55);}
.wa-float:hover .wa-float-label{max-width:220px; opacity:1; margin-right:2px;}
@media (max-width:640px){
  .wa-float{right:16px; bottom:16px;}
  .wa-float:hover .wa-float-label{max-width:0; opacity:0; margin-right:0;} /* sem hover real em touch — mantém compacto */
}
button.wa-float{cursor:pointer; font:inherit;}

/* ============================================================
   FALE COM A LOGOS — formulário ao final de cada página
   Fundo branco (raro no site, por isso destaca), campos em pílula com
   contorno cinza médio, texto em chumbo, coral nos detalhes e no foco.
   ============================================================ */
.lf{--lf-coral:#EE4F64; --lf-line:#9A9AA6; --lf-ink:#242430; background:#fff; color:var(--lf-ink); padding:110px 0 120px; border-top:1px solid rgba(36,36,48,.08); scroll-margin-top:80px;}
.lf-wrap{max-width:1220px; margin:0 auto; padding:0 40px; display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; align-items:start;}
.lf-kicker{display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.95px; text-transform:uppercase; color:var(--lf-coral, #EE4F64); margin-bottom:16px;}
.lf-intro h2{font-family:'Switzer',sans-serif; font-size:clamp(32px,3.6vw,48px); font-weight:800; letter-spacing:-1.2px; line-height:1.06; margin-bottom:20px;}
.lf-intro h2 em{font-style:normal; color:var(--lf-coral);}
.lf-intro p{font-size:17px; line-height:1.7; color:rgba(36,36,48,.72); max-width:420px;}
.lf-context{display:inline-flex; align-items:center; gap:9px; margin-top:28px; padding:9px 15px; border-radius:999px; border:1px solid rgba(36,36,48,.16); font-size:13.5px; color:rgba(36,36,48,.7);}
.lf-context i{width:7px; height:7px; border-radius:50%; background:var(--lf-coral); box-shadow:0 0 0 4px rgba(238,79,100,.16);}
.lf-context b{color:var(--lf-ink); font-weight:700;}
.lf-wa{display:block; gap:10px; margin-top:22px; padding:0; border:0; background:none; font:500 15px/1.4 'Plus Jakarta Sans',sans-serif; color:rgba(36,36,48,.7); cursor:pointer; text-align:left;}
.lf-wa svg{display:inline-block; vertical-align:-5px; margin-right:8px; width:20px; height:20px; fill:none; stroke:var(--lf-coral); stroke-width:1.7;}
.lf-wa b{color:var(--lf-ink); font-weight:700; border-bottom:1.5px solid var(--lf-coral); padding-bottom:1px;}
.lf-wa:hover b{color:var(--lf-coral);}

.lf-form{position:relative; display:flex; flex-direction:column; gap:22px;}
.lf-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px 16px;}
.lf-field{display:flex; flex-direction:column; gap:8px;}
.lf-field > span,.lf-set legend{font-size:12px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:rgba(36,36,48,.62);}
.lf-field small,.lf-set legend small{font-weight:500; letter-spacing:0; text-transform:none; color:rgba(36,36,48,.64);}
.lf-field input,.lf-field textarea{width:100%; font:500 15.5px/1.4 'Plus Jakarta Sans',sans-serif; color:var(--lf-ink); background:#fff;
  border:1.5px solid var(--lf-line); border-radius:999px; padding:14px 20px; outline:none; transition:border-color .2s ease, box-shadow .2s ease;}
.lf-field textarea{border-radius:22px; resize:vertical; min-height:96px;}
.lf-field input::placeholder,.lf-field textarea::placeholder{color:rgba(36,36,48,.36);}
.lf-field input:hover,.lf-field textarea:hover{border-color:#6E6E7A;}
.lf-field input:focus,.lf-field textarea:focus{border-color:var(--lf-coral); box-shadow:0 0 0 4px rgba(238,79,100,.14);}
.lf-set{border:0; padding:0; margin:0; min-width:0;}
.lf-set legend{padding:0; margin-bottom:10px;}
.lf-chips{display:flex; flex-wrap:wrap; gap:8px;}
.lf-chip{position:relative; cursor:pointer;}
.lf-chip input{position:absolute; opacity:0; width:1px; height:1px;}
.lf-chip span{display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:999px; border:1.5px solid var(--lf-line); font-size:14px; font-weight:600; color:var(--lf-ink); transition:background .2s ease, border-color .2s ease, color .2s ease;}
.lf-chip:hover span{border-color:#6E6E7A;}
.lf-chip input:checked + span{background:var(--lf-ink); border-color:var(--lf-ink); color:#fff;}
.lf-chip input:checked + span::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--lf-coral);}
.lf-chip input:focus-visible + span{box-shadow:0 0 0 4px rgba(238,79,100,.22);}
.lf-consent{display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.5; color:rgba(36,36,48,.72); cursor:pointer;}
.lf-consent input{appearance:none; -webkit-appearance:none; flex:none; width:20px; height:20px; margin-top:1px; border-radius:6px; border:1.5px solid var(--lf-line); background:#fff; cursor:pointer; display:grid; place-items:center;}
.lf-consent input:checked{background:var(--lf-ink); border-color:var(--lf-ink);}
.lf-consent input:checked::after{content:""; width:9px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:translateY(-1px) rotate(-45deg);}
.lf-consent input:focus-visible{box-shadow:0 0 0 4px rgba(238,79,100,.22);}
.lf-actions{display:flex; align-items:center; gap:18px; flex-wrap:wrap;}
.lf-submit{display:inline-flex; align-items:center; gap:10px; padding:16px 28px; border:0; border-radius:999px; background:var(--lf-ink); color:#fff; font:700 15.5px/1 'Plus Jakarta Sans',sans-serif; cursor:pointer; transition:transform .22s ease, box-shadow .22s ease, background .22s ease;}
.lf-submit span{color:var(--lf-coral, #EE4F64); transition:transform .22s ease;}
.lf-submit:hover{transform:translateY(-2px); box-shadow:0 16px 30px -16px rgba(36,36,48,.6);}
.lf-submit:hover span{transform:translateX(3px);}
.lf-submit:focus-visible{outline:none; box-shadow:0 0 0 4px rgba(238,79,100,.3);}
.lf-submit[disabled]{opacity:.6; cursor:wait; transform:none;}
.lf-error{font-size:14px; font-weight:600; color:#C42B43;}
.lf .is-invalid input,.lf-modal-invalid{border-color:#C42B43 !important;}
.is-invalid > input,.is-invalid > textarea{border-color:#C42B43 !important;}
.lf-set.is-invalid legend,.lf-consent.is-invalid span{color:#C42B43;}
.lf-set.is-invalid .lf-chip span,.lf-consent.is-invalid input{border-color:#C42B43;}
.lf-hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden;}
.lf-done{display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:36px; border-radius:24px; background:#F8F5EF; outline:none;}
.lf-done[hidden]{display:none;}
.lf-done b{font-family:'Switzer',sans-serif; font-size:26px; letter-spacing:-.5px;}
.lf-done p{font-size:16px; line-height:1.6; color:rgba(36,36,48,.72);}
.lf-done-ico{width:44px; height:44px; border-radius:50%; background:var(--lf-ink, #242430); position:relative;}
.lf-done-ico::after{content:""; position:absolute; left:15px; top:14px; width:14px; height:8px; border-left:2.5px solid #EE4F64; border-bottom:2.5px solid #EE4F64; transform:rotate(-45deg);}
.lf-form.is-sent > :not(.lf-done){display:none;}
.wa-card.is-sent > :not(.wa-done):not(.wa-x){display:none;}
.wa-done{padding:8px 0 0; background:none;}
.wa-done .wa-web{text-decoration:none; margin-top:6px;}

/* ---------- ANTESSALA DO WHATSAPP (modal) ---------- */
.wa-modal{position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:20px;}
.wa-modal[hidden]{display:none;}
.wa-backdrop{position:absolute; inset:0; background:rgba(16,16,24,.55); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); animation:waFade .25s ease;}
.wa-card{--lf-coral:#EE4F64; --lf-line:#9A9AA6; --lf-ink:#242430; position:relative; width:min(520px,100%); max-height:calc(100vh - 40px); overflow:auto; display:flex; flex-direction:column; gap:18px;
  padding:36px 34px 30px; border-radius:28px; background:#fff; color:var(--lf-ink); box-shadow:0 40px 90px -30px rgba(0,0,0,.55); animation:waUp .35s cubic-bezier(.22,1,.36,1);}
.wa-card .lf-kicker{margin-bottom:0;}
.wa-card h3{font-family:'Switzer',sans-serif; font-size:26px; font-weight:800; letter-spacing:-.6px; line-height:1.15; margin-top:-6px;}
.wa-card .lf-full,.lf-grid .lf-full{grid-column:1/-1;}
.wa-x{position:absolute; right:16px; top:14px; width:38px; height:38px; border-radius:50%; border:0; background:rgba(36,36,48,.06); font-size:22px; line-height:1; color:var(--lf-ink); cursor:pointer;}
.wa-x:hover{background:rgba(36,36,48,.12);}


body.wa-lock{overflow:hidden;}
@keyframes waFade{from{opacity:0;}}
@keyframes waUp{from{opacity:0; transform:translateY(16px) scale(.98);}}

@media (max-width:900px){
  .lf{padding:80px 0 90px;}
  .lf-wrap{grid-template-columns:1fr; gap:40px; padding:0 20px;}
}
@media (max-width:560px){
  .lf-grid{grid-template-columns:1fr;}
  .wa-card{padding:30px 20px 22px; border-radius:22px;}
  .wa-card h3{font-size:22px;}
}
@media (prefers-reduced-motion:reduce){ .wa-backdrop,.wa-card{animation:none;} }
.lf-consent a{color:inherit; text-decoration:underline; text-underline-offset:2px;}
.footer-bottom a{color:inherit; text-decoration:underline; text-underline-offset:2px;}
.ft-ck{background:none; border:0; padding:0; font:inherit; color:inherit; text-decoration:underline; text-underline-offset:2px; cursor:pointer;}
