/* =====================================================================
   METALÚRGICA MAXWELL — versão sóbria
   ---------------------------------------------------------------------
   Mesma linguagem do site da LS Vidros (versão sóbria): branco, canto
   vivo (raio de 2px), fio de 1px no lugar de sombra, rótulo pequeno em
   caixa alta, título pesado em Archivo. Nada de "tecnológico": sem
   brilho, sem gradiente, sem efeito.

   A cor da marca (o aço do logo, #649B9B) aparece pouco: número de
   etapa, destaque do título da capa, borda de foco.

   Celular primeiro: as regras base são as do celular; telas maiores
   só acrescentam, em min-width.
   ===================================================================== */

@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Archivo;src:url(/assets/fonts/archivo-800.woff2) format('woff2');font-weight:800;font-display:swap}

:root{
  --papel:#FFFFFF; --gelo:#F4F4F2; --nevoa:#EDEDEA;
  --tinta:#16181B; --grafite:#2B2E32; --cinza:#5E6266; --suave:#9AA0A6;
  --linha:#E3E3DF; --linha-escura:#33373E;
  --aco:#649B9B; --aco-escuro:#3A6767; --aco-claro:#D6E6E5;
  --zap:#0E7A40; --zap-2:#0B6534;
  --max:1280px; --gut:clamp(20px,5vw,64px);
  --barra:72px; --r:2px;
  --t:.5s cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--barra);
  -webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-x pan-y}
body{margin:0;background:var(--papel);color:var(--tinta);touch-action:pan-x pan-y;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;
  font-family:Archivo,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;-webkit-user-drag:none}
picture{display:block}
input,select,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.03em;line-height:1.05}
p,figure,blockquote,ul,dl{margin:0}
ul{padding:0;list-style:none}
[hidden]{display:none!important}
.env{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.rotulo{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cinza)}
.h-sec{font-size:clamp(30px,5.2vw,58px);margin-top:14px;text-wrap:balance}
.h-pag{font-size:clamp(36px,6.4vw,72px);margin-top:14px;max-width:16ch;text-wrap:balance}
.pular{position:absolute;left:-999px;top:8px;z-index:100;background:var(--tinta);color:#fff;padding:10px 16px}
.pular:focus{left:8px}
:focus-visible{outline:2px solid var(--aco);outline-offset:3px}
.link{font-weight:600;color:var(--tinta);display:inline-flex;align-items:center;gap:8px;
  border-bottom:1px solid var(--tinta);padding-bottom:2px}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 22px;
  border-radius:var(--r);font-size:13.5px;font-weight:600;border:1px solid var(--tinta);
  background:var(--tinta);color:#fff;cursor:pointer;transition:background .3s,color .3s,border-color .3s;white-space:nowrap}
.btn svg{width:17px;height:17px;flex:0 0 auto}
.btn:hover{background:var(--grafite);border-color:var(--grafite)}
.btn.vazio{background:transparent;color:var(--tinta)}
.btn.vazio:hover{background:var(--tinta);color:#fff}
.btn.claro{background:#fff;border-color:#fff;color:var(--tinta)}
.btn.claro:hover{background:transparent;color:#fff}
.btn.contorno{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.btn.contorno:hover{background:#fff;border-color:#fff;color:var(--tinta)}
.btn.zap{background:var(--zap);border-color:var(--zap);color:#fff}
.btn.zap:hover{background:var(--zap-2);border-color:var(--zap-2)}
.btn.grande{min-height:56px;padding:0 26px;font-size:15px}

/* ---------- barra ---------- */
#topo{position:fixed;inset:0 0 auto;z-index:60;border-bottom:1px solid transparent;
  transition:transform var(--t),background .35s,border-color .35s}
#topo.solto{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--linha)}
#topo.some{transform:translateY(-102%)}
.barra{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--barra)}
.marca{position:relative;display:block;flex-shrink:0;padding-block:6px}
.marca img{height:40px;width:auto}
.marca .logo-claro{position:absolute;inset:6px 0 auto 0;opacity:0;transition:opacity .35s}
#topo.na-capa:not(.solto) .logo-escuro{opacity:0}
#topo.na-capa:not(.solto) .logo-claro{opacity:1}
.logo-escuro{transition:opacity .35s}
nav.desk{display:none;gap:30px}
nav.desk a{font-size:13.5px;font-weight:600;color:var(--grafite);position:relative;display:inline-flex;align-items:center;min-height:44px}
nav.desk a::after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:1px;background:currentColor;transition:right .35s}
nav.desk a:hover::after,nav.desk a[aria-current]::after{right:0}
.acoes{display:flex;align-items:center;gap:10px}
.tel-topo{display:none;font-size:13.5px;font-weight:600;color:var(--grafite);padding:0 4px;min-height:44px;align-items:center}
#topo.na-capa:not(.solto) nav.desk a,#topo.na-capa:not(.solto) .tel-topo{color:#fff}
#topo.na-capa:not(.solto) .btn-topo{background:#fff;border-color:#fff;color:var(--tinta)}
#topo.na-capa:not(.solto) .btn-topo:hover{background:transparent;color:#fff}
#topo.na-capa:not(.solto) .hamb{border-color:rgba(255,255,255,.45)}
#topo.na-capa:not(.solto) .hamb i{background:#fff}
.hamb{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;
  border:1px solid var(--linha);background:transparent;cursor:pointer;border-radius:var(--r);padding:0 13px}
.hamb i{display:block;height:1.5px;background:var(--tinta);transition:transform .3s,opacity .3s}
body.menu-on #topo{background:var(--papel);border-bottom-color:var(--linha)}
body.menu-on #topo .logo-escuro{opacity:1!important}
body.menu-on #topo .logo-claro{opacity:0!important}
body.menu-on #topo .hamb{border-color:var(--linha)}
body.menu-on #topo .hamb i{background:var(--tinta)}
body.menu-on .hamb i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-on .hamb i:nth-child(2){opacity:0}
body.menu-on .hamb i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
#menu{position:fixed;inset:0;z-index:55;background:var(--papel);padding:96px var(--gut) 32px;
  display:flex;flex-direction:column;transform:translateY(-100%);visibility:hidden;
  transition:transform .45s cubic-bezier(.4,0,.2,1),visibility 0s .45s;overflow-y:auto}
body.menu-on #menu{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.4,0,.2,1)}
#menu a.grande{font-size:clamp(28px,8vw,40px);font-weight:800;letter-spacing:-.04em;padding:12px 0;border-bottom:1px solid var(--linha)}
#menu .rodape-menu{margin-top:auto;padding-top:28px;display:grid;gap:10px}
html:not(.js) #menu{display:none}

/* ---------- capa ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;overflow:hidden;background:var(--tinta)}
.hero-img{position:absolute;inset:0}
.hero-img picture,.hero-img img{width:100%;height:100%}
.hero-img img{object-fit:cover;transform:scale(1.06);transition:transform 2.4s cubic-bezier(.22,.61,.36,1)}
.hero.entrou .hero-img img{transform:none}
.hero-img::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,12,15,.62) 0%,rgba(10,12,15,.18) 36%,rgba(10,12,15,.76) 100%)}
.hero-txt{position:relative;padding-top:120px;padding-bottom:clamp(36px,7vw,72px)}
.hero-txt .rotulo{color:rgba(255,255,255,.78)}
.hero h1{font-size:clamp(38px,7.4vw,86px);margin:18px 0 0;max-width:15ch;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--aco-claro)}
.hero .sub{margin-top:20px;max-width:52ch;font-size:clamp(15px,1.7vw,18px);color:rgba(255,255,255,.86)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.faixa{position:relative;border-top:1px solid rgba(255,255,255,.18);background:rgba(10,12,15,.32);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.faixa ul{display:grid;grid-template-columns:1fr}
.faixa li{padding:14px 0;display:flex;align-items:center;gap:12px;font-size:13px;color:rgba(255,255,255,.9);
  border-bottom:1px solid rgba(255,255,255,.12)}
.faixa li:last-child{border-bottom:0}
.faixa b{font-weight:600}
.faixa svg{flex:0 0 18px;stroke:var(--aco-claro)}

/* ---------- blocos ---------- */
.bloco{padding:clamp(64px,9vw,128px) 0}
.gelo{background:var(--gelo)}
.cabeca{display:grid;gap:22px;margin-bottom:clamp(36px,5vw,64px)}
.cabeca .intro,.intro{color:var(--cinza);max-width:56ch;font-size:clamp(15px,1.6vw,17px)}

/* ---------- soluções: cartões numa grade de fios ---------- */
.grade-sis{display:grid;grid-template-columns:1fr;gap:1px;background:var(--linha);border:1px solid var(--linha)}
.sis{position:relative;background:var(--papel);display:flex;flex-direction:column;transition:background .3s}
.sis:hover{background:var(--gelo)}
.sis .foto{display:block;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--nevoa)}
.sis .foto picture,.sis .foto img{width:100%;height:100%}
.sis .foto img{object-fit:cover;transition:transform 1s cubic-bezier(.22,.61,.36,1)}
.sis:hover .foto img{transform:scale(1.05)}
.sis .txt{padding:24px 24px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.sis h2,.sis h3{font-size:20px;letter-spacing:-.02em;line-height:1.15}
.sis p{font-size:14px;color:var(--cinza);line-height:1.55}
.sis .mais{margin-top:auto;padding-top:14px;font-size:12px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;display:flex;align-items:center;gap:8px}
.sis .mais svg{transition:transform .3s}
.sis:hover .mais svg{transform:translateX(5px)}
.sis-escuro{background:var(--tinta);color:#fff;justify-content:flex-end;min-height:280px}
.sis-escuro:hover{background:var(--grafite)}
.sis-escuro .rotulo{color:var(--suave)}
.sis-escuro p{color:rgba(255,255,255,.72)}
.sis-escuro h2,.sis-escuro h3{font-size:clamp(22px,2.4vw,28px)}

/* ---------- galeria ---------- */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filtro{min-height:44px;padding:0 18px;border:1px solid var(--linha);background:transparent;border-radius:var(--r);
  font-size:13px;font-weight:600;cursor:pointer;color:var(--cinza);transition:.25s}
.filtro:hover{border-color:var(--tinta);color:var(--tinta)}
.filtro[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:#fff}
.galeria{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.item{position:relative;display:block;background:var(--nevoa);cursor:zoom-in;overflow:hidden;aspect-ratio:1}
.item picture,.item img{width:100%;height:100%}
.item img{object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.item:hover img{transform:scale(1.06)}
.item .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;color:#fff;font-size:12px;font-weight:600;
  background:linear-gradient(180deg,transparent,rgba(10,12,15,.74));opacity:0;transition:opacity .3s}
.item:hover .cap,.item:focus-visible .cap{opacity:1}
.ver-todos{margin-top:32px}

#lupa{position:fixed;inset:0;z-index:90;background:rgba(10,12,15,.95);display:none;
  align-items:center;justify-content:center;padding:16px}
#lupa.on{display:flex}
#lupa img{max-width:100%;max-height:82vh;object-fit:contain}
#lupa .leg{position:absolute;left:0;right:0;bottom:18px;text-align:center;color:rgba(255,255,255,.82);font-size:13px;padding:0 70px}
#lupa button{position:absolute;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);color:#fff;cursor:pointer;border-radius:50%;transition:.25s}
#lupa button:hover{background:rgba(255,255,255,.18)}
#lupa .nav{top:50%;transform:translateY(-50%)}
#lupa .ant{left:max(8px,3vw)} #lupa .prox{right:max(8px,3vw)}
#lupa .x{top:18px;right:max(8px,3vw)}

/* ---------- orçamento (escuro) ---------- */
.escuro{background:var(--tinta);color:#fff}
.escuro .rotulo{color:var(--suave)}
.escuro .intro{color:rgba(255,255,255,.72)}
.orc{display:grid;gap:32px}
.passo{border-top:1px solid var(--linha-escura);padding-top:24px;margin-top:24px}
.passo:first-child{margin-top:0}
.passo .num{font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--aco-claro);text-transform:uppercase}
.passo h3{font-size:19px;margin:8px 0 18px;font-weight:600;letter-spacing:-.01em}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:12px 16px;min-height:44px;border:1px solid var(--linha-escura);background:transparent;color:rgba(255,255,255,.84);
  border-radius:var(--r);font-size:13.5px;cursor:pointer;transition:.25s}
.chip:hover{border-color:#fff;color:#fff}
.chip[aria-pressed="true"]{background:#fff;color:var(--tinta);border-color:#fff;font-weight:600}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campo{display:flex;flex-direction:column;gap:7px}
.campo.largo{grid-column:1/-1}
.campo label{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--suave)}
.campo input{height:50px;padding:0 14px;background:rgba(255,255,255,.05);width:100%;
  border:1px solid var(--linha-escura);border-radius:var(--r);color:#fff;transition:border-color .25s,background .25s;font-size:16px}
.campo input::placeholder{color:rgba(255,255,255,.35)}
.campo input:focus{outline:0;border-color:var(--aco-claro);background:rgba(255,255,255,.09)}
.dica{margin-top:12px;font-size:13px;color:var(--suave)}
.resumo{align-self:start;border:1px solid var(--linha-escura);padding:26px;background:rgba(255,255,255,.035);display:grid}
.resumo h3{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--suave)}
.resumo dl{margin:20px 0 6px;display:grid;grid-template-columns:auto 1fr;gap:12px 16px;font-size:14px}
.resumo dt{color:var(--suave)}
.resumo dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}
.resumo .btn{width:100%;margin-top:12px;white-space:normal;text-align:center}
.resumo .nota{margin-top:18px;padding-top:16px;border-top:1px solid var(--linha-escura);font-size:12.5px;color:var(--suave);line-height:1.5}
html:not(.js) .orc-passos,html:not(.js) .resumo dl{display:none}

/* ---------- como funciona ---------- */
.trilha{display:grid;gap:1px;background:var(--linha);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.etapa{background:var(--papel);padding:30px 0}
.gelo .etapa{background:var(--gelo)}
.etapa .n{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--aco-escuro)}
.etapa h3{font-size:19px;margin:12px 0 8px;font-weight:600;letter-spacing:-.01em}
.etapa p{font-size:14.5px;color:var(--cinza)}

/* ---------- a empresa ---------- */
.empresa{display:grid;gap:40px}
.empresa-foto{aspect-ratio:4/5;overflow:hidden;background:var(--nevoa)}
.empresa-foto picture,.empresa-foto img{width:100%;height:100%}
.empresa-foto img{object-fit:cover}
.empresa-txt > p{color:var(--cinza);margin-top:18px;max-width:60ch}
.empresa-txt > p:first-of-type{margin-top:22px}
.empresa-txt > .h-sec + p{margin-top:24px}
.difs{margin-top:34px;border-top:1px solid var(--linha);display:grid}
.difs li{padding:16px 0;border-bottom:1px solid var(--linha);display:grid;gap:4px}
.difs b{font-weight:600;font-size:16px}
.difs span{color:var(--cinza);font-size:14.5px}

/* ---------- avaliações ---------- */
.avals{display:grid;gap:1px;background:var(--linha);border:1px solid var(--linha)}
.aval{background:var(--papel);padding:28px;display:flex;flex-direction:column;gap:16px}
.estrelas{color:#C9962B;letter-spacing:3px;font-size:14px}
.aval blockquote{font-size:clamp(18px,2vw,21px);font-weight:600;letter-spacing:-.015em;line-height:1.35}
.aval figcaption{margin-top:auto;display:grid;font-size:13.5px}
.aval figcaption span{color:var(--cinza)}

/* ---------- contato ---------- */
.contato{display:grid;gap:12px}
.cartao{border:1px solid var(--linha);background:var(--papel);padding:28px;display:flex;flex-direction:column;transition:border-color .3s}
.cartao:hover{border-color:var(--tinta)}
.cartao h3{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--cinza)}
.cartao .val{margin-top:14px;font-size:clamp(19px,2.6vw,24px);font-weight:800;letter-spacing:-.03em;display:block}
.cartao p{margin-top:10px;font-size:14px;color:var(--cinza)}
.cartao .mais{margin-top:18px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:8px}

/* ---------- páginas internas ---------- */
.topo-pag{padding:calc(var(--barra) + 28px) 0 clamp(36px,5vw,56px)}
.topo-pag .cabeca{margin-bottom:0}
.migalhas{display:flex;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--cinza);margin-bottom:clamp(28px,4vw,48px)}
.migalhas a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.migalhas a:hover{color:var(--tinta)}
.migalhas span{display:inline-flex;align-items:center;min-height:44px}
.migalhas [aria-current]{color:var(--tinta);font-weight:600}
.sol{display:grid;gap:36px}
.sol-txt > p{color:var(--cinza);margin-top:16px;max-width:60ch}
.sol-txt .lead{font-size:clamp(17px,1.9vw,20px);color:var(--tinta);margin-top:18px}
.sol-foto{aspect-ratio:4/3;overflow:hidden;background:var(--nevoa)}
.sol-foto picture,.sol-foto img{width:100%;height:100%}
.sol-foto img{object-fit:cover}
.ficha{margin-top:28px;border-top:1px solid var(--linha)}
.ficha li{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--linha);font-size:14px}
.ficha li span{color:var(--cinza)}
.ficha li b{font-weight:600;text-align:right}
.aplica{border-top:1px solid var(--linha);padding-top:28px}
.aplica ul{margin-top:18px;display:grid;gap:1px;background:var(--linha);border:1px solid var(--linha)}
.aplica li{background:var(--papel);padding:18px 20px;font-weight:600}
.outras{display:grid;gap:1px;background:var(--linha);border:1px solid var(--linha)}
.outra{background:var(--papel);padding:20px;display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-weight:600;transition:background .3s}
.outra:hover{background:var(--gelo)}
.outra svg{flex:0 0 auto;transition:transform .3s}
.outra:hover svg{transform:translateX(5px)}

/* ---------- faixa de chamada ---------- */
.chamada{padding:clamp(56px,8vw,104px) 0}
.chamada-grade{display:grid;gap:32px;align-items:end}
.chamada .intro{margin-top:18px}
.chamada-acoes{display:grid;gap:12px}

/* ---------- rodapé ---------- */
footer{background:#111315;color:rgba(255,255,255,.68);padding:64px 0 32px;font-size:13.5px}
footer .topo-rodape{display:grid;gap:34px;padding-bottom:36px;border-bottom:1px solid var(--linha-escura)}
.pe-marca img{height:48px;width:auto}
.pe-marca p{margin-top:18px;max-width:34ch}
footer h4{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--suave);margin:0 0 10px}
footer ul{display:grid}
footer li a{display:inline-flex;align-items:center;min-height:44px}
footer a:hover{color:#fff}
footer .fim{padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:12.5px;color:var(--suave)}

/* ---------- WhatsApp flutuante ---------- */
#flutua{position:fixed;right:14px;bottom:14px;z-index:70;display:flex;align-items:center;justify-content:center;gap:10px;
  width:56px;height:56px;border-radius:50%;background:var(--zap);color:#fff;font-size:14px;font-weight:600;
  box-shadow:0 10px 30px rgba(10,12,17,.24);opacity:0;transform:translateY(20px);pointer-events:none;transition:.45s}
#flutua svg{width:26px;height:26px}
#flutua .rotulo-zap{display:none}
#flutua.on{opacity:1;transform:none;pointer-events:auto}
#flutua:hover{background:var(--zap-2)}
html:not(.js) #flutua{opacity:1;transform:none;pointer-events:auto}

/* ---------- entrada ao rolar ---------- */
.js .rev{opacity:0;transform:translateY(22px)}
.js .rev.vis{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}

/* ---------- telas maiores ---------- */
@media (max-width:400px){
  .hero-cta .btn{flex:1 1 100%}
  .campos{grid-template-columns:1fr}
  .resumo{padding:22px 18px}
  .galeria{gap:6px}
}
@media (min-width:640px){
  .faixa ul{grid-template-columns:repeat(3,1fr);gap:28px}
  .faixa li{border-bottom:0}
  .grade-sis{grid-template-columns:repeat(2,1fr)}
  .galeria{grid-template-columns:repeat(3,1fr)}
  .trilha{grid-template-columns:repeat(2,1fr)}
  .contato{grid-template-columns:repeat(2,1fr)}
  .cartao-largo{grid-column:1/-1}
  .avals{grid-template-columns:repeat(3,1fr)}
  .aplica ul{grid-template-columns:repeat(2,1fr)}
  .outras{grid-template-columns:repeat(2,1fr)}
  .chamada-acoes{grid-auto-flow:column;justify-content:start}
  footer .topo-rodape{grid-template-columns:1.4fr 1fr 1fr}
  .pe-marca{grid-column:1/-1}
}
@media (min-width:1024px){
  nav.desk{display:flex}
  .tel-topo{display:inline-flex}
  .hamb{display:none}
  .grade-sis{grid-template-columns:repeat(4,1fr)}
  .galeria{grid-template-columns:repeat(4,1fr)}
  .trilha{grid-template-columns:repeat(4,1fr)}
  .etapa{padding:36px 24px}
  .cabeca{grid-template-columns:1.1fr .9fr;align-items:end}
  .orc{grid-template-columns:1.15fr .85fr;gap:56px}
  .resumo{position:sticky;top:96px}
  .empresa{grid-template-columns:.9fr 1.1fr;gap:72px;align-items:center}
  .contato{grid-template-columns:repeat(3,1fr)}
  .cartao-largo{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:32px}
  .cartao-largo .mais{margin-top:0;flex:0 0 auto}
  .sol{grid-template-columns:1fr 1fr;gap:64px;align-items:start}
  .sol-foto{position:sticky;top:96px}
  .aplica ul{grid-template-columns:repeat(4,1fr)}
  .outras{grid-template-columns:repeat(3,1fr)}
  .chamada-grade{grid-template-columns:1.2fr .8fr}
  .chamada-acoes{grid-auto-flow:row;justify-content:stretch}
  footer .topo-rodape{grid-template-columns:1.4fr 1fr 1fr 1fr}
  .pe-marca{grid-column:auto}
  #flutua{width:auto;border-radius:40px;padding:0 20px 0 18px;right:16px;bottom:16px}
  #flutua svg{width:20px;height:20px}
  #flutua .rotulo-zap{display:inline}
}
@media (max-width:1023px){
  .btn-topo{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .js .rev{opacity:1;transform:none}
  .hero-img img{transform:none}
}
