*{margin:0;padding:0;box-sizing:border-box}
:root{
  --grafite:#0a0e14;
  --chumbo:#141a24;
  --chumbo2:#1c2532;
  --metal:#8a95a8;
  --metal2:#c8d0de;
  --branco:#ffffff;
  --azul:#1a4fb8;
  --azul2:#2f6bff;
  --azulsoft:rgba(47,107,255,.12);
  --borda:rgba(255,255,255,.08);
  --borda2:rgba(255,255,255,.14);
}
html{scroll-behavior:smooth}
body{
  font-family:Inter,system-ui,sans-serif;
  background:var(--grafite);
  color:var(--branco);
  line-height:1.65;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--azul2);font-weight:700;margin-bottom:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.84rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:.22s}
.btnlg{padding:15px 28px;font-size:.86rem}
.btnazul{background:var(--azul2);color:#fff;border-color:var(--azul2)}
.btnazul:hover{background:#1e4fd6;transform:translateY(-1px);box-shadow:0 10px 30px rgba(47,107,255,.35)}
.btnout{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.btnout:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btnfull{width:100%}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;z-index:40;background:rgba(10,14,20,.96);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--borda);transition:all .35s cubic-bezier(.2,.8,.2,1)}
.hdrin{max-width:1380px;margin:0 auto;padding:24px 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;transition:padding .35s cubic-bezier(.2,.8,.2,1)}
.hdr.scrolled .hdrin{padding:12px 36px}
.logo{display:flex;align-items:center;gap:12px}
.logo img{height:135px;width:auto;display:block;filter:drop-shadow(0 2px 10px rgba(0,0,0,.45));transition:height .35s cubic-bezier(.2,.8,.2,1),transform .35s ease;will-change:height}
.hdr.scrolled .logo img{height:70px}
.logoa{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#0f2a6b,#2f6bff);display:grid;place-items:center;font-family:Space Grotesk,sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:.02em}
.logotxt{font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:.14em;font-size:1.05rem;line-height:1}
.logotxt span{display:block;font-family:Inter,sans-serif;font-weight:500;letter-spacing:.06em;font-size:.58rem;color:var(--metal);text-transform:none;margin-top:2px}
.nav{display:flex;align-items:center;gap:22px;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.nav a em{color:var(--branco);transition:.18s;font-style:normal;text-shadow:0 0 15px rgba(47,107,255,.3)}
.nav a:hover em,.nav a:focus-visible em,.nav a.active em{color:var(--azul2);text-shadow:0 0 25px rgba(47,107,255,.5)}
.nav .btn{opacity:1}
.nav .btn:hover{color:#fff}
.burg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.burg span{width:22px;height:2px;background:#fff;border-radius:99px;transition:.2s}
.buscabar{max-width:1280px;margin:0 auto;padding:0 28px 14px;display:none;gap:12px;align-items:center}
.buscabar.open{display:flex;flex-direction:column;align-items:stretch}
.buscabar input{width:100%;background:rgba(255,255,255,.07);border:1px solid var(--borda2);border-radius:999px;padding:12px 18px;color:#fff;outline:none}
.buscabar input::placeholder{color:rgba(255,255,255,.45)}
.buscahint{font-size:.74rem;color:var(--metal)}

/* hero com Parallax estilo Wix */
.hero{position:relative;min-height:108vh;display:grid;place-items:center;padding:210px 28px 100px;overflow:hidden}
.herobg{
  position:absolute;
  top:-15%;
  left:0;
  width:100%;
  height:130%;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  background-image:
    linear-gradient(180deg,rgba(10,14,20,.15) 0%,rgba(10,14,20,.55) 70%,rgba(10,14,20,.98) 100%),
    url('../img/hero-bg.png');
  will-change:transform;
  transform:translate3d(0,0,0) scale(1.05);
  image-rendering:-webkit-optimize-contrast;
  image-rendering:high-quality;
  backface-visibility:hidden;
  pointer-events:none;
}
.herooverlay{position:absolute;inset:0;background:
  radial-gradient(700px 500px at 20% 20%,rgba(47,107,255,.18),transparent 60%),
  linear-gradient(90deg,rgba(10,14,20,.55) 0%,transparent 62%)}
.herocont{position:relative;max-width:1280px;width:100%;margin:0 auto;padding-top:40px}
.kicker{color:var(--azul2);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;margin-bottom:18px}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
.hero h1{animation:float 3s ease-in-out infinite}
.hero h1{font-family:Space Grotesk,sans-serif;font-weight:700;line-height:.95;font-size:clamp(2.2rem,5.2vw,4.4rem);letter-spacing:-.02em;margin-bottom:18px}
.hero h1 em{
  font-style:normal;
  font-weight:700;
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
  display:inline-block;
}
.posleft h2 span{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
  display:inline-block;
}
@keyframes confiabilidadeShimmer{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes confiabilidadeGlow{
  0%,100%{filter:drop-shadow(0 0 10px rgba(47,107,255,.28))}
  50%{filter:drop-shadow(0 0 22px rgba(47,107,255,.62))}
}
@media(prefers-reduced-motion:reduce){
  .hero h1 em, .posleft h2 span{animation:none}
}
.herosub{max-width:640px;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.8vw,1.18rem);margin-bottom:28px}
.heroacts{display:flex;gap:14px;flex-wrap:wrap}
.heroscroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:28px;height:44px;border:1px solid rgba(255,255,255,.22);border-radius:999px;display:grid;place-items:start center;padding-top:8px}
.heroscroll span{width:4px;height:10px;background:#fff;border-radius:999px;animation:scrl 1.6s ease infinite}
@keyframes scrl{0%{transform:translateY(0);opacity:1}100%{transform:translateY(14px);opacity:0}}

/* posicionamento */
.posicionamento{padding:105px 0 50px;background:var(--grafite);border-top:1px solid var(--borda)}
.posgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:start}
.posleft h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.05;letter-spacing:-.02em}
.posleft h2 span{color:var(--azul2)}
.posright p{color:rgba(255,255,255,.78);font-size:1.02rem}
.posright .muted{margin-top:14px;color:var(--metal);font-style:italic}

/* diferenciais topo com animação em cada quadradinho */
.diferenciais{padding:40px 0 105px}
.difgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dif{
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));
  border:1px solid var(--borda);
  border-radius:18px;
  padding:26px 22px;
  position:relative;
  overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  will-change:transform;
}
.dif::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle at center, rgba(47,107,255,.14) 0%, transparent 62%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
.dif::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:60%;
  height:100%;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.16) 50%, transparent 70%);
  transform:translateX(-140%) skewX(-18deg);
  transition:transform .65s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  opacity:0;
}
.dif:hover::before{opacity:1}
.dif:hover::after{
  transform:translateX(260%) skewX(-18deg);
  opacity:1;
  transition:transform .75s cubic-bezier(.2,.8,.2,1), opacity .3s ease;
}
.dif:hover{
  transform:translateY(-9px) scale(1.025) rotateX(2deg);
  border-color:rgba(47,107,255,.52);
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.02));
  box-shadow:0 18px 40px rgba(0,0,0,.42), 0 0 22px rgba(47,107,255,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.dif .ico{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--azulsoft);color:var(--azul2);font-size:1.1rem;margin-bottom:14px;
  transition:transform .38s cubic-bezier(.2,.8,.2,1), background .35s ease, color .35s ease, box-shadow .35s ease, border .35s ease;
  animation:difIconFloat 3.2s ease infinite;
  border:1px solid transparent;
}
.dif:nth-child(1) .ico{animation-delay:0s}
.dif:nth-child(2) .ico{animation-delay:.35s}
.dif:nth-child(3) .ico{animation-delay:.7s}
.dif:nth-child(4) .ico{animation-delay:1.05s}
.dif:hover .ico{
  transform:scale(1.18) rotate(8deg) translateY(-2px);
  background:var(--azul2);
  color:#fff;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 10px 24px rgba(47,107,255,.48), 0 0 0 6px rgba(47,107,255,.12);
  animation-play-state:paused;
}
.dif h3{font-size:.95rem;letter-spacing:.02em;margin-bottom:8px;transition:color .28s ease, transform .28s ease, letter-spacing .28s ease}
.dif:hover h3{color:#fff;transform:translateY(-1px);letter-spacing:.03em}
.dif p{font-size:.88rem;color:var(--metal);line-height:1.6;transition:color .28s ease, transform .28s ease}
.dif:hover p{color:#c8d0de;transform:translateY(-1px)}
.dif .difbar{
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#2f6bff,transparent);
  background-size:200% 100%;
  opacity:0;
  transform:scaleX(.4);
  transition:opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1), background-position .6s ease;
}
.dif:hover .difbar{
  opacity:1;
  transform:scaleX(1);
  animation:difBarShift 1.2s ease infinite;
}
@keyframes difIconFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.06)}
}
@keyframes difBarShift{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@media(prefers-reduced-motion:reduce){
  .dif .ico{animation:none}
  .dif, .dif:hover{transform:none}
  .dif::after{display:none}
}

/* Faixa Parallax estilo Wix - efeito idêntico aos outros sites */
.faixa-parallax{
  position:relative;
  min-height:600px;
  height:65vh;
  display:grid;
  place-items:center;
  padding:0;
  overflow:hidden;
  border-top:1px solid var(--borda);
  border-bottom:1px solid var(--borda);
  background:#0a0e14;
}
.faixa-parallax .parallax-bg{
  position:absolute;
  top:-30%;
  left:0;
  width:100%;
  height:160%;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  will-change:transform;
  transform:translate3d(0,0,0) scale(1.12);
  image-rendering:-webkit-optimize-contrast;
  image-rendering:high-quality;
  backface-visibility:hidden;
  pointer-events:none;
}
/* Primeira e segunda faixas da home - imagem 100% pura sem gradiente, máxima nitidez Wix 8K */
.faixa-primeira .parallax-bg,
.faixa-segunda .parallax-bg{
  background-position:center center;
  background-size:cover;
  filter:none;
  opacity:1;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:high-quality;
}
.faixa-parallax-texto{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:860px;
  margin:0 auto;
  padding:0 28px;
}
.faixa-parallax-texto h2{
  font-family:Space Grotesk,sans-serif;
  font-size:clamp(1.8rem,3.8vw,3rem);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.02em;
}
.hl-parallax2{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  background:none;
  display:inline-block;
  text-shadow:0 2px 18px rgba(0,0,0,.45), 0 0 20px rgba(255,255,255,.16);
  animation:confiabilidadeGlow 3.6s ease infinite;
}
.hl-parallax2-padrao{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
/* Última faixa da home com cor reduzida em 50 porcento */
.faixa-ultima .parallax-bg{
  background-position:center center;
  background-size:cover;
  filter:brightness(0.5) saturate(0.5);
  opacity:1;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:high-quality;
}
/* Faixa simples sem parallax na página A ABEMAK */
.faixa-simples{
  position:relative;
  overflow:hidden;
  line-height:0;
  border-top:1px solid var(--borda);
  border-bottom:1px solid var(--borda);
  background:#0a0e14;
}
.faixa-simples img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}
.faixa-entre-contato{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:840px;
  margin:0 auto;
  padding:0 28px;
}
.faixa-entre-contato h2{
  font-family:Space Grotesk,sans-serif;
  font-size:clamp(2rem,4.2vw,3.6rem);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-.02em;
}
.hl-entre{
  color:#ffffff;
  -webkit-text-fill-color:#ffffff;
  background:none;
  display:inline-block;
  text-shadow:0 2px 20px rgba(0,0,0,.45), 0 0 22px rgba(255,255,255,.18);
  animation:confiabilidadeGlow 3.6s ease infinite;
}
.hl-contato-padrao{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
.hl-compromisso{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
.faixa-content{
  position:relative;
  z-index:2;
  text-align:center;
  max-width:840px;
  margin:0 auto;
}
.faixa-content h2{
  font-family:Space Grotesk,sans-serif;
  font-size:clamp(1.7rem,3.2vw,2.7rem);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.02em;
  margin:12px 0 24px;
  color:var(--branco);
  text-shadow:0 4px 24px rgba(0,0,0,.75);
}

/* Seção Quem Somos (Fundo Branco & Textos Escuros) */
.quem-somos{
  background:#ffffff;
  color:#0a0e14;
  padding:90px 0;
  border-top:1px solid #e2e8f0;
  border-bottom:1px solid #e2e8f0;
}
.eyebrow-dark{
  font-size:.76rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#1a4fb8;
  font-weight:700;
  margin-bottom:12px;
}
.qs-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:48px;
  align-items:start;
}
.qs-left h2{
  font-family:Space Grotesk,sans-serif;
  font-size:clamp(1.75rem,3.2vw,2.7rem);
  font-weight:700;
  line-height:1.15;
  color:#0f172a;
  letter-spacing:-.02em;
  margin-bottom:18px;
}
.highlight-text{
  background:linear-gradient(100deg,#0f172a 8%,#1a4fb8 22%,#2f6bff 36%,#5b8aff 48%,#2f6bff 60%,#1a4fb8 74%,#0f172a 92%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  font-weight:800;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
@keyframes textShimmer{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.qs-lead{
  color:#475569;
  font-size:1.02rem;
  line-height:1.65;
  margin-bottom:18px;
}
.qs-text{
  color:#475569;
  font-size:.98rem;
  line-height:1.65;
  margin-bottom:14px;
}
.qs-strong{
  color:#0f172a;
  font-size:1rem;
  line-height:1.6;
  margin:18px 0 22px;
}
.qs-right{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.qs-card{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:24px 20px;
  position:relative;
  overflow:hidden;
  transition:transform .38s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  will-change:transform;
}
.qs-card::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle at center, rgba(47,107,255,.10) 0%, transparent 62%);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
.qs-card::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:55%;
  height:100%;
  background:linear-gradient(115deg, transparent 30%, rgba(47,107,255,.14) 50%, transparent 70%);
  transform:translateX(-140%) skewX(-18deg);
  transition:transform .68s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  opacity:0;
}
.qs-card:hover::before{opacity:1}
.qs-card:hover::after{
  transform:translateX(260%) skewX(-18deg);
  opacity:1;
}
.qs-card:hover{
  transform:translateY(-8px) scale(1.025);
  background:#ffffff;
  border-color:#2f6bff;
  box-shadow:0 18px 36px rgba(15,23,42,.10), 0 0 20px rgba(47,107,255,.14), inset 0 1px 0 rgba(255,255,255,.9);
}
.qs-num{
  font-family:Space Grotesk,sans-serif;
  font-size:1.85rem;
  font-weight:800;
  color:#1a4fb8;
  line-height:1;
  margin-bottom:8px;
  display:inline-block;
  transition:transform .38s cubic-bezier(.2,.8,.2,1), color .35s ease, filter .35s ease;
  animation:qsNumFloat 3.4s ease infinite;
}
.qs-card:nth-child(1) .qs-num{animation-delay:0s}
.qs-card:nth-child(2) .qs-num{animation-delay:.35s}
.qs-card:nth-child(3) .qs-num{animation-delay:.7s}
.qs-card:nth-child(4) .qs-num{animation-delay:1.05s}
.qs-card:hover .qs-num{
  transform:scale(1.12) translateY(-2px);
  color:#2f6bff;
  filter:drop-shadow(0 4px 10px rgba(47,107,255,.28));
  animation-play-state:paused;
}
.qs-card h3{
  font-size:.96rem;
  font-weight:700;
  color:#0f172a;
  margin-bottom:6px;
  transition:color .28s ease, transform .28s ease, letter-spacing .28s ease;
}
.qs-card:hover h3{color:#1a4fb8;transform:translateY(-1px);letter-spacing:.02em}
.qs-card p{
  font-size:.86rem;
  color:#64748b;
  line-height:1.5;
  transition:color .28s ease, transform .28s ease;
}
.qs-card:hover p{color:#475569;transform:translateY(-1px)}
.qs-card .qsbar{
  position:absolute;
  left:20px;
  right:20px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#2f6bff,transparent);
  background-size:200% 100%;
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);
}
.qs-card:hover .qsbar{
  opacity:1;
  transform:scaleX(1);
  animation:qsBarShift 1.2s ease infinite;
}
@keyframes qsNumFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-4px) scale(1.05)}
}
@keyframes qsBarShift{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@media(prefers-reduced-motion:reduce){
  .qs-card .qs-num{animation:none}
  .qs-card, .qs-card:hover{transform:none}
  .qs-card::after{display:none}
}

/* Bloco de Marcas Animado dentro do Quem Somos (Fundo Branco) */
.qs-marcas-block{
  margin-top:75px;
  padding-top:55px;
  border-top:1px solid #f1f5f9;
}
.qs-marcas-hd{
  text-align:center;
  max-width:740px;
  margin:0 auto 36px;
}
.qs-marcas-hd h2{
  font-family:Space Grotesk,sans-serif;
  font-size:clamp(1.7rem,3vw,2.5rem);
  font-weight:800;
  letter-spacing:-.02em;
  margin-bottom:8px;
  background:linear-gradient(100deg,#0f172a 8%,#1a4fb8 22%,#2f6bff 36%,#5b8aff 48%,#2f6bff 60%,#1a4fb8 74%,#0f172a 92%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
.qs-marcas-sub{
  color:#64748b;
  font-size:1rem;
}
.marcas-footer-text{
  text-align:center;
  max-width:860px;
  margin:32px auto 0;
  line-height:1.65;
}
.marcas-footer-text strong{
  color:#0f172a;
  font-weight:600;
}

/* Marquee / Carrossel Infinito com Cores Originais e Logos Ampliados */
.marcas-ticker-wrap{
  position:relative;
  width:100%;
  overflow:hidden;
  padding:24px 0;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:24px;
  mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 5%,#000 95%,transparent 100%);
}
.marcas-ticker-track{
  display:flex;
  width:max-content;
  will-change:transform;
  animation:marquee 60s linear infinite;
}
.marcas-ticker-wrap:hover .marcas-ticker-track{
  animation-play-state:paused;
}
.marcas-slide{
  display:flex;
  align-items:center;
  gap:22px;
  padding-right:22px;
}
.brand-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:220px;
  height:105px;
  padding:14px 24px;
  background:#ffffff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  box-shadow:0 4px 14px rgba(0,0,0,.04);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, box-shadow .28s ease;
  flex-shrink:0;
  cursor:pointer;
}
.brand-card img{
  max-width:175px;
  max-height:72px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:none !important;
  opacity:1 !important;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.brand-card:hover{
  border-color:#2f6bff;
  transform:translateY(-6px) scale(1.03);
  box-shadow:0 14px 32px rgba(47,107,255,.18);
}
.brand-card:hover img{
  transform:scale(1.05);
}

@keyframes marquee{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(-50%,0,0)}
}

/* solucoes */
.solucoes{padding:110px 0;background:var(--chumbo);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.sechd{max-width:760px;margin:0 auto 40px;text-align:center}
.sechd h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.05;letter-spacing:-.02em}
.hl-solucoes{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
.hl-porque{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
.hl-segmentos{
  background:linear-gradient(100deg,#c8d0de 10%,#7fa0ff 22%,#2f6bff 36%,#ffffff 48%,#2f6bff 60%,#7fa0ff 74%,#c8d0de 90%);
  background-size:220% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  display:inline-block;
  animation:confiabilidadeShimmer 3.6s ease infinite, confiabilidadeGlow 3.6s ease infinite;
}
.secsub{color:var(--metal);margin-top:10px}
.solgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.solcard{
  background:var(--grafite);
  border:1px solid var(--borda);
  border-radius:18px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  position:relative;
  transition:transform .38s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  will-change:transform;
}
.solcard::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle at center, rgba(47,107,255,.13) 0%, transparent 62%);
  opacity:0;
  transition:opacity .38s ease;
  pointer-events:none;
  z-index:1;
}
.solcard::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:55%;
  height:100%;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.14) 50%, transparent 70%);
  transform:translateX(-150%) skewX(-18deg);
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  z-index:2;
  opacity:0;
}
.solcard:hover::before{opacity:1}
.solcard:hover::after{transform:translateX(270%) skewX(-18deg);opacity:1}
.solcard:hover{
  transform:translateY(-8px) scale(1.02);
  border-color:rgba(47,107,255,.48);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  box-shadow:0 18px 42px rgba(0,0,0,.42), 0 0 22px rgba(47,107,255,.18);
}
.solimg{height:170px;background:var(--chumbo2) center/cover no-repeat;position:relative;overflow:hidden;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.solcard:hover .solimg{transform:scale(1.06)}
.solimg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,14,20,.55));transition:opacity .35s ease}
.solcard:hover .solimg::after{opacity:.85}
.solbody{padding:18px 18px 16px;display:flex;flex-direction:column;gap:10px;flex:1;position:relative;z-index:3}
.solbody h3{font-size:.98rem;letter-spacing:.01em;line-height:1.25;transition:color .28s ease, transform .28s ease, letter-spacing .28s ease}
.solcard:hover .solbody h3{color:#fff;transform:translateY(-1px);letter-spacing:.02em}
.solbody p{font-size:.86rem;color:var(--metal);line-height:1.55;flex:1;transition:color .28s ease}
.solcard:hover .solbody p{color:#c8d0de}
.solbtn{margin-top:6px;align-self:flex-start;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--borda2);font-weight:700;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;transition:.28s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}
.solbtn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
}
.solcard:hover .solbtn{
  background:var(--azul2);
  border-color:var(--azul2);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(47,107,255,.32);
}
.solcard:hover .solbtn::before{transform:translateX(120%)}
.solbar{
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#2f6bff,transparent);
  background-size:200% 100%;
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);
  z-index:3;
}
.solcard:hover .solbar{opacity:1;transform:scaleX(1);animation:solBarShift 1.2s ease infinite}
@keyframes solBarShift{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@media(prefers-reduced-motion:reduce){
  .solcard, .solcard:hover{transform:none}
  .solcard::after, .solcard::before{display:none}
  .solcard:hover .solimg{transform:none}
}
.buscavazio{text-align:center;color:var(--metal);margin-top:18px}

/* porque com animação nos 6 cards sequenciais */
.porque{padding:110px 0;background:var(--chumbo)}
.porquegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:16px}
.pq{
  background:var(--grafite);
  border:1px solid var(--borda);
  border-radius:18px;
  padding:26px 22px;
  position:relative;
  overflow:hidden;
  transition:transform .38s cubic-bezier(.2,.8,.2,1), border-color .35s ease, box-shadow .35s ease, background .35s ease;
  will-change:transform;
}
.pq::before{
  content:"";
  position:absolute;
  top:-50%;
  left:-50%;
  width:200%;
  height:200%;
  background:radial-gradient(circle at center, rgba(47,107,255,.13) 0%, transparent 62%);
  opacity:0;
  transition:opacity .38s ease;
  pointer-events:none;
}
.pq::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:55%;
  height:100%;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.14) 50%, transparent 70%);
  transform:translateX(-150%) skewX(-18deg);
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
  opacity:0;
}
.pq:hover::before{opacity:1}
.pq:hover::after{transform:translateX(270%) skewX(-18deg);opacity:1}
.pq:hover{
  transform:translateY(-8px) scale(1.02);
  border-color:rgba(47,107,255,.48);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  box-shadow:0 18px 42px rgba(0,0,0,.42), 0 0 22px rgba(47,107,255,.18);
}
.pqico{
  width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--azulsoft);color:var(--azul2);margin-bottom:14px;
  transition:transform .38s cubic-bezier(.2,.8,.2,1), background .35s ease, color .35s ease, box-shadow .35s ease, border .35s ease;
  animation:pqIconFloat 3.2s ease infinite;
  border:1px solid transparent;
}
.pq:nth-child(1) .pqico{animation-delay:0s}
.pq:nth-child(2) .pqico{animation-delay:.25s}
.pq:nth-child(3) .pqico{animation-delay:.5s}
.pq:nth-child(4) .pqico{animation-delay:.75s}
.pq:nth-child(5) .pqico{animation-delay:1s}
.pq:nth-child(6) .pqico{animation-delay:1.25s}
.pq:hover .pqico{
  transform:scale(1.16) rotate(8deg) translateY(-2px);
  background:var(--azul2);
  color:#fff;
  border-color:rgba(255,255,255,.22);
  box-shadow:0 10px 24px rgba(47,107,255,.45), 0 0 0 6px rgba(47,107,255,.12);
  animation-play-state:paused;
}
.pq h3{font-size:.98rem;margin-bottom:8px;transition:color .28s ease, transform .28s ease, letter-spacing .28s ease}
.pq:hover h3{color:#fff;transform:translateY(-1px);letter-spacing:.02em}
.pq p{font-size:.88rem;color:var(--metal);transition:color .28s ease, transform .28s ease}
.pq:hover p{color:#c8d0de;transform:translateY(-1px)}
.pq .pqbar{
  position:absolute;
  left:22px;
  right:22px;
  bottom:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#2f6bff,transparent);
  background-size:200% 100%;
  opacity:0;
  transform:scaleX(.35);
  transition:opacity .35s ease, transform .45s cubic-bezier(.2,.8,.2,1);
}
.pq:hover .pqbar{opacity:1;transform:scaleX(1);animation:pqBarShift 1.2s ease infinite}
@keyframes pqIconFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.06)}
}
@keyframes pqBarShift{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@media(prefers-reduced-motion:reduce){
  .pq .pqico{animation:none}
  .pq, .pq:hover{transform:none}
  .pq::after{display:none}
}

/* segmentos com efeito em volta de cada item nos 10 cards */
.segmentos{padding:110px 0;background:var(--grafite)}
.seggrid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.seg{
  border-radius:20px;
  overflow:hidden;
  background:var(--chumbo);
  border:1px solid var(--borda);
  position:relative;
  transition:transform .32s cubic-bezier(.2,.8,.2,1), border-color .32s ease, box-shadow .32s ease;
}
.seg::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:22px;
  padding:2px;
  background:linear-gradient(135deg,#2f6bff,#7fa0ff,#2f6bff,#1a4fb8);
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
  z-index:0;
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.seg:hover::before{
  opacity:1;
  animation:segRingSpin 1.6s linear infinite;
}
.seg::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:24px;
  border:1px solid rgba(47,107,255,.0);
  transition:border-color .35s ease, box-shadow .35s ease;
  pointer-events:none;
  z-index:0;
}
.seg:hover::after{
  border-color:rgba(47,107,255,.28);
  box-shadow:0 0 0 8px rgba(47,107,255,.08), 0 0 28px rgba(47,107,255,.22);
}
.seg:hover{
  transform:translateY(-7px) scale(1.025);
  border-color:rgba(47,107,255,.55);
  box-shadow:0 20px 42px rgba(0,0,0,.45);
}
.segimg{
  height:180px;
  background:var(--chumbo2) center/cover no-repeat;
  transition:transform .4s cubic-bezier(.2,.8,.2,1);
  position:relative;
  z-index:1;
  animation:segKenBurns 8s ease-in-out infinite alternate;
}
.seg:nth-child(1) .segimg{animation-delay:0s}
.seg:nth-child(2) .segimg{animation-delay:.4s}
.seg:nth-child(3) .segimg{animation-delay:.8s}
.seg:nth-child(4) .segimg{animation-delay:1.2s}
.seg:nth-child(5) .segimg{animation-delay:1.6s}
.seg:nth-child(6) .segimg{animation-delay:2s}
.seg:nth-child(7) .segimg{animation-delay:2.4s}
.seg:nth-child(8) .segimg{animation-delay:2.8s}
.seg:nth-child(9) .segimg{animation-delay:3.2s}
.seg:nth-child(10) .segimg{animation-delay:3.6s}
.seg:hover .segimg{
  animation:segShake .45s ease 1 !important;
}
@keyframes segKenBurns{
  0%{transform:scale(1)}
  100%{transform:scale(1.07)}
}
@keyframes segShake{
  0%,100%{transform:scale(1.08) translate(0,0) rotate(0)}
  15%{transform:scale(1.08) translate(-2px,1px) rotate(-0.7deg)}
  30%{transform:scale(1.08) translate(2px,-1px) rotate(0.7deg)}
  45%{transform:scale(1.08) translate(-1.5px,1px) rotate(-0.4deg)}
  60%{transform:scale(1.08) translate(1.5px,-1px) rotate(0.4deg)}
  75%{transform:scale(1.08) translate(-1px,0) rotate(-0.2deg)}
  90%{transform:scale(1.08) translate(1px,0) rotate(0.2deg)}
}
.seg span{
  animation:segTextGlow 3.6s ease infinite;
}
.seg:nth-child(1) span{animation-delay:0s}
.seg:nth-child(2) span{animation-delay:.35s}
.seg:nth-child(3) span{animation-delay:.7s}
.seg:nth-child(4) span{animation-delay:1.05s}
.seg:nth-child(5) span{animation-delay:1.4s}
.seg:nth-child(6) span{animation-delay:1.75s}
.seg:nth-child(7) span{animation-delay:2.1s}
.seg:nth-child(8) span{animation-delay:2.45s}
.seg:nth-child(9) span{animation-delay:2.8s}
.seg:nth-child(10) span{animation-delay:3.15s}
@keyframes segTextGlow{
  0%,100%{text-shadow:0 0 0 rgba(47,107,255,0)}
  50%{text-shadow:0 0 10px rgba(47,107,255,.32)}
}
@media(prefers-reduced-motion:reduce){
  .segimg, .seg span{animation:none}
  .seg:hover .segimg{animation:none;transform:scale(1.03)}
}
.seg span{display:block;padding:16px 18px;font-weight:700;font-size:.98rem;letter-spacing:.01em;text-align:center;color:#ffffff;position:relative;z-index:1}
@keyframes segRingSpin{
  0%{filter:hue-rotate(0deg)}
  100%{filter:hue-rotate(360deg)}
}
@keyframes segBarShift{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@media(prefers-reduced-motion:reduce){
  .seg, .seg:hover{transform:none}
  .seg::after{display:none}
  .seg:hover .segimg{transform:none}
}

/* consultivo */
.consultivo{padding:26px 0 70px}
.consgrid{display:grid;grid-template-columns:1fr;gap:22px;align-items:stretch}
.constxt{padding:38px 32px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.constxt h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.05}
.constxt p{color:var(--metal2)}
.consimg{min-height:320px;background:var(--chumbo2) center/cover no-repeat}

/* conteudo */
.conteudo{padding:70px 0;background:var(--chumbo);border-top:1px solid var(--borda);border-bottom:1px solid var(--borda)}
.contgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.contcard{background:var(--grafite);border:1px solid var(--borda);border-radius:18px;padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:.22s}
.contcard:hover{border-color:rgba(47,107,255,.3);transform:translateY(-3px)}
.conttag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--azul2);font-weight:800}
.contcard h3{font-size:1rem;line-height:1.3}
.contcard p{font-size:.86rem;color:var(--metal)}
.contlink{margin-top:auto;font-weight:800;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--azul2)}

/* orcamento */
.orcamento{padding:70px 0;background:var(--grafite)}
.orcgrid{display:grid;grid-template-columns:.95fr 1.05fr;gap:40px;align-items:start}
.orctxt h2{font-family:Space Grotesk,sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05}
.orctxt p{color:var(--metal2);margin-top:12px}
.orclist{margin-top:16px;display:grid;gap:8px;list-style:none}
.orclist li{padding-left:22px;position:relative;color:var(--metal2);font-size:.92rem}
.orclist li::before{content:"✓";position:absolute;left:0;top:0;color:var(--azul2);font-weight:800}
.orcform{background:var(--chumbo);border:1px solid var(--borda);border-radius:18px;padding:22px;display:grid;gap:14px}
.orcform label{display:grid;gap:6px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--metal);font-weight:700}
.orcform input,.orcform select,.orcform textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--borda2);border-radius:12px;padding:12px 14px;color:#fff;outline:none;font-size:.92rem}
.orcform input::placeholder,.orcform textarea::placeholder{color:rgba(255,255,255,.35)}
.orcform input:focus,.orcform select:focus,.orcform textarea:focus{border-color:var(--azul2);box-shadow:0 0 0 3px var(--azulsoft)}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.formnota{font-size:.78rem;color:var(--metal);text-align:center}
.formnota a{color:var(--azul2);text-decoration:underline}
.formok{display:none;background:rgba(47,107,255,.12);border:1px solid rgba(47,107,255,.3);color:#cfe0ff;padding:12px 14px;border-radius:12px;font-size:.88rem;text-align:center}

/* footer */
.foot{background:var(--chumbo);border-top:1px solid var(--borda);padding:46px 0 18px}
.footgrid{display:grid;grid-template-columns:1.2fr .9fr .7fr .9fr;gap:22px}
.footbio{color:var(--metal);font-size:.88rem;margin-top:12px}
.footcol h4{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--metal2);margin-bottom:12px}
.footcol a{display:block;color:var(--metal);font-size:.88rem;margin-bottom:8px}
.footcol a:hover{color:#fff}
.footcol p{font-size:.88rem;color:var(--metal);margin-bottom:10px}
.footcol p a{color:#fff;display:inline}
.footmuted{color:var(--metal)}
.footlogo{margin-bottom:6px}
.footbar{margin-top:22px;padding-top:16px;border-top:1px solid var(--borda);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--metal);font-size:.78rem}
.footbar a{color:var(--metal);text-decoration:underline}

/* whatsapp float antigo mantido oculto */
.wafloat{position:fixed;right:18px;bottom:80px;width:56px;height:56px;border-radius:999px;background:var(--azul2);display:none;place-items:center;color:#fff;font-size:1.35rem;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:30;transition:.2s}
.wafloat:hover{transform:translateY(-2px)}
.social-float{position:fixed;right:18px;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:999px;background:var(--azul2);display:grid;place-items:center;color:#fff;font-size:1.35rem;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:30;transition:.2s;margin-bottom:12px}
.social-float:hover{transform:translateY(-50%) translateY(-2px)}
.social-float .ico{width:32px;height:32px;margin:auto}
/* 3 botões flutuantes lateral direita Instagram LinkedIn WhatsApp */
.float-stack{
  position:fixed;
  right:18px;
  bottom:28px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:40;
}
.float-btn{
  width:52px;
  height:52px;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(0,0,0,.32);
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, filter .28s ease;
  border:1px solid rgba(255,255,255,.14);
}
.float-btn:hover{
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 16px 36px rgba(0,0,0,.42);
  filter:brightness(1.08);
}
.float-btn svg{width:24px;height:24px;display:block}
.float-ig{
  background:radial-gradient(circle at 30% 30%, #feda75 0%, #fa7e1e 20%, #d62976 45%, #962fbf 70%, #4f5bd5 100%);
}
.float-in{
  background:#0a66c2;
}
.float-wa{
  background:#25d366;
}
@media(max-width:760px){
  .float-stack{right:14px;bottom:18px;gap:10px}
  .float-btn{width:48px;height:48px}
  .float-btn svg{width:22px;height:22px}
}
/* botão flutuante canto esquerdo voltar ao topo */
.float-top{
  position:fixed;
  left:18px;
  bottom:28px;
  width:52px;
  height:52px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--chumbo);
  color:#fff;
  border:1px solid var(--borda2);
  box-shadow:0 10px 28px rgba(0,0,0,.32);
  cursor:pointer;
  z-index:40;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), background .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.float-top:hover{
  transform:translateY(-3px) scale(1.06);
  background:var(--azul2);
  border-color:var(--azul2);
  box-shadow:0 16px 36px rgba(0,0,0,.42);
}
.float-top svg{width:22px;height:22px;display:block}
@media(max-width:760px){
  .float-top{left:14px;bottom:18px;width:48px;height:48px}
  .float-top svg{width:20px;height:20px}
}

/* barra de progresso no scroll */
#scrollprog{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  background:linear-gradient(90deg,#1a4fb8,#2f6bff,#7fa0ff);
  z-index:99;
  transition:width .08s linear;
  pointer-events:none;
}
/* reveal base */
.reveal{opacity:0;transform:translateY(14px);transition:.6s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.d1{transition-delay:.08s}
.d2{transition-delay:.16s}
.d3{transition-delay:.24s}
.d4{transition-delay:.32s}
.d5{transition-delay:.40s}
/* entrada bem evidente em todos os cards da home */
.pq.reveal,
.dif.reveal,
.solcard.reveal,
.qs-card.reveal,
.seg.reveal{
  opacity:0;
  transform:translateY(56px) scale(.82) rotate(1deg);
  filter:blur(7px);
  transition:opacity .85s cubic-bezier(.16,1,.3,1), transform .85s cubic-bezier(.16,1,.3,1), filter .85s ease, border-color .35s ease, box-shadow .35s ease, background .35s ease;
}
.pq.reveal.in,
.dif.reveal.in,
.solcard.reveal.in,
.qs-card.reveal.in,
.seg.reveal.in{
  opacity:1;
  transform:translateY(0) scale(1) rotate(0);
  filter:blur(0);
}
.pq.reveal.in .pqico{
  animation:pqIconFloat 3.2s ease infinite, pqIconEntry .75s cubic-bezier(.16,1,.3,1) both;
}
.dif.reveal.in .ico{
  animation:difIconFloat 3.2s ease infinite, pqIconEntry .75s cubic-bezier(.16,1,.3,1) both;
}
.qs-card.reveal.in .qs-num{
  animation:qsNumFloat 3.4s ease infinite, pqIconEntry .75s cubic-bezier(.16,1,.3,1) both;
}
.seg.reveal.in .segimg{
  animation:pqIconEntry .75s cubic-bezier(.16,1,.3,1) both;
}
@keyframes pqIconEntry{
  0%{transform:scale(.35) rotate(-18deg) translateY(12px);opacity:0;filter:blur(4px)}
  60%{transform:scale(1.15) rotate(6deg) translateY(-4px);opacity:1;filter:blur(0)}
  100%{transform:scale(1) rotate(0) translateY(0);opacity:1;filter:blur(0)}
}

/* responsive */
@media(max-width:1060px){
  .solgrid{grid-template-columns:repeat(2,1fr)}
  .porquegrid{grid-template-columns:repeat(2,1fr)}
  .seggrid{grid-template-columns:repeat(3,1fr)}
  .footgrid{grid-template-columns:1fr 1fr}
  .prod-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .hdrin{padding:14px 18px}
  .nav{position:fixed;inset:64px 0 auto 0;background:rgba(10,14,20,.98);backdrop-filter:blur(14px);border-top:1px solid var(--borda);flex-direction:column;align-items:stretch;padding:18px 18px 22px;gap:14px;transform:translateY(-120%);opacity:0;pointer-events:none;transition:.24s}
  .nav.open{transform:none;opacity:1;pointer-events:auto}
  .burg{display:flex}
  .hero{padding:110px 18px 40px;min-height:86vh}
  .posgrid,.orcgrid,.consgrid{grid-template-columns:1fr}
  .consimg{min-height:220px}
  .difgrid{grid-template-columns:1fr 1fr;gap:20px}
  .solgrid{grid-template-columns:1fr;gap:20px}
  .seggrid{grid-template-columns:1fr 1fr;gap:20px}
  .contgrid{grid-template-columns:1fr}
  .frow2{grid-template-columns:1fr}
  .wrap{padding:0 18px}
}

/* Grade Compacta de Produtos & Barra Horizontal de Marcas no Fim do Grid */
.prod-sec-wrap{padding:50px 0;background:var(--chumbo)}
.prod-card-grid-compact{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:28px}
.prod-card-compact{background:rgba(255,255,255,.028);border:1px solid var(--borda);border-radius:18px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden;will-change:transform;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .35s ease,background .35s ease}
.prod-card-compact::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(47,107,255,.16) 0%,transparent 65%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.prod-card-compact:hover::before{opacity:1}
.prod-card-compact:hover{transform:translateY(-8px) scale(1.025);border-color:rgba(47,107,255,.65);background:rgba(255,255,255,.055);box-shadow:0 18px 38px rgba(0,0,0,.4),0 0 20px rgba(47,107,255,.2)}
.prod-card-compact .prod-img-box{width:125px;height:125px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;position:relative;z-index:2}
.prod-card-compact .prod-img-box img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45));transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.prod-card-compact:hover .prod-img-box img{transform:scale(1.12) rotate(2deg)}
.prod-card-compact h3{font-family:Space Grotesk,sans-serif;font-size:1.02rem;font-weight:700;color:#ffffff;margin-bottom:8px;line-height:1.25;position:relative;z-index:2}
.prod-card-compact .prod-exp-text{font-size:.82rem;color:var(--metal);line-height:1.55;margin:0;position:relative;z-index:2;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}

/* Faixa Horizontal de Marcas no Fim do Grid com Logos Ampliados e Alinhados em Linha Única */
.marcas-bottom-bar{margin-top:44px;padding:22px 28px;background:#ffffff;border-radius:20px;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 4px 20px rgba(0,0,0,.04);flex-wrap:nowrap}
.marcas-bottom-label{font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;white-space:nowrap;background:linear-gradient(120deg,#1a4fb8 0%,#2f6bff 40%,#0f172a 75%,#1a4fb8 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:labelPulse 4s ease infinite;display:inline-flex;align-items:center;gap:8px;flex-shrink:0}
.marcas-bottom-label::before{content:'';display:inline-block;width:8px;height:8px;border-radius:99px;background:#2f6bff;box-shadow:0 0 10px #2f6bff;animation:dotBlink 1.8s ease-in-out infinite;flex-shrink:0}
@keyframes labelPulse{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes dotBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}
.marcas-bottom-list{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:nowrap;flex-shrink:0}
.marcas-bottom-item{height:52px;display:flex;align-items:center;justify-content:center;padding:4px 16px;background:#ffffff;border-radius:14px;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.03);transition:transform .22s ease,border-color .22s ease;flex-shrink:0}
.marcas-bottom-item:hover{transform:translateY(-2px);border-color:#2f6bff;box-shadow:0 6px 16px rgba(47,107,255,.12)}
.marcas-bottom-item img{height:40px;width:auto;max-width:145px;object-fit:contain;filter:none !important;display:block}

@media(max-width:1200px){.prod-card-grid-compact{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.prod-card-grid-compact{grid-template-columns:repeat(2,1fr)}.marcas-bottom-bar{flex-direction:column;text-align:center}.marcas-bottom-list{justify-content:center;gap:16px}}
@media(max-width:480px){.prod-card-grid-compact{grid-template-columns:1fr}}
