/* ==========================================================================
   EVM CONSTRUÇÕES — Engenharia elétrica especializada
   Folha de estilo principal
   Paleta: Azul Petróleo #103A5C · Azul Elétrico #0077C8 · Verde Energia #39B54A
           Cinza Escuro #2F343A · Cinza Claro #F4F6F8 · Branco #FFFFFF
   --------------------------------------------------------------------------
   1. Tokens
   2. Reset / base
   3. Tipografia
   4. Layout / utilitários
   5. Curvas e formas orgânicas
   6. Botões
   7. Header + navegação (submenu desktop/mobile)
   8. Hero / banner
   9. Cards (serviços, segmentos, diferenciais, fluxo, normas, blog)
  10. Depoimentos
  11. CTA / faixas
  12. Footer
  13. Animações e movimento
  14. Responsivo
   ========================================================================== */

/* ============================ 1. TOKENS ================================== */
:root{
  /* Paleta institucional */
  --petroleo:#103A5C;
  --eletrico:#0077C8;
  --verde:#39B54A;
  --cinza-escuro:#2F343A;
  --cinza-claro:#F4F6F8;
  --branco:#FFFFFF;

  /* Derivadas */
  --petroleo-900:#0A2740;
  --petroleo-800:#0D3150;
  --petroleo-700:#103A5C;
  --petroleo-600:#164B75;
  --eletrico-600:#0069B0;
  --eletrico-100:#E6F2FB;
  --verde-lime:#7ED957;   /* lime do banner, para fundos escuros */
  --verde-600:#2E9C3E;
  --verde-100:#E8F7EA;
  --borda:#E2E8EE;
  --texto:#2F343A;
  --texto-suave:#5A636D;
  --texto-claro:rgba(255,255,255,.82);

  /* Tipografia */
  --font-titulo:'Sora','Segoe UI',system-ui,-apple-system,sans-serif;
  --font-texto:'Manrope','Segoe UI',system-ui,-apple-system,sans-serif;

  /* Raio — padrão do projeto: 20px */
  --r:20px;
  --r-sm:14px;
  --r-lg:28px;
  --r-pill:999px;

  /* Sombras */
  --sh-1:0 2px 10px rgba(16,58,92,.06);
  --sh-2:0 10px 30px rgba(16,58,92,.10);
  --sh-3:0 20px 50px rgba(16,58,92,.16);
  --sh-verde:0 14px 34px rgba(57,181,74,.28);

  /* Espaçamento */
  --secao:clamp(56px,7vw,104px);
  --container:1200px;
  --container-header:1400px;
  --header-h:88px;

  /* Transições */
  --ease:cubic-bezier(.2,.7,.3,1);
  --t:.42s var(--ease);

  /* Gradientes de overlay pedidos no briefing */
  --ov-servicos:linear-gradient(to right,rgba(16,58,92,.80) 0%,rgba(16,58,92,.80) 100%);
  --ov-segmentos:linear-gradient(135deg,rgba(16,58,92,.88) 0%,rgba(16,58,92,.78) 55%,rgba(16,58,92,.45) 100%);
}

/* ========================= 2. RESET / BASE =============================== */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
  overflow-x:hidden;
}
body{
  font-family:var(--font-texto);
  font-size:17px;
  line-height:1.7;
  color:var(--texto);
  background:var(--branco);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,picture,svg,video{display:block;max-width:100%;height:auto}
a{color:var(--eletrico);text-decoration:none;transition:color .25s var(--ease)}
a:hover{color:var(--petroleo)}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--verde);outline-offset:3px;border-radius:6px}
::selection{background:var(--verde);color:#fff}

/* Reserva de espaço (CLS/Core Web Vitals) */
img[width][height]{height:auto}

/* ========================== 3. TIPOGRAFIA ================================ */
h1,h2,h3,h4,h5{
  font-family:var(--font-titulo);
  font-weight:800;
  line-height:1.16;
  color:var(--petroleo);
  letter-spacing:-.02em;
  text-wrap:balance;
}
h1{font-size:38px}
h2{font-size:28px}
h3{font-size:21px;font-weight:700;line-height:1.3}
h4{font-size:18px;font-weight:700;line-height:1.35}
p{text-wrap:pretty}
strong{font-weight:700;color:var(--petroleo)}
.lead{font-size:19px;line-height:1.72;color:var(--texto-suave)}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--font-texto);font-size:12.5px;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--verde-600);
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";width:26px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--verde),var(--eletrico));
}
.eyebrow--claro{color:var(--verde-lime)}
.eyebrow--centro{justify-content:center}

/* Cabeçalho de seção */
.sec-head{max-width:760px;margin-bottom:clamp(32px,4vw,52px)}
.sec-head--centro{margin-inline:auto;text-align:center}
.sec-head p{margin-top:14px;font-size:18px;color:var(--texto-suave)}
.sec-head--claro h2{color:#fff}
.sec-head--claro p{color:var(--texto-claro)}

/* Realces de texto */
.t-verde{color:var(--verde)}
.t-eletrico{color:var(--eletrico)}
.t-branco{color:#fff}
.t-lime{color:var(--verde-lime)}

/* ==================== 4. LAYOUT / UTILITÁRIOS ============================ */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:22px}
.secao{padding-block:var(--secao);position:relative}
.secao--claro{background:var(--cinza-claro)}
.secao--escuro{background:var(--petroleo);color:var(--texto-claro)}
.secao--escuro h2,.secao--escuro h3,.secao--escuro h4{color:#fff}
.secao--compacta{padding-block:clamp(40px,5vw,68px)}
.grid{display:grid;gap:26px}
.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.centro{text-align:center}
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  padding:14px 22px;background:var(--verde);color:#fff;font-weight:700;
  border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{left:0;color:#fff}

/* ================= 5. CURVAS E FORMAS ORGÂNICAS ========================== */
/* Divisores curvos entre seções */
.curva{position:absolute;left:0;width:100%;line-height:0;pointer-events:none;z-index:2}
.curva svg{display:block;width:100%;height:auto}
.curva--topo{top:-1px}
.curva--base{bottom:-1px}

/* Blobs decorativos (padrão do banner) */
.blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;z-index:0}
.blob--verde{background:radial-gradient(circle,rgba(57,181,74,.55),transparent 68%)}
.blob--azul{background:radial-gradient(circle,rgba(0,119,200,.55),transparent 68%)}

/* Arco/lâmina curva de fundo */
.arco{
  position:absolute;inset:auto -12% -34% -12%;height:60%;
  border-radius:50% 50% 0 0/70% 70% 0 0;
  background:var(--cinza-claro);z-index:0;pointer-events:none;
}
.secao > .container{position:relative;z-index:3}

/* Linha ondulada decorativa */
.onda-linha{width:100%;max-width:220px;height:12px;overflow:visible}
.onda-linha path{stroke:var(--verde);stroke-width:2.5;fill:none;stroke-linecap:round}

/* ============================ 6. BOTÕES ================================== */
.btn{
  --bg:var(--verde);--fg:#fff;
  position:relative;display:inline-flex;align-items:center;gap:11px;
  padding:16px 30px;border-radius:var(--r-pill);
  background:var(--bg);color:var(--fg);
  font-family:var(--font-texto);font-size:16px;font-weight:800;
  letter-spacing:.01em;line-height:1;white-space:nowrap;
  box-shadow:var(--sh-verde);overflow:hidden;
  transition:transform var(--t),box-shadow var(--t),background var(--t),color var(--t);
}
.btn svg{width:19px;height:19px;flex:none;transition:transform var(--t)}
.btn::after{ /* brilho deslizante */
  content:"";position:absolute;inset:0;
  background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.34) 50%,transparent 80%);
  transform:translateX(-120%);transition:transform .7s var(--ease);
}
.btn:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(57,181,74,.36);color:#fff}
.btn:hover::after{transform:translateX(120%)}
.btn:hover svg{transform:translateX(4px)}
.btn:active{transform:translateY(-1px)}

.btn--azul{--bg:linear-gradient(120deg,var(--eletrico),var(--petroleo));box-shadow:0 14px 34px rgba(0,119,200,.30)}
.btn--azul:hover{box-shadow:0 20px 44px rgba(0,119,200,.38)}
.btn--branco{--bg:#fff;--fg:var(--petroleo);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.btn--branco:hover{--fg:var(--petroleo);box-shadow:0 20px 44px rgba(0,0,0,.24)}
.btn--vazio{
  --bg:transparent;--fg:var(--petroleo);
  box-shadow:none;border:2px solid var(--borda);padding:14px 28px;
}
.btn--vazio:hover{--fg:var(--petroleo);border-color:var(--verde);background:var(--verde-100);box-shadow:var(--sh-1)}
.btn--vazio-claro{
  --bg:transparent;--fg:#fff;box-shadow:none;
  border:2px solid rgba(255,255,255,.34);padding:14px 28px;
}
.btn--vazio-claro:hover{border-color:var(--verde-lime);background:rgba(255,255,255,.10)}
.btn--bloco{width:100%;justify-content:center}
.btn-grupo{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* Link com seta */
.link-seta{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:800;font-size:15.5px;color:var(--eletrico);
}
.link-seta svg{width:17px;height:17px;transition:transform var(--t)}
.link-seta:hover svg{transform:translateX(5px)}

/* Selo/badge */
.selo{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 16px;border-radius:var(--r-pill);
  background:var(--verde-100);color:var(--verde-600);
  font-size:13.5px;font-weight:800;letter-spacing:.02em;
}
.selo svg{width:15px;height:15px}
.selo--claro{background:rgba(126,217,87,.14);color:var(--verde-lime);border:1px solid rgba(126,217,87,.28)}
.selo--azul{background:var(--eletrico-100);color:var(--eletrico-600)}

/* =============== 7. HEADER + NAVEGAÇÃO =================================== */
.topbar{
  background:var(--petroleo-900);color:rgba(255,255,255,.86);
  font-size:13.5px;padding:9px 0;
}
.topbar .container{display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar-info{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.topbar a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.86);font-weight:600}
.topbar a:hover{color:var(--verde-lime)}
.topbar svg{width:15px;height:15px;flex:none;color:var(--verde-lime)}
.topbar-selo{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--verde-lime)}

.header{
  position:sticky;top:0;z-index:90;background:#fff;
  border-bottom:1px solid var(--borda);
  transition:box-shadow .3s var(--ease),padding .3s var(--ease);
}
.header.fixo{box-shadow:0 8px 30px rgba(16,58,92,.12)}
/* header usa container mais largo: a linha logo + nav + ações não caberia em 1200px */
.header .container,.topbar .container{max-width:var(--container-header)}
.header .container{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  min-height:var(--header-h);
}
.logo{display:inline-flex;align-items:center;flex:none}
.logo img{width:176px;height:auto}

/* --- Navegação desktop --- */
.nav{display:flex;align-items:center;gap:2px}
.nav-item{position:relative}
.nav-link{
  position:relative;display:inline-flex;align-items:center;gap:7px;
  padding:12px 15px;border-radius:var(--r-sm);
  font-family:var(--font-texto);font-size:15px;font-weight:700;
  color:var(--petroleo);letter-spacing:.01em;white-space:nowrap;
  transition:color .25s var(--ease),background .25s var(--ease);
}
.nav-link:hover{color:var(--eletrico);background:var(--cinza-claro)}
/* sublinhado curvo animado */
.nav-link::after{
  content:"";position:absolute;left:15px;right:15px;bottom:6px;height:2px;
  border-radius:2px;background:linear-gradient(90deg,var(--verde),var(--eletrico));
  transform:scaleX(0);transform-origin:left;transition:transform .34s var(--ease);
}
.nav-link:hover::after{transform:scaleX(1)}
.nav-item.ativo > .nav-link{color:var(--eletrico)}
.nav-item.ativo > .nav-link::after{transform:scaleX(1)}

/* Indicador (chevron) de submenu */
.nav-seta{width:13px;height:13px;flex:none;transition:transform .34s var(--ease)}
.nav-item:hover > .nav-link .nav-seta,
.nav-item:focus-within > .nav-link .nav-seta{transform:rotate(180deg)}

/* --- Submenu (dropdown) --- */
.submenu{
  position:absolute;top:calc(100% + 10px);left:50%;
  transform:translateX(-50%) translateY(10px);
  min-width:308px;padding:12px;
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  box-shadow:var(--sh-3);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
  z-index:95;
}
.submenu::before{ /* seta apontando para o item */
  content:"";position:absolute;top:-7px;left:50%;margin-left:-7px;
  width:14px;height:14px;background:#fff;
  border-left:1px solid var(--borda);border-top:1px solid var(--borda);
  transform:rotate(45deg);border-radius:3px 0 0 0;
}
.nav-item:hover > .submenu,
.nav-item:focus-within > .submenu{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.submenu li + li{margin-top:2px}
.submenu a{
  display:flex;align-items:center;gap:13px;
  padding:11px 13px;border-radius:var(--r-sm);
  font-size:14.8px;font-weight:700;color:var(--petroleo);
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
.submenu a:hover{background:var(--cinza-claro);color:var(--eletrico);transform:translateX(4px)}
/* Ícone do submenu */
.sub-ico{
  flex:none;display:grid;place-items:center;width:38px;height:38px;
  border-radius:12px;background:var(--eletrico-100);color:var(--eletrico);
  transition:background .25s var(--ease),color .25s var(--ease);
}
.sub-ico svg{width:19px;height:19px}
.submenu a:hover .sub-ico{background:var(--verde);color:#fff}
.sub-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.sub-txt small{font-size:12.4px;font-weight:600;color:var(--texto-suave);line-height:1.35}

/* Ações do header */
.header-acoes{display:flex;align-items:center;gap:12px;flex:none}
.header-tel{
  display:inline-flex;align-items:center;gap:10px;
  font-size:14px;font-weight:800;color:var(--petroleo);
}
.header-tel .ico-circ{
  display:grid;place-items:center;width:40px;height:40px;border-radius:50%;
  background:var(--verde-100);color:var(--verde-600);
}
.header-tel .ico-circ svg{width:18px;height:18px}
.header-tel span{display:flex;flex-direction:column;line-height:1.2}
.header-tel small{font-size:11.5px;font-weight:700;color:var(--texto-suave);letter-spacing:.04em;text-transform:uppercase}
.header .btn{padding:13px 24px;font-size:14.6px}

/* --- Botão hamburguer --- */
.menu-btn{
  display:none;flex:none;width:48px;height:48px;
  border-radius:14px;background:var(--cinza-claro);
  place-items:center;transition:background .25s var(--ease);
}
.menu-btn:hover{background:var(--eletrico-100)}
.menu-btn span{
  display:block;width:23px;height:2.5px;border-radius:2px;
  background:var(--petroleo);transition:transform .34s var(--ease),opacity .24s var(--ease);
}
.menu-btn span + span{margin-top:5px}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(.3)}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* --- Drawer mobile --- */
.nav-fundo{
  position:fixed;inset:0;z-index:88;background:rgba(10,39,64,.55);
  backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .34s var(--ease),visibility .34s;
}
.nav-fundo.aberto{opacity:1;visibility:visible}

/* ========================= 8. HERO / BANNER ============================== */
/* O banner possui texto embutido na arte: exibido inteiro, SEM sobreposição. */
.hero{position:relative;background:var(--petroleo-900);overflow:hidden}
.hero-banner{position:relative;z-index:2;display:block;width:100%}
.hero-banner img{
  width:100%;height:auto;display:block;
  border-radius:0;                 /* full-bleed */
}
/* Faixa de apoio logo abaixo do banner (nunca sobre ele) */
.hero-abaixo{
  position:relative;z-index:3;background:var(--petroleo);
  padding:clamp(30px,3.6vw,46px) 0 clamp(40px,4.4vw,58px);
}
.hero-abaixo .container{
  display:flex;align-items:center;justify-content:space-between;
  gap:36px;flex-wrap:wrap;
}
.hero-abaixo-txt{max-width:660px;flex:1 1 420px}
.hero-abaixo h1{
  font-size:38px;color:#fff;margin-bottom:12px;
}
.hero-abaixo p{color:var(--texto-claro);font-size:18px}
.hero-abaixo .btn-grupo{margin-top:22px}

/* Imagem de apoio ao lado do texto, com overlay verde translúcido */
.hero-abaixo-img{
  position:relative;flex:0 0 auto;width:260px;max-width:100%;
  border-radius:20px;overflow:hidden;line-height:0;
  box-shadow:var(--sh-1);
}
.hero-abaixo-img img{
  width:100%;height:100%;object-fit:cover;border-radius:20px;
}
.hero-abaixo-img::after{
  content:"";position:absolute;inset:0;
  background:rgba(57,181,74,.35);
  border-radius:20px;pointer-events:none;
}
@media (max-width:767px){
  .hero-abaixo-img{width:200px;margin:0 auto}
  .hero-abaixo .container{justify-content:center;text-align:center}
  .hero-abaixo-txt{flex:1 1 100%}
  .hero-abaixo .hero-pills,.hero-abaixo .btn-grupo{justify-content:center}
}

/* Faixa de destaques do hero */
.hero-pills{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;
}
.hero-pill{
  display:inline-flex;align-items:center;gap:9px;
  padding:10px 17px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);
  color:#fff;font-size:14px;font-weight:700;
  transition:transform var(--t),background var(--t),border-color var(--t);
}
.hero-pill svg{width:16px;height:16px;color:var(--verde-lime);flex:none}
.hero-pill:hover{transform:translateY(-3px);background:rgba(255,255,255,.14);border-color:rgba(126,217,87,.45)}

/* Hero interno (páginas) */
.hero-int{
  position:relative;overflow:hidden;
  background:
    radial-gradient(1100px 460px at 88% -8%,rgba(0,119,200,.42),transparent 62%),
    radial-gradient(760px 420px at 4% 108%,rgba(57,181,74,.26),transparent 64%),
    linear-gradient(140deg,var(--petroleo-900),var(--petroleo) 52%,var(--petroleo-600));
  padding-block:clamp(48px,6vw,80px) clamp(66px,8vw,108px);
  color:var(--texto-claro);
}
.hero-int::before{ /* blob curvo, padrão banner */
  content:"";position:absolute;top:-28%;right:-14%;width:58%;height:150%;
  background:radial-gradient(circle at 50% 50%,rgba(0,119,200,.30),transparent 66%);
  border-radius:50%;pointer-events:none;
}
.hero-int-grid{
  position:relative;z-index:3;
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,56px);align-items:center;
}
.hero-int h1{color:#fff;margin-bottom:16px}
.hero-int p{font-size:18.5px;color:var(--texto-claro);max-width:620px}
.hero-int .btn-grupo{margin-top:26px}
.hero-int-fig{position:relative}
.hero-int-fig img{
  width:100%;border-radius:var(--r);
  box-shadow:0 30px 70px rgba(0,0,0,.34);
}
.hero-int-fig::after{ /* moldura curva deslocada */
  content:"";position:absolute;inset:14px -14px -14px 14px;
  border:2px solid rgba(126,217,87,.42);border-radius:var(--r);z-index:-1;
}

/* Breadcrumb */
.breadcrumb{position:relative;z-index:3;margin-bottom:20px;font-size:13.6px}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.breadcrumb a{color:rgba(255,255,255,.72);font-weight:600}
.breadcrumb a:hover{color:var(--verde-lime)}
.breadcrumb li:not(:last-child)::after{content:"›";margin-left:8px;color:rgba(255,255,255,.42)}
.breadcrumb [aria-current]{color:var(--verde-lime);font-weight:800}
.breadcrumb--escuro a{color:var(--texto-suave)}
.breadcrumb--escuro a:hover{color:var(--eletrico)}
.breadcrumb--escuro li:not(:last-child)::after{color:var(--borda)}
.breadcrumb--escuro [aria-current]{color:var(--petroleo)}

/* ============================ 9. CARDS =================================== */
/* ---- Card base com movimento ---- */
.card{
  position:relative;background:#fff;
  border:1px solid var(--borda);border-radius:var(--r);
  padding:30px 28px;box-shadow:var(--sh-1);overflow:hidden;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.card::before{ /* faixa curva superior que cresce no hover */
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--verde),var(--eletrico));
  transform:scaleX(0);transform-origin:left;transition:transform .46s var(--ease);
}
.card::after{ /* blob curvo no canto */
  content:"";position:absolute;right:-56px;bottom:-56px;width:150px;height:150px;
  border-radius:50%;background:radial-gradient(circle,rgba(0,119,200,.10),transparent 70%);
  transform:scale(.5);opacity:0;transition:transform .6s var(--ease),opacity .6s var(--ease);
}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh-3);border-color:rgba(57,181,74,.34)}
.card:hover::before{transform:scaleX(1)}
.card:hover::after{transform:scale(1);opacity:1}
.card > *{position:relative;z-index:2}
.card h3{margin-bottom:10px}
.card p{color:var(--texto-suave);font-size:16px}

/* Ícone do card */
.card-ico{
  display:grid;place-items:center;width:60px;height:60px;margin-bottom:20px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--eletrico-100),#fff);
  border:1px solid var(--borda);color:var(--eletrico);
  transition:transform var(--t),background var(--t),color var(--t),border-color var(--t);
}
.card-ico svg{width:28px;height:28px}
.card:hover .card-ico{
  transform:translateY(-4px) rotate(-6deg) scale(1.06);
  background:linear-gradient(135deg,var(--verde),var(--verde-600));
  color:#fff;border-color:transparent;
}
.card-ico--verde{background:linear-gradient(135deg,var(--verde-100),#fff);color:var(--verde-600)}

/* Card escuro */
.card--escuro{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);
  box-shadow:none;backdrop-filter:blur(4px);
}
.card--escuro h3,.card--escuro h4{color:#fff}
.card--escuro p{color:var(--texto-claro)}
.card--escuro:hover{background:rgba(255,255,255,.09);border-color:rgba(126,217,87,.42)}
.card--escuro .card-ico{
  background:rgba(126,217,87,.13);border-color:rgba(126,217,87,.28);color:var(--verde-lime);
}

/* ---- Cards com imagem: SERVIÇOS (grid 2 colunas) ---- */
.grid-servicos{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;
}
.card-img{
  position:relative;display:block;border-radius:var(--r);overflow:hidden;
  min-height:280px;box-shadow:var(--sh-2);isolation:isolate;
  transition:transform var(--t),box-shadow var(--t);
}
.card-img:hover{transform:translateY(-8px);box-shadow:var(--sh-3)}
.card-img img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:0;transition:transform 1s var(--ease);
}
.card-img:hover img{transform:scale(1.08)}
/* Overlay SERVIÇOS: #103A5C 80%, gradiente da esquerda para a direita */
.card-servico::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to right,rgba(16,58,92,.80) 0%,rgba(16,58,92,.80) 100%);
  transition:opacity var(--t);
}
.card-servico:hover::before{opacity:.92}
/* Overlay SEGMENTOS: gradiente 135deg conforme especificação */
.card-segmento::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(16,58,92,.88) 0%,rgba(16,58,92,.78) 55%,rgba(16,58,92,.45) 100%);
  transition:opacity var(--t);
}
.card-segmento:hover::before{opacity:.93}

.card-img-conteudo{
  position:relative;z-index:2;height:100%;
  display:flex;flex-direction:column;justify-content:flex-end;
  gap:10px;padding:28px;color:#fff;min-height:280px;
}
.card-img-conteudo h3{color:#fff;font-size:21px}
.card-img-conteudo p{color:rgba(255,255,255,.86);font-size:15.4px;line-height:1.62}
.card-img-ico{
  align-self:flex-start;display:grid;place-items:center;
  width:54px;height:54px;margin-bottom:auto;
  border-radius:16px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);color:var(--verde-lime);
  transition:transform var(--t),background var(--t),color var(--t);
}
.card-img-ico svg{width:26px;height:26px}
.card-img:hover .card-img-ico{
  transform:translateY(-4px) scale(1.08);background:var(--verde);color:#fff;
}
.card-img-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:6px;
  font-size:14.6px;font-weight:800;color:var(--verde-lime);
}
.card-img-link svg{width:16px;height:16px;transition:transform var(--t)}
.card-img:hover .card-img-link svg{transform:translateX(5px)}
/* Tags dentro do card de imagem */
.card-img-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.card-img-tags span{
  padding:5px 12px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);
  font-size:12.4px;font-weight:700;color:#fff;
}

/* ---- SEGMENTOS: grid 3 colunas, últimas 2 centralizadas ---- */
.grid-segmentos{
  display:grid;grid-template-columns:repeat(6,1fr);gap:26px;
}
.grid-segmentos > *{grid-column:span 2}
/* 5 itens: os 2 últimos ficam centralizados */
.grid-segmentos > *:nth-child(4){grid-column:2/4}
.grid-segmentos > *:nth-child(5){grid-column:4/6}
.card-segmento{min-height:300px}
.card-segmento .card-img-conteudo{min-height:300px}

/* ---- Lista de checagem ---- */
.check{display:grid;gap:13px}
.check li{
  display:flex;align-items:flex-start;gap:13px;
  font-size:16px;color:var(--texto);line-height:1.6;
}
.check li svg{
  flex:none;width:22px;height:22px;margin-top:2px;color:var(--verde);
}
.check--claro li{color:var(--texto-claro)}
.check--claro li svg{color:var(--verde-lime)}
.check--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 30px}

/* Lista dentro de card, com pílulas */
.pill-lista{display:flex;flex-wrap:wrap;gap:9px}
.pill-lista li{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;border-radius:var(--r-pill);
  background:var(--cinza-claro);border:1px solid var(--borda);
  font-size:14.2px;font-weight:700;color:var(--petroleo);
  transition:transform .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);
}
.pill-lista li svg{width:15px;height:15px;color:var(--verde)}
.pill-lista li:hover{transform:translateY(-3px);background:var(--verde-100);border-color:rgba(57,181,74,.4)}
.pill-lista--claro li{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff;
}
.pill-lista--claro li svg{color:var(--verde-lime)}
.pill-lista--claro li:hover{background:rgba(126,217,87,.14);border-color:rgba(126,217,87,.4)}

/* ---- Fluxo de atendimento (6 etapas) ---- */
.fluxo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;counter-reset:et}
.fluxo-item{
  position:relative;background:#fff;border:1px solid var(--borda);
  border-radius:var(--r);padding:32px 26px 28px;box-shadow:var(--sh-1);
  overflow:hidden;transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.fluxo-item::before{ /* curva de fundo */
  content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;
  border-radius:50%;background:linear-gradient(135deg,rgba(0,119,200,.09),transparent 70%);
  transition:transform .6s var(--ease);
}
.fluxo-item:hover{transform:translateY(-8px);box-shadow:var(--sh-3);border-color:rgba(57,181,74,.34)}
.fluxo-item:hover::before{transform:scale(1.5)}
.fluxo-num{
  position:relative;display:grid;place-items:center;
  width:52px;height:52px;margin-bottom:18px;border-radius:16px;
  background:linear-gradient(135deg,var(--eletrico),var(--petroleo));
  color:#fff;font-family:var(--font-titulo);font-size:20px;font-weight:800;
  box-shadow:0 10px 24px rgba(0,119,200,.28);
  transition:transform var(--t),background var(--t);
}
.fluxo-item:hover .fluxo-num{
  transform:scale(1.08) rotate(-6deg);
  background:linear-gradient(135deg,var(--verde),var(--verde-600));
}
.fluxo-item h3{position:relative;font-size:18.5px;margin-bottom:9px}
.fluxo-item p{position:relative;font-size:15.4px;color:var(--texto-suave)}
/* conector curvo entre etapas (desktop) */
.fluxo-item:not(:last-child)::after{
  content:"";position:absolute;top:44px;right:-26px;width:26px;height:2px;
  background:repeating-linear-gradient(90deg,var(--borda) 0 6px,transparent 6px 11px);
  z-index:1;
}
.fluxo-item:nth-child(3n)::after{display:none}

/* ---- Normas ---- */
.norma{
  display:flex;gap:20px;align-items:flex-start;
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:26px;box-shadow:var(--sh-1);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.norma:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:rgba(0,119,200,.32)}
.norma-tag{
  flex:none;display:grid;place-items:center;text-align:center;
  min-width:96px;padding:14px 12px;border-radius:16px;
  background:linear-gradient(135deg,var(--petroleo),var(--eletrico));color:#fff;
  font-family:var(--font-titulo);font-weight:800;font-size:13px;line-height:1.3;
  box-shadow:0 10px 22px rgba(16,58,92,.22);
}
.norma-tag strong{display:block;color:#fff;font-size:16px;margin-top:3px}
.norma h3{font-size:19px;margin-bottom:8px}
.norma p{font-size:15.6px;color:var(--texto-suave)}

/* ---- Números / indicadores ---- */
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.numero{
  text-align:center;padding:28px 20px;border-radius:var(--r);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  transition:transform var(--t),background var(--t),border-color var(--t);
}
.numero:hover{transform:translateY(-7px);background:rgba(255,255,255,.11);border-color:rgba(126,217,87,.4)}
.numero b{
  display:block;font-family:var(--font-titulo);font-size:clamp(32px,4vw,44px);
  font-weight:800;color:var(--verde-lime);line-height:1;margin-bottom:8px;
}
.numero span{font-size:14.6px;font-weight:700;color:var(--texto-claro)}
.numeros--claro .numero{background:#fff;border-color:var(--borda);box-shadow:var(--sh-1)}
.numeros--claro .numero b{color:var(--eletrico)}
.numeros--claro .numero span{color:var(--texto-suave)}

/* ---- Blog cards ---- */
.post{
  display:flex;flex-direction:column;background:#fff;
  border:1px solid var(--borda);border-radius:var(--r);overflow:hidden;
  box-shadow:var(--sh-1);transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.post:hover{transform:translateY(-8px);box-shadow:var(--sh-3);border-color:rgba(0,119,200,.3)}
.post-fig{position:relative;overflow:hidden;aspect-ratio:16/10}
.post-fig img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.post:hover .post-fig img{transform:scale(1.07)}
.post-fig::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(16,58,92,.55),transparent 58%);
}
.post-cat{
  position:absolute;z-index:2;left:16px;top:16px;
  padding:6px 14px;border-radius:var(--r-pill);
  background:var(--verde);color:#fff;font-size:12.2px;font-weight:800;
  letter-spacing:.03em;
}
.post-corpo{display:flex;flex-direction:column;gap:11px;padding:24px;flex:1}
.post-meta{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--texto-suave);font-weight:600}
.post-meta span{display:inline-flex;align-items:center;gap:6px}
.post-meta svg{width:14px;height:14px;color:var(--eletrico)}
.post-corpo h3{font-size:19px}
.post-corpo p{font-size:15.4px;color:var(--texto-suave)}
.post-corpo .link-seta{margin-top:auto;padding-top:6px}

/* ========================= 10. DEPOIMENTOS =============================== */
.depoimentos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.depo{
  position:relative;display:flex;flex-direction:column;gap:16px;
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:32px 28px 28px;box-shadow:var(--sh-1);overflow:hidden;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.depo::before{ /* aspas decorativas */
  content:"”";position:absolute;top:-26px;right:14px;
  font-family:var(--font-titulo);font-size:130px;font-weight:800;
  color:rgba(0,119,200,.09);line-height:1;pointer-events:none;
  transition:color .5s var(--ease),transform .5s var(--ease);
}
.depo:hover{transform:translateY(-8px);box-shadow:var(--sh-3);border-color:rgba(57,181,74,.3)}
.depo:hover::before{color:rgba(57,181,74,.16);transform:scale(1.08) rotate(-4deg)}
.depo-estrelas{display:flex;gap:3px;position:relative}
.depo-estrelas svg{width:17px;height:17px;color:#F5A623}
.depo blockquote{position:relative;font-size:16.2px;line-height:1.72;color:var(--texto)}
.depo-autor{
  position:relative;display:flex;align-items:center;gap:14px;
  margin-top:auto;padding-top:18px;border-top:1px solid var(--borda);
}
.depo-avatar{
  flex:none;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;
  background:linear-gradient(135deg,var(--eletrico),var(--petroleo));
  color:#fff;font-family:var(--font-titulo);font-weight:800;font-size:17px;
  transition:transform var(--t)}
.depo:hover .depo-avatar{transform:scale(1.07) rotate(-5deg)}
.depo-autor b{display:block;font-size:15.4px;color:var(--petroleo);line-height:1.3}
.depo-autor small{font-size:13.2px;color:var(--texto-suave);font-weight:600}

/* ===================== 11. CTA / FAIXAS ================================== */
.cta{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(900px 400px at 88% 12%,rgba(0,119,200,.46),transparent 60%),
    radial-gradient(700px 380px at 6% 96%,rgba(57,181,74,.30),transparent 62%),
    linear-gradient(135deg,var(--petroleo-900),var(--petroleo) 55%,var(--petroleo-600));
  padding-block:clamp(52px,6.5vw,86px);
}
.cta::before{ /* blob curvo */
  content:"";position:absolute;right:-10%;top:-45%;width:52%;height:190%;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 66%);
  pointer-events:none;
}
.cta-grid{
  position:relative;z-index:3;display:flex;align-items:center;
  justify-content:space-between;gap:34px;flex-wrap:wrap;
}
.cta h2{color:#fff;margin-bottom:12px}
.cta p{color:var(--texto-claro);font-size:18px;max-width:640px}
.cta-txt{flex:1 1 420px}

/* Faixa de diferenciais compacta */
.faixa{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;
}
.faixa-item{
  display:flex;align-items:center;gap:14px;
  padding:20px 22px;border-radius:var(--r);
  background:#fff;border:1px solid var(--borda);box-shadow:var(--sh-1);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.faixa-item:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:rgba(57,181,74,.34)}
.faixa-ico{
  flex:none;display:grid;place-items:center;width:48px;height:48px;
  border-radius:15px;background:var(--verde-100);color:var(--verde-600);
  transition:transform var(--t),background var(--t),color var(--t);
}
.faixa-ico svg{width:23px;height:23px}
.faixa-item:hover .faixa-ico{transform:rotate(-8deg) scale(1.07);background:var(--verde);color:#fff}
.faixa-item b{display:block;font-size:15.6px;color:var(--petroleo);line-height:1.3}
.faixa-item small{font-size:13.4px;color:var(--texto-suave);font-weight:600}

/* Bloco de conteúdo com imagem */
.bloco{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.4vw,60px);align-items:center;
}
.bloco--inv .bloco-fig{order:2}
/* Bloco sem imagem: texto em coluna única, centralizado no container */
.bloco--solo{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
.bloco-fig{position:relative}
.bloco-fig img{width:100%;border-radius:var(--r);box-shadow:var(--sh-2)}
.bloco-fig::before{ /* forma curva atrás */
  content:"";position:absolute;inset:-18px -18px 30% 30%;
  background:linear-gradient(135deg,rgba(0,119,200,.12),rgba(57,181,74,.10));
  border-radius:var(--r-lg);z-index:-1;
}
.bloco-txt h2{margin-bottom:16px}
.bloco-txt p + p{margin-top:14px}
.bloco-txt p{color:var(--texto-suave)}
.bloco-txt .check,.bloco-txt .pill-lista{margin-top:22px}
.bloco-txt .btn-grupo{margin-top:26px}

/* Caixa de destaque / aviso */
.destaque{
  display:flex;gap:16px;align-items:flex-start;
  padding:24px 26px;border-radius:var(--r);
  background:var(--verde-100);border:1px solid rgba(57,181,74,.28);
  border-left:5px solid var(--verde);
}
.destaque svg{flex:none;width:24px;height:24px;color:var(--verde-600);margin-top:2px}
.destaque p{font-size:16px;color:var(--texto)}
.destaque b{color:var(--petroleo-700)}
.destaque--azul{background:var(--eletrico-100);border-color:rgba(0,119,200,.26);border-left-color:var(--eletrico)}
.destaque--azul svg{color:var(--eletrico)}
.destaque--claro{
  background:rgba(126,217,87,.10);border-color:rgba(126,217,87,.3);
  border-left-color:var(--verde-lime);
}
.destaque--claro p{color:var(--texto-claro)}
.destaque--claro b{color:#fff}
.destaque--claro svg{color:var(--verde-lime)}

/* FAQ (accordion) */
.faq{display:grid;gap:14px;max-width:860px;margin-inline:auto}
.faq-item{
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow var(--t),border-color var(--t);
}
.faq-item:hover{box-shadow:var(--sh-2);border-color:rgba(0,119,200,.28)}
.faq-btn{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  width:100%;padding:22px 26px;text-align:left;
  font-family:var(--font-titulo);font-size:17px;font-weight:700;color:var(--petroleo);
}
.faq-btn i{
  flex:none;display:grid;place-items:center;width:32px;height:32px;
  border-radius:50%;background:var(--eletrico-100);color:var(--eletrico);
  transition:transform .4s var(--ease),background .3s var(--ease),color .3s var(--ease);
}
.faq-btn i svg{width:16px;height:16px}
.faq-btn[aria-expanded="true"] i{transform:rotate(45deg);background:var(--verde);color:#fff}
.faq-resp{max-height:0;overflow:hidden;transition:max-height .46s var(--ease)}
.faq-resp div{padding:0 26px 24px;color:var(--texto-suave);font-size:16px}

/* Contato — cards de informação */
.info-card{
  display:flex;gap:18px;align-items:flex-start;
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:26px;box-shadow:var(--sh-1);
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.info-card:hover{transform:translateY(-6px);box-shadow:var(--sh-2);border-color:rgba(57,181,74,.32)}
.info-ico{
  flex:none;display:grid;place-items:center;width:54px;height:54px;
  border-radius:17px;background:linear-gradient(135deg,var(--eletrico-100),#fff);
  border:1px solid var(--borda);color:var(--eletrico);
  transition:transform var(--t),background var(--t),color var(--t);
}
.info-ico svg{width:25px;height:25px}
.info-card:hover .info-ico{transform:rotate(-8deg) scale(1.06);background:var(--verde);color:#fff;border-color:transparent}
.info-card h3{font-size:17px;margin-bottom:6px}
.info-card p,.info-card a{font-size:15.6px;color:var(--texto-suave);font-weight:600}
.info-card a:hover{color:var(--eletrico)}

/* Formulário */
.form{
  background:#fff;border:1px solid var(--borda);border-radius:var(--r);
  padding:clamp(26px,3.4vw,40px);box-shadow:var(--sh-2);
}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.campo{display:flex;flex-direction:column;gap:7px}
.campo--full{grid-column:1/-1}
.campo label{font-size:14px;font-weight:800;color:var(--petroleo)}
.campo input,.campo select,.campo textarea{
  width:100%;padding:14px 16px;font:inherit;font-size:15.6px;color:var(--texto);
  background:var(--cinza-claro);border:1.5px solid var(--borda);border-radius:var(--r-sm);
  transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease);
}
.campo textarea{min-height:132px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;background:#fff;border-color:var(--eletrico);
  box-shadow:0 0 0 4px rgba(0,119,200,.13);
}
.campo small{font-size:12.8px;color:var(--texto-suave)}
.form-msg{
  display:none;margin-top:16px;padding:15px 18px;border-radius:var(--r-sm);
  background:var(--verde-100);border:1px solid rgba(57,181,74,.3);
  color:var(--verde-600);font-size:15px;font-weight:700;
}
.form-msg.ativo{display:block}

/* Mapa */
.mapa{
  border-radius:var(--r);overflow:hidden;border:1px solid var(--borda);
  box-shadow:var(--sh-2);line-height:0;
}
.mapa iframe{width:100%;height:400px;border:0;display:block}

/* ============================ 12. FOOTER ================================= */
.footer{
  position:relative;background:var(--petroleo-900);color:rgba(255,255,255,.72);
  padding-top:clamp(52px,6vw,80px);overflow:hidden;
}
.footer::before{
  content:"";position:absolute;left:-8%;top:-30%;width:46%;height:120%;
  background:radial-gradient(circle,rgba(0,119,200,.16),transparent 66%);
  border-radius:50%;pointer-events:none;
}
.footer-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:38px;
  padding-bottom:44px;
}
.footer-logo{width:190px;margin-bottom:20px}
.footer-sobre p{font-size:15.2px;line-height:1.72;color:rgba(255,255,255,.66)}
.footer h4{
  font-family:var(--font-titulo);font-size:15.4px;font-weight:800;color:#fff;
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px;
  display:flex;align-items:center;gap:9px;
}
.footer h4::before{content:"";width:16px;height:2px;border-radius:2px;background:var(--verde)}
.footer-links{display:grid;gap:11px}
.footer-links a{
  display:inline-flex;align-items:center;gap:9px;
  font-size:15px;color:rgba(255,255,255,.7);font-weight:600;
  transition:color .25s var(--ease),transform .25s var(--ease);
}
.footer-links a svg{width:13px;height:13px;color:var(--verde);transition:transform .25s var(--ease)}
.footer-links a:hover{color:#fff;transform:translateX(5px)}
.footer-contato{display:grid;gap:15px}
.footer-contato li{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6}
.footer-contato svg{flex:none;width:18px;height:18px;color:var(--verde);margin-top:3px}
.footer-contato a{color:rgba(255,255,255,.72);font-weight:600}
.footer-contato a:hover{color:var(--verde-lime)}
.footer-crt{
  position:relative;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding-block:22px;border-top:1px solid rgba(255,255,255,.12);
  font-size:13.8px;color:rgba(255,255,255,.56);
}
.footer-crt a{color:rgba(255,255,255,.72);font-weight:700}
.footer-crt a:hover{color:var(--verde-lime)}
.footer-crt-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-selos{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.footer-selos span{
  display:inline-flex;align-items:center;gap:7px;
  padding:7px 14px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  font-size:12.6px;font-weight:700;color:rgba(255,255,255,.82);
}
.footer-selos svg{width:14px;height:14px;color:var(--verde-lime)}

/* WhatsApp flutuante */
.wa{
  position:fixed;right:20px;bottom:20px;z-index:80;
  display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:#25D366;color:#fff;box-shadow:0 12px 32px rgba(37,211,102,.44);
  transition:transform var(--t),box-shadow var(--t);
}
.wa svg{width:31px;height:31px}
.wa:hover{transform:scale(1.1) translateY(-3px);color:#fff;box-shadow:0 18px 42px rgba(37,211,102,.55)}
.wa::before{ /* pulso */
  content:"";position:absolute;inset:0;border-radius:50%;
  border:2px solid rgba(37,211,102,.55);animation:pulso 2.4s infinite;
}
@keyframes pulso{
  0%{transform:scale(1);opacity:.9}
  70%{transform:scale(1.5);opacity:0}
  100%{transform:scale(1.5);opacity:0}
}

/* Voltar ao topo */
.topo{
  position:fixed;right:20px;bottom:92px;z-index:79;
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:#fff;color:var(--petroleo);border:1px solid var(--borda);
  box-shadow:var(--sh-2);opacity:0;visibility:hidden;transform:translateY(12px);
  transition:opacity .34s var(--ease),transform .34s var(--ease),visibility .34s;
}
.topo svg{width:20px;height:20px}
.topo.visivel{opacity:1;visibility:visible;transform:translateY(0)}
.topo:hover{background:var(--petroleo);color:#fff;border-color:var(--petroleo)}

/* =================== 13. ANIMAÇÕES E MOVIMENTO =========================== */
.rev{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev.visivel{opacity:1;transform:none}
.rev-esq{opacity:0;transform:translateX(-34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev-dir{opacity:0;transform:translateX(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev-esq.visivel,.rev-dir.visivel{opacity:1;transform:none}
.rev-zoom{opacity:0;transform:scale(.94);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rev-zoom.visivel{opacity:1;transform:none}
/* atrasos em cascata */
.rev-d1{transition-delay:.08s}.rev-d2{transition-delay:.16s}
.rev-d3{transition-delay:.24s}.rev-d4{transition-delay:.32s}
.rev-d5{transition-delay:.40s}.rev-d6{transition-delay:.48s}

/* Flutuação suave */
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)}}
.flutua{animation:flutua 6s ease-in-out infinite}

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

/* ========================= 14. RESPONSIVO ================================ */
/* Header: degradação progressiva para a linha sempre caber sem overflow */
@media (max-width:1400px){
  .nav-link{padding:12px 12px;font-size:14.6px}
  .nav-link::after{left:12px;right:12px}
}
@media (max-width:1260px){
  .header-tel{display:none}
}
@media (max-width:1120px){
  .nav-link{padding:12px 9px;font-size:14.2px}
  .nav-link::after{left:9px;right:9px}
  .logo img{width:158px}
  .header .btn{padding:12px 18px;font-size:14px}
}
@media (max-width:1040px){
  .header .btn span.btn-txt-longo{display:none}
}

@media (max-width:1024px){
  .numeros,.faixa{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fluxo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fluxo-item:nth-child(3n)::after{display:block}
  .fluxo-item:nth-child(2n)::after{display:none}
  .depoimentos{grid-template-columns:1fr}
  .hero-int-grid{grid-template-columns:1fr;gap:32px}
  .hero-int-fig{max-width:520px}
  .g-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}
}

/* ---------- Mobile: drawer com submenus ABERTOS + logo centralizado ------- */
@media (max-width:960px){
  :root{--header-h:76px}

  .topbar-info{gap:16px}
  .topbar-selo{display:none}

  .menu-btn{display:grid}

  /* Logo centralizado no mobile */
  .header .container{
    display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;
  }
  .menu-btn{grid-column:1;grid-row:1;justify-self:start}
  .logo{grid-column:2;grid-row:1;justify-self:center}
  .logo img{width:158px}
  .header-acoes{grid-column:3;grid-row:1;justify-self:end}
  .header-acoes .btn{display:none}
  .header-acoes .wa-mini{
    display:grid;place-items:center;width:44px;height:44px;border-radius:14px;
    background:var(--verde-100);color:var(--verde-600);
  }
  .header-acoes .wa-mini svg{width:21px;height:21px}

  /* Drawer */
  .nav{
    position:fixed;top:0;left:0;z-index:89;
    width:min(90vw,392px);height:100dvh;
    display:block;padding:22px 20px calc(28px + env(safe-area-inset-bottom));
    background:#fff;box-shadow:26px 0 60px rgba(10,39,64,.24);
    overflow-y:auto;overscroll-behavior:contain;
    transform:translateX(-102%);
    transition:transform .42s var(--ease);
    border-radius:0 var(--r-lg) var(--r-lg) 0;
  }
  .nav.aberto{transform:translateX(0)}
  .nav-topo{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:18px;margin-bottom:14px;border-bottom:1px solid var(--borda);
  }
  .nav-topo img{width:150px}
  .nav-fechar{
    display:grid;place-items:center;width:42px;height:42px;border-radius:13px;
    background:var(--cinza-claro);color:var(--petroleo);
  }
  .nav-fechar svg{width:20px;height:20px}

  .nav-item{width:100%}
  .nav-link{
    width:100%;justify-content:space-between;
    padding:14px 14px;font-size:16px;border-radius:var(--r-sm);
  }
  .nav-link::after{display:none}
  .nav-item.ativo > .nav-link{background:var(--eletrico-100)}
  /* No mobile o chevron aponta para baixo (submenu já aberto) */
  .nav-item:hover > .nav-link .nav-seta,
  .nav-item:focus-within > .nav-link .nav-seta{transform:none}
  .nav-seta{width:15px;height:15px;color:var(--verde-600)}

  /* SUBMENU MOBILE ABERTO por padrão */
  .submenu{
    position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    min-width:0;width:100%;padding:6px 0 10px 12px;margin:2px 0 6px;
    background:transparent;border:0;border-left:2px solid var(--borda);
    border-radius:0;box-shadow:none;
  }
  .submenu::before{display:none}
  .nav-item:hover > .submenu,.nav-item:focus-within > .submenu{transform:none}
  .submenu a{padding:11px 12px;font-size:15px}
  .submenu a:hover{transform:none;background:var(--cinza-claro)}
  .sub-ico{width:34px;height:34px;border-radius:11px}
  .sub-ico svg{width:17px;height:17px}
  .sub-txt small{display:none}

  .nav-cta{margin-top:20px;padding-top:20px;border-top:1px solid var(--borda);display:grid;gap:12px}
  .nav-cta .btn{width:100%;justify-content:center}
  .nav-info{margin-top:18px;display:grid;gap:12px;font-size:14.4px}
  .nav-info a,.nav-info p{display:flex;gap:11px;align-items:flex-start;color:var(--texto-suave);font-weight:600}
  .nav-info svg{flex:none;width:17px;height:17px;color:var(--verde);margin-top:2px}
}

@media (min-width:961px){
  .nav-topo,.nav-fechar,.nav-cta,.nav-info,.header-acoes .wa-mini{display:none}
}

@media (max-width:820px){
  h1{font-size:32px}
  h2{font-size:25px}
  .hero-abaixo h1{font-size:32px}
  .bloco,.bloco--inv .bloco-fig{grid-template-columns:1fr}
  .bloco--inv .bloco-fig{order:0}
  .bloco-fig{order:0}
  .grid-servicos{grid-template-columns:1fr}
  /* Segmentos: 2 colunas, sem centralização especial */
  .grid-segmentos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-segmentos > *,
  .grid-segmentos > *:nth-child(4),
  .grid-segmentos > *:nth-child(5){grid-column:auto}
  .g-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .check--2{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .fluxo{grid-template-columns:1fr}
  .fluxo-item::after{display:none!important}
  .footer-grid{grid-template-columns:1fr;gap:32px}
  .mapa iframe{height:320px}
}

@media (max-width:600px){
  body{font-size:16.4px}
  h1{font-size:29px}
  h2{font-size:23px}
  h3{font-size:19px}
  .hero-abaixo h1{font-size:29px}
  .lead,.hero-int p,.cta p,.sec-head p{font-size:16.6px}
  .container{padding-inline:18px}
  .grid,.grid-servicos,.grid-segmentos,.depoimentos,.fluxo{gap:18px}
  .g-2,.g-3,.g-4,.grid-segmentos{grid-template-columns:1fr}
  .numeros,.faixa{grid-template-columns:1fr}
  .card{padding:26px 22px}
  .card-img-conteudo{padding:24px}
  .topbar{font-size:12.6px}
  .topbar .container{justify-content:center}
  .topbar-info{justify-content:center;gap:14px}
  .btn{padding:15px 26px;font-size:15.2px;width:100%;justify-content:center}
  .btn-grupo{gap:11px}
  .btn-grupo .btn{width:100%}
  .wa{width:54px;height:54px;right:16px;bottom:16px}
  .wa svg{width:28px;height:28px}
  .topo{right:16px;bottom:80px}
  .norma{flex-direction:column;gap:16px}
  .depo{padding:26px 22px}
  .faq-btn{padding:19px 20px;font-size:16px}
  .faq-resp div{padding:0 20px 20px}
}

/* Impressão */
@media print{
  .header,.topbar,.wa,.topo,.nav,.cta,.footer-crt{display:none}
  body{font-size:12pt;color:#000}
  .card,.depo{box-shadow:none;border:1px solid #ccc;break-inside:avoid}
}
