/* Futura Edição — folha única do site. Paleta e tipografia: ver DOCUMENTACAO.md §3 */
:root{
  --roxo:#A234FD; --roxo-escuro:#720EEC; --laranja:#FF6F05;
  --preto:#07000E; --branco:#FFFFFF; --cinza:#E9E6ED;
  --gradiente:linear-gradient(90deg,#720EEC,#A234FD);
  --linha:rgba(233,230,237,0.1);
  --texto-2:rgba(255,255,255,0.72); --texto-3:rgba(255,255,255,0.5);
  --superficie:#100320;
  --margem:clamp(24px,5vw,64px);
  --secao:clamp(72px,11vh,128px);
  --max:1440px;
  --titulo:'Unbounded',sans-serif; --corpo:'Space Grotesk',sans-serif;
  --z-nav:50; --z-flutuante:60; --z-modal:80;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
html,body{margin:0;padding:0;background:var(--preto);}
body{font-family:var(--corpo);color:var(--branco);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:var(--branco);text-decoration:none;transition:color .2s ease,background-color .2s ease,border-color .2s ease,filter .2s ease,transform .2s ease;}
a:hover{color:var(--roxo);}
:focus-visible{outline:2px solid var(--roxo);outline-offset:3px;}
::selection{background:var(--roxo);color:var(--branco);}
h1,h2,h3{text-wrap:balance;overflow-wrap:break-word;} /* rede de segurança: palavra longa nunca sai da tela */
p{text-wrap:pretty;}

.pular{position:absolute;left:16px;top:-60px;z-index:100;background:var(--roxo);color:#fff;padding:12px 18px;font-size:14px;}
.pular:focus{top:16px;color:#fff;}

.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--margem);padding-right:var(--margem);}
.secao{padding-top:var(--secao);padding-bottom:var(--secao);}
.secao + .secao{padding-top:0;}

/* ---------- tipografia ---------- */
.rotulo{display:flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--laranja);margin:0 0 16px;}
.rotulo::before{content:"";width:18px;height:1px;background:var(--laranja);}
.titulo{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.6rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 clamp(32px,5vw,56px);max-width:760px;}
.titulo-pagina{font-family:var(--titulo);font-weight:900;text-transform:uppercase;font-size:clamp(1.5rem,9vw - 5px,4.6rem);line-height:1.02;letter-spacing:-.015em;margin:0;max-width:960px;}
.lead{color:var(--texto-2);font-size:clamp(15px,1.3vw,17px);line-height:1.75;max-width:560px;margin:24px 0 0;}
.grad{background:var(--gradiente);-webkit-background-clip:text;background-clip:text;color:transparent;}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;font-family:var(--corpo);font-size:12px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;line-height:1.2;}
.btn:active{transform:translateY(1px) scale(.99);}
.btn-primario{background:var(--gradiente);color:#fff;box-shadow:0 10px 30px -12px rgba(162,52,253,.7);}
.btn-primario:hover{color:#fff;filter:brightness(1.15);box-shadow:0 14px 36px -10px rgba(162,52,253,.85);}
.btn-secundario{border-color:rgba(255,255,255,.25);color:#fff;background:transparent;}
.btn-secundario:hover{border-color:var(--roxo);color:var(--roxo);}
.btn .seta{transition:transform .2s ease;}
.btn:hover .seta{transform:translate(2px,-2px);}

/* ---------- navegação ---------- */
.topo{position:sticky;top:0;z-index:var(--z-nav);transition:background-color .3s ease,border-color .3s ease,backdrop-filter .3s ease;border-bottom:1px solid transparent;}
.topo.rolou{background:rgba(7,0,14,.82);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom-color:var(--linha);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;height:88px;}
.topo.rolou .nav{height:72px;}
.marca img{height:34px;width:auto;}
.menu{display:flex;align-items:center;gap:clamp(18px,2.6vw,38px);}
.menu a{font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.8);position:relative;padding:6px 0;}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--roxo);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;}
.menu a:hover{color:var(--roxo);}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1);}
.menu a[aria-current="page"]{color:var(--roxo);}
.menu .btn-contato{border:1px solid rgba(162,52,253,.5);padding:12px 22px;font-size:11px;color:#fff;}
.menu .btn-contato::after{display:none;}
.menu .btn-contato:hover{background:rgba(162,52,253,.15);border-color:var(--roxo);color:#fff;}
.hamburguer{display:none;background:none;border:1px solid rgba(255,255,255,.2);width:46px;height:46px;cursor:pointer;position:relative;color:#fff;}
.hamburguer span,.hamburguer span::before,.hamburguer span::after{position:absolute;left:12px;right:12px;height:2px;background:currentColor;content:"";transition:transform .25s ease,opacity .2s ease;}
.hamburguer span{top:50%;margin-top:-1px;}
.hamburguer span::before{left:0;right:0;top:-7px;}
.hamburguer span::after{left:0;right:0;top:7px;}
.menu-aberto .hamburguer span{background:transparent;}
.menu-aberto .hamburguer span::before{transform:translateY(7px) rotate(45deg);background:#fff;}
.menu-aberto .hamburguer span::after{transform:translateY(-7px) rotate(-45deg);background:#fff;}
@media(max-width:900px){
  .hamburguer{display:block;}
  .menu{position:fixed;inset:0;top:0;flex-direction:column;justify-content:center;gap:28px;background:rgba(7,0,14,.97);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;z-index:-1;}
  .menu a{font-family:var(--titulo);font-size:22px;letter-spacing:.08em;}
  .menu .btn-contato{font-family:var(--corpo);font-size:12px;margin-top:12px;}
  .menu-aberto .menu{opacity:1;visibility:visible;}
  .menu-aberto{overflow:hidden;}
}

/* ---------- hero ---------- */
.hero{position:relative;min-height:calc(100dvh - 88px);display:flex;flex-direction:column;overflow:hidden;margin-top:-88px;padding-top:88px;}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;}
.brilho{position:absolute;border-radius:50%;pointer-events:none;animation:drift 18s ease-in-out infinite;}
.brilho-1{width:70vw;height:70vw;background:radial-gradient(circle,rgba(114,14,236,.35),transparent 60%);top:-25vw;right:-20vw;}
.brilho-2{width:50vw;height:50vw;background:radial-gradient(circle,rgba(162,52,253,.22),transparent 60%);bottom:-20vw;left:-15vw;animation-duration:24s;animation-direction:reverse;}
.astro{position:absolute;z-index:4;right:clamp(16px,7vw,130px);top:30%;width:clamp(140px,21vw,310px);pointer-events:none;will-change:transform;transition:transform .3s ease-out;}
.astro img{width:100%;height:auto;animation:floaty 7s ease-in-out infinite;filter:drop-shadow(0 20px 50px rgba(114,14,236,.45));}
.hero-conteudo{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(32px,6vh,64px);padding-bottom:clamp(48px,8vh,88px);}
.hero-tag{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.hero-tag .ponto{width:8px;height:8px;background:var(--laranja);border-radius:50%;box-shadow:0 0 0 0 rgba(255,111,5,.6);animation:pulso 2.4s ease-out infinite;}
.hero h1{font-family:var(--titulo);font-weight:900;text-transform:uppercase;line-height:.98;letter-spacing:-.01em;font-size:clamp(2rem,11.2vw - 6px,6.5rem);margin:0;}
.hero .lead{max-width:460px;margin-top:32px;}
.hero .lead strong{color:#fff;}
.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;margin-top:40px;}
.numeros{display:flex;flex-wrap:wrap;gap:clamp(28px,6vw,72px);margin-top:clamp(40px,7vh,80px);}
.numero b{display:block;font-family:var(--titulo);font-size:clamp(28px,4vw,46px);font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;}
.numero span{display:block;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--texto-3);margin-top:6px;}
.entra{animation:fadeUp .8s cubic-bezier(.2,.7,.2,1) both;}
.d1{animation-delay:.15s;}.d2{animation-delay:.3s;}.d3{animation-delay:.45s;}.d4{animation-delay:.6s;}
@media(max-width:700px){
  .astro{top:auto;bottom:clamp(220px,40vh,320px);right:-10px;width:150px;opacity:.55;}
}

/* ---------- faixa de clientes ---------- */
.faixa{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:24px 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.faixa-trilho{display:flex;gap:64px;width:max-content;animation:marquee 45s linear infinite;}
.faixa:hover .faixa-trilho{animation-play-state:paused;}
.faixa-trilho span{font-family:var(--titulo);font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);white-space:nowrap;display:flex;align-items:center;gap:64px;}
.faixa-trilho span::after{content:"✦";color:rgba(162,52,253,.6);font-size:11px;}

/* ---------- grades ---------- */
.grade{display:grid;gap:2px;background:var(--linha);border:1px solid var(--linha);}
.grade-servicos{grid-template-columns:repeat(4,1fr);}
@media(max-width:1180px){.grade-servicos{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.grade-servicos{grid-template-columns:1fr;}}
.card-servico{background:var(--preto);padding:40px 32px;display:flex;flex-direction:column;gap:16px;color:#fff;position:relative;overflow:hidden;}
.card-servico::before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mx,50%) var(--my,50%),rgba(162,52,253,.14),transparent 60%);opacity:0;transition:opacity .3s ease;pointer-events:none;}
.card-servico:hover{background:var(--superficie);color:#fff;}
.card-servico:hover::before{opacity:1;}
.card-servico .num{font-family:var(--titulo);font-size:13px;color:var(--roxo);}
.card-servico h3{font-family:var(--titulo);font-size:clamp(15px,4.4vw,17px);font-weight:600;text-transform:uppercase;line-height:1.3;margin:0;}
.card-servico p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.62);margin:0;}
.card-servico .mais{margin-top:auto;padding-top:8px;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--roxo);}
.svc-anim{grid-column:1/-1;}

/* jornada (Terra → foguete → Lua) */
.jornada{background:var(--preto);position:relative;overflow:hidden;min-height:240px;background-image:radial-gradient(1px 1px at 12% 30%,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 34% 74%,rgba(255,255,255,.4),transparent),radial-gradient(1.5px 1.5px at 55% 18%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 60%,rgba(255,255,255,.4),transparent),radial-gradient(1px 1px at 88% 82%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 22% 88%,rgba(255,255,255,.35),transparent);}
.jornada .legenda{position:absolute;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.45);}
.terra{position:absolute;left:4%;bottom:-14%;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#3fa0ff 0%,#1b6fd6 45%,#0b3f8f 100%);box-shadow:0 0 40px rgba(63,160,255,.35);}
.terra i{position:absolute;background:#2ecc71;opacity:.85;}
.terra i:nth-child(1){left:18%;top:22%;width:34%;height:26%;border-radius:60% 40% 55% 45%;}
.terra i:nth-child(2){left:58%;top:52%;width:26%;height:20%;border-radius:45% 55% 40% 60%;}
.terra::after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 70% 75%,rgba(7,0,14,.55),transparent 60%);}
.lua{position:absolute;right:6%;top:30%;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#f2eef7 0%,#cfc8da 55%,#9a90ab 100%);box-shadow:0 0 30px rgba(233,230,237,.2);}
.lua i{position:absolute;border-radius:50%;background:rgba(122,110,140,.45);}
.lua i:nth-child(1){left:22%;top:30%;width:22%;height:22%;}
.lua i:nth-child(2){left:58%;top:55%;width:16%;height:16%;}
.lua i:nth-child(3){left:48%;top:18%;width:12%;height:12%;}
.mastro{position:absolute;left:60%;top:-30%;width:3px;height:34%;background:var(--cinza);}
.bandeira{position:absolute;left:3px;top:0;width:26px;height:16px;background:var(--gradiente);transform-origin:left center;animation:flagWave 2.5s ease-in-out infinite;}
.foguete{position:absolute;left:10%;top:62%;width:16px;height:44px;animation:flight 7s ease-in-out infinite;}
.foguete .bico{position:absolute;left:50%;top:0;transform:translateX(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:14px solid var(--roxo);}
.foguete .corpo{position:absolute;left:50%;top:13px;transform:translateX(-50%);width:16px;height:22px;background:var(--cinza);border-radius:3px;}
.foguete .corpo::after{content:"";position:absolute;left:50%;top:5px;transform:translateX(-50%);width:8px;height:8px;border-radius:50%;background:var(--roxo-escuro);}
.foguete .asa-e{position:absolute;left:-5px;top:26px;border-top:9px solid transparent;border-right:9px solid var(--roxo-escuro);}
.foguete .asa-d{position:absolute;right:-5px;top:26px;border-top:9px solid transparent;border-left:9px solid var(--roxo-escuro);}
.foguete .chama{position:absolute;left:4px;top:35px;width:8px;height:14px;background:linear-gradient(var(--laranja),transparent);border-radius:0 0 50% 50%;transform-origin:top center;animation:flicker .35s ease-in-out infinite;}

/* ---------- diferenciais ---------- */
.diferenciais{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(28px,4vw,48px) clamp(24px,4vw,56px);}
.diferencial{border-top:1px solid var(--linha);padding-top:22px;position:relative;}
.diferencial::before{content:"";position:absolute;left:0;top:-1px;width:40px;height:2px;background:var(--gradiente);}
.diferencial h3{font-size:17px;font-weight:700;margin:0 0 8px;}
.diferencial p{margin:0;color:rgba(255,255,255,.62);font-size:14.5px;line-height:1.65;}

/* ---------- projetos ---------- */
.cabecalho-secao{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(32px,5vw,56px);}
.cabecalho-secao .titulo{margin:0;}
.vitrine{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:clamp(12px,1.6vw,20px);}
.card-projeto{position:relative;display:block;aspect-ratio:9/10;overflow:hidden;background:var(--superficie);border:1px solid var(--linha);color:#fff;}
.card-projeto img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease;filter:saturate(.9);}
.card-projeto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(7,0,14,.92));pointer-events:none;}
.card-projeto .info{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;display:flex;flex-direction:column;gap:4px;}
.card-projeto .info b{font-family:var(--titulo);font-weight:700;font-size:15px;text-transform:uppercase;line-height:1.25;}
.card-projeto .info small{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--laranja);}
.card-projeto .ver{position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;border-radius:50%;background:var(--roxo);display:flex;align-items:center;justify-content:center;font-size:16px;opacity:0;transform:scale(.7);transition:opacity .3s ease,transform .3s ease;}
a.card-projeto:hover{color:#fff;border-color:rgba(162,52,253,.5);}
a.card-projeto:hover img{transform:scale(1.05);filter:saturate(1.05);}
a.card-projeto:hover .ver,a.card-projeto:focus-visible .ver{opacity:1;transform:scale(1);}

.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.filtro{font-family:var(--corpo);font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:10px 16px;background:transparent;color:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.18);cursor:pointer;transition:all .2s ease;}
.filtro:hover{border-color:var(--roxo);color:var(--roxo);}
.filtro[aria-pressed="true"]{background:var(--roxo);border-color:var(--roxo);color:#fff;}
.grade-clientes{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));}
.card-cliente{background:var(--preto);padding:32px 24px 26px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:18px;text-align:center;min-height:180px;color:#fff;}
.card-cliente[hidden]{display:none;}
.card-cliente .logo{flex:1;width:100%;display:flex;align-items:center;justify-content:center;}
.card-cliente .logo img{max-width:78%;max-height:64px;width:auto;height:auto;object-fit:contain;}
.card-cliente .nome{font-family:var(--titulo);font-weight:700;font-size:16px;text-transform:uppercase;color:var(--roxo);line-height:1.25;}
.card-cliente .seg{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--texto-3);}
.card-cliente .resumo{font-size:13px;line-height:1.55;color:rgba(255,255,255,.6);margin:0;}
a.card-cliente:hover{background:var(--superficie);color:#fff;}
a.card-cliente .seg::after{content:" →";color:var(--roxo);}

/* página de projeto */
.capa-projeto{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;}
.capa-projeto figure{margin:0;border:1px solid var(--linha);overflow:hidden;aspect-ratio:9/10;max-height:560px;justify-self:end;width:100%;max-width:460px;}
.capa-projeto figure img{width:100%;height:100%;object-fit:cover;}
@media(max-width:860px){.capa-projeto{grid-template-columns:1fr;}.capa-projeto figure{justify-self:start;}}
.voltar{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.6);display:inline-flex;gap:8px;}
.selo{display:inline-block;margin-top:18px;border:1px solid rgba(255,111,5,.5);color:var(--laranja);font-size:11px;letter-spacing:.25em;text-transform:uppercase;padding:8px 16px;}
.texto-projeto{display:flex;flex-direction:column;gap:20px;max-width:800px;}
.texto-projeto p{margin:0;color:rgba(255,255,255,.75);font-size:16px;line-height:1.85;}
.galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;}
.galeria button{all:unset;cursor:zoom-in;display:block;aspect-ratio:3/2;border:1px solid var(--linha);background:var(--preto);overflow:hidden;position:relative;}
.galeria button:focus-visible{outline:2px solid var(--roxo);outline-offset:3px;}
.galeria img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease;}
.galeria button:hover img{transform:scale(1.03);}
.proximo{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--linha);padding-top:28px;flex-wrap:wrap;}
.proximo a{display:flex;flex-direction:column;gap:6px;}
.proximo small{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--texto-3);}
.proximo b{font-family:var(--titulo);text-transform:uppercase;font-size:clamp(16px,2vw,22px);}

.lightbox{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(7,0,14,.95);display:flex;align-items:center;justify-content:center;padding:clamp(16px,4vw,64px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;}
.lightbox.aberto{opacity:1;visibility:visible;}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;}
.lightbox button{position:absolute;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);color:#fff;width:48px;height:48px;cursor:pointer;font-size:20px;}
.lightbox button:hover{border-color:var(--roxo);background:rgba(162,52,253,.2);}
.lb-fechar{top:16px;right:16px;}
.lb-ant{left:16px;top:50%;transform:translateY(-50%);}
.lb-prox{right:16px;top:50%;transform:translateY(-50%);}

/* ---------- depoimentos ---------- */
.depoimentos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:24px;}
.depoimento{border:1px solid rgba(233,230,237,.12);background:rgba(255,255,255,.02);padding:36px 32px;display:flex;flex-direction:column;gap:18px;margin:0;transition:border-color .3s ease,transform .3s ease;}
.depoimento:hover{border-color:rgba(162,52,253,.4);transform:translateY(-3px);}
.depoimento .aspas{font-family:var(--titulo);font-size:34px;color:var(--roxo);line-height:.6;height:18px;}
.depoimento h3{font-weight:600;font-size:16.5px;line-height:1.45;margin:0;}
.depoimento blockquote{margin:0;color:rgba(255,255,255,.66);font-size:14.5px;line-height:1.75;flex:1;}
.depoimento figcaption{display:flex;align-items:center;gap:14px;border-top:1px solid var(--linha);padding-top:18px;}
.depoimento .avatar{width:48px;height:48px;flex-shrink:0;background:var(--cinza);border-radius:12px;padding:6px;display:flex;align-items:center;justify-content:center;font-family:var(--titulo);font-weight:800;color:var(--roxo-escuro);font-size:14px;}
.depoimento .avatar img{width:100%;height:100%;object-fit:contain;}
.depoimento figcaption b{display:block;font-size:14px;}
.depoimento figcaption small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--laranja);margin-top:2px;}

/* ---------- parceiros ---------- */
.grade-parceiros{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));}
.parceiro{background:var(--preto);padding:40px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:background-color .3s ease;}
.parceiro img{width:64px;height:64px;object-fit:contain;filter:grayscale(1) invert(1) brightness(1.7);opacity:.8;transition:filter .3s ease,opacity .3s ease;}
.parceiro:hover{background:var(--superficie);}
.parceiro:hover img{filter:none;opacity:1;}
.parceiro span{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.4);}

/* ---------- FAQ ---------- */
.faq{display:flex;flex-direction:column;gap:2px;max-width:920px;}
.faq details{border:1px solid var(--linha);background:rgba(255,255,255,.02);transition:border-color .2s ease,background-color .2s ease;}
.faq details[open]{border-color:rgba(162,52,253,.35);background:rgba(162,52,253,.04);}
.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;font-weight:600;font-size:16px;line-height:1.4;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{background:rgba(162,52,253,.08);}
.faq summary::after{content:"+";font-family:var(--titulo);font-size:20px;color:var(--roxo);flex-shrink:0;transition:transform .25s ease;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding:0 28px 26px;margin:0;color:rgba(255,255,255,.68);font-size:15px;line-height:1.75;max-width:780px;}

/* ---------- CTA ---------- */
.cta{border:1px solid rgba(162,52,253,.4);background:radial-gradient(ellipse at top left,rgba(114,14,236,.28),transparent 60%);padding:clamp(40px,7vw,80px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px;position:relative;overflow:hidden;}
.cta::after{content:"";position:absolute;right:-120px;bottom:-160px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(162,52,253,.25),transparent 65%);pointer-events:none;}
.cta h2{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.1;margin:0;}
.cta p{color:rgba(255,255,255,.68);margin:12px 0 0;max-width:440px;line-height:1.65;}
.cta .btn{position:relative;z-index:1;}

/* ---------- serviços (página) ---------- */
.lista-servicos{display:flex;flex-direction:column;gap:2px;}
.servico{border:1px solid var(--linha);background:rgba(255,255,255,.02);padding:clamp(32px,5vw,56px);display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:clamp(24px,4vw,64px);scroll-margin-top:96px;transition:border-color .3s ease;}
.servico:hover{border-color:rgba(162,52,253,.35);}
.servico .num{font-family:var(--titulo);font-size:14px;color:var(--roxo);margin-bottom:12px;}
.servico h2{font-family:var(--titulo);font-weight:700;text-transform:uppercase;font-size:clamp(1.1rem,2vw,1.5rem);line-height:1.25;margin:0;}
.servico ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
.servico li{display:flex;gap:12px;align-items:baseline;color:rgba(255,255,255,.78);line-height:1.6;font-size:15px;}
.servico li::before{content:"◆";color:var(--laranja);font-size:10px;flex-shrink:0;}
@media(max-width:760px){.servico{grid-template-columns:1fr;}}
.etapas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:36px 32px;counter-reset:etapa;}
.etapa{border-top:2px solid var(--roxo-escuro);padding-top:20px;}
.etapa .num{font-family:var(--titulo);font-size:13px;color:var(--roxo);margin-bottom:10px;}
.etapa h3{font-weight:700;font-size:16px;margin:0 0 8px;}
.etapa p{color:rgba(255,255,255,.62);font-size:14px;line-height:1.65;margin:0;}

/* ---------- cabeçalho de página interna ---------- */
.cabecalho{padding-top:clamp(48px,8vh,100px);padding-bottom:clamp(40px,6vh,72px);background:radial-gradient(ellipse at top right,rgba(114,14,236,.25),transparent 55%);}

/* ---------- contato ---------- */
.contato{display:grid;grid-template-columns:1.15fr 1fr;gap:2px;background:var(--linha);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);}
.contato > div{background:var(--preto);padding:clamp(48px,8vh,96px) var(--margem);}
.contato .col-a{background:radial-gradient(ellipse at bottom left,rgba(114,14,236,.3),var(--preto) 65%);}
@media(max-width:900px){.contato{grid-template-columns:1fr;}}
.dados{display:flex;flex-direction:column;gap:30px;}
.dado small{display:block;font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:6px;}
.dado a,.dado span{font-size:clamp(17px,1.6vw,20px);font-weight:600;color:#fff;line-height:1.5;}
.dado a:hover{color:var(--roxo);}
.dado .menor{font-size:16px;font-weight:400;color:rgba(255,255,255,.82);}

.form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px;max-width:620px;}
.form .cheio{grid-column:1/-1;}
@media(max-width:600px){.form{grid-template-columns:1fr;}}
.campo{display:flex;flex-direction:column;gap:8px;}
.campo label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.6);}
.campo input,.campo select,.campo textarea{font:inherit;font-size:16px;color:#fff;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.18);padding:14px 16px;border-radius:0;outline:none;transition:border-color .2s ease,background-color .2s ease;width:100%;}
.campo select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#A234FD 50%),linear-gradient(135deg,#A234FD 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:44px;}
.campo select option{background:#160528;color:#fff;}
.campo textarea{min-height:130px;resize:vertical;}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--roxo);background:rgba(162,52,253,.06);}
.campo .erro{font-size:12.5px;color:#ff9b5c;min-height:0;}
.campo.invalido input,.campo.invalido select,.campo.invalido textarea{border-color:#ff9b5c;}
.nota{font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.6;margin:0;}

/* ---------- rodapé ---------- */
.pre-rodape{background:linear-gradient(180deg,#160528,#0c0118);border-top:1px solid rgba(162,52,253,.25);}
.pre-rodape .wrap{padding-top:clamp(56px,8vh,88px);padding-bottom:clamp(56px,8vh,88px);display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:clamp(32px,4vw,56px);}
@media(max-width:1000px){.pre-rodape .wrap{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.pre-rodape .wrap{grid-template-columns:1fr;}}
.pre-rodape h2{font-family:var(--titulo);font-weight:700;font-size:15px;margin:0 0 18px;color:#fff;}
.pre-rodape p{margin:0;color:rgba(255,255,255,.65);font-size:15px;line-height:1.7;max-width:300px;}
.pre-rodape .logo-rodape{height:32px;width:auto;margin-bottom:18px;}
.links-rodape{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;}
.links-rodape a{color:rgba(255,255,255,.75);font-size:15px;}
.links-rodape a:hover{color:var(--roxo);}
.btn-whats{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.3);border-radius:12px;padding:10px 18px;color:#fff;}
.btn-whats:hover{border-color:var(--roxo);color:#fff;background:rgba(162,52,253,.1);}
.btn-whats svg{width:28px;height:28px;}
.btn-whats span{display:flex;flex-direction:column;line-height:1.15;}
.btn-whats small{font-size:10px;}
.btn-whats b{font-size:15px;}
.redes{display:flex;gap:10px;margin-top:16px;}
.redes a{width:40px;height:40px;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;border-radius:10px;color:rgba(255,255,255,.8);}
.redes a:hover{border-color:var(--roxo);color:var(--roxo);}
.redes svg{width:18px;height:18px;}
.news{display:flex;border:1px solid rgba(255,255,255,.3);border-radius:12px;overflow:hidden;transition:border-color .2s ease;}
.news:focus-within{border-color:var(--roxo);}
.news input{flex:1;min-width:0;background:transparent;border:0;outline:0;padding:14px 16px;color:#fff;font:inherit;font-size:15px;}
.news button{border:0;cursor:pointer;background:var(--roxo);padding:0 20px;color:#fff;font-size:15px;transition:background-color .2s ease;}
.news button:hover{background:var(--roxo-escuro);}
.news-msg{font-size:13px;color:rgba(255,255,255,.6);margin-top:12px;line-height:1.5;}
.oculto{position:absolute!important;left:-9999px!important;}
.rodape{border-top:1px solid var(--linha);padding:28px var(--margem);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:13px;color:rgba(255,255,255,.5);}
.rodape a{color:rgba(255,255,255,.6);text-decoration:underline;text-underline-offset:3px;}

/* ---------- WhatsApp flutuante ---------- */
.whats-flutuante{position:fixed;right:clamp(16px,2.5vw,28px);bottom:clamp(16px,2.5vw,28px);z-index:var(--z-flutuante);width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px -6px rgba(0,0,0,.55);transform:scale(.6);opacity:0;transition:transform .3s cubic-bezier(.2,.9,.3,1.3),opacity .3s ease;}
.whats-flutuante.visivel{transform:scale(1);opacity:1;}
.whats-flutuante:hover{transform:scale(1.07);}
.whats-flutuante svg{width:30px;height:30px;color:#fff;}

/* ---------- texto legal ---------- */
.legal{max-width:780px;}
.legal h2{font-family:var(--titulo);font-size:18px;text-transform:uppercase;margin:40px 0 12px;}
.legal p,.legal li{color:rgba(255,255,255,.75);font-size:15.5px;line-height:1.8;}

/* ---------- revelar ao rolar ---------- */
.revela{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.revela.visto{opacity:1;transform:none;}
.sem-js .revela{opacity:1;transform:none;}

@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:none;}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,-40px) scale(1.15);}}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-3deg);}50%{transform:translateY(-24px) rotate(3deg);}}
@keyframes flight{0%{left:8%;top:58%;transform:rotate(35deg);opacity:0;}6%{opacity:1;}50%{left:45%;top:18%;transform:rotate(55deg);}96%{opacity:1;}100%{left:80%;top:22%;transform:rotate(80deg);opacity:0;}}
@keyframes flicker{0%,100%{transform:scaleY(1);opacity:.9;}50%{transform:scaleY(1.5);opacity:.6;}}
@keyframes flagWave{0%,100%{transform:skewY(0);}50%{transform:skewY(-8deg);}}
@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(255,111,5,.55);}70%{box-shadow:0 0 0 10px rgba(255,111,5,0);}100%{box-shadow:0 0 0 0 rgba(255,111,5,0);}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}
  .faixa-trilho{animation:none;}
  .revela{opacity:1;transform:none;}
}
/* backdrop-filter cria bloco de contenção para position:fixed — desligar com o menu aberto */
.menu-aberto .topo{-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;}
/* grade de clientes: bordas por card (o fundo da grade aparecia nas células vazias) */
.grade-clientes{background:none;border:0;gap:0;border-top:1px solid var(--linha);border-left:1px solid var(--linha);}
.card-cliente{border-right:1px solid var(--linha);border-bottom:1px solid var(--linha);}

/* ---------- sobre ---------- */
.capa-sobre{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;}
.capa-sobre .numeros{margin-top:clamp(32px,5vh,56px);}
.logo-animado{justify-self:center;width:100%;max-width:340px;position:relative;}
.logo-animado::before{content:"";position:absolute;inset:-12%;background:radial-gradient(circle,rgba(114,14,236,.35),transparent 62%);pointer-events:none;}
.logo-animado video{position:relative;width:100%;height:auto;display:block;}
@media(max-width:860px){.capa-sobre{grid-template-columns:1fr;}.logo-animado{max-width:240px;justify-self:start;}}
.mvv{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:2px;background:var(--linha);border:1px solid var(--linha);}
.mvv-bloco{background:var(--preto);padding:clamp(32px,5vw,56px);}
.mvv-bloco p:not(.rotulo){font-family:var(--titulo);font-weight:600;text-transform:uppercase;font-size:clamp(1.05rem,1.9vw,1.45rem);line-height:1.35;margin:0;}
.valores{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2px;background:var(--linha);border:1px solid var(--linha);}
.valor{background:var(--preto);padding:28px 26px;display:flex;align-items:center;gap:18px;font-weight:600;font-size:16.5px;transition:background-color .3s ease;}
.valor:hover{background:var(--superficie);}
.valor span{font-family:var(--titulo);font-size:13px;color:var(--roxo);}
.lema{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.4rem,4vw,3.2rem);line-height:1.12;margin:0;max-width:1100px;overflow-wrap:break-word;}

/* ---------- textos legais ---------- */
.legal ul{padding-left:20px;}
.legal li{margin-bottom:8px;}
.tabela{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;display:block;overflow-x:auto;}
.tabela th,.tabela td{border:1px solid var(--linha);padding:10px 12px;text-align:left;vertical-align:top;color:rgba(255,255,255,.78);}
.tabela th{color:#fff;background:rgba(162,52,253,.08);}

/* ---------- aviso de cookies (só aparece com medição ligada) ---------- */
.link-cookies{background:none;border:0;padding:0;font:inherit;color:rgba(255,255,255,.6);text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.link-cookies:hover{color:var(--roxo);}
.cookies{position:fixed;left:clamp(12px,2vw,24px);right:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:var(--z-modal);max-width:640px;background:#12041F;border:1px solid rgba(162,52,253,.45);padding:22px 24px;box-shadow:0 20px 50px -10px rgba(0,0,0,.7);display:none;}
.cookies.aberto{display:block;animation:fadeUp .4s ease both;}
.cookies p{margin:0 0 16px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.8);}
.cookies .acoes{margin-top:0;gap:10px;}
.cookies .btn{padding:12px 20px;font-size:11px;}
.valores{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.valores{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.valores{grid-template-columns:1fr;}}
.diferenciais.sete{grid-template-columns:repeat(4,1fr);}
@media(max-width:1100px){.diferenciais.sete{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.diferenciais.sete{grid-template-columns:1fr;}}

/* ---------- projetos v3: capas claras, texto estruturado ---------- */
.card-projeto[hidden]{display:none;}
.card-projeto.claro{background:#FFFFFF;}
.card-projeto.claro img{object-fit:contain;padding:14% 12% 26%;filter:none;}
.capa-projeto figure.claro{background:#FFFFFF;}
.capa-projeto figure.claro img{object-fit:contain;padding:10%;}
.capa-projeto figure.so-logo{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,rgba(114,14,236,.3),transparent 70%),var(--superficie);}
.capa-projeto figure.so-logo img{width:70%;height:auto;object-fit:contain;}
.galeria button.claro{background:#FFFFFF;}
.galeria button.claro img{padding:6%;}
.intro-projeto{padding-bottom:clamp(8px,2vw,16px);}
.intro-projeto p:first-child{font-size:clamp(17px,1.5vw,19px);color:rgba(255,255,255,.88);}
.corpo-projeto{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start;padding-top:0;}
@media(max-width:960px){.corpo-projeto{grid-template-columns:minmax(0,1fr);}}
.bloco-projeto{padding-top:28px;border-top:1px solid var(--linha);}
.bloco-projeto + .bloco-projeto{margin-top:40px;}
.bloco-projeto h2{font-family:var(--titulo);font-weight:800;text-transform:uppercase;font-size:clamp(1.15rem,2vw,1.6rem);margin:0 0 18px;}
.texto-projeto h3{font-family:var(--titulo);font-weight:600;text-transform:uppercase;font-size:15px;letter-spacing:.02em;color:var(--roxo);margin:10px 0 0;}
.texto-projeto strong{color:#fff;font-weight:600;}
.lista-projeto{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px;counter-reset:item;}
.lista-projeto li{position:relative;padding-left:44px;color:rgba(255,255,255,.75);font-size:16px;line-height:1.8;}
ol.lista-projeto li::before{counter-increment:item;content:counter(item,decimal-leading-zero);position:absolute;left:0;top:2px;font-family:var(--titulo);font-size:13px;color:var(--roxo);}
ul.lista-projeto li::before{content:"◆";position:absolute;left:8px;top:1px;color:var(--laranja);font-size:10px;}
ul.lista-projeto li{padding-left:28px;}
.lateral-projeto{display:flex;flex-direction:column;gap:20px;position:sticky;top:96px;}
@media(max-width:960px){.lateral-projeto{position:static;}}
.caixa-projeto{border:1px solid var(--linha);background:rgba(255,255,255,.02);padding:28px 26px;}
.caixa-projeto .rotulo{margin-bottom:14px;}
.caixa-projeto p:not(.rotulo),.caixa-projeto li{font-size:14.5px;line-height:1.75;color:rgba(255,255,255,.7);margin:0;}
.caixa-projeto .lista-projeto{gap:10px;margin-top:12px;}
.caixa-projeto .lista-projeto li{font-size:14px;}
.caixa-projeto h3{font-size:13px;margin:0 0 10px;}
.caixa-projeto.dica{border-color:rgba(162,52,253,.45);background:radial-gradient(ellipse at top right,rgba(114,14,236,.22),transparent 65%);}
.caixa-projeto.dica .rotulo::before{content:"✦";width:auto;height:auto;background:none;color:var(--laranja);}
.card-projeto.so-logo{background:radial-gradient(circle at 50% 38%,rgba(114,14,236,.32),transparent 70%),var(--superficie);}
.card-projeto.so-logo img{object-fit:contain;padding:22% 18% 34%;filter:none;}

.bloco-projeto p{margin:0 0 16px;color:rgba(255,255,255,.75);font-size:16px;line-height:1.85;}
.bloco-projeto .lista-projeto{margin:4px 0 20px;}
.bloco-projeto h3{margin:24px 0 10px;}
.caixa-projeto p:not(.rotulo){margin:0 0 10px;}
.caixa-projeto p:last-child{margin-bottom:0;}
.intro-projeto{gap:16px;}

/* página de projeto = documento do cliente, na ordem, sem depender de animação */
.documento-projeto{padding-bottom:clamp(40px,7vh,72px);}
.documento-projeto .texto-projeto{max-width:860px;gap:0;}
.documento-projeto .bloco-projeto{margin-top:44px;}
.documento-projeto .bloco-projeto + .bloco-projeto{margin-top:44px;}
.documento-projeto .caixa-projeto{margin-top:36px;}
.documento-projeto .caixa-projeto h2.rotulo{font-family:var(--corpo);font-weight:400;font-size:12px;margin:0 0 14px;}
.documento-projeto .intro-projeto p{margin:0 0 16px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.85;}
.documento-projeto .intro-projeto p:first-child{font-size:clamp(17px,1.5vw,19px);color:rgba(255,255,255,.9);}
.documento-projeto .intro-projeto .lista-projeto{margin:4px 0 20px;}
.documento-projeto .caixa-projeto p:not(.rotulo),.documento-projeto .caixa-projeto li{font-size:15px;}
