/* ============================================================
   FRESH CLEAN | Limpeza Profissional
   Sistema visual: "A Lavanderia"
   Paleta derivada da marca | Assinatura: varal de secagem
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  --azul:#0080C4;
  --azul-esc:#00618F;
  --azul-claro:#8FD0F2;
  --tinta:#0B2233;
  --tinta-2:#12344F;
  --folha:#5A9B72;
  --folha-clara:#9CCBAE;
  --concreto:#EDF1F3;
  --concreto-2:#E1E8EB;
  --papel:#FFFFFF;
  --texto:#41586A;
  --texto-claro:rgba(255,255,255,.72);
  --linha:rgba(11,34,51,.13);
  --linha-clara:rgba(255,255,255,.18);

  --display:"Archivo","Arial Narrow",Arial,sans-serif;
  --corpo:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;

  --wrap:1280px;
  --gutter:clamp(20px,5vw,56px);
  --bloco:clamp(72px,9vw,132px);
  --raio:14px;
  --sombra:0 18px 50px -22px rgba(11,34,51,.35);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;
  background:var(--papel);
  color:var(--tinta);
  font-family:var(--corpo);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.02;margin:0}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* ---------- 3. ACESSIBILIDADE (AXO) ---------- */
.pular-para-conteudo{
  position:absolute;left:16px;top:-100px;z-index:999;
  background:var(--tinta);color:#fff;padding:14px 22px;border-radius:8px;
  font-size:14px;font-weight:600;transition:top .18s ease;
}
.pular-para-conteudo:focus{top:16px}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* ---------- 4. UTILITÁRIOS DE LAYOUT ---------- */
.wrap{width:min(var(--wrap),calc(100% - var(--gutter)*2));margin-inline:auto}
.bloco{padding-block:var(--bloco)}
.rotulo{
  font-family:var(--display);font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.2em;color:var(--azul-esc);
  display:flex;align-items:center;gap:10px;margin:0;
}
.rotulo::before{content:"";width:22px;height:2px;background:var(--azul);flex:none}
.rotulo.claro{color:var(--azul-claro)}
.rotulo.claro::before{background:var(--azul-claro)}

.titulo-xl{font-size:clamp(38px,5.6vw,74px)}
.titulo-lg{font-size:clamp(32px,4.2vw,54px)}
.titulo-md{font-size:clamp(25px,2.6vw,34px)}
.lead{font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--texto)}
.lead.claro{color:var(--texto-claro)}

/* ---------- 5. BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:52px;padding:15px 26px;border:1px solid transparent;border-radius:100px;
  font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:-.01em;
  cursor:pointer;transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
}
.btn svg{flex:none}
.btn--zap{background:var(--folha);color:#fff}
.btn--zap:hover{background:#4d8b64;transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(90,155,114,.9)}
.btn--azul{background:var(--azul);color:#fff}
.btn--azul:hover{background:var(--azul-esc);transform:translateY(-2px);box-shadow:0 12px 26px -12px rgba(0,128,196,.85)}
.btn--tinta{background:var(--tinta);color:#fff}
.btn--tinta:hover{background:var(--tinta-2);transform:translateY(-2px)}
.btn--linha{border-color:var(--linha);color:var(--tinta);background:transparent}
.btn--linha:hover{border-color:var(--tinta);background:var(--tinta);color:#fff}
.btn--linha-clara{border-color:var(--linha-clara);color:#fff;background:transparent}
.btn--linha-clara:hover{background:#fff;color:var(--tinta)}
.acoes{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- 6. CABEÇALHO ---------- */
.topo{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--linha);
}
.topo-inner{
  width:min(var(--wrap),calc(100% - var(--gutter)*2));margin-inline:auto;
  min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.marca{display:flex;align-items:center;gap:12px;padding:10px 0}
.marca img{width:132px;height:auto}
.marca span{
  font-family:var(--display);font-size:9px;font-weight:600;line-height:1.3;
  text-transform:uppercase;letter-spacing:.16em;color:var(--texto);
  padding-left:12px;border-left:1px solid var(--linha);
}
.menu{display:flex;align-items:center;gap:4px}
.menu a{
  padding:10px 14px;border-radius:8px;font-size:15px;font-weight:500;
  color:var(--tinta);transition:background .18s ease,color .18s ease;
}
.menu a:hover{background:var(--concreto);color:var(--azul-esc)}
.menu a[aria-current="page"]{color:var(--azul-esc);font-weight:600}
.topo-cta{display:flex;align-items:center;gap:10px}
.topo-fone{
  display:none;font-family:var(--display);font-size:14px;font-weight:600;
  padding:10px 14px;border-radius:8px;
}
.topo-fone:hover{background:var(--concreto)}
.abrir-menu{
  display:none;width:46px;height:46px;border:1px solid var(--linha);border-radius:10px;
  background:transparent;cursor:pointer;padding:0;place-items:center;
}
.abrir-menu i{display:block;width:19px;height:1.5px;background:var(--tinta);margin:4px auto;transition:transform .25s ease,opacity .2s ease}
.abrir-menu[aria-expanded="true"] i:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.abrir-menu[aria-expanded="true"] i:nth-child(2){opacity:0}
.abrir-menu[aria-expanded="true"] i:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* ---------- 7. HERO ---------- */
.hero{position:relative;background:var(--tinta);color:#fff;overflow:hidden}
.hero-foto{position:absolute;inset:0}
.hero-foto img{width:100%;height:100%;object-fit:cover}
.hero-veu{
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(6,26,42,.94) 0%,rgba(6,26,42,.8) 42%,rgba(6,26,42,.42) 78%,rgba(6,26,42,.55) 100%);
}
.hero-conteudo{position:relative;z-index:2;padding-block:clamp(70px,12vw,132px) clamp(48px,7vw,84px)}
.hero h1{font-size:clamp(40px,6.4vw,86px);max-width:15ch;margin:22px 0 0}
.hero h1 b{color:var(--azul-claro);font-weight:700}
.hero-texto{max-width:52ch;margin-top:24px;font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--texto-claro)}
.hero .acoes{margin-top:34px}

/* Assinatura: varal de dados */
.varal-dados{
  position:relative;z-index:2;margin-top:clamp(46px,6vw,74px);
  border-top:1px solid var(--linha-clara);
  display:grid;grid-template-columns:repeat(3,1fr);
}
.varal-dados li{position:relative;padding:26px 26px 6px 0}
.varal-dados li::before{
  content:"";position:absolute;top:0;left:0;width:1px;height:16px;background:var(--linha-clara);
}
.varal-dados strong{
  display:block;font-family:var(--display);font-size:clamp(26px,3vw,38px);
  font-weight:700;letter-spacing:-.04em;color:#fff;line-height:1;
}
.varal-dados span{display:block;margin-top:8px;font-size:13.5px;line-height:1.45;color:var(--texto-claro);max-width:24ch}

/* ---------- 8. RESPOSTA RÁPIDA (AEO) ---------- */
.resposta{background:var(--concreto);border-bottom:1px solid var(--linha)}
.resposta-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:clamp(24px,5vw,72px);align-items:start;padding-block:clamp(44px,5vw,66px)}
.resposta h2{font-size:clamp(21px,2vw,26px);letter-spacing:-.03em;line-height:1.22}
.resposta-texto p{font-size:clamp(16px,1.25vw,18.5px);line-height:1.65;color:var(--tinta)}
.resposta-texto p + p{margin-top:14px;color:var(--texto);font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips li{
  background:#fff;border:1px solid var(--linha);border-radius:100px;
  padding:7px 14px;font-size:13px;font-weight:500;color:var(--texto);
}

/* ---------- 9. VARAL DE SERVIÇOS (assinatura) ---------- */
.servicos{background:var(--papel)}
.cabeca-secao{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.cabeca-secao h2{margin-top:18px}
.cabeca-secao .lead{padding-bottom:6px}

.varal{position:relative;padding-top:34px}
.varal::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--azul) 0 42%,var(--linha) 42% 100%);
  border-radius:2px;
}
.varal-lista{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,26px)}
.varal-item{position:relative;transform-origin:top center;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.varal-item::before{
  content:"";position:absolute;top:-34px;left:50%;width:1px;height:34px;
  background:var(--linha);transition:background .3s ease;
}
.varal-item::after{
  content:"";position:absolute;top:-38px;left:50%;transform:translateX(-50%);
  width:8px;height:8px;border-radius:50%;background:var(--azul);
  opacity:.35;transition:opacity .3s ease,transform .3s ease;
}
.varal-item:hover,.varal-item:focus-within{transform:rotate(-.7deg)}
.varal-item:hover::before,.varal-item:focus-within::before{background:var(--azul)}
.varal-item:hover::after,.varal-item:focus-within::after{opacity:1;transform:translateX(-50%) scale(1.25)}
.varal-item a{display:block;height:100%}
.varal-figura{
  position:relative;overflow:hidden;border-radius:var(--raio);background:var(--concreto);
  aspect-ratio:3/4;
}
.varal-figura img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.varal-item:hover .varal-figura img{transform:scale(1.05)}
.varal-corpo{padding:18px 4px 0}
.varal-corpo h3{font-size:clamp(19px,1.5vw,22px);letter-spacing:-.03em}
.varal-corpo p{margin-top:9px;font-size:14.5px;line-height:1.55;color:var(--texto)}
.varal-corpo em{
  display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-style:normal;
  font-family:var(--display);font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--azul-esc);
}
.varal-item:hover .varal-corpo em span{transform:translateX(3px)}
.varal-corpo em span{transition:transform .25s ease}

/* ---------- 10. ANTES E DEPOIS ---------- */
.comparador{background:var(--concreto);border-block:1px solid var(--linha)}
.comparador-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,76px);align-items:center}
.comparador h2{margin-top:18px}
.comparador .lead{margin-top:20px}
.comparador ul{margin-top:26px;border-top:1px solid var(--linha)}
.comparador ul li{
  border-bottom:1px solid var(--linha);padding:14px 0;font-size:15px;
  display:flex;gap:12px;align-items:flex-start;color:var(--texto);
}
.comparador ul li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--azul);margin-top:9px}

.antes-depois{
  position:relative;border-radius:var(--raio);overflow:hidden;
  aspect-ratio:3/4;background:var(--tinta);box-shadow:var(--sombra);
  touch-action:pan-y;user-select:none;
}
.antes-depois img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ad-topo{clip-path:inset(0 50% 0 0)}
.ad-marca{
  position:absolute;top:14px;z-index:3;background:rgba(255,255,255,.94);color:var(--tinta);
  font-family:var(--display);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  padding:6px 11px;border-radius:100px;pointer-events:none;
}
.ad-marca.esq{left:14px}
.ad-marca.dir{right:14px}
.ad-linha{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:4;pointer-events:none;box-shadow:0 0 14px rgba(0,0,0,.35)}
.ad-punho{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;
  width:52px;height:52px;border-radius:50%;background:#fff;border:0;cursor:ew-resize;
  display:grid;place-items:center;box-shadow:0 6px 22px rgba(0,0,0,.32);
}
.ad-punho svg{width:22px;height:22px;color:var(--azul-esc)}
.ad-controle{position:absolute;inset:0;z-index:6;width:100%;opacity:0;cursor:ew-resize;margin:0}

/* ---------- 11. ESTRUTURA (seção escura) ---------- */
.estrutura{background:var(--tinta);color:#fff}
.estrutura .cabeca-secao h2{color:#fff}
.estrutura-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.8vw,24px)}
.estrutura-foto{border-radius:var(--raio);overflow:hidden;background:var(--tinta-2)}
.estrutura-foto img{width:100%;height:100%;object-fit:cover}
.estrutura-foto.a{grid-column:span 5;aspect-ratio:3/4}
.estrutura-foto.b{grid-column:span 4;aspect-ratio:3/4}
.estrutura-lista{grid-column:span 3;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.estrutura-lista li{border-top:1px solid var(--linha-clara);padding-top:14px}
.estrutura-lista strong{display:block;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.02em}
.estrutura-lista span{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--texto-claro)}

/* ---------- 12. PROCESSO NUMERADO ---------- */
.processo{background:var(--papel)}
.etapas{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--linha)}
.etapas li{padding:30px 26px 8px 0;border-right:1px solid var(--linha);position:relative}
.etapas li:last-child{border-right:0}
.etapas li::before{content:"";position:absolute;top:-1px;left:0;width:36%;height:2px;background:var(--azul)}
.etapas b{
  display:block;font-family:var(--display);font-size:12px;font-weight:700;
  letter-spacing:.16em;color:var(--azul-esc);
}
.etapas h3{margin-top:16px;font-size:20px;letter-spacing:-.03em}
.etapas p{margin-top:10px;font-size:14.5px;line-height:1.55;color:var(--texto);padding-right:8px}

/* ---------- 13. FAIXA CORPORATIVA ---------- */
.corporativo{position:relative;background:var(--tinta-2);color:#fff;overflow:hidden}
.corporativo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.corporativo-veu{position:absolute;inset:0;background:linear-gradient(95deg,rgba(8,32,50,.95) 0%,rgba(8,32,50,.78) 50%,rgba(8,32,50,.35) 100%)}
.corporativo-conteudo{position:relative;z-index:2;max-width:640px}
.corporativo h2{margin:20px 0 20px}
.corporativo .acoes{margin-top:30px}
.corp-lista{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;max-width:760px}
.corp-lista li{border-top:1px solid var(--linha-clara);padding-top:14px;font-size:14px;line-height:1.5;color:var(--texto-claro)}
.corp-lista strong{display:block;color:#fff;font-family:var(--display);font-size:15px;margin-bottom:5px}

/* ---------- 14. PROVA / DEPOIMENTO ---------- */
.prova-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:center}
.prova-numero strong{
  display:block;font-family:var(--display);font-size:clamp(84px,12vw,150px);
  font-weight:700;letter-spacing:-.07em;line-height:.85;color:var(--azul);
}
.prova-numero sup{font-size:.34em;vertical-align:super}
.prova-numero p{margin-top:20px;font-size:16px;line-height:1.55;color:var(--texto);max-width:30ch}
blockquote{margin:0;border-top:1px solid var(--linha);padding-top:26px}
blockquote p{font-family:var(--display);font-size:clamp(21px,2.3vw,30px);font-weight:500;letter-spacing:-.028em;line-height:1.32}
blockquote cite{
  display:block;margin-top:22px;font-style:normal;font-size:12.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.14em;color:var(--texto);
}

/* ---------- 15. FAQ (AEO) ---------- */
.faq{background:var(--concreto)}
.faq-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(26px,5vw,72px);align-items:start}
.faq-grid h2{margin-top:18px}
.faq-grid>div:first-child .lead{margin-top:18px}
.faq-lista{border-top:1px solid var(--linha)}
.faq-lista details{border-bottom:1px solid var(--linha)}
.faq-lista summary{
  list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;
  font-family:var(--display);font-size:clamp(17px,1.5vw,20px);font-weight:600;letter-spacing:-.025em;line-height:1.35;
}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{
  content:"";position:absolute;right:6px;top:50%;width:13px;height:13px;
  border-right:2px solid var(--azul);border-bottom:2px solid var(--azul);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s ease;
}
.faq-lista details[open] summary::after{transform:translateY(-25%) rotate(-135deg)}
.faq-lista details p{padding:0 40px 24px 0;font-size:16px;line-height:1.65;color:var(--texto)}
.faq-lista details p + p{padding-top:12px;margin-top:-8px}

/* ---------- 16. CHAMADA FINAL ---------- */
.chamada{background:var(--azul);color:#fff;position:relative;overflow:hidden}
.chamada::after{
  content:"";position:absolute;right:-8%;top:-30%;width:52vw;height:150%;
  background:radial-gradient(closest-side,rgba(255,255,255,.14),transparent 72%);
}
.chamada-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,64px);align-items:center}
.chamada h2{font-size:clamp(34px,4.8vw,62px);margin:18px 0 0}
.chamada p{margin-top:20px;font-size:17px;line-height:1.6;color:rgba(255,255,255,.85);max-width:44ch}
.chamada .rotulo{color:rgba(255,255,255,.85)}
.chamada .rotulo::before{background:rgba(255,255,255,.85)}
.chamada-caixa{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.24);border-radius:var(--raio);padding:28px}
.chamada-caixa .acoes{margin-top:20px;flex-direction:column;align-items:stretch}
.chamada-caixa .btn{width:100%}
.chamada-caixa small{display:block;margin-top:16px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.75)}
.btn--branco{background:#fff;color:var(--azul-esc)}
.btn--branco:hover{background:var(--tinta);color:#fff;transform:translateY(-2px)}

/* ---------- 17. RODAPÉ ---------- */
.rodape{background:var(--tinta);color:#fff;padding-block:clamp(52px,6vw,78px) 26px}
.rodape-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,44px)}
.rodape-marca img{width:150px}
.rodape-marca p{margin-top:18px;font-size:14.5px;line-height:1.6;color:var(--texto-claro);max-width:32ch}
.rodape-col h3{font-family:var(--display);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--azul-claro);margin-bottom:16px}
.rodape-col li + li{margin-top:10px}
.rodape-col a,.rodape-col p{font-size:14.5px;line-height:1.55;color:var(--texto-claro)}
.rodape-col a{transition:color .2s ease}
.rodape-col a:hover{color:#fff}
.rodape-col address{font-style:normal;font-size:14.5px;line-height:1.6;color:var(--texto-claro)}
.rodape-sociais{display:flex;gap:10px;margin-top:18px}
.rodape-sociais a{
  width:40px;height:40px;border:1px solid var(--linha-clara);border-radius:50%;
  display:grid;place-items:center;transition:background .2s ease,border-color .2s ease;
}
.rodape-sociais a:hover{background:#fff;border-color:#fff;color:var(--tinta)}
.rodape-sociais svg{width:17px;height:17px}
.rodape-base{
  margin-top:clamp(40px,5vw,60px);padding-top:22px;border-top:1px solid var(--linha-clara);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-size:13px;color:rgba(255,255,255,.55);
}
.rodape-base a:hover{color:#fff}

/* ---------- 18. BOTÃO FLUTUANTE WHATSAPP ---------- */
.zap-flutuante{
  position:fixed;right:18px;bottom:18px;z-index:70;
  display:inline-flex;align-items:center;gap:10px;
  background:var(--folha);color:#fff;border-radius:100px;
  padding:14px 20px;min-height:56px;
  font-family:var(--display);font-size:14.5px;font-weight:600;
  box-shadow:0 14px 32px -14px rgba(11,34,51,.8);
  transition:transform .22s ease,background .22s ease;
}
.zap-flutuante:hover{background:#4d8b64;transform:translateY(-3px)}
.zap-flutuante svg{width:22px;height:22px;flex:none}

/* ---------- 19. PÁGINAS INTERNAS ---------- */
.capa-interna{position:relative;background:var(--tinta);color:#fff;overflow:hidden}
.capa-interna>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.capa-veu{position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,26,42,.95),rgba(6,26,42,.62))}
.capa-conteudo{position:relative;z-index:2;padding-block:clamp(48px,6vw,88px)}
.capa-conteudo h1{font-size:clamp(34px,5vw,64px);max-width:18ch;margin:20px 0 0}
.capa-conteudo .lead{margin-top:22px;max-width:60ch}
.capa-conteudo .acoes{margin-top:30px}
.trilha{font-size:13px;color:rgba(255,255,255,.62);margin-bottom:20px}
.trilha ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.trilha li::after{content:"/";margin-left:8px;color:rgba(255,255,255,.35)}
.trilha li:last-child::after{content:""}
.trilha a:hover{color:#fff;text-decoration:underline}

.artigo{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(28px,5vw,74px);align-items:start}
.artigo-indice{position:sticky;top:104px}
.artigo-indice h2{font-size:clamp(26px,2.8vw,38px)}
.artigo-indice .lead{margin-top:18px}
.artigo-indice .acoes{margin-top:26px}
.artigo-corpo section + section{margin-top:clamp(38px,4.5vw,58px)}
.artigo-corpo h2{font-size:clamp(23px,2.2vw,30px);letter-spacing:-.03em;line-height:1.22}
.artigo-corpo h3{font-size:clamp(19px,1.7vw,23px);margin-top:26px}
.artigo-corpo p{margin-top:14px;font-size:16.5px;line-height:1.68;color:var(--texto)}
.artigo-corpo p strong{color:var(--tinta);font-weight:600}
.artigo-corpo ul{margin-top:18px;border-top:1px solid var(--linha)}
.artigo-corpo ul li{border-bottom:1px solid var(--linha);padding:13px 0 13px 22px;position:relative;font-size:16px;color:var(--texto)}
.artigo-corpo ul li::before{content:"";position:absolute;left:0;top:22px;width:9px;height:1.5px;background:var(--azul)}
.destaque{
  margin-top:26px;background:var(--concreto);border-left:3px solid var(--azul);
  border-radius:0 var(--raio) var(--raio) 0;padding:22px 24px;
}
.destaque b{display:block;font-family:var(--display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--azul-esc)}
.destaque p{margin-top:10px;color:var(--tinta);font-size:16px}

.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(34px,4vw,50px)}
.galeria figure{margin:0}
.galeria img{border-radius:var(--raio);aspect-ratio:3/4;object-fit:cover;width:100%}
.galeria figcaption{margin-top:11px;font-size:13.5px;line-height:1.5;color:var(--texto)}

.tabela-envolve{margin-top:24px;overflow-x:auto;border:1px solid var(--linha);border-radius:var(--raio)}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:460px}
caption{text-align:left;padding:16px 18px 0;font-size:13px;color:var(--texto)}
th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--linha)}
thead th{font-family:var(--display);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--azul-esc);background:var(--concreto)}
tbody tr:last-child td{border-bottom:0}
td:first-child{font-weight:500;color:var(--tinta)}

/* ---------- 20. ORÇAMENTO ---------- */
.orcamento-corpo{background:var(--concreto)}
.assistente{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  padding:clamp(26px,4vw,46px);box-shadow:var(--sombra);max-width:760px;margin-inline:auto;
}
.assistente-barra{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.assistente-barra span{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--azul-esc)}
.assistente-trilho{flex:1;height:4px;background:var(--concreto-2);border-radius:4px;overflow:hidden}
.assistente-trilho i{display:block;height:100%;background:var(--azul);border-radius:4px;transition:width .4s cubic-bezier(.22,1,.36,1)}
.assistente h1,.assistente h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.035em;line-height:1.15}
.assistente>p.lead{margin-top:14px}
.opcoes{display:grid;gap:10px;margin-top:26px}
.opcoes button{
  display:flex;align-items:center;gap:16px;width:100%;text-align:left;
  background:#fff;border:1px solid var(--linha);border-radius:12px;
  padding:17px 20px;cursor:pointer;font-size:16px;font-weight:500;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.opcoes button:hover{border-color:var(--azul);background:#F5FBFE;transform:translateX(3px)}
.opcoes button b{
  flex:none;width:30px;height:30px;border-radius:50%;background:var(--concreto);
  display:grid;place-items:center;font-family:var(--display);font-size:12px;font-weight:700;color:var(--azul-esc);
}
.opcoes button:hover b{background:var(--azul);color:#fff}
.opcoes button i{margin-left:auto;font-style:normal;color:var(--azul);font-size:18px}
.assistente-voltar{
  margin-top:22px;background:none;border:0;padding:8px 0;cursor:pointer;
  font-size:14px;font-weight:500;color:var(--texto);
}
.assistente-voltar:hover{color:var(--tinta);text-decoration:underline}
.resumo{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;
}
.resumo li{background:var(--concreto);border-radius:100px;padding:7px 14px;font-size:13.5px;color:var(--texto)}
.campos{display:grid;gap:16px;margin-top:24px}
.campos label{display:block;font-size:13.5px;font-weight:600;color:var(--tinta)}
.campos input,.campos textarea{
  width:100%;margin-top:7px;background:#fff;border:1px solid var(--linha);border-radius:10px;
  padding:14px 16px;font-size:16px;transition:border-color .2s ease;
}
.campos input:focus,.campos textarea:focus{border-color:var(--azul);outline:none;box-shadow:0 0 0 3px rgba(0,128,196,.15)}
.campos textarea{min-height:96px;resize:vertical}
.erro-campo{display:block;margin-top:6px;font-size:13px;color:#C0392B;font-weight:500}
.contatos-diretos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(34px,4vw,50px);max-width:760px;margin-inline:auto}
.contatos-diretos a{
  background:#fff;border:1px solid var(--linha);border-radius:12px;padding:18px;
  transition:border-color .2s ease,transform .2s ease;
}
.contatos-diretos a:hover{border-color:var(--azul);transform:translateY(-2px)}
.contatos-diretos b{display:block;font-family:var(--display);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--azul-esc)}
.contatos-diretos span{display:block;margin-top:7px;font-size:15.5px;font-weight:500;color:var(--tinta)}

/* ---------- 21. PÁGINA SIMPLES (obrigado / 404) ---------- */
.pagina-simples{min-height:64vh;display:grid;place-items:center;text-align:center;padding-block:var(--bloco)}
.pagina-simples .selo{
  width:74px;height:74px;border-radius:50%;background:var(--folha);color:#fff;
  display:grid;place-items:center;margin:0 auto 26px;
}
.pagina-simples h1{font-size:clamp(30px,4vw,48px);max-width:18ch;margin-inline:auto}
.pagina-simples .lead{margin-top:20px;max-width:52ch;margin-inline:auto}
.pagina-simples .acoes{margin-top:30px;justify-content:center}

/* ---------- 22. RESPONSIVO ---------- */
@media (max-width:1080px){
  .varal-lista{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .etapas{grid-template-columns:repeat(2,1fr)}
  .etapas li{border-right:0;border-top:1px solid var(--linha);padding-right:18px}
  .etapas li:first-child{border-top:0}
  .estrutura-foto.a{grid-column:span 7}
  .estrutura-foto.b{grid-column:span 5}
  .estrutura-lista{grid-column:span 12;flex-direction:row;flex-wrap:wrap}
  .estrutura-lista li{flex:1 1 200px}
  .rodape-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .menu{
    position:fixed;inset:78px 0 auto;background:#fff;flex-direction:column;align-items:stretch;
    gap:2px;padding:18px var(--gutter) 28px;border-bottom:1px solid var(--linha);
    box-shadow:0 20px 40px -24px rgba(11,34,51,.4);
    transform:translateY(-14px);opacity:0;visibility:hidden;transition:.24s ease;
  }
  .menu.aberto{transform:none;opacity:1;visibility:visible}
  .menu a{padding:14px 12px;font-size:17px;border-bottom:1px solid var(--linha)}
  .abrir-menu{display:grid}
  .marca span{display:none}
  .resposta-grid,.cabeca-secao,.comparador-grid,.faq-grid,.prova-grid,.chamada-inner,.artigo{grid-template-columns:1fr}
  .artigo-indice{position:static}
  .comparador-grid>div:first-child{order:2}
  .cabeca-secao .lead{padding-bottom:0}
  .corp-lista{grid-template-columns:1fr 1fr}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .contatos-diretos{grid-template-columns:1fr}
  .topo-cta .btn span{display:none}
}
@media (max-width:640px){
  body{font-size:16px}
  .varal-dados{grid-template-columns:1fr;border-top:0}
  .varal-dados li{border-top:1px solid var(--linha-clara);padding:20px 0 4px}
  .varal-dados li::before{display:none}
  .varal-lista{grid-template-columns:1fr;row-gap:50px}
  .etapas{grid-template-columns:1fr}
  .estrutura-foto.a,.estrutura-foto.b{grid-column:span 12}
  .corp-lista{grid-template-columns:1fr}
  .galeria{grid-template-columns:1fr}
  .rodape-grid{grid-template-columns:1fr}
  .zap-flutuante{padding:14px 16px}
  .zap-flutuante span{display:none}
  .topo-cta .btn{padding:12px 16px}
}
@media (min-width:1100px){
  .topo-fone{display:inline-flex;align-items:center}
}

/* ---------- 23. REVELAÇÃO NO SCROLL ---------- */
.reveal{opacity:0;transform:translateY(22px)}
.reveal.visivel{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ---------- 24. IMPRESSÃO ---------- */
@media print{
  .topo,.zap-flutuante,.chamada,.abrir-menu{display:none}
  body{color:#000;background:#fff}
  .hero-veu,.capa-veu,.corporativo-veu{background:none}
}

/* ---------- 25. AJUSTES FINAIS ---------- */
.topo-cta .btn .rotulo-curto{display:none}
.topo-cta .btn .rotulo-longo{display:inline}

/* Foco programático no assistente: mantém o foco para leitores de tela
   sem exibir o anel visual, que aqui não indica navegação por teclado */
#pergunta:focus{outline:none}
#pergunta:focus-visible{outline:none}
#titulo-final:focus{outline:none}

/* CTA do topo em telas estreitas */
@media (max-width:640px){
  .topo-cta .btn{font-size:13px;padding:12px 15px;min-height:46px;white-space:nowrap}
  .topo-cta .btn .rotulo-longo{display:none}
  .topo-cta .btn .rotulo-curto{display:inline}
  .topo-inner{gap:10px;min-height:70px}
  .marca img{width:112px}
  .hero h1{font-size:clamp(31px,8.4vw,44px)}
  .capa-conteudo h1{font-size:clamp(28px,7.6vw,40px)}
}

/* Chips clicáveis na 404 */
.chips li a{color:inherit}
.chips li:has(a):hover{border-color:var(--azul);color:var(--azul-esc)}

/* Tabelas: evita que a legenda encoste na borda */
caption{padding-bottom:6px}

/* CTA do topo: alterna entre rotulo longo e curto */
.topo-cta .btn{gap:0}

/* ---------- 26. AVALIAÇÃO DO GOOGLE ---------- */
.estrelas{display:flex;flex-direction:column;gap:6px;margin-top:18px}
.estrelas span{
  font-size:24px;letter-spacing:.14em;color:#F2A93B;line-height:1;
}
.estrelas b{
  font-family:var(--display);font-size:13px;font-weight:600;
  text-transform:uppercase;letter-spacing:.12em;color:var(--tinta);
}
.prova-numero .estrelas + p{margin-top:16px}

/* ============================================================
   27. REFINO PREMIUM — 2026
   Centralização, hierarquia, microinterações e processo editorial
   ============================================================ */

/* Eyebrows removidos do projeto: compensa os espaços que dependiam deles */
.cabeca-secao h2,
.faq-grid h2,
.corporativo h2,
.chamada h2{margin-top:0}

/* Cabeçalho mais leve e harmônico */
.topo{transition:box-shadow .35s ease,background .35s ease,border-color .35s ease}
.topo-inner{min-height:72px;transition:min-height .35s cubic-bezier(.22,1,.36,1)}
.marca{padding:8px 0}
.marca img{width:92px;transition:width .35s cubic-bezier(.22,1,.36,1),transform .35s ease}
.topo.rolado{background:rgba(255,255,255,.88);box-shadow:0 14px 42px -30px rgba(11,34,51,.55);border-color:rgba(11,34,51,.08)}
.topo.rolado .topo-inner{min-height:66px}
.topo.rolado .marca img{width:84px}
.menu a{position:relative;background:transparent!important}
.menu a::after{content:"";position:absolute;left:14px;right:14px;bottom:5px;height:1.5px;background:var(--azul);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}

/* Primeira dobra centralizada e com leitura mais cinematográfica */
.hero{min-height:min(820px,calc(100svh - 72px));display:flex;align-items:center}
.hero-foto img{transform:scale(1.045);will-change:transform}
.hero-veu{
  background:
    radial-gradient(circle at 50% 46%,rgba(5,25,40,.50) 0%,rgba(5,25,40,.76) 58%,rgba(5,25,40,.90) 100%),
    linear-gradient(180deg,rgba(6,26,42,.14),rgba(6,26,42,.42));
}
.hero-conteudo{
  width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;
  padding-block:clamp(82px,11vw,138px) clamp(58px,7vw,84px);
}
.hero h1{max-width:24ch;margin:0 auto;text-wrap:balance}
.hero-texto{max-width:60ch;margin:26px auto 0;text-wrap:pretty}
.hero .acoes{justify-content:center}
.hero .varal-dados{width:min(960px,100%);margin-inline:auto}
.hero .varal-dados li{padding:26px 16px 6px;text-align:center}
.hero .varal-dados span{margin-inline:auto}
.hero .varal-dados li::before{left:50%}

/* Seções com ritmo editorial depois da retirada dos rótulos */
.cabeca-secao{align-items:center}
.cabeca-secao h2{text-wrap:balance}

/* Como funciona — cartões premium, mais ar e hierarquia */
.processo{background:linear-gradient(180deg,#fff 0%,#F6F9FA 100%)}
.processo .cabeca-secao{margin-bottom:clamp(34px,4vw,52px)}
.etapas{
  counter-reset:etapa;
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;border-top:0;
}
.etapas li{
  counter-increment:etapa;
  min-height:270px;padding:72px 24px 26px;border:1px solid var(--linha)!important;
  border-radius:20px;background:rgba(255,255,255,.92);position:relative;overflow:hidden;
  box-shadow:0 12px 38px -34px rgba(11,34,51,.5);
  transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .35s ease,background .35s ease;
}
.etapas li::before{
  content:"0" counter(etapa);position:absolute;top:18px;left:22px;width:auto;height:auto;background:none;
  font-family:var(--display);font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--azul-esc);
}
.etapas li::after{
  content:"";position:absolute;right:-52px;top:-58px;width:128px;height:128px;border-radius:50%;
  border:1px solid rgba(0,128,196,.12);box-shadow:0 0 0 18px rgba(0,128,196,.025),0 0 0 38px rgba(0,128,196,.018);
  transition:transform .55s cubic-bezier(.22,1,.36,1),border-color .35s ease;
}
.etapas li:hover{transform:translateY(-8px);border-color:rgba(0,128,196,.32)!important;box-shadow:0 28px 60px -34px rgba(11,34,51,.38);background:#fff}
.etapas li:hover::after{transform:scale(1.12);border-color:rgba(0,128,196,.28)}
.etapas h3{margin-top:0;font-size:clamp(18px,1.55vw,22px);line-height:1.12;text-wrap:balance}
.etapas p{margin-top:14px;font-size:14.5px;line-height:1.62;padding-right:0;text-wrap:pretty}

/* Cards de serviço com profundidade discreta */
.varal-figura{box-shadow:0 18px 42px -34px rgba(11,34,51,.55)}
.varal-item{transition:transform .55s cubic-bezier(.22,1,.36,1)}
.varal-item:hover,.varal-item:focus-within{transform:translateY(-8px) rotate(-.35deg)}
.varal-figura img{transition:transform 1s cubic-bezier(.22,1,.36,1),filter .7s ease}
.varal-item:hover .varal-figura img{transform:scale(1.065);filter:saturate(1.04) contrast(1.02)}

/* Chamada final completamente centralizada */
.chamada{text-align:center}
.chamada::after{right:50%;transform:translateX(50%);top:-34%;width:74vw}
.chamada-inner{grid-template-columns:1fr;max-width:900px;margin-inline:auto;gap:34px;justify-items:center}
.chamada h2{max-width:14ch;margin-inline:auto;text-wrap:balance}
.chamada p{margin:20px auto 0;max-width:58ch;text-wrap:pretty}
.chamada-caixa{width:min(720px,100%);margin-inline:auto;padding:24px;background:rgba(255,255,255,.095);backdrop-filter:blur(10px)}
.chamada-caixa .acoes{margin-top:0;flex-direction:row;justify-content:center;align-items:center}
.chamada-caixa .btn{width:auto;min-width:250px}
.chamada-caixa small{max-width:54ch;margin:16px auto 0}

/* Revelações mais refinadas */
.reveal{opacity:0;transform:translateY(34px) scale(.988);filter:blur(5px);will-change:transform,opacity,filter}
.reveal.visivel{opacity:1;transform:none;filter:none;transition:opacity .85s ease,transform .95s cubic-bezier(.22,1,.36,1),filter .85s ease}
.etapas.reveal.visivel li{animation:etapaEntrada .75s cubic-bezier(.22,1,.36,1) both}
.etapas.reveal.visivel li:nth-child(2){animation-delay:.07s}
.etapas.reveal.visivel li:nth-child(3){animation-delay:.14s}
.etapas.reveal.visivel li:nth-child(4){animation-delay:.21s}
.etapas.reveal.visivel li:nth-child(5){animation-delay:.28s}
@keyframes etapaEntrada{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Entrada da primeira dobra */
.js-ready .hero h1,.js-ready .hero-texto,.js-ready .hero .acoes,.js-ready .hero .varal-dados li{opacity:0;transform:translateY(26px)}
.js-ready.hero-ready .hero h1{animation:heroEntrada .95s .08s cubic-bezier(.22,1,.36,1) forwards}
.js-ready.hero-ready .hero-texto{animation:heroEntrada .9s .20s cubic-bezier(.22,1,.36,1) forwards}
.js-ready.hero-ready .hero .acoes{animation:heroEntrada .9s .32s cubic-bezier(.22,1,.36,1) forwards}
.js-ready.hero-ready .hero .varal-dados li{animation:heroEntrada .8s .44s cubic-bezier(.22,1,.36,1) forwards}
.js-ready.hero-ready .hero .varal-dados li:nth-child(2){animation-delay:.52s}
.js-ready.hero-ready .hero .varal-dados li:nth-child(3){animation-delay:.60s}
@keyframes heroEntrada{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

@media (max-width:1080px){
  .etapas{grid-template-columns:repeat(2,1fr)}
  .etapas li{min-height:225px}
}
@media (max-width:900px){
  .hero{min-height:auto}
  .menu a::after{display:none}
  .chamada-caixa .acoes{flex-direction:column}
  .chamada-caixa .btn{width:100%;min-width:0}
}
@media (max-width:640px){
  .marca img{width:78px}
  .topo.rolado .marca img{width:74px}
  .topo-inner{min-height:66px}
  .hero-conteudo{padding-block:72px 48px}
  .hero .varal-dados li{padding-inline:0}
  .etapas{grid-template-columns:1fr;gap:12px}
  .etapas li{min-height:0;padding:66px 22px 24px}
  .chamada-caixa{padding:18px}
}

@media (prefers-reduced-motion:reduce){
  .hero-foto img{transform:none!important}
  .js-ready .hero h1,.js-ready .hero-texto,.js-ready .hero .acoes,.js-ready .hero .varal-dados li{opacity:1;transform:none;animation:none!important}
  .etapas.reveal.visivel li{animation:none}
  .reveal{filter:none}
}


/* ============================================================
   28. MARCADORES CIRCULARES — refino visual
   Substitui traços decorativos por pontos sutis, sem perder hierarquia.
   ============================================================ */

/* Rótulos antigos, caso algum seja reutilizado em páginas internas */
.rotulo::before{
  width:6px;height:6px;border-radius:50%;background:var(--azul);
}
.rotulo.claro::before{background:var(--azul-claro)}

/* Navegação: troca o sublinhado por um ponto discreto */
.menu a::after{
  left:50%;right:auto;bottom:4px;width:5px;height:5px;border-radius:50%;
  transform:translateX(-50%) scale(0);transform-origin:center;
}
.menu a:hover::after,.menu a[aria-current="page"]::after{
  transform:translateX(-50%) scale(1);
}

/* Dados do hero: retira o pequeno traço vertical e usa ponto */
.varal-dados li::before{
  width:5px;height:5px;border-radius:50%;top:0;left:0;background:var(--azul-claro);
}
.hero .varal-dados li::before{left:50%;transform:translateX(-50%)}

/* Seção editorial de serviços: linha principal vira sequência leve de pontos */
.varal::before{
  height:4px;
  background:radial-gradient(circle,rgba(0,128,196,.48) 1.5px,transparent 1.7px) left center/16px 4px repeat-x;
}
.varal-item::before{
  top:-37px;left:50%;width:7px;height:7px;border-radius:50%;
  background:var(--azul);transform:translateX(-50%);
}
.varal-item:hover::before,.varal-item:focus-within::before{background:var(--azul-esc)}

/* Listas técnicas: remove divisórias em traço e usa marcador circular */
.estrutura-lista li{
  position:relative;border-top:0;padding-top:0;padding-left:18px;
}
.estrutura-lista li::before{
  content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;
  background:var(--azul);
}
.corp-lista li{
  position:relative;border-top:0;padding-top:0;padding-left:16px;
}
.corp-lista li::before{
  content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;
  background:var(--azul-claro);
}

/* Listas de conteúdo: marcador pontual no lugar do traço curto */
.artigo-corpo ul li::before{
  top:24px;width:6px;height:6px;border-radius:50%;background:var(--azul);
}

/* Processo: reforço circular sutil, sem barras decorativas */
.etapas li::before{
  display:flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(0,128,196,.08);
  border:1px solid rgba(0,128,196,.15);
  letter-spacing:.03em;
}

@media (max-width:640px){
  .varal::before{background-size:14px 4px}
}

@media (max-width: 720px){
  .hero h1 br{display:none}
  .hero h1{max-width:18ch}
}


/* ============================================================
   29. AJUSTES COMERCIAIS E DE RESPONSIVIDADE — revisão do cliente
   Prova social, números, benefícios, conceito de marca, casos
   antes e depois, CTAs diretos e correção do layout no celular.
   ============================================================ */

/* ---- 29.1 Correção do layout em telas pequenas ---------------
   A coluna do artigo herdava a largura mínima da tabela interna
   (min-width 460px) e empurrava a página inteira para fora da
   viewport no celular, cortando imagens e texto na lateral. */
.artigo{grid-template-columns:minmax(0,.42fr) minmax(0,1fr)}
.artigo>*{min-width:0}
.artigo-corpo,.artigo-indice{min-width:0;max-width:100%}
.tabela-envolve{max-width:100%;-webkit-overflow-scrolling:touch}
.galeria,.chips,.acoes{max-width:100%}
.artigo-corpo img,.galeria img{max-width:100%;height:auto}

@media (max-width:900px){
  .artigo{grid-template-columns:minmax(0,1fr)}
  .resposta-grid,.cabeca-secao,.comparador-grid,.faq-grid,.prova-grid,.chamada-inner{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  table{min-width:0;font-size:14.5px}
  th,td{padding:12px 12px}
  caption{padding:14px 12px 0}
  .destaque{padding:18px}
  .capa-conteudo .acoes .btn,.hero .acoes .btn{width:100%}
  .trilha{font-size:12px}
}
@media (max-width:400px){
  th,td{padding:10px 9px;font-size:13.5px}
}

/* Menu mobile alinhado à altura real do cabeçalho */
@media (max-width:900px){
  .menu{inset:var(--topo-h,72px) 0 auto;max-height:calc(100svh - var(--topo-h,72px));overflow-y:auto}
}

/* CTA do topo: rótulo curto continua visível entre 641px e 900px */
@media (max-width:900px){
  .topo-cta .btn span{display:none}
  .topo-cta .btn .rotulo-curto{display:inline}
  .topo-cta .btn .rotulo-longo{display:none}
}
.topo-cta .btn{gap:8px}
.topo-zap svg{width:19px;height:19px}
@media (max-width:380px){
  .topo-zap .rotulo-curto{display:none}
  .topo-cta .btn{padding:12px 14px}
}

/* Botão flutuante: sempre visível, inclusive com barra do navegador */
.zap-flutuante{
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  right:calc(16px + env(safe-area-inset-right,0px));
}
@media (max-width:640px){
  .zap-flutuante{padding:13px 18px;min-height:52px}
  .zap-flutuante span{display:inline}
  .zap-flutuante .rotulo-longo{display:none}
}
.zap-flutuante .rotulo-curto{display:none}
@media (max-width:640px){.zap-flutuante .rotulo-curto{display:inline;font-size:14px}}

/* ---- 29.2 Faixa de prova social ------------------------------
   Reputação no Google e números da operação. No celular cada
   número vira um cartão próprio: empilhados como texto corrido
   eles formavam um bloco único de negrito e regular alternados,
   sem começo nem fim visível. */
.prova-faixa{
  background:var(--papel);
  border-bottom:1px solid var(--linha);
  padding-block:clamp(34px,4.5vw,52px);
}
.prova-faixa-grid{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.9fr);
  gap:clamp(28px,4vw,60px);align-items:center;
}

/* Selo de reputação */
.prova-selo{
  display:flex;flex-direction:column;align-items:flex-start;gap:0;
  border-left:3px solid var(--azul);padding:2px 0 2px 20px;
}
.prova-selo .estrelas-linha{
  font-size:19px;letter-spacing:.2em;color:#F2A93B;line-height:1;margin-bottom:13px;
}
.prova-selo strong{
  font-family:var(--display);font-size:clamp(30px,3.4vw,40px);
  font-weight:700;letter-spacing:-.045em;line-height:1;color:var(--tinta);
}
.prova-selo em{
  font-style:normal;font-size:14px;line-height:1.5;color:var(--texto);
  margin-top:9px;max-width:26ch;
}
.prova-link{
  display:inline-flex;align-items:center;gap:7px;margin-top:17px;
  font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.01em;
  color:var(--azul-esc);transition:color .2s ease;
}
.prova-link span{transition:transform .25s ease}
.prova-link:hover{color:var(--tinta)}
.prova-link:hover span{transform:translateX(3px)}

/* Números da operação: cada um é uma coluna com filete e ponto */
.numeros{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:clamp(20px,2.2vw,30px);
}
.numeros li{position:relative;padding-top:17px;border-top:1px solid var(--linha)}
.numeros li::before{
  content:"";position:absolute;top:-2px;left:0;
  width:5px;height:5px;border-radius:50%;background:var(--azul);
}
.numeros strong{
  display:block;font-family:var(--display);font-size:clamp(17px,1.7vw,21px);
  font-weight:700;letter-spacing:-.03em;line-height:1.14;color:var(--tinta);
}
.numeros span{display:block;margin-top:9px;font-size:13.5px;line-height:1.5;color:var(--texto)}

@media (max-width:900px){
  .prova-faixa-grid{grid-template-columns:1fr;gap:var(--e-5)}
  .numeros{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e-4)}
}

/* No celular a faixa vira uma pilha de cartões: é o que devolve
   ordem e hierarquia ao trecho que o cliente apontou. */
@media (max-width:560px){
  .prova-faixa,.prova-faixa.compacta{background:var(--concreto)}
  .prova-selo{
    padding:20px 20px 22px;background:var(--papel);
    border:1px solid var(--linha);border-left:3px solid var(--azul);
    border-radius:var(--raio);
    box-shadow:0 14px 40px -34px rgba(11,34,51,.5);
  }
  .prova-selo em{max-width:none}
  .numeros{grid-template-columns:1fr;gap:10px}
  .numeros li{
    padding:17px 18px 19px 36px;border-top:0;
    background:var(--papel);border:1px solid var(--linha);border-radius:12px;
  }
  .numeros li::before{top:24px;left:18px;width:6px;height:6px}
  .numeros strong{font-size:17px}
  .numeros span{margin-top:7px}
}

/* Versão compacta usada nas páginas internas */
.prova-faixa.compacta{background:var(--concreto)}
.prova-faixa.compacta .prova-faixa-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr)}
@media (max-width:900px){.prova-faixa.compacta .prova-faixa-grid{grid-template-columns:1fr}}

/* ---- 29.3 Conceito de marca ----------------------------------
   Duas linhas de display centralizadas. O filete vertical acima
   abre a seção sem precisar de rótulo. */
.conceito{
  background:var(--papel);
  padding-block:clamp(62px,8vw,110px);
  border-bottom:1px solid var(--linha);
}
.conceito-inner{max-width:900px;margin-inline:auto;text-align:center}
.conceito-inner::before{
  content:"";display:block;width:1px;height:clamp(28px,4vw,44px);
  margin:0 auto clamp(24px,3vw,34px);
  background:linear-gradient(180deg,transparent,var(--azul));
}
.conceito h2{
  font-family:var(--display);font-size:clamp(27px,4.2vw,52px);
  line-height:1.08;letter-spacing:-.04em;
  text-transform:uppercase;text-wrap:balance;
}
.conceito h2 span,
.conceito h2 b{display:block}
.conceito h2 b{color:var(--azul);font-weight:700;margin-top:.1em}
.conceito p{
  margin:clamp(26px,3vw,34px) auto 0;max-width:56ch;
  font-size:clamp(16px,1.25vw,18px);line-height:1.7;color:var(--texto);text-wrap:pretty;
}
.conceito p.conceito-risco{
  display:inline-flex;align-items:center;gap:11px;
  margin-top:clamp(28px,3.5vw,38px);max-width:none;
  background:var(--concreto);border:1px solid var(--linha);border-radius:100px;
  padding:11px 22px;font-size:14px;font-weight:500;color:var(--tinta);text-align:left;
}
.conceito-risco::before{
  content:"";flex:none;width:7px;height:7px;border-radius:50%;
  background:var(--folha);box-shadow:0 0 0 4px rgba(90,155,114,.15);
}

/* Centralizar frase longa em tela estreita atrapalha a leitura */
@media (max-width:640px){
  .conceito{padding-block:clamp(48px,11vw,66px)}
  .conceito-inner{text-align:left}
  .conceito-inner::before{margin-inline:0}
  .conceito h2{font-size:clamp(26px,7.4vw,34px)}
  .conceito p{margin-inline:0}
  .conceito p.conceito-risco{align-items:flex-start;line-height:1.45;padding:13px 20px}
  .conceito-risco::before{margin-top:.4em}
}

/* ---- 29.4 Benefícios (equipamento vira vantagem) ------------- */
.beneficios{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,26px);margin-top:clamp(34px,4vw,52px);
}
.beneficios li{border-top:1px solid var(--linha);padding-top:16px}
.beneficios strong{display:block;font-family:var(--display);font-size:clamp(17px,1.6vw,20px);letter-spacing:-.03em;color:var(--tinta)}
.beneficios span{display:block;margin-top:8px;font-size:14.5px;line-height:1.55;color:var(--texto)}
.beneficios.claro li{border-top-color:var(--linha-clara)}
.beneficios.claro strong{color:#fff}
.beneficios.claro span{color:var(--texto-claro)}
.beneficios-titulo{
  margin-top:clamp(38px,4.5vw,56px);font-family:var(--display);
  font-size:clamp(20px,2vw,26px);letter-spacing:-.035em;
}
.beneficios-titulo.claro{color:#fff}
@media (max-width:900px){.beneficios{grid-template-columns:1fr}}

/* ---- 29.5 Casos antes e depois -------------------------------- */
.casos{background:var(--papel)}
.caso{margin-top:clamp(30px,4vw,46px)}
.caso-titulo{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;
  border-top:1px solid var(--linha);padding-top:16px;margin-bottom:18px;
}
.caso-titulo h3{font-size:clamp(19px,1.8vw,24px);letter-spacing:-.03em}
.caso-titulo em{font-style:normal;font-size:14px;color:var(--texto)}
.caso-etapas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.caso-etapas figure{margin:0}
.caso-etapas .moldura{position:relative;border-radius:var(--raio);overflow:hidden;background:var(--concreto);aspect-ratio:3/4}
.caso-etapas img{width:100%;height:100%;object-fit:cover}
.caso-etapas b{
  position:absolute;top:12px;left:12px;z-index:2;background:rgba(255,255,255,.94);color:var(--tinta);
  font-family:var(--display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;
  padding:6px 11px;border-radius:100px;
}
.caso-etapas figcaption{margin-top:11px;font-size:13.5px;line-height:1.5;color:var(--texto)}
@media (max-width:640px){
  .caso-etapas{grid-template-columns:1fr;gap:16px}
  .caso-etapas .moldura{aspect-ratio:4/3}
}

/* ---- 29.6 Depoimentos ---------------------------------------- */
.depoimentos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(30px,4vw,44px)}
.depoimentos li{
  background:#fff;border:1px solid var(--linha);border-radius:var(--raio);
  padding:24px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 14px 40px -34px rgba(11,34,51,.5);
}
.depoimentos .estrelas-linha{font-size:15px;letter-spacing:.14em;color:#F2A93B;line-height:1}
.depoimentos p{font-size:15.5px;line-height:1.6;color:var(--tinta)}
.depoimentos footer{display:flex;align-items:center;gap:12px;margin-top:auto}
.depoimentos .inicial{
  flex:none;width:38px;height:38px;border-radius:50%;background:var(--concreto);
  display:grid;place-items:center;font-family:var(--display);font-weight:700;color:var(--azul-esc);
}
.depoimentos cite{font-style:normal;font-size:13.5px;font-weight:600;color:var(--tinta);display:block}
.depoimentos small{display:block;font-size:12.5px;color:var(--texto)}
@media (max-width:900px){.depoimentos{grid-template-columns:1fr}}

/* ---- 29.7 Conceito na primeira dobra -------------------------- */
.hero-conceito{
  font-family:var(--display);font-size:clamp(13px,1.45vw,17px);font-weight:600;
  letter-spacing:-.01em;line-height:1.4;color:var(--azul-claro);
  max-width:34ch;margin:0 auto 18px;text-wrap:balance;
}
@media (max-width:640px){.hero-conceito{font-size:13.5px;margin-bottom:14px}}

/* Benefícios dentro das páginas de serviço */
.artigo-corpo .beneficios{border-top:0}
.artigo-corpo .beneficios li{border-bottom:0;padding-left:0;font-size:inherit;color:inherit}
.artigo-corpo .beneficios li::before{display:none}

/* Nota de origem dos depoimentos */
.depoimentos-nota{
  margin-top:20px;font-size:13.5px;line-height:1.55;color:var(--texto);
}
.depoimentos-nota a{color:var(--azul-esc);font-weight:600}
.depoimentos-nota a:hover{text-decoration:underline}

/* ---- 29.8 Citação de cliente dentro do texto ------------------ */
.citacao{
  margin:26px 0 0;padding:22px 24px;background:var(--concreto);
  border-left:3px solid var(--folha);border-radius:0 var(--raio) var(--raio) 0;
}
.citacao blockquote{margin:0;border-top:0;padding-top:0}
.citacao blockquote p{
  font-family:var(--display);font-size:clamp(17px,1.7vw,20px);font-weight:500;
  letter-spacing:-.02em;line-height:1.38;color:var(--tinta);margin:0;
}
.citacao figcaption{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;
  font-size:13px;color:var(--texto);
}
.citacao figcaption cite{font-style:normal;font-weight:600;color:var(--tinta)}
.citacao .estrelas-linha{font-size:13px;letter-spacing:.12em;color:#F2A93B;line-height:1}
.artigo-corpo .citacao p{font-size:clamp(17px,1.7vw,20px);color:var(--tinta);margin-top:0}

/* ---- 29.9 Seção de depoimentos nas páginas internas ------------ */
.depoimentos-secao{background:var(--papel)}
.depoimentos-secao .cabeca-secao{margin-bottom:clamp(28px,3.5vw,40px)}
.temas-avaliacoes{margin-bottom:26px}
.temas-avaliacoes li{background:var(--concreto);border-color:transparent;font-weight:500}

/* ---- 29.10 Mídia responsiva: imagens e vídeos ------------------ */
img,video,iframe{max-width:100%}
video{width:100%;height:auto;display:block;border-radius:var(--raio)}
.video-envolve{
  position:relative;width:100%;aspect-ratio:16/9;margin-top:26px;
  border-radius:var(--raio);overflow:hidden;background:var(--tinta);
}
.video-envolve iframe,.video-envolve video{
  position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;
}
.video-envolve.vertical{aspect-ratio:9/16;max-width:420px}


/* ============================================================
   30. REVISÃO DE ESPAÇAMENTO E RITMO VERTICAL
   Escala única de espaços em lugar dos valores soltos que vinham
   sendo somados a cada ajuste. Corrige os pontos em que o texto
   ficava colado, o título se soltava da própria lista e os blocos
   empilhados no celular perdiam separação.
   ============================================================ */

:root{
  --e-1:8px;                       /* rótulo colado ao valor, por intenção */
  --e-2:14px;                      /* parágrafo seguinte */
  --e-3:20px;                      /* título e o texto que pertence a ele */
  --e-4:28px;                      /* fim de um grupo, início de outro */
  --e-5:clamp(34px,4vw,44px);      /* blocos dentro da mesma seção */
  --e-6:clamp(44px,5.5vw,68px);    /* grupos maiores dentro da seção */
}

/* ---- 30.1 Utilitários no lugar dos estilos inline -------------
   O espaçamento estava escrito direto no HTML, página por página.
   Agora vive aqui e vale igual em todas. */
.acoes--afastada{margin-top:var(--e-4)}
.chips--centro{justify-content:center;margin-top:var(--e-5)}
.lead--nota{margin-top:var(--e-4);font-size:15.5px}
.rodape-nota{margin-top:12px;font-size:14px;color:var(--azul-claro)}
.link-texto{color:var(--azul-esc);font-weight:500;text-decoration:underline;text-underline-offset:2px}
.link-texto:hover{color:var(--tinta)}

/* ---- 30.2 Capa das páginas internas --------------------------
   Trilha e título somavam dois espaços de 20px e o H1 descolava. */
.trilha{margin-bottom:var(--e-3)}
.capa-conteudo h1{margin-top:0}
.capa-conteudo .lead{margin-top:var(--e-3)}
.capa-conteudo .acoes{margin-top:var(--e-5)}

/* ---- 30.3 Corpo de artigo: hierarquia de leitura --------------
   Antes: H2 e parágrafo a 14px, mesma distância entre parágrafos.
   Título, subtítulo e texto ficavam no mesmo nível visual. */
.artigo-corpo section + section{margin-top:var(--e-6)}
.artigo-corpo h2{margin-bottom:0}
.artigo-corpo h2 + p,
.artigo-corpo h2 + ul,
.artigo-corpo h2 + .destaque,
.artigo-corpo h2 + .galeria,
.artigo-corpo h2 + .citacao,
.artigo-corpo h2 + .tabela-envolve{margin-top:var(--e-3)}

.artigo-corpo h3{margin-top:var(--e-5);margin-bottom:0}
.artigo-corpo h3 + p,
.artigo-corpo h3 + ul{margin-top:var(--e-2)}

.artigo-corpo p + p{margin-top:var(--e-2)}
.artigo-corpo p + ul,
.artigo-corpo ul + p,
.artigo-corpo p + .destaque,
.artigo-corpo p + .citacao,
.artigo-corpo p + .galeria,
.artigo-corpo p + .tabela-envolve,
.artigo-corpo ul + .destaque,
.artigo-corpo ul + .galeria,
.artigo-corpo .destaque + p,
.artigo-corpo .citacao + .destaque,
.artigo-corpo .tabela-envolve + p{margin-top:var(--e-4)}

.artigo-indice .lead{margin-top:var(--e-3)}
.artigo-indice .acoes{margin-top:var(--e-4)}

/* ---- 30.4 "O que isso muda para você" ------------------------
   O título ganhava até 56px em cima e mais 52px até a própria
   lista, então parecia pertencer ao bloco anterior. */
.beneficios-titulo,
.artigo-corpo h3.beneficios-titulo{margin-top:var(--e-6)}
.beneficios-titulo + .beneficios{margin-top:var(--e-3)}

/* ---- 30.5 FAQ ------------------------------------------------
   A resposta com dois parágrafos usava margem negativa e os dois
   ficavam a 4px um do outro. */
.faq-lista summary{padding:24px 44px 24px 0}
.faq-lista details[open] summary{padding-bottom:12px}
.faq-lista details p{padding:0 40px 26px 0}
.faq-lista details p + p{padding-top:0;margin-top:var(--e-2)}

/* ---- 30.6 Rodapé ---------------------------------------------
   O endereço encostava na última linha da lista de contato. */
.rodape-col address{margin-top:var(--e-3)}
.rodape-col ul + address{margin-top:var(--e-3)}

/* 30.7 — o selo de reputação foi reescrito na seção 29.2. */

/* ---- 30.8 Bloco de prova da home -----------------------------
   O H2 tinha margem escrita no HTML; agora vem da folha. */
.prova-grid h2 + .lead{margin-top:var(--e-3)}
.prova-numero .estrelas{margin-top:var(--e-3)}
.prova-numero .estrelas + p{margin-top:var(--e-3)}
.temas-avaliacoes{margin-top:var(--e-6);margin-bottom:var(--e-4)}
.depoimentos-nota{margin-top:var(--e-4)}

/* ---- 30.9 Seção da estrutura ---------------------------------
   A lista usava space-between dentro de uma coluna tão alta
   quanto as fotos, o que abria vãos enormes e irregulares
   entre os quatro itens. */
.estrutura-lista{justify-content:flex-start;gap:clamp(18px,2vw,26px)}

/* ---- 30.10 Casos antes e depois ------------------------------ */
.caso + .caso{margin-top:var(--e-6)}

/* 30.11 — o conceito de marca foi reescrito na seção 29.3. */

/* ---- 30.12 Página de orçamento -------------------------------
   A trilha herdava as cores da capa escura: as barras "/" e o
   hover ficavam brancos sobre fundo claro, ou seja, invisíveis. */
.orcamento-abertura{max-width:760px;margin-inline:auto;margin-bottom:var(--e-6)}
.orcamento-abertura h1{margin-top:var(--e-3)}
.orcamento-abertura .lead{margin-top:var(--e-3)}
.trilha--clara{color:var(--texto)}
.trilha--clara li::after{color:var(--linha)}
.trilha--clara a:hover{color:var(--tinta)}
.assistente-barra{margin-bottom:var(--e-4)}
.assistente h1,.assistente h2{margin-top:0}
.assistente > p.lead{margin-top:var(--e-3)}
.assistente .opcoes{margin-top:var(--e-4)}
.assistente .resumo{margin-top:var(--e-3)}
.assistente .campos{margin-top:var(--e-4)}
.assistente noscript .lead{display:block;margin-top:var(--e-3)}

/* ---- 30.13 Páginas simples (obrigado / 404) ------------------ */
.pagina-simples .lead--nota{margin-top:var(--e-5)}
.pagina-simples .chips--centro{margin-top:var(--e-5)}

/* ---- 30.14 Empilhamento no tablet e no celular ---------------
   Quando as grades viram uma coluna só, o gap horizontal passa a
   ser vertical: 45px entre um título e o seu próprio subtítulo,
   e apenas 24px entre colunas inteiras do rodapé. Invertido. */
@media (max-width:900px){
  .cabeca-secao{gap:var(--e-3);margin-bottom:var(--e-5)}
  .resposta-grid{gap:var(--e-4)}
  .faq-grid,.prova-grid{gap:var(--e-5)}
  .artigo{gap:var(--e-6)}
  .estrutura-grid{gap:var(--e-3)}
  .beneficios{row-gap:var(--e-4)}
  .corp-lista{row-gap:var(--e-3)}
  .estrutura-lista{gap:var(--e-3)}
  .rodape-grid{row-gap:var(--e-5)}
}
@media (max-width:640px){
  .rodape-grid{row-gap:var(--e-5)}
  .rodape-col h3{margin-bottom:var(--e-2)}
  .galeria{gap:16px}
  .caso + .caso{margin-top:var(--e-5)}
  .artigo-corpo h2{line-height:1.18}
  .artigo-corpo h3{margin-top:var(--e-4)}
}
