/* ══════════ TOKENS ══════════
     Linguagem visual: monocromática (branco, #F0F0F0, #1A1A1A), painéis arredondados que se
     destacam do fundo, Inter com espacejamento negativo, rótulos em Geist Mono, palavras gigantes
     correndo entre as seções. O único acento é o PONTO AZUL #5060AB do símbolo da Alivan. */
  :root{
    --branco:#FFFFFF; --cinza:#F0F0F0; --cinza-2:#E6E6E6; --preto:#1A1A1A; --preto-2:#242424; --preto-3:#2E2E2E;
    --tx-2:rgba(26,26,26,.7); --tx-3:rgba(26,26,26,.55); --ln:rgba(26,26,26,.1); --ln-cl:rgba(255,255,255,.1);
    --azul:#5060AB; --sans:"Inter",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif; --mono:"Geist Mono",ui-monospace,Menlo,monospace;
    --ease:cubic-bezier(.22,1,.36,1); --g:clamp(12px,1.4vw,20px); --pad:clamp(20px,2.8vw,40px);
  }
  *,*::before,*::after{box-sizing:border-box}
  html{overflow-x:clip;-webkit-text-size-adjust:100%}
  html.lenis{height:auto}
  body{margin:0;background:var(--branco);color:var(--preto);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-optical-sizing:auto}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  button,input{font:inherit;color:inherit}
  button{background:none;border:0;cursor:pointer;padding:0}
  :focus-visible{outline:2px solid var(--azul);outline-offset:3px}
  ::selection{background:var(--preto);color:#fff}
  h1,h2,h3{margin:0;font-weight:500;letter-spacing:-.04em;line-height:1.02;text-wrap:balance}
  p{margin:0}
  .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .mono{font-family:var(--mono);font-size:11px;letter-spacing:.02em;text-transform:uppercase}
  .js .rv{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease) var(--d,0s),transform 1s var(--ease) var(--d,0s)}
  .js .rv.in{opacity:1;transform:none}

  /* botão: quadrado escuro com seta + texto */
  .bt{display:inline-flex;align-items:center;gap:0;height:56px;padding:4px;border-radius:12px;background:var(--preto);color:#fff;font-size:15px;font-weight:500;white-space:nowrap;transition:transform .5s var(--ease)}
  .bt .ic{width:48px;height:48px;border-radius:9px;background:#fff;color:var(--preto);display:grid;place-items:center;flex:none;overflow:hidden;position:relative}
  .bt .ic svg{width:16px;height:16px;transition:transform .5s var(--ease)}
  .bt span{padding:0 24px 0 22px}
  .bt.esc{background:var(--preto-2);box-shadow:inset 0 0 0 1px var(--ln-cl)}
  .bt.esc .ic{background:var(--preto-3);color:#fff}
  .bt.cl{background:#fff;color:var(--preto);box-shadow:inset 0 0 0 1px var(--ln)}
  .bt.cl .ic{background:var(--preto);color:#fff}

  /* ícone em pixels: ">>" que sai pela direita, se desfaz e volta pela esquerda */
  .px{width:22px!important;height:22px!important;overflow:hidden}
  .px rect{fill:currentColor;shape-rendering:crispEdges}
  .px .c1,.px .c2{animation:pxa 2.2s steps(1,end) infinite}
  .px .c2{animation-delay:.1s}
  .px .po{opacity:0;animation:pxb 2.2s steps(1,end) infinite}
  @keyframes pxa{0%,38%{transform:translateX(0)}42%{transform:translateX(2px)}46%{transform:translateX(5px)}50%{transform:translateX(8px)}54%{transform:translateX(12px);opacity:.6}58%{transform:translateX(17px);opacity:0}62%{transform:translateX(-14px);opacity:0}66%{transform:translateX(-9px);opacity:.6}70%{transform:translateX(-5px);opacity:1}76%{transform:translateX(-2px)}82%,100%{transform:translateX(0)}}
  @keyframes pxb{0%,54%{opacity:0}58%,64%{opacity:1}68%,100%{opacity:0}}
  .bt:hover .px .c1,.bt:hover .px .c2,.nav .cta:hover .px .c1,.nav .cta:hover .px .c2{animation-duration:1.1s}
  /* ══════════ MENU ══════════ */
  .nav{position:fixed;left:0;right:0;top:0;z-index:60;padding:14px var(--pad);display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;transition:transform .6s var(--ease)}
  .nav > *{pointer-events:auto}
  .nav.hide{transform:translateY(-120%)}
  .nav .esq{display:flex;align-items:center;gap:6px;height:44px;padding:0 8px 0 6px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--ln),0 8px 24px -16px rgba(0,0,0,.3)}
  .nav .logo{display:flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 4px;border-radius:9px}
  .nav .logo svg{width:28px;height:28px;transition:transform .7s var(--ease)}
  .nav .logo:hover svg{transform:rotate(-30deg)}
  .nav .logo b{font-weight:600;font-size:15px;letter-spacing:-.03em;white-space:nowrap}
  .nav .logo b i{font-style:normal;color:var(--azul)}
  .nav ul{display:flex;list-style:none;margin:0;padding:0}
  .nav li a{display:block;padding:6px 12px;border-radius:8px;font-size:13.5px;color:var(--tx-2);white-space:nowrap;transition:background .3s,color .3s}
  .nav li a:hover{background:var(--cinza);color:var(--preto)}
  .nav .cta{display:flex;align-items:center;gap:10px;height:44px;padding:4px 16px 4px 4px;border-radius:12px;background:#fff;font-size:14px;font-weight:500;white-space:nowrap;box-shadow:0 0 0 1px var(--ln),0 8px 24px -16px rgba(0,0,0,.3)}
  .nav .cta i{width:36px;height:36px;border-radius:8px;background:var(--preto);color:#fff;display:grid;place-items:center}
  .nav .cta i svg{width:14px;height:14px;transition:transform .5s var(--ease)}
  .menu-bt{display:none}

  /* desfoque progressivo (vidro): 8 camadas, desfoque dobrando a cada faixa */
  .vidro{position:absolute;left:0;right:0;pointer-events:none}
  .vidro i{position:absolute;inset:0}
  .hero .vidro{bottom:0;height:46%;z-index:1}
  .topo-vidro{position:fixed;top:0;height:78px;z-index:55}
  /* ══════════ ABERTURA ══════════ */
  .hero{padding:10px 10px 0}
  .hero .painel{position:relative;height:calc(100svh - 20px);min-height:640px;max-height:980px;border-radius:20px;overflow:hidden;background:var(--cinza)}
  .hero .bg{position:absolute;inset:0;overflow:hidden}
  .hero .bg img{position:absolute;left:0;bottom:-4%;width:100%;height:auto;min-height:62%;object-fit:cover;object-position:50% 100%;transform:scale(1.12);animation:zoom 2.4s var(--ease) forwards .2s}
  @keyframes zoom{to{transform:scale(1)}}
  .hero .bg::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,0) 80%,rgba(0,0,0,.18) 100%)}
  .hero .txt{position:absolute;left:var(--pad);top:clamp(130px,20vh,210px);z-index:2;max-width:min(780px,62vw)}
  .hero h1{font-size:clamp(40px,4.2vw,68px);line-height:1.04;white-space:nowrap}
  .hero h1 .l{display:block;overflow:hidden;padding-bottom:.06em}
  .hero h1 .l > span{display:block;transform:translateY(105%);animation:sobe 1.1s var(--ease) forwards .3s}
  .hero h1 .l:nth-child(2) > span{animation-delay:.42s}
  .hero h1 .gr{color:rgba(26,26,26,.42)}
  .hero h1 .pt{display:inline-block;width:.17em;height:.17em;border-radius:50%;background:var(--azul);margin-left:.03em}
  @keyframes sobe{to{transform:none}}
  @keyframes surge{from{opacity:0;transform:translateY(16px)}}
  .hero .sub{margin-top:22px;max-width:40ch;font-size:16px;color:rgba(26,26,26,.85);animation:surge 1s var(--ease) both .7s}
  .hero .bt{margin-top:30px;animation:surge 1s var(--ease) both .85s}
  .hcard{position:absolute;right:var(--pad);top:clamp(140px,22vh,210px);z-index:2;width:clamp(260px,23vw,330px);padding:6px;border-radius:16px;background:linear-gradient(160deg,#c9d0f0,#fff 55%);box-shadow:0 20px 50px -30px rgba(0,0,0,.5);animation:surge 1.2s var(--ease) both .6s;transition:transform .6s var(--ease)}
  .hcard:hover{transform:translateY(-4px)}
  .hcard .im{aspect-ratio:4/3;border-radius:11px;overflow:hidden;background:#111}
  .hcard .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
  .hcard:hover .im img{transform:scale(1.06)}
  .hcard .hrod{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 8px 12px}
  .hcard b{display:block;font-size:14.5px;font-weight:500;letter-spacing:-.01em}
  .hcard small{display:block;font-size:12px;color:var(--tx-3)}
  .hcard svg{width:20px;height:20px;transition:transform .5s var(--ease)}
  .hcard:hover .hrod svg{transform:translateX(4px)}
  .hero .base{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--pad) 26px;color:#fff}
  .hero .base p{max-width:36ch;font-size:13.5px;line-height:1.45}
  .logos{margin-top:18px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .logos .fl{display:flex;width:max-content;animation:corre 40s linear infinite}
  .logos span{padding:0 clamp(26px,3.4vw,56px);font-size:clamp(20px,1.8vw,27px);font-weight:600;letter-spacing:-.04em;white-space:nowrap;opacity:.92}
  .logos span:nth-child(3n+2){font-weight:400;font-style:italic;letter-spacing:-.02em}
  .logos span:nth-child(3n){font-family:var(--mono);font-weight:500;font-size:clamp(17px,1.4vw,21px);letter-spacing:0}
  @keyframes corre{to{transform:translateX(-50%)}}

  /* faixa de aviso */
  .aviso{display:flex;align-items:center;gap:28px;height:72px;margin:10px 10px 0;padding:0 var(--pad);border-radius:20px;background:var(--cinza);overflow:hidden}
  .aviso .tag{display:flex;align-items:center;gap:12px;flex:none;font-size:13px;white-space:nowrap}
  .tog{width:30px;height:16px;border-radius:9px;box-shadow:inset 0 0 0 1.5px var(--preto);position:relative;flex:none}
  .tog::after{content:"";position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--azul);animation:tog 3s var(--ease) infinite}
  @keyframes tog{50%{transform:translateX(14px)}}
  .aviso .cx{flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
  .aviso .cx div{display:flex;width:max-content;animation:corre 50s linear infinite}
  .aviso .cx span{padding-right:80px;font-size:13.5px;color:var(--tx-2);white-space:nowrap}

  /* ══════════ DECLARAÇÃO + BENTO ══════════ */
  .decl{padding:clamp(70px,8vw,120px) var(--pad) clamp(80px,9vw,120px)}
  .decl h2{font-size:clamp(30px,3.9vw,64px);line-height:1.06;max-width:30ch}
  .rev .w{opacity:.18;transition:opacity .3s}
  .rev .w.on{opacity:1}
  .decl .sub{margin-top:22px;margin-left:auto;max-width:46ch;font-size:15.5px;color:var(--tx-2)}
  .bento{margin-top:clamp(40px,5vw,70px);display:grid;grid-template-columns:1.15fr 1fr 1.15fr 1.15fr;grid-template-rows:auto auto;gap:var(--g)}
  .bx{position:relative;border-radius:18px;background:var(--cinza);padding:22px;overflow:hidden;min-height:150px}
  .bx.esc{background:var(--preto);color:#fff;grid-row:span 2;display:flex;flex-direction:column}
  .bx.esc .ic{width:44px;height:44px;border-radius:10px;background:#fff;color:var(--preto);display:grid;place-items:center}
  .bx.esc .ic svg{width:20px;height:20px}
  .bx .num{font-size:clamp(40px,3.6vw,58px);font-weight:400;letter-spacing:-.05em;line-height:1;margin-top:18px;font-variant-numeric:tabular-nums;white-space:nowrap}
  .bx.esc p{margin-top:auto;padding-top:24px;font-size:13.5px;color:rgba(255,255,255,.75);max-width:30ch}
  .bx.trac{background:transparent;box-shadow:inset 0 0 0 1px var(--ln);background-image:repeating-linear-gradient(90deg,transparent 0 6px,transparent 6px 12px);display:grid;place-items:center;text-align:center}
  .rostos{display:flex;justify-content:center}
  .rostos img{width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--branco);margin-left:-12px;transition:transform .4s var(--ease)}
  .rostos img:first-child{margin-left:0}
  .bx.trac:hover .rostos img{transform:translateY(-4px)}
  .bx.trac:hover .rostos img:nth-child(2){transition-delay:.04s} .bx.trac:hover .rostos img:nth-child(3){transition-delay:.08s} .bx.trac:hover .rostos img:nth-child(4){transition-delay:.12s}
  .bx.trac small{display:block;margin-top:12px;font-size:12.5px;font-weight:500}
  .bx.peq{display:flex;align-items:center;gap:14px;min-height:96px}
  .bx.peq b{flex:none;font-size:clamp(48px,4.4vw,68px);font-weight:400;letter-spacing:-.05em;line-height:1;white-space:nowrap}
  .bx.peq > span{font-size:13px;color:var(--tx-2)}
  .bx.raios{grid-row:span 2;display:flex;flex-direction:column}
  .raio{position:relative;width:120px;height:120px;margin:4px auto 0}
  .raio i{position:absolute;left:50%;top:0;width:1.5px;height:18px;margin-left:-.75px;background:var(--preto);transform-origin:50% 60px;opacity:.7;animation:pisca 2.4s var(--ease) infinite}
  .raio b{position:absolute;inset:38px;border-radius:50%;background:var(--preto);display:grid;place-items:center}
  .raio b::after{content:"";width:12px;height:12px;border-radius:50%;background:var(--azul)}
  @keyframes pisca{0%,100%{opacity:.18}40%{opacity:.85}}
  .bx.raios h3{margin-top:auto;font-size:18px;font-weight:500;letter-spacing:-.02em}
  .bx.raios p{margin-top:6px;font-size:13px;color:var(--tx-2)}
  .bx.cit{grid-row:span 2;background:#fff;box-shadow:inset 0 0 0 1px var(--ln);display:flex;flex-direction:column}
  .bx.cit .top{display:flex;justify-content:space-between;align-items:center}
  .bx.cit .top svg{width:26px;height:26px}
  .bx.cit .top span{font-weight:600;letter-spacing:-.03em}
  .bx.cit q{display:block;margin-top:auto;padding-top:24px;font-size:16px;line-height:1.4;letter-spacing:-.015em;quotes:none}
  .bx.cit small{display:block;margin-top:14px;font-size:12.5px;color:var(--tx-3)}

  /* ══════════ PALAVRAS GIGANTES ══════════ */
  .gig{overflow:hidden;padding:clamp(70px,9vw,140px) 0 clamp(30px,4vw,56px)}
  .gig .tr{display:flex;align-items:center;width:max-content;will-change:transform}
  .gig b{font-size:clamp(64px,8.4vw,136px);font-weight:600;letter-spacing:-.045em;line-height:1.08;white-space:nowrap;padding:0 .22em;color:transparent;-webkit-text-fill-color:transparent;background:radial-gradient(circle at var(--fx,-9999px) 50%,#2A2A2A 0,#2A2A2A 70px,rgba(42,42,42,0) 300px),linear-gradient(#E6E6E6,#E6E6E6);-webkit-background-clip:text;background-clip:text}
  .gig .sb{width:clamp(44px,4.6vw,76px);height:clamp(44px,4.6vw,76px);margin:0 .3em;flex:none;opacity:.16}
  .gig .sb svg{width:100%;height:100%;animation:giro 12s linear infinite}
  @keyframes giro{to{transform:rotate(360deg)}}
  .gig.esc{background:var(--preto);color:#fff;border:0}

  /* ══════════ PROJETOS ══════════ */
  .proj{padding:0 var(--pad) clamp(90px,10vw,140px)}
  .grid{border-top:1px solid var(--ln)}
  .js .obra .vis img{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease) .15s,transform 1.2s var(--ease)}
  .js .obra.in .vis img{clip-path:inset(0 0 0 0)}
  .proj-nav{display:none}
  /* barra flutuante no celular */
  .barra-m{display:none}
  @media (hover:none){ .obra,.bt,.dep,.pr,.q button,.ps button,.pn,.opts button,.sug button,.setas button{transition-property:transform,background,opacity,clip-path,box-shadow,color;transition-duration:.25s} .obra:active,.bt:active,.dep:active,.pr:active,.setas button:active,.sug button:active{transform:scale(.97)} .q button:active,.ps button:active{opacity:.7} }
  .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--ln)}
  .obra{position:relative;border-right:1px solid var(--ln);border-bottom:1px solid var(--ln);padding:var(--g);cursor:pointer;background:#fff;transition:background .4s}
  .obra:hover{background:#FAFAFA}
  .obra .tag{position:absolute;left:calc(var(--g) + 12px);top:calc(var(--g) + 12px);z-index:2;display:inline-flex;padding:5px 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--ln)}
  .obra .vis{position:relative;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:#111}
  .obra .nome{margin-top:16px;font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .obra .nome i{font-style:normal;color:var(--azul)}
  .obra .marca{font-size:clamp(22px,2vw,30px);font-weight:600;letter-spacing:-.045em;text-align:center;transition:opacity .4s,transform .6s var(--ease);padding:0 20px}
  .obra .marca i{font-style:normal;color:var(--azul)}
  .obra .vis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
  .obra:hover .vis img,.obra:focus-visible .vis img{transform:scale(1.05)}
  .obra:hover .marca{opacity:0;transform:translateY(-14px)}
  .obra .vis .abrir{position:absolute;right:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:#fff;font-size:12.5px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .4s .1s,transform .5s var(--ease) .1s;white-space:nowrap}
  .obra .vis .abrir svg{width:14px;height:14px}
  .obra:hover .abrir{opacity:1;transform:none}
  .ficha{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--g);border-top:1px solid var(--ln)}
  .ficha div{padding:12px 4px 12px 14px;border-bottom:1px solid var(--ln)}
  .ficha div:nth-child(odd){border-right:1px solid var(--ln);padding-left:4px}
  .ficha div:nth-last-child(-n+2){border-bottom:0}
  .ficha b{display:block;font-family:var(--mono);font-size:13.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ficha span{display:block;margin-top:2px;font-size:11.5px;color:var(--tx-3);white-space:nowrap}
  .obra.cta{background:var(--preto);color:#fff;display:flex;flex-direction:column;justify-content:space-between;cursor:default}
  .obra.cta .tag{position:static;align-self:flex-start;background:transparent;box-shadow:inset 0 0 0 1px var(--ln-cl);color:#fff}
  .obra.cta h3{font-size:clamp(28px,2.6vw,40px);margin-top:40px}
  .obra.cta p{margin-top:12px;color:rgba(255,255,255,.72);max-width:32ch}
  .obra.cta .bt{margin-top:28px;align-self:flex-start}

  /* ══════════ ESCURO ══════════ */
  .esc-sec{background:var(--preto);color:#fff;margin:0 10px;border-radius:20px;padding:clamp(80px,9vw,130px) var(--pad);position:relative;overflow:hidden}
  .esc-sec + .esc-sec{margin-top:10px}
  .lbl{display:flex;align-items:center;gap:14px}
  .lbl .ov{width:30px;height:16px;border-radius:9px;box-shadow:inset 0 0 0 1.5px currentColor;flex:none}
  .lbl i{flex:1;height:1px;background:currentColor;opacity:.15}
  .lbl span{white-space:nowrap}
  .esc-sec .lbl{color:#fff}
  .esc-sec .lbl span{color:rgba(255,255,255,.75)}

  /* capacidades */
  .cap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,4vw,60px);align-items:stretch}
  .cap .esq{display:flex;flex-direction:column}
  .cap .esq > p{margin-top:28px;max-width:40ch;color:rgba(255,255,255,.75)}
  .cap h2{margin-top:auto;padding-top:60px;font-size:clamp(32px,3vw,48px);color:#fff}
  .cap .bt{margin-top:28px;align-self:flex-start}
  .acc{display:flex;gap:10px;min-height:min(70vh,560px)}
  .pn{position:relative;flex:0 0 60px;border-radius:16px;background:var(--preto-2);box-shadow:inset 0 0 0 1px var(--ln-cl);overflow:hidden;cursor:pointer;transition:flex-basis .9s var(--ease),background .4s}
  .pn.on{flex:1 1 auto;cursor:default}
  .pn .nm{position:absolute;right:12px;top:12px;padding:4px 8px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ln-cl);color:rgba(255,255,255,.7)}
  .pn .vt{position:absolute;left:50%;bottom:22px;transform:translateX(-50%) rotate(180deg);writing-mode:vertical-rl;color:rgba(255,255,255,.75);white-space:nowrap;transition:opacity .4s}
  .pn.on .vt{opacity:0}
  .pn .ct{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;opacity:0;transition:opacity .4s;pointer-events:none;min-width:320px}
  .pn.on .ct{opacity:1;transition:opacity .6s .35s}
  .pn .ct h3{font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.03em;max-width:16ch}
  .pn .ct p{margin-top:12px;font-size:13.5px;color:rgba(255,255,255,.72);max-width:40ch}
  .pn .ct ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
  .pn .ct li{padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.07);font-size:12.5px;white-space:nowrap}
  .pn .ilu{margin:auto auto 0;width:min(80%,320px);color:rgba(255,255,255,.65)}
  .pn .ilu *{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
  .pn:not(.on):hover{background:var(--preto-3)}

  /* visão */
  .visao{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(30px,5vw,80px)}
  .visao .ft{margin:0}
  .visao .ft .im{aspect-ratio:1;border-radius:16px;overflow:hidden;background:#000;max-width:320px}
  .visao .ft img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2)}
  .visao .ft figcaption{margin-top:18px}
  .visao .ft figcaption b{display:block;color:#fff}
  .visao .ft figcaption span{display:block;margin-top:2px;font-size:12px;color:rgba(255,255,255,.6)}
  .visao h2{margin-top:36px;font-size:clamp(32px,3.4vw,52px);line-height:1.08;max-width:18ch}
  .visao .sub{margin-top:30px;max-width:44ch;color:rgba(255,255,255,.75)}
  .rev-cl .w{opacity:.2}
  .rev-cl .w.on{opacity:1}

  /* bento escuro */
  .stack{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:center}
  .stack .mono{color:rgba(255,255,255,.72);line-height:1.6;max-width:56ch}
  .orbi{display:flex}
  .orbi span{width:42px;height:42px;border-radius:50%;background:#fff;color:var(--preto);display:grid;place-items:center;margin-left:-8px;box-shadow:0 0 0 3px var(--preto);font-size:11px;font-weight:700;letter-spacing:-.02em;transition:transform .4s var(--ease)}
  .orbi span:first-child{margin-left:0}
  .orbi:hover span{transform:translateY(-4px)}
  .orbi:hover span:nth-child(2){transition-delay:.04s} .orbi:hover span:nth-child(3){transition-delay:.08s} .orbi:hover span:nth-child(4){transition-delay:.12s} .orbi:hover span:nth-child(5){transition-delay:.16s}
  .feats{margin-top:clamp(50px,6vw,80px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
  .feat .ic{height:46px;color:#fff}
  .feat .ic svg{width:34px;height:34px}
  .feat .ic svg *{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
  .feat i{display:block;height:1px;margin:18px 0;background:rgba(255,255,255,.12);position:relative;overflow:hidden}
  .feat i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
  .feat.in i::after{transform:scaleX(1)}
  .feat p{font-size:14px;color:rgba(255,255,255,.78);max-width:28ch}

  /* chat de IA */
  .ia{margin-top:clamp(60px,7vw,100px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--g)}
  .chat{border-radius:18px;background:var(--preto-2);box-shadow:inset 0 0 0 1px var(--ln-cl);display:flex;flex-direction:column;min-height:440px;overflow:hidden}
  .chat .ct2{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--ln-cl)}
  .chat .ct2 svg{width:30px;height:30px}
  .chat .ct2 b{font-size:14px;font-weight:500}
  .chat .ct2 span{margin-left:auto;display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.65)}
  .chat .ct2 span::before{content:"";width:6px;height:6px;border-radius:50%;background:#5ED38A}
  .msgs{flex:1;display:flex;flex-direction:column;gap:10px;padding:18px;overflow-y:auto;max-height:320px}
  .msg{max-width:84%;padding:11px 14px;border-radius:14px;font-size:14px;line-height:1.5;animation:entra .5s var(--ease) both}
  .msg.bot{align-self:flex-start;background:var(--preto-3);border-bottom-left-radius:4px}
  .msg.eu{align-self:flex-end;background:#fff;color:var(--preto);border-bottom-right-radius:4px}
  .msg.dig{display:flex;gap:4px;padding:14px}
  .msg.dig i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);animation:dig 1s infinite}
  .msg.dig i:nth-child(2){animation-delay:.15s} .msg.dig i:nth-child(3){animation-delay:.3s}
  @keyframes dig{50%{transform:translateY(-4px);opacity:.4}}
  @keyframes entra{from{opacity:0;transform:translateY(8px)}}
  .sug{display:flex;flex-wrap:wrap;gap:6px;padding:14px 18px 18px;border-top:1px solid var(--ln-cl)}
  .sug button{padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.07);font-size:13px;text-align:left;transition:background .3s}
  .sug button:hover{background:rgba(255,255,255,.16)}
  .sug button:disabled{opacity:.4;pointer-events:none}
  .chat .demo{padding:0 18px 14px;color:rgba(255,255,255,.55)}
  .agentes{display:grid;gap:var(--g)}
  .ag{border-radius:18px;background:var(--preto-2);box-shadow:inset 0 0 0 1px var(--ln-cl);padding:20px 22px;transition:background .4s}
  .ag:hover{background:var(--preto-3)}
  .ag .mono{color:rgba(255,255,255,.6)}
  .ag b{display:block;margin-top:8px;font-size:20px;font-weight:500;letter-spacing:-.03em}
  .ag p{margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.72)}

  /* ══════════ DEPOIMENTOS ══════════ */
  .exp{padding:0 0 clamp(90px,10vw,140px);overflow:hidden}
  .exp .cab{display:grid;grid-template-columns:1fr 1fr;padding:30px var(--pad) 0}
  .exp .cab div{grid-column:2}
  .exp .cab p{max-width:42ch;color:var(--tx-2)}
  .setas{display:flex;gap:8px;margin-top:22px}
  .setas button{width:36px;height:36px;border-radius:50%;background:var(--preto);color:#fff;display:grid;place-items:center;transition:transform .4s var(--ease)}
  .setas button:hover{transform:scale(1.1)}
  .setas svg{width:15px;height:15px}
  .car{margin-top:40px;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
  .car.arr{cursor:grabbing}
  .car .tr{display:flex;gap:10px;width:max-content;padding:0 var(--pad);will-change:transform}
  .dep{flex:none;width:clamp(270px,22vw,330px);min-height:340px;padding:20px;border-radius:16px;background:var(--cinza);display:flex;flex-direction:column;transition:background .4s}
  .dep:hover{background:var(--cinza-2)}
  .dep .top{display:flex;align-items:center;gap:8px}
  .dep .top img{width:34px;height:34px;border-radius:50%;object-fit:cover;pointer-events:none}
  .dep .top span{padding:4px 10px;border-radius:999px;background:#fff;font-size:12px;font-weight:600;white-space:nowrap}
  .dep .qq{margin-top:22px;width:22px;height:22px;color:rgba(26,26,26,.25)}
  .dep q{display:block;margin-top:12px;font-size:17px;line-height:1.35;letter-spacing:-.02em;quotes:none}
  .dep .quem{margin-top:auto;padding-top:20px;padding-left:12px;border-left:1px solid var(--ln)}
  .dep .quem b{display:block;font-family:var(--mono);font-size:12px;font-weight:500;text-transform:uppercase;white-space:nowrap}
  .dep .quem span{display:block;font-size:12px;color:var(--tx-3);white-space:nowrap}

  /* faixa de imagem */
  .filme{position:relative;margin:0 10px;height:min(92vh,820px);border-radius:20px;overflow:hidden;background:#000;color:#fff}
  .filme img{position:absolute;inset:-6% 0;width:100%;height:112%;object-fit:cover;filter:grayscale(1) contrast(1.1);opacity:.85}
  .filme::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.1) 40%,rgba(0,0,0,.65))}
  .filme .t1{position:absolute;left:var(--pad);top:var(--pad);z-index:2;max-width:34ch;font-size:14px;color:rgba(255,255,255,.85)}
  .filme .t2{position:absolute;right:var(--pad);top:var(--pad);z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);font-size:12.5px;white-space:nowrap}
  .filme h2{position:absolute;left:var(--pad);bottom:var(--pad);z-index:2;font-size:clamp(40px,4.4vw,68px);max-width:12ch}
  .filme .sb{position:absolute;right:var(--pad);bottom:var(--pad);z-index:2;width:clamp(80px,9vw,130px);height:clamp(80px,9vw,130px)}
  .filme .sb svg{width:100%;height:100%;transition:transform 1s var(--ease)}
  .filme:hover .sb svg{transform:rotate(-30deg) scale(1.05)}

  /* processo */
  .proc h2{margin-top:clamp(50px,6vw,90px);font-size:clamp(32px,3.4vw,52px);max-width:22ch}
  .pbox{margin-top:clamp(40px,5vw,60px);display:grid;grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:var(--g);align-items:start}
  .pilu{aspect-ratio:1;border-radius:16px;box-shadow:inset 0 0 0 1px var(--ln-cl);display:grid;place-items:center;overflow:hidden;position:sticky;top:90px}
  .pilu svg{width:70%;height:70%;color:rgba(255,255,255,.7)}
  .pilu svg *{fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round;transition:opacity .6s}
  .pilu svg g{opacity:.15;transition:opacity .6s,transform .8s var(--ease);transform-origin:center}
  .pilu svg g.on{opacity:1}
  .passos{display:grid;gap:10px}
  .ps{border-radius:14px;box-shadow:inset 0 0 0 1px var(--ln-cl);background:var(--preto);transition:background .4s}
  .ps.on{background:var(--preto-2)}
  .ps button{width:100%;display:flex;align-items:center;gap:20px;padding:20px 22px;text-align:left}
  .ps button .mono{color:rgba(255,255,255,.5);flex:none}
  .ps button b{flex:1;font-size:17px;font-weight:500;letter-spacing:-.02em}
  .ps button em{font-style:normal;padding:3px 9px;border-radius:999px;background:#fff;color:var(--preto);font-family:var(--mono);font-size:10.5px;text-transform:uppercase;opacity:0;transition:opacity .3s}
  .ps.on button em{opacity:1}
  .ps .corpo{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
  .ps.on .corpo{grid-template-rows:1fr}
  .ps .corpo > div{overflow:hidden}
  .ps .corpo p{padding:0 22px 22px 70px;font-size:14px;color:rgba(255,255,255,.75);max-width:64ch}
  .proc .rodp{margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
  .proc .rodp .mono{color:rgba(255,255,255,.6);max-width:60ch;line-height:1.6}
  .grande{margin-top:clamp(100px,12vw,180px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:30px;align-items:end}
  .grande h2{font-size:clamp(40px,5vw,80px);line-height:1;max-width:16ch}
  .grande p{color:rgba(255,255,255,.72);max-width:36ch}
  .grande .bt{margin-top:24px}

  /* produtos */
  .prods{padding:clamp(90px,10vw,140px) var(--pad) 0}
  .pgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g)}
  .pr{display:block;position:relative}
  .pr .cx{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden}
  .pr .cx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0 0;transition:transform 1.4s var(--ease)}
  .pr:hover .cx img{transform:scale(1.06)}
  .pr .cx .ov{position:absolute;right:12px;top:12px;z-index:2;width:30px;height:16px;border-radius:9px;box-shadow:inset 0 0 0 1.5px #fff}
  .pr .cx .vr{position:absolute;inset:0;z-index:1;padding:22px;display:flex;align-items:flex-end;background:rgba(26,26,26,.88);color:#fff;font-size:14.5px;line-height:1.5;opacity:0;transition:opacity .5s}
  .pr:hover .vr,.pr:focus-visible .vr{opacity:1}
  .pr .nm{margin-top:14px;padding-left:12px;border-left:1px solid var(--ln)}
  .pr .nm b{display:block;font-family:var(--mono);font-size:12px;font-weight:500;text-transform:uppercase}
  .pr .nm span{display:block;font-size:12px;color:var(--tx-3)}

  /* dúvidas */
  .faq{padding:clamp(100px,12vw,170px) var(--pad);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,80px);align-items:start}
  .faq .esq{position:sticky;top:100px}
  .faq h2{margin-top:30px;font-size:clamp(32px,3vw,48px);max-width:14ch}
  .faq .esq p{margin-top:18px;color:var(--tx-2);max-width:38ch}
  .faq .bt{margin-top:28px}
  .qs{display:grid;gap:8px}
  .q{border-radius:12px;background:var(--preto);color:#fff;overflow:hidden}
  .q button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 18px;text-align:left;font-size:16px;font-weight:500;letter-spacing:-.02em}
  .q button i{flex:none;width:14px;height:14px;position:relative;transition:transform .5s var(--ease)}
  .q button i::before,.q button i::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:#fff}
  .q button i::after{transform:rotate(90deg);transition:transform .4s var(--ease)}
  .q.on button i{transform:rotate(180deg)}
  .q.on button i::after{transform:rotate(0)}
  .q .corpo{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
  .q.on .corpo{grid-template-rows:1fr}
  .q .corpo > div{overflow:hidden}
  .q .corpo p{padding:0 18px 18px;font-size:14px;color:rgba(255,255,255,.75);max-width:62ch}

  /* rodapé */
  .rod{position:relative;margin:0 10px 10px;border-radius:20px;overflow:hidden;background:#0B0D12;color:#fff;min-height:min(100vh,900px);display:flex;flex-direction:column}
  .rod .bg{position:absolute;inset:0}
  .rod .bg canvas{position:absolute;inset:0;width:100%;height:100%}
  .rod .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,13,18,.7) 0%,rgba(11,13,18,.2) 40%,rgba(11,13,18,0) 70%)}
  .rod .top{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;padding:clamp(60px,7vw,100px) var(--pad) 0}
  .rod .mk{display:flex;align-items:center;gap:10px}
  .rod .mk svg{width:44px;height:44px}
  .rod .mk b{font-size:26px;font-weight:600;letter-spacing:-.04em}
  .rod .mk b i{font-style:normal;color:#A9B4E8}
  .rod .top > div > p{margin-top:14px;max-width:38ch;font-size:13.5px;color:rgba(255,255,255,.8)}
  .zap{margin-top:22px;display:flex;align-items:center;gap:6px;width:min(100%,380px);height:52px;padding:4px 4px 4px 14px;border-radius:12px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
  .zap input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:#fff;font-size:14.5px}
  .zap input::placeholder{color:rgba(255,255,255,.6)}
  .zap input:focus{outline:none}
  .zap button{display:flex;align-items:center;gap:8px;height:100%;padding:4px 14px 4px 4px;border-radius:9px;background:#fff;color:var(--preto);font-size:13.5px;font-weight:600;white-space:nowrap}
  .zap button i{width:36px;height:36px;border-radius:7px;background:var(--preto);color:#fff;display:grid;place-items:center}
  .zap button svg{width:14px;height:14px}
  .rod .seg{margin-top:22px}
  .rod .seg .mono{color:rgba(255,255,255,.75)}
  .redes{display:flex;gap:8px;margin-top:10px}
  .redes a{width:34px;height:34px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);display:grid;place-items:center;transition:background .3s}
  .redes a:hover{background:rgba(255,255,255,.15)}
  .redes svg{width:16px;height:16px}
  .cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .cols h4{margin:0;font-family:var(--mono);font-size:13px;font-weight:500}
  .cols ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:9px}
  .cols a{font-size:13.5px;color:rgba(255,255,255,.82);transition:color .3s}
  .cols a:hover{color:#fff}
  .palavra{position:relative;z-index:2;margin-top:auto;display:flex;justify-content:center;font-size:clamp(110px,24vw,380px);font-weight:700;letter-spacing:-.07em;line-height:.74;color:#fff;white-space:nowrap;user-select:none;padding-top:60px;overflow:hidden}
  .palavra span{display:inline-block;transform:translateY(var(--ty,30%));transition:transform 1.2s var(--ease)}
  .palavra i{font-style:normal;color:#A9B4E8}
  .copy{position:relative;z-index:2;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px var(--pad) 16px;font-size:12px;color:rgba(255,255,255,.7)}
  .copy span{white-space:nowrap}

  /* visualizador */
  .modal{position:fixed;inset:0;z-index:90;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s}
  .modal.on{opacity:1;visibility:visible;transition:opacity .5s var(--ease)}
  .modal .mt{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px var(--pad)}
  .modal .mt > div{min-width:0}
  .modal .mt b{display:block;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .modal .mt .mono{color:var(--tx-3)}
  .modal .fx{width:44px;height:44px;flex:none;border-radius:10px;background:var(--preto);color:#fff;display:grid;place-items:center;transition:transform .5s var(--ease)}
  .modal .fx:hover{transform:rotate(90deg)}
  .modal .fx svg{width:16px;height:16px}
  .palco{position:relative;margin:0 var(--pad);overflow:hidden;border-radius:16px;background:var(--cinza);touch-action:pan-y}
  .palco img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.97);transition:opacity .6s var(--ease),transform .8s var(--ease)}
  .palco img.on{opacity:1;transform:none}
  .modal .mb{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px var(--pad) 20px}
  .thumbs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
  .thumbs button{flex:none;width:72px;aspect-ratio:16/10;border-radius:6px;overflow:hidden;opacity:.4;transition:opacity .3s,box-shadow .3s}
  .thumbs button img{width:100%;height:100%;object-fit:cover}
  .thumbs button[aria-current="true"]{opacity:1;box-shadow:0 0 0 2px var(--preto)}
  .modal .setas{margin:0}

  /* ══════════ RESPONSIVO ══════════ */
  @media (max-width:1100px){
    .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
    .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .feats{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ia{grid-template-columns:minmax(0,1fr)}
    .nav li a{padding:6px 9px}
  }
  @media (max-width:900px){
    .nav ul{display:none}
    .menu-bt{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--cinza)}
    .menu-bt svg{width:16px;height:16px}
    .aberto .nav ul{display:flex;flex-direction:column;position:fixed;top:66px;left:var(--pad);right:var(--pad);padding:8px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px var(--ln),0 20px 40px -20px rgba(0,0,0,.3)}
    .aberto .nav ul a{padding:12px 14px;font-size:16px}
    .hcard{display:none}
    .hero .txt{max-width:none;right:var(--pad)}
    .cap,.visao,.pbox,.grande,.faq,.rod .top,.exp .cab{grid-template-columns:minmax(0,1fr)}
    .exp .cab div{grid-column:1}
    .acc{flex-direction:column;min-height:0}
    .pn,.pn.on{flex:none}
    .pn{height:56px;transition:height .8s var(--ease),background .4s}
    .pn.on{height:460px}
    .pn .vt{writing-mode:horizontal-tb;transform:none;left:18px;bottom:auto;top:20px}
    .pn .ct{min-width:0}
    .pilu{position:relative;top:0;aspect-ratio:16/9}
    .faq .esq{position:relative;top:0}
    .stack{grid-template-columns:minmax(0,1fr)}
  }
  @media (max-width:620px){
    .nav .cta span{display:none}
    .nav .cta{padding:4px}
    .hero h1{font-size:clamp(22px,calc(8.2vw - 3.5px),56px)}
    .hero .txt{max-width:none}
    .hero .txt{top:118px;right:var(--pad)}
    .hero .sub{font-size:15px}
    .hero .bg img{height:58%;object-position:44% 100%}
    .bento,.grid,.feats,.pgrid{grid-template-columns:minmax(0,1fr)}
    .bx.esc,.bx.raios,.bx.cit{grid-row:auto;min-height:220px}
    .dep{width:82vw}
    .grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) 6px;border:0;scrollbar-width:none}
    .grid::-webkit-scrollbar{display:none}
    .obra{flex:0 0 84vw;scroll-snap-align:center;border:1px solid var(--ln);border-radius:16px}
    .obra .vis .abrir{opacity:1;transform:none}
    .proj-nav{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
    .proj-nav .pts{display:flex;gap:6px}
    .proj-nav .pts i{width:6px;height:6px;border-radius:50%;background:var(--cinza-2);transition:width .4s var(--ease),background .3s}
    .proj-nav .pts i.on{width:20px;border-radius:3px;background:var(--preto)}
    .barra-m{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:58;align-items:center;gap:8px;padding:6px 6px 6px 14px;border-radius:14px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 0 0 1px var(--ln),0 14px 34px -18px rgba(0,0,0,.45);transform:translateY(140%);transition:transform .6s var(--ease)}
    .barra-m.on{transform:none}
    .barra-m .sec-at{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
    .barra-m .sec-at span{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .barra-m .sec-at i{display:block;height:2px;border-radius:2px;background:var(--cinza-2);overflow:hidden}
    .barra-m .sec-at i b{display:block;height:100%;background:var(--azul);transform-origin:left;transform:scaleX(var(--p,0))}
    .barra-m a{display:flex;align-items:center;gap:8px;height:40px;padding:3px 14px 3px 3px;border-radius:10px;background:var(--preto);color:#fff;font-size:13.5px;font-weight:500;white-space:nowrap}
    .barra-m a i{width:34px;height:34px;border-radius:7px;background:#fff;color:var(--preto);display:grid;place-items:center}
    .aviso .tag span{display:none}
    .filme{height:76vh}
    .filme .t2{display:none}
    .ps .corpo p{padding-left:22px}
    .copy{flex-direction:column}
    .modal .thumbs{display:none}
    .cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  @media (max-width:360px){
    .nav .logo b{font-size:14px}
    .bt span{padding:0 16px}
  }
  @media (prefers-reduced-motion:reduce){
    .logos .fl,.aviso .cx div,.gig .sb svg,.raio i,.tog::after{animation:none!important}
  }

  /* ══════════ WORDPRESS ══════════ */
  body.admin-bar .nav,body.admin-bar .topo-vidro{top:32px}
  @media (max-width:782px){ body.admin-bar .nav,body.admin-bar .topo-vidro{top:46px} }
  .conteudo{max-width:780px;margin:0 auto;padding:150px var(--pad) clamp(80px,9vw,130px)}
  .conteudo .mono{color:var(--tx-3)}
  .conteudo h1{margin-top:16px;font-size:clamp(36px,4.4vw,64px);line-height:1.04}
  .conteudo .capa{margin:34px 0 0;border-radius:16px;overflow:hidden}
  .conteudo .capa img{width:100%;height:auto}
  .texto{margin-top:34px;font-size:17px;line-height:1.75;color:rgba(26,26,26,.85)}
  .texto > *{margin:0 0 1.1em}
  .texto h2,.texto h3{margin-top:1.6em;color:var(--preto)}
  .texto h2{font-size:clamp(26px,2.6vw,36px)} .texto h3{font-size:clamp(21px,2vw,26px)}
  .texto a{color:var(--azul);text-decoration:underline;text-underline-offset:3px}
  .texto img{height:auto;border-radius:12px}
  .texto blockquote{margin-left:0;padding-left:18px;border-left:2px solid var(--azul);font-size:19px}
  .lista-posts{display:grid;gap:10px;margin-top:40px}
  .lista-posts a{display:block;padding:22px 24px;border-radius:16px;background:var(--cinza);transition:background .3s}
  .lista-posts a:hover{background:var(--cinza-2)}
  .lista-posts b{display:block;font-size:22px;font-weight:500;letter-spacing:-.03em}
  .lista-posts span{display:block;margin-top:6px;color:var(--tx-2);font-size:14.5px}
  .paginacao{margin-top:30px;display:flex;gap:8px;flex-wrap:wrap}
  .paginacao .page-numbers{padding:8px 14px;border-radius:10px;background:var(--cinza)}
  .paginacao .current{background:var(--preto);color:#fff}
  .largura-total{padding-top:84px}
  body.pagina-limpa{background:#fff}

  /* cartão do Projeto 360: ambiente em linhas que se desenha, é renderizado e gira em 360° */
  .p3360,.p360a{background:#0F4A3A}
  .p360a svg{display:block;width:100%;height:100%}
  .p360a .p3lin path{stroke-dasharray:420;stroke-dashoffset:420;animation:p3des 6s var(--ease) infinite}
  .p360a .p3lin path:nth-child(2){animation-delay:.15s} .p360a .p3lin path:nth-child(3){animation-delay:.3s} .p360a .p3lin path:nth-child(n+4){animation-delay:.5s}
  .p360a .p3clip{animation:p3ren 6s var(--ease) infinite}
  .p360a .p3scan{animation:p3scan 6s var(--ease) infinite}
  .p360a .p3txt{stroke-dasharray:300;stroke-dashoffset:300;animation:p3txt 6s var(--ease) infinite}
  .p360a .p3orb{transform-origin:160px 132px;animation:p3gira 6s linear infinite}
  .p360a .p3tag{opacity:0;animation:p3tag 6s var(--ease) infinite}
  @keyframes p3des{0%{stroke-dashoffset:420}30%,88%{stroke-dashoffset:0}100%{stroke-dashoffset:-420}}
  @keyframes p3ren{0%,32%{width:0}62%,88%{width:320px}100%{width:320px;opacity:0}}
  @keyframes p3scan{0%,32%{transform:translateX(0);opacity:1}62%{transform:translateX(360px);opacity:1}63%,100%{opacity:0;transform:translateX(360px)}}
  @keyframes p3txt{0%{stroke-dashoffset:300;fill:rgba(255,255,255,0)}30%{stroke-dashoffset:0;fill:rgba(255,255,255,0)}45%,88%{stroke-dashoffset:0;fill:#fff}100%{stroke-dashoffset:0;fill:rgba(255,255,255,0)}}
  @keyframes p3gira{to{transform:rotate(0)}}
  @keyframes p3tag{0%,60%{opacity:0;transform:translateY(-4px)}66%,88%{opacity:1;transform:none}100%{opacity:0}}
  .hcard:hover .p360a *{animation-duration:3s}

  /* ══════════ MOTION NOS ÍCONES E ILUSTRAÇÕES ══════════ */
  /* cartão "Render em minutos": raios girando, núcleo pulsando e ponto acendendo */
  .raio{animation:giroR 18s linear infinite}
  .raio b{animation:nucleo 2.4s var(--ease) infinite}
  .raio b::after{animation:pontoR 2.4s var(--ease) infinite}
  @keyframes giroR{to{transform:rotate(360deg)}}
  @keyframes nucleo{0%,100%{transform:scale(1)}45%{transform:scale(.86)}60%{transform:scale(1.06)}}
  @keyframes pontoR{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(80,96,171,.6)}50%{transform:scale(1.35);box-shadow:0 0 0 8px rgba(80,96,171,0)}}
  /* ícone de crescimento do cartão 70% */
  .bx.esc .ic svg{animation:sobeSeta 2.6s var(--ease) infinite}
  @keyframes sobeSeta{0%,100%{transform:translate(0,0)}50%{transform:translate(3px,-3px)}}

  /* ilustrações dos serviços: o traço se desenha, apaga e redesenha */
  .pn .ilu *{stroke-dasharray:640;stroke-dashoffset:640}
  .pn.on .ilu *{animation:traco 6s var(--ease) infinite}
  .pn.on .ilu *:nth-child(2){animation-delay:.12s} .pn.on .ilu *:nth-child(3){animation-delay:.24s} .pn.on .ilu *:nth-child(4){animation-delay:.36s} .pn.on .ilu *:nth-child(5){animation-delay:.48s} .pn.on .ilu *:nth-child(6){animation-delay:.6s} .pn.on .ilu *:nth-child(n+7){animation-delay:.72s}
  @keyframes traco{0%{stroke-dashoffset:640}35%,80%{stroke-dashoffset:0}100%{stroke-dashoffset:-640}}
  /* IA: órbitas giram e o núcleo pulsa (os círculos tracejados não usam o efeito de traço) */
  .pn .ilu circle[stroke-dasharray]{stroke-dashoffset:0;transform-box:fill-box;transform-origin:center}
  .pn.on .ilu circle[stroke-dasharray="4 6"]{animation:orbita 14s linear infinite}
  .pn.on .ilu circle[stroke-dasharray="2 8"]{animation:orbita 22s linear infinite reverse}
  .pn .ilu circle[r="6"]{transform-box:fill-box;transform-origin:center}
  .pn.on .ilu circle[r="6"]{animation:traco 6s var(--ease) infinite,pisca6 2s ease-in-out infinite}
  @keyframes orbita{to{transform:rotate(360deg)}}
  @keyframes pisca6{50%{opacity:.35}}

  /* ícones dos diferenciais: traço desenhado + gesto próprio de cada um */
  .feat .ic svg{stroke-dasharray:110;stroke-dashoffset:110}
  .feat.in .ic svg{animation:icTraco 1.6s var(--ease) forwards,var(--gesto) 3.2s ease-in-out 1.6s infinite}
  .feat:nth-child(1){--gesto:lupa} .feat:nth-child(2){--gesto:alvo} .feat:nth-child(3){--gesto:ajuste} .feat:nth-child(4){--gesto:flutua}
  @keyframes icTraco{to{stroke-dashoffset:0}}
  @keyframes lupa{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(4px,-2px) rotate(-8deg)}60%{transform:translate(-3px,2px) rotate(6deg)}}
  @keyframes alvo{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
  @keyframes ajuste{0%,100%{transform:scaleY(1)}30%{transform:scaleY(.86)}60%{transform:scaleY(1.08)}}
  @keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
  .feat:hover .ic svg{animation-duration:1.6s,1.2s}

  /* ilustração do processo: a etapa ativa se desenha e gira de leve */
  .pilu svg g.on *{stroke-dasharray:420;animation:traco 7s var(--ease) infinite}
  .pilu svg g.on{animation:balancoP 7s ease-in-out infinite}
  @keyframes balancoP{0%,100%{transform:rotate(0) scale(1)}50%{transform:rotate(-4deg) scale(1.03)}}

  /* cartões de etapa do método (versão com animações próprias) e chips com ponto */
  .lbl .ov{position:relative;overflow:hidden}
  .lbl .ov::after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:currentColor;animation:tog 3s var(--ease) infinite}

  /* ══════════ VOLTAR AO TOPO + ASSISTENTE ══════════ */
  .flut{position:fixed;right:16px;bottom:16px;z-index:65;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
  .flut > *{pointer-events:auto}
  body.tem-barra .flut{bottom:16px}
  @media (max-width:620px){ body.tem-barra .flut{bottom:76px} body.tem-barra .topo-bt{display:none} }
  .topo-bt{position:relative;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 0 1px var(--ln),0 10px 24px -14px rgba(0,0,0,.4);display:grid;place-items:center;color:var(--preto);opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;transition:opacity .4s,transform .5s var(--ease)}
  .topo-bt.on{opacity:1;transform:none;pointer-events:auto}
  .topo-bt svg.seta{width:16px;height:16px;transition:transform .4s var(--ease)}
  .topo-bt:hover svg.seta{transform:translateY(-3px)}
  .topo-bt svg.anel{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
  .topo-bt svg.anel circle{fill:none;stroke:var(--azul);stroke-width:2;stroke-linecap:round;stroke-dasharray:132;stroke-dashoffset:calc(132 - 132 * var(--p,0))}
  .chat-bolha{position:relative;width:58px;height:58px;border-radius:50%;background:var(--preto);display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.55);transition:transform .5s var(--ease)}
  .chat-bolha:hover{transform:scale(1.06)}
  .chat-bolha svg{width:40px;height:40px;transition:transform .6s var(--ease),opacity .3s}
  .chat-bolha .fechar{position:absolute;width:18px;height:18px;color:#fff;opacity:0;transform:rotate(-90deg)}
  .chat-aberto .chat-bolha svg.sim{opacity:0;transform:rotate(90deg) scale(.6)}
  .chat-aberto .chat-bolha .fechar{opacity:1;transform:none}
  .chat-bolha::after{content:"";position:absolute;right:4px;top:4px;width:11px;height:11px;border-radius:50%;background:#5ED38A;box-shadow:0 0 0 2px var(--preto);animation:onlineP 2.2s ease-in-out infinite}
  @keyframes onlineP{50%{box-shadow:0 0 0 2px var(--preto),0 0 0 6px rgba(94,211,138,.25)}}
  .chat-bolha .onda{position:absolute;inset:0;border-radius:50%;border:2px solid var(--azul);opacity:0;animation:ondaC 3.2s ease-out infinite}
  @keyframes ondaC{0%{transform:scale(.9);opacity:.7}70%,100%{transform:scale(1.55);opacity:0}}
  .chat-aberto .chat-bolha .onda{display:none}
  .convite{max-width:250px;padding:12px 14px;border-radius:14px 14px 4px 14px;background:#fff;box-shadow:0 0 0 1px var(--ln),0 14px 30px -16px rgba(0,0,0,.4);font-size:14px;line-height:1.4;cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .4s,transform .5s var(--ease)}
  .convite.on{opacity:1;transform:none;pointer-events:auto}
  .convite b{display:block;font-weight:600}
  .convite .x{float:right;margin:-4px -6px 0 8px;width:20px;height:20px;border-radius:50%;color:var(--tx-3);font-size:14px;line-height:20px;text-align:center}
  .chat-aberto .convite{display:none}
  .cjan{position:fixed;right:16px;bottom:86px;z-index:66;width:min(360px,calc(100vw - 32px));max-height:min(560px,calc(100svh - 120px));display:flex;flex-direction:column;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--ln),0 30px 70px -30px rgba(0,0,0,.55);overflow:hidden;opacity:0;transform:translateY(16px) scale(.97);transform-origin:100% 100%;pointer-events:none;transition:opacity .35s,transform .5s var(--ease)}
  .chat-aberto .cjan{opacity:1;transform:none;pointer-events:auto}
  @media (max-width:620px){ body.tem-barra .cjan{bottom:146px} }
  .cjan .ct{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--preto);color:#fff}
  .cjan .ct svg{width:34px;height:34px;flex:none}
  .cjan .ct b{display:block;font-size:14.5px;font-weight:600}
  .cjan .ct span{display:flex;align-items:center;gap:6px;font-size:12px;color:#9FE3B4}
  .cjan .ct span::before{content:"";width:6px;height:6px;border-radius:50%;background:#5ED38A}
  .cjan .msgs2{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:var(--cinza);scrollbar-width:thin}
  .cjan .m{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;animation:entra .4s var(--ease) both}
  .cjan .m.bot{align-self:flex-start;background:#fff;border-bottom-left-radius:4px}
  .cjan .m.eu{align-self:flex-end;background:var(--preto);color:#fff;border-bottom-right-radius:4px}
  .cjan .m.dig{display:flex;gap:4px;padding:13px}
  .cjan .m.dig i{width:6px;height:6px;border-radius:50%;background:var(--tx-3);animation:dig 1s infinite}
  .cjan .m.dig i:nth-child(2){animation-delay:.15s} .cjan .m.dig i:nth-child(3){animation-delay:.3s}
  .cjan .ops{display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;border-top:1px solid var(--ln);background:#fff}
  .cjan .ops button{padding:8px 13px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ln);font-size:13.5px;font-weight:500;transition:background .3s,color .3s,transform .3s var(--ease)}
  .cjan .ops button:hover{background:var(--preto);color:#fff}
  .cjan .ops button:active{transform:scale(.96)}
  .cjan form{display:flex;gap:6px;width:100%}
  .cjan form input{flex:1;min-width:0;height:42px;padding:0 14px;border:0;border-radius:12px;background:var(--cinza);font-size:16px}
  .cjan form input:focus{outline:2px solid var(--azul)}
  .cjan form button{height:42px;padding:0 14px;border-radius:12px;background:var(--preto);color:#fff;font-weight:600;font-size:14px}
  .cjan .zapbt{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border-radius:12px;background:#1E7A45;color:#fff;font-weight:600;font-size:14.5px}
  .cjan .zapbt svg{width:18px;height:18px}
  .cjan .rod2{padding:0 16px 10px;background:#fff;font-size:11.5px;color:var(--tx-3);text-align:center}
