/* Simasa | mesmo visual do site anterior (fundo preto, Rajdhani, laranja #f93e04, vermelho #d82b2d e azul #0171ca), sem Elementor */
@font-face{font-family:Rajdhani;src:url(/assets/fonts/rajdhani-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Rajdhani;src:url(/assets/fonts/rajdhani-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Rajdhani;src:url(/assets/fonts/rajdhani-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Rajdhani;src:url(/assets/fonts/rajdhani-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Roboto;src:url(/assets/fonts/roboto-400.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --laranja:#f93e04;--vermelho:#d82b2d;--azul:#0171ca;--verde:#00b929;
  --grad:linear-gradient(to left,#0171ca,#f93e04);
  --card:rgba(193,193,193,.1);--borda-card:rgba(255,25,0,.3);--borda-azul:rgba(25,0,255,.3);
  --max:1140px;--raio:20px
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.5 Rajdhani,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:#fff;background:#000;overflow-x:hidden}
/* textura granulada por cima de tudo (como no site anterior) */
body::after{content:"";position:fixed;inset:0;z-index:900;pointer-events:none;background:url(/uploads/textura-granulada.png);opacity:.55}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:500;line-height:1.1}
p{margin:0 0 14.4px}
ul{margin:0;padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.ico{width:1em;height:1em;fill:currentColor;flex:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:absolute;left:-9999px;top:0;z-index:2000;padding:10px 16px;background:#fff;color:#000}
.pular:focus{left:10px;top:10px}
:focus-visible{outline:2px solid var(--laranja);outline-offset:3px}
.secao__in{max-width:var(--max);margin:0 auto;padding:0}
@media (max-width:1160px){.secao__in,.topo__in,.slide__in{padding-left:20px;padding-right:20px}}

/* títulos de seção: traço colorido + texto branco */
.tit{display:flex;align-items:center;gap:10px;margin-bottom:24px}
.tit__traco{flex:none;width:46px;height:3px;background:var(--cor,#ca0101)}
.tit h1,.tit h2{font-size:36px;font-weight:500;line-height:1.5;color:#fff}
.tit--vermelho{--cor:#ca0101}
.tit--azul-escuro{--cor:#085a8c}
.tit--vermelho-vivo{--cor:#ef0000}
.tit--azul{--cor:#0171ca}
.tit--laranja{--cor:#f93e04}
.tit--peq .tit__traco{width:33px}
.tit--centro{justify-content:center}

/* botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border:0;border-radius:145px;background:var(--laranja);color:#fff;font:600 15px/1 Rajdhani,sans-serif;transition:background .3s,color .3s,transform .3s}
.btn:hover{background:#fff;color:var(--laranja)}
.btn__ico{width:14px;height:14px;fill:currentColor;flex:none}
.btn--linha{background:transparent;box-shadow:inset 0 0 0 2px #fff;padding:14px 26px}
.btn--linha:hover{background:#fff;color:#000}
.btn--verde{background:var(--verde)}
.btn--verde:hover{background:#fff;color:var(--verde)}
.btn--envio{font-weight:500;padding:13px 24px}

/* ---------- cabeçalho de vidro, fixo ---------- */
.topo{position:fixed;top:0;left:0;right:0;z-index:800;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.37);box-shadow:0 4px 30px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn 1s both}
.topo__in{display:flex;align-items:center;max-width:var(--max);height:86px;margin:0 auto;padding:0}
.topo__logo img{width:185px;height:auto}
.menu{margin-left:auto}
.menu ul{display:flex}
.menu a,.rodape__menu a{position:relative;display:block;padding:13px 20px;font:600 16px/20px Rajdhani,sans-serif;color:#fff;transition:color .3s}
.menu a::after,.rodape__menu a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:3px;background:var(--vermelho);opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.menu a:hover,.menu a.ativo,.rodape__menu a:hover,.rodape__menu a.ativo{color:var(--vermelho)}
.menu a:hover::after,.menu a.ativo::after,.rodape__menu a:hover::after,.rodape__menu a.ativo::after{opacity:1;transform:none}
.topo__cta{margin-left:20px;border-radius:511px}
.topo__menu{display:none}

/* ---------- topo (carrossel de 4 slides) ---------- */
.hero{position:relative;height:639px;overflow:hidden;background:#000}
.hero__trilho{display:flex;height:100%;transition:transform .5s ease}
.slide{position:relative;flex:0 0 100%;height:100%;overflow:hidden}
.slide__fundo{position:absolute;inset:0}
.slide__fundo img{width:100%;height:100%;object-fit:cover}
.slide__in{position:relative;display:grid;grid-template-columns:593px minmax(0,1fr);align-items:center;gap:20px;max-width:var(--max);height:100%;margin:0 auto;padding:88px 0 0}
.slide__txt{max-width:var(--larg,570px)}
.slide__tit{font-size:var(--tam,49px);font-weight:500;line-height:54px;background:linear-gradient(to left,#0171ca,#f93e04);-webkit-background-clip:text;background-clip:text;color:transparent}
.slide__tit strong{font-weight:700}
.slide__tit--direita{background-image:linear-gradient(to right,#0171ca,#f93e04)}
.slide__sub{margin:12px 0 10px;font-size:16px;font-weight:500;line-height:24px}
.slide__botoes{display:flex;flex-wrap:wrap;gap:20px;margin:0}
.slide__arte{position:relative;height:520px;perspective:1200px}
.slide__foto{position:absolute;right:20px;top:40px;width:497px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 1s cubic-bezier(0,.33,.07,1.03)}
.slide__foto img{width:100%;height:auto}
.slide__foto--redonda img{aspect-ratio:497/400;object-fit:cover;border-radius:22px}
.slide__selo{position:absolute;left:0;bottom:0;width:190px;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform 1s cubic-bezier(0,.33,.07,1.03)}
.slide.ativo .slide__txt>*{animation:fadeInUp 1s both}
.slide.ativo .slide__arte>*{animation:fadeIn 1.2s .3s both}
.seta{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;border:0;background:none;color:#fff}
.seta .ico{width:25px;height:25px}
.seta--ant{left:0}
.seta--prox{right:0}

/* fundo com a esfera de linhas (plexus) atrás das seções */
.plexus{position:relative;isolation:isolate}
.plexus::before{content:"";position:absolute;inset:0;z-index:-1;background:url(/uploads/fundo-plexus.webp) center/cover no-repeat;opacity:.27}

/* ---------- serviços ---------- */
.servicos{padding:20px 0 40px}
.servicos__grade{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.servico{padding:30px;border:1px solid var(--borda-card);border-radius:var(--raio);background:var(--card);box-shadow:0 4px 30px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.servico__ico{width:49px;height:49px;margin-bottom:10px}
.servico h3{margin-bottom:10px;font-size:24px;font-weight:500;line-height:1}
.servico p{margin:0;line-height:24px}

/* ---------- clientes (carrossel de logos) ---------- */
.clientes{padding:20px 0}
.carrossel{position:relative;padding:0 40px}
.carrossel__janela{overflow:hidden}
.carrossel__trilho{display:flex;transition:transform .5s ease}
.carrossel__item{display:grid;place-items:center;flex:0 0 33.333%;height:160px;padding:0 20px}
.carrossel__item img{width:160px;height:auto;max-height:151px;border-radius:17px;object-fit:contain}
.carrossel__seta{position:absolute;top:50%;display:grid;place-items:center;width:40px;height:40px;margin-top:-20px;border:0;background:none;color:#fff}
.carrossel__seta .ico{width:22px;height:22px}
.carrossel__ant{left:0}
.carrossel__prox{right:0}

/* ---------- quem somos ---------- */
.quem{padding:20px 0}
.quem__grade{display:grid;grid-template-columns:minmax(0,1fr) 560px;gap:20px;align-items:center}
.texto p{line-height:24px}
.quem__txt .btn{margin-top:4px}
.quem__fotos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quem__foto{display:block;aspect-ratio:1;overflow:hidden;border-radius:10px}
.quem__foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.quem__foto:hover img{transform:scale(1.06)}

/* ---------- quem nós atendemos ---------- */
.atende{padding:20px 0}
.atende__grade{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.atende__card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:140px;padding:30px;border:1px solid var(--borda-azul);border-radius:var(--raio);background:var(--card);box-shadow:0 4px 30px rgba(0,0,0,.1);font-size:24px;font-weight:500;text-align:center;transition:transform .3s,border-color .3s}
.atende__card:hover{transform:translateY(-6px);border-color:rgba(1,113,202,.7)}
.atende__card img{width:48px;height:48px}

/* ---------- contato ---------- */
.contato{padding:30px 0 40px}
.contato__grade{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contato__form{padding:10px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.form input,.form textarea{width:100%;padding:8px 16px;border:1px solid #69727d;border-radius:10px;background:#0c0c0c;color:#fff;font:400 15px/21px Roboto,sans-serif;outline:none;transition:border-color .2s}
.form textarea{grid-column:1/-1;min-height:96px;padding:5px 14px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:#a9adb3}
.form input:focus,.form textarea:focus{border-color:var(--laranja)}
.form .btn{grid-column:1/-1;justify-self:start}
.form__aviso{grid-column:1/-1;min-height:20px;margin:0;font-size:15px}
.form__aviso.erro{color:#ff8a7a}
.contato__info{padding:10px}
.contato__logo{width:237px;height:auto;margin-bottom:14px}
.contato__info p{font-weight:500;line-height:24px}
.contato__lista{margin-top:20px}
.contato__lista li{display:flex;align-items:center;gap:5px;margin-bottom:10px;font-size:19px;font-weight:500;line-height:28.5px}
.contato__lista .ico{width:24px;height:24px;fill:var(--laranja);margin-right:6px}
.contato__lista a:hover{color:var(--laranja)}

/* ---------- página Nossos Clientes e 404 ---------- */
.pagina{max-width:var(--max);min-height:40vh;margin:0 auto;padding:120px 10px 30px;text-align:center}
.pagina__tit{margin-bottom:20px;font-size:36px;font-weight:500}
.logos{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.logos img{max-height:75px;width:auto}
.pagina .botoes{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}

/* ---------- rodapé ---------- */
.rodape{border-top:1px solid #c2111f}
.rodape__in{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:var(--max);margin:0 auto;padding:20px 20px 24px}
.rodape__logo img{width:156px;height:auto}
.rodape__menu{display:flex;flex-wrap:wrap}

/* ---------- botões fixos ---------- */
.flutuante{position:fixed;left:10px;bottom:10px;z-index:850;padding:12px 24px}
.subir{position:fixed;right:20px;bottom:20px;z-index:850;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.subir.ve{opacity:.8;visibility:visible}
.subir:hover{opacity:1}
.subir img{width:40px;height:40px}

/* ---------- cursor personalizado (ponto branco + círculo que segue) ---------- */
.cursor,.cursor-seg{position:fixed;top:0;left:0;z-index:1001;border-radius:50%;background:#fff;pointer-events:none;opacity:0;translate:-50% -50%;transition:transform .5s,opacity .3s}
.cursor{width:10px;height:10px}
.cursor-seg{z-index:1000;width:40px;height:40px}
.cursor.ve{opacity:1}
.cursor-seg.ve{opacity:.2}
.cursor-seg.ativo{transform:scale(2.4)}

/* foto ampliada */
.lb{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.9)}
.lb img{max-width:92vw;max-height:88vh;width:auto;border-radius:10px}
.lb__fecha{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff}
.lb__fecha .ico{width:22px;height:22px}

/* ---------- animações de entrada (fadeIn, fadeInUp/Left/Right como no site anterior) ---------- */
.js .anima{opacity:0}
.js .anima.visivel{animation:var(--anima,fadeInUp) 1.25s var(--atraso,0s) both}
.anima[data-anima=fadeInLeft]{--anima:fadeInLeft}
.anima[data-anima=fadeInRight]{--anima:fadeInRight}
.anima[data-anima=fadeIn]{--anima:fadeIn}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeInUp{from{opacity:0;translate:0 100%}to{opacity:1;translate:0 0}}
@keyframes fadeInLeft{from{opacity:0;translate:-100% 0}to{opacity:1;translate:0 0}}
@keyframes fadeInRight{from{opacity:0;translate:100% 0}to{opacity:1;translate:0 0}}

/* ---------- telas menores ---------- */
@media (max-width:1024px){
  .menu a{padding:13px 12px}
  .slide__foto{width:420px}
  .slide__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .quem__grade{grid-template-columns:1fr}
}
@media (max-width:880px){
  .topo__in{height:74px;padding:0 20px}
  .topo__logo img{width:185px}
  .topo__cta{display:none}
  .topo__menu{display:grid;place-items:center;margin-left:auto;width:40px;height:40px;padding:0;border:0;background:none;color:#fff}
  .topo__menu svg{width:24px;height:24px;fill:#fff}
  .topo__menu .fecha,.menu-aberto .topo__menu .abre{display:none}
  .menu-aberto .topo__menu .fecha{display:block}
  .menu{position:fixed;left:0;right:0;top:75px;margin:0;background:rgba(10,10,10,.97);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.25s}
  .menu-aberto .menu{opacity:1;visibility:visible;transform:none}
  .menu ul{flex-direction:column;padding:10px 0}
  .menu a{padding:14px 20px;text-align:center;font-size:17px}
  .menu a::after{bottom:6px;left:40%;right:40%}
  .hero{height:auto}
  .hero__trilho{align-items:flex-start}
  .slide{height:auto;min-height:0}
  .slide__in{grid-template-columns:1fr;gap:0;padding:160px 20px 30px}
  .slide__tit{font-size:29px;line-height:29px}
  .slide__sub{font-size:16px;margin-top:4px}
  .slide__arte{height:300px;margin-top:50px}
  .slide__foto{position:relative;right:auto;top:0;width:100%}
  .slide__foto--redonda img{aspect-ratio:350/243}
  .slide__selo{width:120px;top:150px;bottom:auto}
  .servicos__grade{grid-template-columns:1fr}
  .servico{padding:20px}
  .servico h3{font-size:24px}
  .carrossel__item{flex-basis:100%}
  .atende__grade{grid-template-columns:1fr}
  .contato__grade{grid-template-columns:1fr}
  .rodape__in{flex-direction:column}
  .rodape__menu{justify-content:center}
  .rodape__in{padding-bottom:70px}
}
@media (max-width:500px){
  .form{grid-template-columns:1fr}
  .slide__botoes{gap:10px}
  .btn{padding:12px 18px}
  .contato__lista li{font-size:16px;line-height:24px}
  .rodape__menu a{padding:10px 12px}
}
@media (hover:none),(pointer:coarse){.cursor,.cursor-seg{display:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .js .anima{opacity:1}
}
