/* =========================================================
   Esquadrinox Design — folha de estilo única
   Tokens e escalas extraídos do build original.
   ========================================================= */

:root{
  --font-sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;

  --ink:#0d100f;
  --carbon:#161b19;
  --graphite:#232a27;
  --slate:#3d4642;
  --steel:#667069;
  --steel-lift:#929b96;
  --silver:#a8b0ab;
  --fog:#dfe2de;
  --bone:#f4f4f1;
  --paper:#fafaf8;
  --brand:#39453b;
  --brand-deep:#2a332c;
  --brand-soft:#6f8272;
  --brand-lift:#a9bbac;

  --text-eyebrow:.6875rem;
  --d1:clamp(2.75rem,6.2vw,5.5rem);
  --d2:clamp(2.125rem,4.6vw,3.75rem);
  --d3:clamp(1.625rem,3vw,2.5rem);
  --d4:clamp(1.25rem,2vw,1.625rem);
  --lead:clamp(1.0625rem,1.35vw,1.25rem);

  --section:clamp(4.5rem,9vw,9rem);
  --gutter:clamp(1.25rem,4vw,3rem);

  --radius-xs:2px;
  --radius-sm:3px;

  --shadow-lift:0 1px 2px rgba(13,16,15,.04),0 12px 32px -12px rgba(13,16,15,.18);
  --shadow-deep:0 2px 4px rgba(13,16,15,.06),0 32px 64px -28px rgba(13,16,15,.35);

  --dur-toque:.16s;
  --dur-curta:.32s;
  --dur-media:.56s;
  --dur-longa:.82s;
  --ease-out-quint:cubic-bezier(.22,1,.36,1);
  --ease-precisao:cubic-bezier(.65,0,.35,1);
  --desloc-min:6px;
  --desloc-med:16px;
  --passo:70ms;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--fog)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem;tab-size:4}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  line-height:1.5;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto;vertical-align:middle}
ul,ol,menu{list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;background:transparent;border-radius:0}
h1,h2,h3,h4{font-weight:600;text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--brand-soft);outline-offset:3px;border-radius:2px}
::selection{background:var(--brand);color:#fff}
::placeholder{color:var(--steel-lift);opacity:1}

/* ---------- utilitários ---------- */
.container-x{width:100%;max-width:88rem;padding-inline:var(--gutter);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.eyebrow{font-family:var(--font-mono);font-size:var(--text-eyebrow);letter-spacing:.18em;text-transform:uppercase;font-weight:500;line-height:1.4}
.d2{font-size:var(--d2);line-height:1.02;letter-spacing:-.03em}
.d3{font-size:var(--d3);line-height:1.1;letter-spacing:-.02em}
.d4{font-size:var(--d4);line-height:1.2;letter-spacing:-.015em}
.lead{font-size:var(--lead);line-height:1.62}
.texto{font-size:1.0625rem;line-height:1.625}
.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}
.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}
.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.cor-brand{color:var(--brand)}
.cor-brand-lift{color:var(--brand-lift)}
.cor-silver{color:var(--silver)}
.cor-slate{color:var(--slate)}
.cor-steel{color:var(--steel)}
.cor-steel-lift{color:var(--steel-lift)}

.skip-link{
  position:absolute;top:1rem;left:1rem;z-index:200;
  background:var(--ink);color:#fff;padding:.75rem 1.25rem;border-radius:var(--radius-sm);
  transform:translateY(-7rem);transition:transform var(--dur-toque) var(--ease-out-quint);
}
.skip-link:focus{transform:none}

/* fundos decorativos */
.grid-lines{
  background-image:
    linear-gradient(90deg,rgba(250,250,248,.08) 1px,transparent 0),
    linear-gradient(180deg,rgba(250,250,248,.08) 1px,transparent 0);
  background-size:88px 88px;
}

/* =========================================================
   BOTÕES
   ========================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.75rem;
  border-radius:var(--radius-xs);font-weight:500;font-size:.875rem;
  padding:.625rem 1.25rem;border:1px solid transparent;
  transition:background-color var(--dur-toque) var(--ease-out-quint),
             color var(--dur-toque) var(--ease-out-quint),
             border-color var(--dur-toque) var(--ease-out-quint),
             transform var(--dur-toque) var(--ease-out-quint);
}
.btn:active{transform:scale(.985)}
.btn--lg{padding:1rem 1.75rem;font-size:.9375rem}
.btn--sm{padding:.625rem 1.25rem;font-size:.8125rem}
.btn--bloco{width:100%;padding:1rem 1.5rem;font-size:.9375rem}
.btn__seta{display:inline-block;transition:transform var(--dur-curta) var(--ease-out-quint)}
.btn:hover .btn__seta,.btn:focus-visible .btn__seta{transform:translateX(4px)}

.btn--solido{background:var(--brand);border-color:var(--brand);color:var(--paper)}
.btn--solido:hover{background:var(--ink);border-color:var(--ink)}
.btn--claro{border-color:rgba(250,250,248,.25);color:var(--paper)}
.btn--claro:hover{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.btn--contorno{border-color:rgba(13,16,15,.2);color:var(--ink)}
.btn--contorno:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}

.link-sublinhado{
  color:var(--ink);text-decoration:underline;text-decoration-color:rgba(13,16,15,.3);
  text-underline-offset:4px;transition:color .3s
}
.link-sublinhado:hover{color:var(--brand)}

/* =========================================================
   CABEÇALHO
   ========================================================= */
.cabecalho{
  position:fixed;inset-inline:0;top:0;z-index:100;
  border-bottom:1px solid transparent;background:transparent;box-shadow:none;
  transition:background-color var(--dur-curta) var(--ease-out-quint),
             border-color var(--dur-curta) var(--ease-out-quint),
             backdrop-filter var(--dur-curta) var(--ease-out-quint),
             box-shadow var(--dur-curta) var(--ease-out-quint);
}
.cabecalho__linha{
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  height:4.5rem;color:var(--paper);
  transition:height var(--dur-curta) var(--ease-out-quint);
}
.cabecalho.is-scrolled{
  background:rgba(250,250,248,.92);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  border-bottom-color:rgba(13,16,15,.1);
  box-shadow:0 1px 16px -6px rgba(13,16,15,.22);
}
.cabecalho.is-scrolled .cabecalho__linha{height:4rem;color:var(--ink)}
.cabecalho.is-scrolled .marca__sub,
.cabecalho.is-scrolled .cabecalho__tel{color:var(--steel)}
.cabecalho.is-scrolled .nav a{color:var(--slate)}
.cabecalho.is-scrolled .nav a:hover{color:var(--ink)}
.cabecalho.is-scrolled .btn--claro{border-color:rgba(13,16,15,.2);color:var(--ink)}
.cabecalho.is-scrolled .btn--claro:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}

.marca{display:flex;align-items:center;gap:.625rem;flex-shrink:0;padding-block:.5rem}
.marca__simbolo{
  display:block;width:2rem;height:2rem;flex-shrink:0;background-color:currentColor;
  -webkit-mask-image:url(../img/marca-simbolo.webp);mask-image:url(../img/marca-simbolo.webp);
  -webkit-mask-size:contain;mask-size:contain;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
.marca__texto{display:flex;flex-direction:column;line-height:1}
.marca__nome{font-size:.95rem;font-weight:600;letter-spacing:.02em}
.marca__sub{margin-top:3px;font-size:.5625rem;color:var(--silver)}

.nav{display:none}
.nav ul{display:flex;align-items:center;gap:.25rem}
.nav a{position:relative;display:block;padding:.5rem 1rem;font-size:.875rem;color:var(--silver);transition:color .3s}
.nav a:hover{color:var(--paper)}
.nav a::after{
  content:"";position:absolute;inset-inline:1rem;bottom:.25rem;height:1px;
  background:var(--brand-lift);transform:scaleX(0);transform-origin:left;
  transition:transform .4s var(--ease-out-quint);
}
.nav a:hover::after{transform:scaleX(1)}

.cabecalho__acoes{display:flex;align-items:center;gap:.75rem}
.cabecalho__tel{display:none;color:var(--silver);transition:color .3s}
.cabecalho__tel:hover{color:var(--paper)}
.cabecalho__cta{display:none}

.menu-btn{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;margin-right:-.5rem;cursor:pointer;color:inherit}
.menu-btn__icone{position:relative;display:block;width:1.5rem;height:.75rem}
.menu-btn__icone span{
  position:absolute;left:0;display:block;height:1px;background:currentColor;
  transition:transform .4s var(--ease-out-quint),width .4s var(--ease-out-quint),top .4s var(--ease-out-quint);
}
.menu-btn__icone span:first-child{top:0;width:1.5rem}
.menu-btn__icone span:last-child{top:.75rem;width:1rem}
.menu-btn[aria-expanded="true"] .menu-btn__icone span:first-child{top:.375rem;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] .menu-btn__icone span:last-child{top:.375rem;width:1.5rem;transform:rotate(-45deg)}

.menu-mobile{border-top:1px solid rgba(13,16,15,.1);background:var(--paper);color:var(--ink)}
.menu-mobile__interno{display:flex;flex-direction:column;height:calc(100dvh - 4.5rem);overflow-y:auto;padding-top:2rem;padding-bottom:2.5rem}
.menu-mobile__lista li{border-bottom:1px solid rgba(13,16,15,.08)}
.menu-mobile__lista a{display:flex;align-items:baseline;gap:1rem;padding-block:1.25rem;font-size:var(--d3);line-height:1.1;letter-spacing:-.02em;font-weight:600}
.menu-mobile__lista .eyebrow{color:var(--brand)}
.menu-mobile__rodape{margin-top:auto;padding-top:2.5rem}
.menu-mobile__contatos{display:flex;flex-direction:column;gap:.25rem;margin-top:1.5rem}
.menu-mobile__contatos a{padding-block:.25rem;font-size:.9375rem;color:var(--slate)}

/* =========================================================
   HERO
   ========================================================= */
.heroi{position:relative;overflow:hidden;background:var(--ink);color:var(--paper)}
.heroi__grade{
  position:absolute;inset:0;opacity:.35;
  background-image:
    linear-gradient(90deg,rgba(250,250,248,.08) 1px,transparent 0),
    linear-gradient(180deg,rgba(250,250,248,.08) 1px,transparent 0);
  background-size:88px 88px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 85%);
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
.heroi__brilho{position:absolute;inset:0;background:radial-gradient(120% 90% at 15% 0,rgba(111,130,114,.18),transparent 60%)}
.heroi__interno{position:relative}
.heroi__colunas{display:grid;gap:3rem;padding-top:8rem;align-items:end}
.heroi__eyebrow{display:flex;align-items:center;gap:.75rem;color:var(--brand-lift)}
.heroi__eyebrow .entra-regua{display:block;width:2.5rem;height:1px;background:var(--brand-soft)}
.heroi__titulo{
  margin-top:1.75rem;font-size:clamp(2.5rem,5.4vw,4.75rem);
  line-height:.96;letter-spacing:-.03em;font-weight:600;
}
.heroi__lead{margin-top:2rem;max-width:36rem;font-size:var(--lead);line-height:1.62;color:var(--silver)}
.heroi__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2.5rem}

.heroi__figura{position:relative}
.heroi__moldura{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--carbon)}
.heroi__moldura img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.heroi__veu{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,16,15,.55),transparent 60%)}
.heroi__canto{position:absolute;display:none;width:2rem;height:2rem;z-index:10}
.heroi__canto--tl{top:-.75rem;left:-.75rem;border-top:1px solid var(--brand-soft);border-left:1px solid var(--brand-soft)}
.heroi__canto--br{right:-.75rem;bottom:-.75rem;border-right:1px solid var(--brand-soft);border-bottom:1px solid var(--brand-soft)}
.heroi__legenda{
  position:absolute;bottom:1rem;left:1rem;display:flex;align-items:center;gap:.75rem;
  background:rgba(13,16,15,.75);padding:.5rem .75rem;color:var(--fog);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}

.heroi__dados{position:relative;margin-top:3.5rem;display:grid;grid-template-columns:1fr}
.heroi__dados-regua{position:absolute;inset-inline:0;top:0;height:1px;background:rgba(250,250,248,.12)}
.heroi__dados>div{display:flex;flex-direction:column;gap:.375rem;padding-block:1.5rem;border-bottom:1px solid rgba(250,250,248,.12)}
.heroi__dados dt{color:var(--steel-lift)}
.heroi__dados dd{font-size:.9375rem;color:var(--fog)}

/* =========================================================
   SEÇÕES GENÉRICAS
   ========================================================= */
.secao{padding-block:var(--section)}
.secao--paper{background:var(--paper)}
.secao--bone{background:var(--bone)}
.secao--carbon{background:var(--carbon);color:var(--paper)}
.secao--ink{background:var(--ink);color:var(--paper)}
.secao--brand{background:var(--brand-deep);color:var(--paper)}

.rotulo{display:flex;align-items:center;gap:.75rem}
.rotulo__risco{display:block;width:2rem;height:1px;background:rgba(13,16,15,.2)}
.rotulo__risco--claro{background:rgba(250,250,248,.25)}

.cabecalho-secao{display:grid;gap:2rem}
.cabecalho-secao h2{margin-top:1.25rem}
.cabecalho-secao__apoio{align-self:end}

/* ---------- EMPRESA ---------- */
.empresa__grade{display:grid;gap:3.5rem}
.empresa__texto h2{margin-top:1.25rem}
.linha-tempo{margin-top:2.5rem;border-top:1px solid rgba(13,16,15,.1)}
.linha-tempo li{display:flex;gap:1.5rem;padding-block:1.25rem;border-bottom:1px solid rgba(13,16,15,.1)}
.linha-tempo .eyebrow{width:4rem;flex-shrink:0;padding-top:.25rem}
.linha-tempo span:last-child{font-size:.9375rem;line-height:1.625;color:var(--slate)}
.empresa__imagem{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--fog)}
.empresa__imagem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.empresa__selo{position:relative;z-index:10;background:var(--ink);color:var(--paper);padding:2rem 1.75rem}
.empresa__selo-numero{display:flex;align-items:baseline;gap:.5rem;margin-top:.75rem}
.empresa__selo-numero>span:first-child{font-size:3.25rem;line-height:1;font-weight:600;letter-spacing:-.025em}
.empresa__selo-texto{margin-top:.75rem;font-size:.875rem;line-height:1.625;color:var(--silver)}

/* ---------- PRODUTOS ---------- */
.produtos{display:none;margin-top:4rem;gap:3rem}
.produtos__lista li{border-top:1px solid rgba(250,250,248,.12)}
.produtos__lista li:last-child{border-bottom:1px solid rgba(250,250,248,.12)}
.produtos__lista a{display:grid;grid-template-columns:3rem 1fr auto;align-items:center;gap:1.5rem;padding-block:1.75rem}
.produtos__num{color:var(--steel-lift);transition:color .4s}
.produtos__rotulos{display:flex;flex-direction:column;gap:.375rem}
.produtos__nome{
  font-size:var(--d4);line-height:1.2;letter-spacing:-.015em;font-weight:600;color:var(--silver);
  transition:color .4s,transform .4s var(--ease-out-quint);
}
.produtos__cat{color:var(--steel-lift);transition:color .4s,transform .4s var(--ease-out-quint)}
.produtos__seta{font-size:1.125rem;color:var(--brand-lift);opacity:0;transform:translateX(-.75rem);transition:opacity .4s var(--ease-out-quint),transform .4s var(--ease-out-quint)}
.produtos__lista li:hover .produtos__nome{color:var(--paper)}
.produtos__lista li.ativo .produtos__num{color:var(--brand-lift)}
.produtos__lista li.ativo .produtos__nome{color:var(--paper);transform:translateX(.5rem)}
.produtos__lista li.ativo .produtos__cat{color:var(--silver);transform:translateX(.5rem)}
.produtos__lista li.ativo .produtos__seta{opacity:1;transform:none}
.produtos__painel{position:sticky;top:7rem}
.produtos__painel-img{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--graphite)}
.produtos__painel-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:fade .6s var(--ease-out-quint)}
.produtos__painel-veu{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,16,15,.6),transparent)}
.produtos__painel-canto{position:absolute;top:1rem;left:1rem;width:1.75rem;height:1.75rem;border-top:1px solid rgba(250,250,248,.4);border-left:1px solid rgba(250,250,248,.4)}
.produtos__painel-legenda{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-top:1.25rem}
.produtos__painel-legenda p{max-width:20rem;font-size:.9375rem;line-height:1.625;color:var(--silver)}
.produtos__painel-legenda span{flex-shrink:0;padding-top:.25rem}

.produtos-mobile{margin-top:3rem}
.produtos-mobile__lista{
  display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;
  margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:1rem;scrollbar-width:thin;
}
.produtos-mobile__lista li{width:76vw;max-width:20rem;flex-shrink:0;scroll-snap-align:start}
.produtos-mobile__img{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:var(--graphite)}
.produtos-mobile__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out-quint)}
.produtos-mobile__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(13,16,15,.7),transparent 60%)}
.produtos-mobile__num{position:absolute;top:.75rem;left:.75rem;z-index:2;color:var(--brand-lift)}
.produtos-mobile a:active .produtos-mobile__img img{transform:scale(1.05)}
.produtos-mobile__nome{margin-top:1rem;font-size:var(--d4);line-height:1.2;font-weight:600;color:var(--paper)}
.produtos-mobile p.eyebrow{margin-top:.5rem}

/* ---------- PROCESSO ---------- */
.etapas{position:relative;margin-top:4rem;display:grid;gap:1px;border-top:1px solid rgba(13,16,15,.12)}
.etapas__regua{display:none;position:absolute;inset-inline:0;top:0;height:1px;background:rgba(13,16,15,.12)}
.etapas>li{position:relative;display:flex;flex-direction:column;padding-top:2rem;padding-bottom:2.25rem;border-bottom:1px solid rgba(13,16,15,.12)}
.etapas__ponto{display:none;position:absolute;top:-3px;left:0;width:5px;height:5px;border-radius:999px;background:var(--brand);transition:transform var(--dur-curta) var(--ease-out-quint)}
.etapas>li:hover .etapas__ponto{transform:scale(1.5)}
.etapas h3{margin-top:1rem;color:var(--ink)}
.etapas>li>p{margin-top:.75rem;font-size:.9375rem;line-height:1.625;color:var(--slate)}
.etapas__itens{display:flex;flex-direction:column;gap:.375rem;margin-top:1.5rem}
.etapas__itens li{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--steel)}
.etapas__itens li::before{content:"";margin-top:.55em;width:.625rem;height:1px;flex-shrink:0;background:var(--brand-soft)}

/* ---------- CAPACIDADE ---------- */
.capacidade{position:relative;overflow:hidden}
.capacidade__grade-fundo{
  position:absolute;inset:0;opacity:.25;
  background-image:
    linear-gradient(90deg,rgba(250,250,248,.08) 1px,transparent 0),
    linear-gradient(180deg,rgba(250,250,248,.08) 1px,transparent 0);
  background-size:88px 88px;
}
.capacidade__interno{position:relative}
.capacidade__grade{display:grid;gap:3.5rem}
.capacidade__figura{position:relative}
.capacidade__imagem{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--carbon)}
.capacidade__imagem img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.capacidade__canto{display:none;position:absolute;right:-.75rem;bottom:-.75rem;width:2.5rem;height:2.5rem;border-right:1px solid var(--brand-soft);border-bottom:1px solid var(--brand-soft)}
.citacao{margin-top:2.5rem;border-left:1px solid var(--brand-soft);padding-left:1.5rem}
.citacao p{line-height:1.375;color:var(--fog)}
.citacao footer{margin-top:1rem;color:var(--steel-lift)}
.capacidade__texto h2{margin-top:1.25rem}
.capacidades{margin-top:3rem}
.capacidades li{display:grid;grid-template-columns:3rem 1fr;gap:1.25rem;padding-block:1.5rem;border-top:1px solid rgba(250,250,248,.12)}
.capacidades li:last-child{border-bottom:1px solid rgba(250,250,248,.12)}
.capacidades .eyebrow{padding-top:.25rem}
.capacidades h3{font-size:1.0625rem;font-weight:600;color:var(--paper)}
.capacidades p{margin-top:.5rem;font-size:.9375rem;line-height:1.625;color:var(--silver)}

/* ---------- SEGMENTOS ---------- */
.segmentos{margin-top:4rem;border-top:1px solid rgba(13,16,15,.12)}
.segmentos>li{border-bottom:1px solid rgba(13,16,15,.12)}
.segmentos a{display:grid;align-items:baseline;gap:.75rem 2rem;padding-block:2rem}
.segmentos h3{color:var(--ink);transition:transform .5s var(--ease-out-quint)}
.segmentos a:hover h3{transform:translateX(.5rem)}
.segmentos p{font-size:.9375rem;line-height:1.625;color:var(--slate)}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}
.tags li{border:1px solid rgba(13,16,15,.15);padding:.375rem .625rem;color:var(--steel);transition:border-color .4s,color .4s}
.segmentos a:hover .tags li{border-color:var(--brand);color:var(--brand)}

/* ---------- PROJETOS ---------- */
.projetos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:4rem}
.projetos__item{grid-column:span 2}
.projetos__img{position:relative;width:100%;overflow:hidden;background:var(--fog)}
.ratio-4-5{aspect-ratio:4/5}
.ratio-3-4{aspect-ratio:3/4}
.ratio-4-3{aspect-ratio:4/3}
.projetos__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out-quint)}
.projetos figure:hover .projetos__img img{transform:scale(1.04)}
.projetos__img::after{content:"";position:absolute;inset:0;background:rgba(13,16,15,0);transition:background-color .5s}
.projetos figure:hover .projetos__img::after{background:rgba(13,16,15,.12)}
.projetos figcaption{display:flex;flex-direction:column;gap:.375rem;margin-top:1rem}
.projetos__nome{font-size:.9375rem;font-weight:500;color:var(--ink)}

/* ---------- DIFERENCIAIS ---------- */
.diferenciais{position:relative;overflow:hidden}
.diferenciais__textura{
  position:absolute;inset:0;opacity:.25;
  background-image:repeating-linear-gradient(100deg,rgba(250,250,248,.05) 0 1px,transparent 1px 7px);
}
.diferenciais__interno{position:relative}
.diferenciais__topo{max-width:48rem}
.diferenciais__topo h2{margin-top:1.25rem}
.diferenciais__intro{margin-top:1.75rem;max-width:36rem;font-size:.9375rem;line-height:1.625;color:var(--silver)}
.diferenciais__grade{display:grid;gap:1px;margin-top:4rem}
.diferencial{position:relative;display:flex;flex-direction:column;border-top:1px solid rgba(250,250,248,.15);padding-top:2rem;padding-bottom:.5rem}
.diferencial__risco{position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--brand-lift);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-longa) var(--ease-precisao)}
.diferencial:hover .diferencial__risco,.diferencial:focus-within .diferencial__risco{transform:scaleX(1)}
.diferencial h3{margin-top:1.25rem;color:var(--paper)}
.diferencial p{margin-top:1rem;max-width:24rem;font-size:.9375rem;line-height:1.625;color:var(--silver)}

/* ---------- AUTORIDADE ---------- */
.autoridade{display:grid;gap:3rem}
.autoridade__texto h2{margin-top:1.25rem}
.autoridade__texto .lead{max-width:28rem}
.numeros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;align-self:start;border-top:1px solid rgba(13,16,15,.12)}
.numeros>div{display:flex;flex-direction:column;padding-block:2rem;border-bottom:1px solid rgba(13,16,15,.12);padding-right:1.5rem}
.numeros>div:nth-child(2n){border-left:1px solid rgba(13,16,15,.12);padding-left:1.5rem;padding-right:0}
.numeros__valor{display:flex;align-items:baseline;color:var(--ink)}
.numeros__valor>span:first-child{font-size:clamp(2.5rem,5vw,3.5rem);line-height:1;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.numeros__mais{font-size:clamp(1.75rem,3.5vw,2.5rem);line-height:1;font-weight:600;color:var(--brand)}
.numeros__rotulo{margin-top:.75rem;font-size:.9375rem;font-weight:500;color:var(--ink)}
.numeros__nota{margin-top:.25rem;font-size:.8125rem;line-height:1.625;color:var(--steel)}

/* ---------- CONTATO ---------- */
.contato{display:grid;gap:3.5rem}
.contato__info h2{margin-top:1.25rem}
.contato__info .lead{max-width:28rem}
.requisitos{display:flex;flex-direction:column;gap:.625rem;margin-top:2rem}
.requisitos li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9375rem;color:var(--fog)}
.requisitos li::before{content:"";margin-top:.7em;width:.75rem;height:1px;flex-shrink:0;background:var(--brand-lift)}
.contato__dados{margin-top:3rem;border-top:1px solid rgba(250,250,248,.12)}
.contato__dados>div{display:flex;align-items:baseline;gap:1.5rem;padding-block:1.25rem;border-bottom:1px solid rgba(250,250,248,.12)}
.contato__dados dt{width:6rem;flex-shrink:0}
.contato__dados dd{min-width:0}
.contato__dados a{font-size:1.0625rem;line-height:1.5;color:var(--fog);overflow-wrap:anywhere;transition:color .3s}
.contato__dados a:hover{color:var(--brand-lift)}
.contato__dados div:last-child a{font-size:.9375rem;line-height:1.625}

.formulario{display:flex;flex-direction:column;gap:1.75rem}
.honeypot{position:absolute;width:0;height:0;overflow:hidden;opacity:0}
.formulario__grade{display:grid;gap:1.75rem}
.formulario label{display:block;color:var(--silver)}
.formulario input,.formulario select,.formulario textarea{
  width:100%;margin-top:.5rem;padding:.75rem 0;font-size:.9375rem;
  background:transparent;color:var(--paper);
  border-bottom:1px solid rgba(250,250,248,.2);
  transition:border-color .3s;
}
.formulario textarea{resize:vertical}
.formulario select option{color:var(--ink)}
.formulario input:focus,.formulario select:focus,.formulario textarea:focus{border-bottom-color:var(--brand-lift);outline:none}
.formulario input[aria-invalid="true"],.formulario textarea[aria-invalid="true"]{border-bottom-color:#c2703f}
.formulario__acoes{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem}
.btn-enviar{
  display:inline-flex;align-items:center;gap:.75rem;padding:1rem 1.75rem;
  font-size:.9375rem;font-weight:500;cursor:pointer;
  background:var(--paper);color:var(--ink);transition:background-color .3s;
}
.btn-enviar:hover{background:var(--brand-lift)}
.btn-enviar:disabled{cursor:wait;opacity:.6}
.link-whatsapp{
  padding-block:.5rem;font-size:.875rem;color:var(--silver);cursor:pointer;
  text-decoration:underline;text-underline-offset:4px;transition:color .3s;
}
.link-whatsapp:hover{color:var(--paper)}
.formulario__obs{font-size:.8125rem;color:var(--steel-lift)}
.formulario__status{font-size:.9375rem;line-height:1.5;padding:.875rem 1rem;border:1px solid rgba(250,250,248,.2)}
.formulario__status.ok{border-color:var(--brand-lift);color:var(--brand-lift)}
.formulario__status.erro{border-color:#c2703f;color:#d9a184}

/* =========================================================
   RODAPÉ
   ========================================================= */
.rodape{background:var(--ink);color:var(--silver)}
.rodape__grade{display:grid;gap:3rem;padding-block:clamp(3.5rem,6vw,5.5rem);border-bottom:1px solid rgba(250,250,248,.1)}
.rodape__marca .marca{color:var(--paper)}
.rodape__descricao{margin-top:1.5rem;max-width:24rem;font-size:.9375rem;line-height:1.625;color:var(--silver)}
.rodape__nav ul{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}
.rodape__nav a,.rodape__contato address a{font-size:.9375rem;color:var(--fog);transition:color .3s}
.rodape__nav a:hover,.rodape__contato address a:hover{color:var(--paper)}
.rodape__contato address{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem;font-style:normal;overflow-wrap:anywhere}
.rodape__endereco{margin-top:.25rem;line-height:1.625;color:var(--silver) !important}
.rodape__sociais{display:flex;gap:1.25rem;margin-top:1.5rem}
.rodape__sociais a{color:var(--steel-lift);transition:color .3s}
.rodape__sociais a:hover{color:var(--paper)}
.rodape__base{display:flex;flex-direction:column;gap:1rem;padding-block:2rem}

/* =========================================================
   WHATSAPP FLUTUANTE / BARRA MOBILE
   ========================================================= */
.wpp-flutuante{
  display:none;position:fixed;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);z-index:90;
  align-items:center;justify-content:center;gap:.625rem;
  padding:.75rem 1rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-xs);
  background:var(--brand);color:var(--paper);box-shadow:var(--shadow-deep);transition:background-color .3s;
}
.wpp-flutuante:hover{background:var(--ink)}
.wpp-flutuante svg{width:18px;height:18px;flex-shrink:0}

.barra-mobile{
  position:fixed;inset-inline:0;bottom:0;z-index:90;
  display:grid;grid-template-columns:repeat(2,1fr);
  border-top:1px solid rgba(250,250,248,.15);
  background:rgba(13,16,15,.95);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.barra-mobile a{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;color:var(--paper)}
.barra-mobile__wpp{background:var(--brand)}
.barra-mobile svg{width:18px;height:18px;flex-shrink:0}
.barra-mobile__espaco{height:52px}

/* =========================================================
   ANIMAÇÕES
   ========================================================= */
.reveal,.reveal-x{
  transition:opacity var(--dur-media) var(--ease-out-quint),transform var(--dur-media) var(--ease-out-quint);
  transition-delay:var(--reveal-delay,0s);
}
html[data-js] .reveal:not([data-visible="true"]){opacity:0;transform:translate3d(0,var(--desloc-med),0);will-change:opacity,transform}
html[data-js] .reveal-x:not([data-visible="true"]){opacity:0;transform:translate3d(calc(var(--desloc-med) * -1),0,0);will-change:opacity,transform}

.rule-grow{transform-origin:left;transition:transform var(--dur-longa) var(--ease-precisao);transition-delay:var(--reveal-delay,0s)}
html[data-js] .rule-grow:not([data-visible="true"]){transform:scaleX(0);will-change:transform}

.mascara{display:inline-block;vertical-align:bottom;overflow:hidden;margin-block:-.12em;padding-block:.12em}
.mascara>*{display:inline-block}
.reveal-mascara>*{transition:transform var(--dur-longa) var(--ease-precisao);transition-delay:var(--reveal-delay,0s)}
html[data-js] .reveal-mascara:not([data-visible="true"])>*{transform:translateY(105%);will-change:transform}

@keyframes entrada-sobe{from{opacity:0;transform:translate3d(0,var(--desloc-med),0)}to{opacity:1;transform:none}}
@keyframes entrada-mascara{from{transform:translateY(105%)}to{transform:none}}
@keyframes entrada-escala{from{transform:scale(1.045)}to{transform:none}}
@keyframes entrada-regua{from{transform:scaleX(0)}to{transform:none}}
@keyframes entrada-veu{from{opacity:0}to{opacity:.35}}
@keyframes fade{from{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}

html[data-js] .entra{animation:entrada-sobe var(--dur-media) var(--ease-out-quint) backwards;animation-delay:calc(var(--i,0) * var(--passo))}
html[data-js] .entra-mascara>*{display:inline-block;animation:entrada-mascara var(--dur-media) var(--ease-precisao) backwards;animation-delay:calc(var(--i,0) * var(--passo))}
html[data-js] .entra-escala{animation:entrada-escala var(--dur-longa) var(--ease-precisao) backwards;animation-delay:calc(var(--i,0) * var(--passo))}
html[data-js] .entra-regua{transform-origin:left;animation:entrada-regua var(--dur-longa) var(--ease-precisao) backwards;animation-delay:calc(var(--i,0) * var(--passo))}
html[data-js] .entra-veu{animation:entrada-veu var(--dur-longa) var(--ease-out-quint) backwards;animation-delay:calc(var(--i,0) * var(--passo))}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.001ms !important;animation-duration:.001ms !important;animation-iteration-count:1 !important}
  html[data-js] .reveal:not([data-visible="true"]),
  html[data-js] .reveal-x:not([data-visible="true"]){opacity:1;transform:none}
  html[data-js] .reveal-mascara:not([data-visible="true"])>*,
  html[data-js] .rule-grow:not([data-visible="true"]){transform:none}
  .mascara{overflow:visible}
}

/* =========================================================
   BREAKPOINTS
   ========================================================= */
@media (min-width:640px){
  .heroi__dados{grid-template-columns:repeat(3,minmax(0,1fr))}
  .heroi__dados>div{border-bottom:0}
  .heroi__dados>div+div{border-left:1px solid rgba(250,250,248,.12);padding-left:1.5rem}
  .empresa__imagem{aspect-ratio:4/3}
  .empresa__selo{margin-top:-4rem;margin-left:1.5rem;max-width:20rem}
  .etapas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .projetos{gap:1.5rem}
  .projetos__item{grid-column:span 1}
  .rodape__base{flex-direction:row;align-items:center;justify-content:space-between}
  .wpp-flutuante{display:flex}
  .barra-mobile,.barra-mobile__espaco{display:none}
}

@media (min-width:768px){
  .cabecalho__linha{height:5rem}
  .cabecalho.is-scrolled .cabecalho__linha{height:4.25rem}
  .cabecalho__cta{display:inline-flex}
  .heroi__colunas{padding-top:9rem}
  .segmentos a{grid-template-columns:repeat(12,minmax(0,1fr))}
  .segmentos .eyebrow:first-child{grid-column:span 1}
  .segmentos h3{grid-column:span 4}
  .segmentos>li>a>p{grid-column:span 5}
  .segmentos .tags{grid-column:span 2;justify-content:flex-end}
  .cabecalho-secao{grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 3rem;align-items:end}
  .cabecalho-secao>div:first-child{grid-column:span 6}
  .cabecalho-secao__apoio{grid-column:8 / span 5}
}

@media (min-width:1024px){
  .nav{display:block}
  .menu-btn{display:none}
  .menu-mobile{display:none !important}

  .heroi__colunas{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;gap:2.5rem;padding-top:10rem;padding-bottom:0}
  .heroi__texto{grid-column:span 7}
  .heroi__figura-col{grid-column:span 5}
  .heroi__moldura{aspect-ratio:3/4.15}
  .heroi__canto{display:block}
  .heroi__dados{margin-top:0}

  .empresa__grade{grid-template-columns:repeat(12,minmax(0,1fr));gap:3rem}
  .empresa__texto{grid-column:span 6}
  .empresa__midia{grid-column:7 / span 6}
  .empresa__imagem{aspect-ratio:4/5}
  .empresa__selo{margin-left:-2.5rem}

  .produtos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}
  .produtos__lista-col{grid-column:span 7}
  .produtos__painel-col{grid-column:span 5}
  .produtos-mobile{display:none}

  .etapas{grid-template-columns:repeat(5,minmax(0,1fr));border-top:0}
  .etapas__regua{display:block}
  .etapas>li{border-bottom:0;padding-right:1.5rem}
  .etapas__ponto{display:block}

  .capacidade__grade{grid-template-columns:repeat(12,minmax(0,1fr));gap:3rem}
  .capacidade__midia{grid-column:span 5}
  .capacidade__texto{grid-column:7 / span 6}
  .capacidade__canto{display:block}

  .projetos{grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem;align-items:start}
  .projetos__item--a{grid-column:span 7}
  .projetos__item--b{grid-column:span 5;margin-top:5rem}
  .projetos__item--c{grid-column:span 5;margin-top:-2rem}
  .projetos__item--d{grid-column:span 4}
  .projetos__item--e{grid-column:span 3;margin-top:4rem}

  .diferenciais__grade{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:5rem}
  .diferencial{padding-right:2.5rem}
  .diferencial+.diferencial{border-left:1px solid rgba(250,250,248,.15);padding-left:2.5rem}

  .autoridade{grid-template-columns:repeat(12,minmax(0,1fr));gap:3rem}
  .autoridade__texto{grid-column:span 5}
  .numeros{grid-column:7 / span 6}

  .contato{grid-template-columns:repeat(12,minmax(0,1fr));gap:3rem}
  .contato__info{grid-column:span 5}
  .contato__form-col{grid-column:7 / span 6}

  .formulario__grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .formulario__col-2{grid-column:span 2}

  .rodape__grade{grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem}
  .rodape__marca{grid-column:span 4}
  .rodape__nav:nth-of-type(1){grid-column:span 2}
  .rodape__nav:nth-of-type(2){grid-column:span 3}
  .rodape__contato{grid-column:span 3}
}

@media (min-width:1280px){
  .cabecalho__tel{display:block}
  .heroi__texto{grid-column:span 6}
  .heroi__figura-col{grid-column:span 6}
  .projetos figcaption{flex-direction:row;align-items:baseline;justify-content:space-between;gap:1rem}
  .projetos figcaption .eyebrow{flex-shrink:0}
}
