/* ============================================================
   SBS Soluções Industriais — repaginação
   Conceito: "peça sob medida" — linguagem de desenho técnico (cotas)
   aplicada sobre as fotos reais da oficina.
   Fontes: Oswald (títulos) + Inter (texto). Zero dependências.
   ============================================================ */

:root{
  --graf:#14171A;      /* fundo escuro */
  --graf-2:#1C2126;    /* faixa escura alternada */
  --graf-3:#262D33;    /* superfície sobre escuro */
  --aco:#E6E9EC;      /* fundo claro alternado */
  --papel:#F5F6F7;    /* fundo claro */
  --branco:#FFFFFF;
  --laranja:#F0541E;   /* cor da marca SBS */
  --laranja-esc:#B93A0F; /* laranja p/ texto sobre claro (contraste 5.6:1) */
  --amarelo:#F7B500;   /* amarelo-segurança (gaiola, NR12) */
  --azul:#1F5FA6;      /* azul das máquinas */
  --txt:#1B2024;
  --txt-2:#4A545C;
  --txt-inv:#F2F4F5;
  --txt-inv-2:#B7C0C7;
  --linha:rgba(20,23,26,.14);
  --linha-inv:rgba(255,255,255,.16);
  --wpp:#25D366; --wpp-ink:#06280F;

  --ff-d:'Oswald','Arial Narrow',Impact,sans-serif;
  --ff-t:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  --wrap:1200px;
  --nav-h:72px;
  --r:6px;
  --ease:cubic-bezier(.2,.7,.1,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
body{font-family:var(--ff-t);font-size:17px;line-height:1.65;color:var(--txt);background:var(--papel);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video,iframe{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button,input,textarea,select{font:inherit;color:inherit}
::selection{background:var(--laranja);color:#fff}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-999px;top:8px;background:var(--amarelo);color:#000;padding:10px 16px;z-index:200;font-weight:600}
.skip:focus{left:8px}

.wrap{width:min(100% - 40px,var(--wrap));margin-inline:auto}
h1,h2,h3,h4{font-family:var(--ff-d);font-weight:600;line-height:1.08;letter-spacing:.005em}
h1{font-size:clamp(2.35rem,6.2vw,4.6rem)}
h2{font-size:clamp(1.9rem,4.2vw,3rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.55rem);line-height:1.2}
p{max-width:68ch}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--txt-2);max-width:60ch}
.on-dark .lead,.dark .lead,.hero .lead,.page-hero .lead{color:var(--txt-inv-2)}

/* ---------- seções ---------- */
.sec{padding:clamp(56px,9vw,112px) 0}
.sec.alt{background:var(--aco)}
.sec.dark{background:var(--graf);color:var(--txt-inv)}
.sec.dark-2{background:var(--graf-2);color:var(--txt-inv)}
.sec-head{display:grid;gap:14px;margin-bottom:clamp(28px,5vw,52px)}
.sec-head h2{max-width:20ch}
.sec-head.row{grid-template-columns:1fr auto;align-items:end;gap:24px}
.txt-laranja{color:var(--laranja-esc)}
.dark .txt-laranja,.on-dark .txt-laranja{color:var(--laranja)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;
  font-family:var(--ff-d);font-weight:500;font-size:1.05rem;letter-spacing:.04em;border-radius:var(--r);
  border:2px solid transparent;cursor:pointer;transition:transform .18s var(--ease),background .18s,color .18s,border-color .18s;
  touch-action:manipulation;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn svg{width:20px;height:20px;flex:none}
.btn-or{background:var(--laranja);color:#14171A}
.btn-or:hover{background:#FF6A33}
.btn-wpp{background:var(--wpp);color:var(--wpp-ink)}
.btn-wpp:hover{background:#3DE07C}
.btn-line{border-color:currentColor;color:inherit;background:transparent}
.btn-line:hover{background:rgba(255,255,255,.08)}
.sec:not(.dark):not(.dark-2) .btn-line:hover{background:rgba(20,23,26,.06)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-d);font-weight:500;letter-spacing:.04em;
  color:var(--laranja-esc);border-bottom:2px solid currentColor;padding-bottom:2px;min-height:44px;align-items:center}
.dark .link-arrow{color:var(--laranja)}
.link-arrow svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.link-arrow:hover svg{transform:translateX(4px)}

/* ---------- cabeçalho ---------- */
.nav{position:sticky;top:0;z-index:100;background:var(--graf);color:var(--txt-inv);height:var(--nav-h);
  border-bottom:1px solid var(--linha-inv)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:20px}
.nav .logo img{height:40px;width:auto}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{display:flex;align-items:center;min-height:44px;padding:0 14px;font-family:var(--ff-d);font-size:1rem;letter-spacing:.05em;
  color:var(--txt-inv-2);transition:color .15s;position:relative}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff}
.nav-links a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;background:var(--laranja)}
.nav .btn{min-height:44px;padding:0 18px;font-size:.98rem}
.burger{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{display:block;width:24px;height:2px;background:#fff;position:absolute;left:12px;transition:transform .25s var(--ease),opacity .2s}
.burger span{top:23px}.burger span::before{content:"";top:-8px;left:0}.burger span::after{content:"";top:8px;left:0}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(8px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-8px) rotate(-45deg)}

/* ---------- cota (desenho técnico) ---------- */
.cota{display:flex;align-items:center;gap:12px;font-family:var(--ff-d);font-size:.95rem;letter-spacing:.08em;color:var(--laranja);white-space:nowrap}
.cota i{flex:1;min-width:16px;height:12px;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor;position:relative}
.cota i::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:1.5px solid currentColor}
.cota span{flex:none}
.cota.long i:first-child{flex:.35}
.cota-v{position:absolute;top:0;bottom:0;left:-34px;width:20px;display:flex;flex-direction:column;align-items:center;color:var(--laranja);gap:10px}
.cota-v i{flex:1;width:12px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}
.cota-v i::after{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1.5px solid currentColor}
.cota-v span{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--ff-d);font-size:.95rem;letter-spacing:.08em;white-space:nowrap}

/* ---------- hero ---------- */
.hero{background:var(--graf);color:var(--txt-inv);position:relative;overflow:hidden;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,88px);align-items:center;padding-block:clamp(48px,8vw,96px)}
.hero h1{margin-bottom:22px}
.hero .lead{margin-bottom:34px}
.hero-fig{position:relative;margin-left:34px}
.hero-fig .frame{position:relative;border:1px solid var(--linha-inv);background:var(--graf-2);aspect-ratio:1/1;overflow:hidden}
.hero-fig .frame img{width:100%;height:100%;object-fit:cover}
.hero-fig .cota{margin-top:16px}
.hero-fig .cota-v{left:-34px;bottom:44px}
.hero-fig .tag{position:absolute;right:0;bottom:0;background:var(--laranja);color:#14171A;font-family:var(--ff-d);font-size:1rem;letter-spacing:.05em;padding:10px 16px}
.facts{background:var(--graf-2);border-top:1px solid var(--linha-inv);color:var(--txt-inv)}
.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.facts div{padding:22px 24px;border-left:1px solid var(--linha-inv)}
.facts div:first-child{border-left:0;padding-left:0}
.facts b{display:block;font-family:var(--ff-d);font-size:1.5rem;font-weight:500;letter-spacing:.02em;color:#fff}
.facts span{font-size:.97rem;color:var(--txt-inv-2)}

/* carga inicial do hero: um único momento orquestrado */
@media (prefers-reduced-motion:no-preference){
  .hero h1,.hero .lead,.hero .btn-row{animation:subir .8s var(--ease) both}
  .hero .lead{animation-delay:.12s}.hero .btn-row{animation-delay:.24s}
  .hero-fig .frame{animation:abrir 1s var(--ease) .1s both}
  .hero-fig .cota i{transform-origin:left;animation:traco 1s var(--ease) .7s both}
  .hero-fig .cota span{animation:subir .6s var(--ease) 1.1s both}
  @keyframes subir{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
  @keyframes abrir{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}
  @keyframes traco{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* ---------- cabeçalho de página interna ---------- */
.page-hero{background:var(--graf);color:var(--txt-inv);padding:clamp(48px,7vw,88px) 0 clamp(40px,6vw,72px);
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px}
.page-hero .crumb{font-size:.95rem;color:var(--txt-inv-2);margin-bottom:18px}
.page-hero .crumb a{text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.page-hero h1{font-size:clamp(2.1rem,5.4vw,3.9rem);max-width:20ch;margin-bottom:18px}
.page-hero .lead{margin-bottom:28px}
.page-hero.split .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.page-hero .pic{border:1px solid var(--linha-inv);aspect-ratio:4/3;overflow:hidden;background:var(--graf-2)}
.page-hero .pic img,.page-hero .pic video{width:100%;height:100%;object-fit:cover}

/* ---------- trilhos: acesso rápido às 4 frentes ---------- */
.frentes{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--graf);background:var(--graf)}
.frente{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:420px;color:#fff;overflow:hidden;
  border-left:1px solid var(--graf)}
.frente:first-child{border-left:0}
.frente img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.frente::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(20,23,26,0) 25%,rgba(20,23,26,.92) 100%)}
.frente .in{position:relative;z-index:2;padding:26px 24px 24px;display:grid;gap:10px}
.frente h3{font-size:1.6rem}
.frente p{font-size:.98rem;color:#dfe4e8}
.frente .go{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-d);letter-spacing:.05em;color:var(--laranja);min-height:44px}
.frente .go svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.frente:hover img{transform:scale(1.05)}
.frente:hover .go svg{transform:translateX(5px)}

/* ---------- índice de serviços ---------- */
.indice{border-top:1px solid var(--linha)}
.indice a,.indice .row{display:grid;grid-template-columns:132px 1fr auto;gap:clamp(16px,3vw,36px);align-items:center;
  padding:18px 0;border-bottom:1px solid var(--linha);transition:background .2s,padding .2s var(--ease)}
.indice a:hover{background:rgba(240,84,30,.06);padding-inline:14px}
.indice .th{width:132px;aspect-ratio:4/3;overflow:hidden;background:var(--aco)}
.indice .th img{width:100%;height:100%;object-fit:cover}
.indice h3{margin-bottom:4px}
.indice p{font-size:1rem;color:var(--txt-2)}
.indice .ic{width:44px;height:44px;border:1.5px solid var(--graf);display:grid;place-items:center;border-radius:50%;flex:none}
.indice .ic svg{width:18px;height:18px}
.indice a:hover .ic{background:var(--laranja);border-color:var(--laranja)}
.indice .chip{display:inline-block;margin-left:10px;font-family:var(--ff-t);font-size:.82rem;font-weight:600;padding:2px 10px;background:var(--laranja);color:#14171A;border-radius:99px;vertical-align:middle;letter-spacing:0}

/* ---------- trabalhos realizados ---------- */
.trabalhos{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.trab{position:relative;overflow:hidden;background:var(--graf);color:#fff;min-height:260px}
.trab:nth-child(1){grid-column:span 3;grid-row:span 2;min-height:540px}
.trab:nth-child(2){grid-column:span 3}
.trab:nth-child(3){grid-column:span 3}
.trab:nth-child(4){grid-column:span 3}
.trab:nth-child(5){grid-column:span 3}
.trab img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trab::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 45%,rgba(20,23,26,.92))}
.trab figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:20px 22px;font-family:var(--ff-d);font-size:1.25rem;line-height:1.2}

/* ---------- galeria ---------- */
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.galeria button{position:relative;aspect-ratio:1/1;overflow:hidden;border:0;background:var(--graf-2);cursor:zoom-in;padding:0}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.galeria button:hover img{transform:scale(1.06)}
.lb{position:fixed;inset:0;z-index:300;background:rgba(10,12,14,.94);display:none;align-items:center;justify-content:center;padding:20px}
.lb.on{display:flex}
.lb img{max-height:88vh;max-width:min(94vw,1000px);width:auto;object-fit:contain}
.lb button{position:absolute;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:26px;cursor:pointer}
.lb button:hover{background:var(--laranja);color:#14171A}
.lb .x{top:16px;right:16px}.lb .p{left:12px;top:50%;margin-top:-26px}.lb .n{right:12px;top:50%;margin-top:-26px}

/* ---------- texto + imagem ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:center}
.duo.rev .duo-fig{order:-1}
.duo-fig{position:relative}
.duo-fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
.duo-fig.tall img{aspect-ratio:4/5}
.duo-txt{display:grid;gap:18px;justify-items:start}
.duo-txt p{color:var(--txt-2)}
.dark .duo-txt p{color:var(--txt-inv-2)}

/* ---------- ficha técnica ---------- */
.ficha{display:grid;gap:0;max-width:560px;width:100%;border-top:2px solid currentColor}
.ficha div{display:flex;align-items:baseline;gap:10px;padding:11px 0;border-bottom:1px solid var(--linha)}
.dark .ficha div{border-color:var(--linha-inv)}
.ficha dt{font-size:1rem;color:var(--txt-2)}
.dark .ficha dt{color:var(--txt-inv-2)}
.ficha dd{margin-left:auto;font-family:var(--ff-d);font-size:1.2rem;font-weight:500;letter-spacing:.02em;text-align:right}
.ficha div::after{content:none}
.dest{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--linha-inv);margin-top:8px}
.dest div{padding:18px 20px;border-left:1px solid var(--linha-inv)}
.dest div:first-child{border-left:0}
.dest b{display:block;font-family:var(--ff-d);font-size:1.7rem;font-weight:500;color:var(--laranja);line-height:1.1}
.dest span{font-size:.95rem;color:var(--txt-inv-2)}

/* ---------- produtos ---------- */
.prods{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,36px)}
.prod{background:var(--branco);border:1px solid var(--linha);display:grid;grid-template-rows:auto 1fr}
.prod .pic{aspect-ratio:4/3;overflow:hidden;background:var(--aco)}
.prod .pic img.fit{object-fit:contain;background:#fff}
.prod .pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.prod:hover .pic img{transform:scale(1.04)}
.prod .bd{padding:26px 26px 28px;display:grid;gap:14px;align-content:start}
.prod .bd p{color:var(--txt-2);font-size:1rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:.92rem;font-weight:500;padding:5px 12px;border:1px solid var(--linha);background:var(--papel)}
.dark .chips li{border-color:var(--linha-inv);background:var(--graf-3)}

/* ---------- listas de destaque (4 itens) ---------- */
.quad{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid currentColor}
.quad>div{padding:24px 22px 8px 0}
.quad>div+div{padding-left:22px;border-left:1px solid var(--linha)}
.dark .quad>div+div{border-color:var(--linha-inv)}
.quad .ic{width:40px;height:40px;color:var(--laranja);margin-bottom:14px}
.quad h3{margin-bottom:6px;font-size:1.3rem}
.quad p{font-size:1rem;color:var(--txt-2)}
.dark .quad p{color:var(--txt-inv-2)}

/* ---------- clientes ---------- */
.clientes{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.clientes li{background:#fff;border:1px solid var(--linha);width:calc((100% - 60px)/7);aspect-ratio:3/2;display:grid;place-items:center;padding:4px}
.clientes img{width:100%;height:100%;object-fit:contain}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--linha);max-width:860px}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:14px 0;
  font-family:var(--ff-d);font-size:1.25rem;font-weight:500;letter-spacing:.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.8rem;line-height:1;color:var(--laranja-esc);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--txt-2)}

/* ---------- texto longo (empresa) ---------- */
.prosa{display:grid;gap:20px;max-width:70ch}
.prosa p{color:var(--txt-2)}
.prosa h3{margin-top:10px}
.pilares{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--graf)}
.pilares>div{padding:26px 28px 26px 0;border-bottom:1px solid var(--linha)}
.pilares>div:nth-child(even){padding:26px 0 26px 28px;border-left:1px solid var(--linha)}
.pilares h3{margin-bottom:8px}
.pilares p{font-size:1rem;color:var(--txt-2)}
.timeline-img{background:var(--graf);padding:clamp(20px,4vw,40px);margin-block:8px}
.timeline-img img{width:100%;max-width:1000px;margin-inline:auto}

/* ---------- formulário ---------- */
.form{color:var(--txt);display:grid;grid-template-columns:minmax(0,1fr);gap:16px;background:var(--branco);border:1px solid var(--linha);padding:clamp(22px,4vw,36px)}
.form label{display:grid;gap:6px;font-weight:600;font-size:.98rem}
.form input,.form textarea,.form select{min-height:50px;padding:12px 14px;border:1.5px solid #9AA4AB;background:#fff;border-radius:var(--r);width:100%;font-weight:400}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--laranja);outline:3px solid rgba(240,84,30,.25);outline-offset:0}
.form .err{display:none;color:#B3261E;font-size:.92rem;font-weight:500}
.form .bad .err{display:block}
.form .bad input,.form .bad textarea{border-color:#B3261E}
.form .help{font-size:.9rem;color:var(--txt-2)}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.contato{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:start}
.info{display:grid;gap:22px}
.info .it{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.info .it svg{width:28px;height:28px;color:var(--laranja);margin-top:3px}
.info .it b{display:block;font-family:var(--ff-d);font-size:1.15rem;font-weight:500;letter-spacing:.02em}
.info .it a,.info .it span{color:var(--txt-2)}
.info .it a{text-decoration:underline;text-underline-offset:3px}
.dark .info .it a,.dark .info .it span{color:var(--txt-inv-2)}
.mapa{margin-top:8px;border:1px solid var(--linha);aspect-ratio:16/10;background:var(--aco)}
.mapa iframe{width:100%;height:100%;border:0}

/* ---------- representante ---------- */
.bene{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:2px solid var(--graf)}
.bene li{padding:22px 22px 22px 0;border-bottom:1px solid var(--linha);display:flex;gap:14px;align-items:flex-start;font-family:var(--ff-d);font-size:1.3rem;letter-spacing:.02em}
.bene li:nth-child(even){padding-left:24px;border-left:1px solid var(--linha)}
.bene svg{width:26px;height:26px;color:var(--laranja);flex:none;margin-top:2px}

/* ---------- CTA faixa ---------- */
.cta{background:var(--laranja);color:#14171A;padding:clamp(40px,6vw,68px) 0}
.cta .wrap{display:flex;flex-wrap:wrap;gap:24px 40px;align-items:center;justify-content:space-between}
.cta h2{font-size:clamp(1.7rem,3.6vw,2.6rem);max-width:22ch}
.cta p{max-width:46ch;margin-top:8px;font-size:1.05rem}
.cta .btn{background:#14171A;color:#fff}
.cta .btn:hover{background:#000}

/* ---------- rodapé ---------- */
.foot{background:var(--graf);color:var(--txt-inv-2);padding:clamp(44px,7vw,72px) 0 0;font-size:.98rem}
.foot .grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:36px;padding-bottom:40px}
.foot img.lg{height:48px;width:auto;margin-bottom:16px}
.foot h4{font-size:1.1rem;color:#fff;margin-bottom:12px;font-weight:500;letter-spacing:.04em}
.foot a{display:flex;align-items:center;min-height:44px;color:var(--txt-inv-2)}
.foot a:hover{color:#fff}
.foot .soc{display:flex;gap:10px;margin-top:14px}
.foot .soc a{width:44px;height:44px;border:1px solid var(--linha-inv);justify-content:center;border-radius:50%}
.foot .soc a:hover{background:var(--laranja);border-color:var(--laranja);color:#14171A}
.foot .soc svg{width:20px;height:20px}
.foot .base{border-top:1px solid var(--linha-inv);padding:18px 0;font-size:.9rem;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}

/* ---------- WhatsApp flutuante ---------- */
.wfab{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:10px;height:58px;padding:0 22px 0 18px;border-radius:99px;
  background:var(--wpp);color:var(--wpp-ink);font-family:var(--ff-d);font-weight:500;letter-spacing:.04em;font-size:1.05rem;
  box-shadow:0 12px 30px -8px rgba(0,0,0,.5);transition:transform .2s var(--ease)}
.wfab:hover{transform:translateY(-3px)}
.wfab svg{width:28px;height:28px}

/* ---------- responsivo ---------- */
@media (max-width:1080px){
  .frentes{grid-template-columns:repeat(2,1fr)}
  .frente{min-height:340px}.frente:nth-child(3){border-left:0}
  .frente:nth-child(n+3){border-top:1px solid var(--graf)}
  .clientes li{width:calc((100% - 30px)/4)}
  .quad{grid-template-columns:repeat(2,1fr)}
  .quad>div:nth-child(3){padding-left:0;border-left:0}
  .quad>div:nth-child(n+3){border-top:1px solid var(--linha)}
  .dark .quad>div:nth-child(n+3){border-color:var(--linha-inv)}
  .foot .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  .nav-links{position:fixed;inset:var(--nav-h) 0 0 0;background:var(--graf);flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 28px;
    transform:translateX(100%);visibility:hidden;transition:transform .3s var(--ease),visibility .3s;overflow-y:auto}
  .nav-links.open{transform:none;visibility:visible}
  .nav-links a{min-height:56px;font-size:1.3rem;border-bottom:1px solid var(--linha-inv);padding:0 4px}
  .nav-links a[aria-current="page"]::after{left:4px;right:auto;width:36px}
  .nav .btn.desk{display:none}
  .burger{display:block}
  .nav-links .btn.mob{display:inline-flex;margin-top:20px}
  .hero .wrap,.page-hero.split .wrap,.duo,.contato,.lp-grid{grid-template-columns:minmax(0,1fr)}
  .hero-fig{margin-left:30px;max-width:560px}
  .duo.rev .duo-fig{order:0}
  .trabalhos{grid-template-columns:1fr 1fr}
  .trab:nth-child(n){grid-column:span 1;grid-row:auto;min-height:240px}
  .trab:nth-child(1){grid-column:span 2;min-height:340px}
  .galeria{grid-template-columns:repeat(3,1fr)}
  .prods{grid-template-columns:1fr}
  .sec-head.row{grid-template-columns:1fr}
}
@media (min-width:921px){.nav-links .btn.mob{display:none}}
@media (max-width:640px){
  body{font-size:17px}
  .wrap{width:min(100% - 32px,var(--wrap))}
  .facts .wrap{grid-template-columns:1fr}
  .facts div{border-left:0;border-top:1px solid var(--linha-inv);padding:16px 0}
  .facts div:first-child{border-top:0}
  .frentes{grid-template-columns:1fr}
  .frente{min-height:300px;border-left:0}.frente:nth-child(n+2){border-top:1px solid var(--graf)}
  .indice a,.indice .row{grid-template-columns:88px 1fr;grid-template-areas:"th tx";gap:14px}
  .indice .th{width:88px}.indice .ic{display:none}
  .indice a:hover{padding-inline:0}
  .trabalhos{grid-template-columns:1fr}
  .trab:nth-child(n),.trab:nth-child(1){grid-column:auto;min-height:260px}
  .galeria{grid-template-columns:repeat(2,1fr);gap:8px}
  .clientes li{width:calc((100% - 10px)/2)}
  .quad{grid-template-columns:1fr}
  .quad>div+div{padding-left:0;border-left:0;border-top:1px solid var(--linha)}
  .dark .quad>div+div{border-color:var(--linha-inv)}
  .dest{grid-template-columns:repeat(2,1fr)}
  .dest div:nth-child(3){border-left:0}.dest div:nth-child(n+3){border-top:1px solid var(--linha-inv)}
  .pilares,.bene,.cols2{grid-template-columns:1fr}
  .pilares>div:nth-child(even),.bene li:nth-child(even){padding-left:0;border-left:0}
  .foot .grid{grid-template-columns:1fr}
  .btn-row .btn{flex:1 1 100%}
  .wfab span{display:none}.wfab{width:60px;height:60px;padding:0;justify-content:center}
  .hero-fig{margin-left:26px}.hero-fig .cota-v{left:-26px}
  .cta .btn{width:100%}
}
@media (prefers-reduced-