/* Builda Day v4 (06/11/2026) · camada final sobre estilo.css + v3.css */
@font-face{font-family:"Geist Mono";src:url(assets/fonts/geist-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(assets/fonts/geist-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
.lg-tx{fill:currentColor}.lg-ac{fill:var(--ac)}
.pular{position:absolute;left:-999px;top:8px;z-index:999;padding:10px 14px;background:var(--tx);color:var(--bg);border-radius:8px}
.pular:focus{left:12px}

/* ---------- sidebar antiga sai; entra o trilho ---------- */
.lateral{display:none!important}
body{padding-left:0!important}
.topo .logo{visibility:visible!important;color:var(--tx)}
.logo-svg{height:24px;width:auto;color:var(--tx);display:block}
.trilho{display:none}
@media (min-width:1180px) and (hover:hover){
  .wrap{padding-left:max(var(--gutter),88px)}
  .trilho{position:fixed;left:16px;top:50%;z-index:70;display:flex;flex-direction:column;gap:14px;width:46px;max-height:calc(100vh - 40px);padding:14px 9px;border-radius:16px;background:color-mix(in srgb,var(--card) 88%,transparent);border:1px solid var(--line2);box-shadow:0 18px 40px -24px rgba(30,20,80,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:translateY(-50%);overflow:hidden;transition:width .45s var(--ease),padding .45s var(--ease),box-shadow .45s var(--ease)}
  .trilho:hover,.trilho:focus-within{width:258px;padding:16px 14px;box-shadow:0 30px 70px -30px rgba(30,20,80,.45)}
  .trilho-cab{display:flex;align-items:center;gap:10px;height:26px;padding-left:5px}
  .trilho-cab .logo-orb{flex:none;width:18px;height:18px}
  .trilho-logo{height:20px;width:auto;color:var(--tx);opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .4s var(--ease);flex:none}
  .trilho-lista{list-style:none;position:relative;display:flex;flex-direction:column;gap:2px}
  .trilho-lista::before{content:"";position:absolute;left:13px;top:12px;bottom:12px;width:1px;background-image:repeating-linear-gradient(to bottom,var(--line3) 0 3px,transparent 3px 7px)}
  .trilho-lista a{position:relative;display:flex;align-items:center;gap:14px;height:32px;padding:0 6px;border-radius:8px;color:var(--tx2);font-size:14px;white-space:nowrap;transition:background .2s,color .2s}
  .trilho-lista a i{position:relative;z-index:1;flex:none;width:12px;height:12px;margin-left:2px;border:1px solid var(--line3);background:var(--card);border-radius:3px;transition:all .35s var(--ease)}
  .trilho-lista a span{opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .35s var(--ease)}
  .trilho-lista a.feito i{border-color:var(--ac);background:var(--ac-soft)}
  .trilho-lista a.on i{border-color:var(--ac);background:var(--ac);box-shadow:0 0 0 4px var(--ac-soft)}
  .trilho-lista a.on{color:var(--tx)}
  .trilho-lista a:hover{background:var(--bg2);color:var(--tx)}
  .trilho-lote{display:flex;gap:12px;align-items:flex-start;padding-top:12px;border-top:1px solid var(--line2)}
  .trilho-lote .vagas-mini{display:flex;flex-direction:column;gap:4px;flex:none;margin-left:7px}
  .trilho-lote .vagas-mini i{width:14px;height:5px;border-radius:2px;background:var(--ac)}
  .trilho-lote-txt{display:flex;flex-direction:column;gap:6px;min-width:170px;opacity:0;transition:opacity .25s}
  .trilho-lote-txt b{font-weight:500;font-size:14.5px}
  .trilho-lote-txt .mono{color:var(--ac2)}
  .trilho:hover .trilho-logo,.trilho:focus-within .trilho-logo,.trilho:hover .trilho-lista a span,.trilho:focus-within .trilho-lista a span{opacity:1;transform:none}
  .trilho:hover .trilho-lote-txt,.trilho:focus-within .trilho-lote-txt{opacity:1;transition-delay:.12s}
  .trilho:hover .trilho-lista a span{transition-delay:.08s}
}

/* ---------- menu do celular ---------- */
.menu-bt{display:none;width:40px;height:40px;border-radius:10px;place-items:center;border:1px solid var(--line2);background:var(--card);color:var(--tx)}
.menu-bt svg{width:20px;height:20px}
.menu{position:fixed;inset:0;z-index:600}
.menu[hidden]{display:none}
.menu-fundo{position:absolute;inset:0;background:rgba(20,14,50,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:aparece .3s ease}
.menu-folha{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;padding:18px 18px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:var(--card);box-shadow:0 -20px 60px -20px rgba(30,20,80,.4);animation:sobe .45s var(--ease)}
@keyframes sobe{from{transform:translateY(100%)}}
.menu-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.menu-x{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:var(--bg2)}
.menu-x svg{width:20px;height:20px}
.menu-lista{list-style:none;counter-reset:m}
.menu-lista a{display:flex;align-items:baseline;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line2);font-family:var(--display);font-size:24px;letter-spacing:-.02em;color:var(--tx)}
.menu-lista a::before{counter-increment:m;content:counter(m,decimal-leading-zero);font-family:var(--mono);font-size:11px;color:var(--ac2);min-width:20px}
.menu-lista a.on{color:var(--ac)}
.menu-lote{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:16px;border-radius:14px;background:var(--ac-soft)}
.menu-lote .vagas-mini{display:flex;gap:5px}.menu-lote .vagas-mini i{flex:1;height:6px;border-radius:2px;background:var(--ac)}
.menu-lote span{font-size:14.5px;color:var(--ac2);font-weight:500}
.menu-lote .btn{width:100%}
@media (max-width:1179px),(hover:none){.menu-bt{display:grid}.topo .btn-sm{display:none}}
@media (max-width:720px){.topo .wrap{height:64px}}

/* ---------- espaçamentos mais curtos ---------- */
.sec{padding:clamp(64px,8vw,112px) 0}
.sec-curta{padding:clamp(48px,6vw,88px) 0}
.sec-cab .lead{margin-top:14px}
.hero{padding:104px 0 64px}
.wrap-largo{max-width:1320px}

/* ---------- brilho passando no "builda." (estilo do visor) ---------- */
.brilho{background:linear-gradient(100deg,var(--fx-orb-1) 0%,var(--fx-orb-1) 36%,#EDE8FF 46%,#FFFFFF 50%,#EDE8FF 54%,var(--fx-orb-1) 64%,var(--fx-orb-1) 100%);background-size:280% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:varre 3.8s cubic-bezier(.45,0,.2,1) infinite;filter:drop-shadow(0 0 14px rgba(140,116,246,.45))}
@keyframes varre{0%{background-position:115% 0}55%,100%{background-position:-15% 0}}

/* ---------- 4 movimentos: só palavra e hora ---------- */
.mov-cartao{min-height:clamp(340px,36vw,460px);margin-top:32px}
.mov-corpo{grid-template-columns:1fr;align-items:end}
.mov-hora{font-family:var(--mono);font-size:13px;color:var(--tx2);margin-bottom:10px;display:inline-flex;padding:5px 10px;border-radius:7px;background:color-mix(in srgb,var(--card) 60%,transparent)}
.mov-txt{display:none}
.horarios{list-style:none;margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);border-radius:var(--r);overflow:hidden}
.horarios li{display:flex;align-items:baseline;gap:14px;padding:16px 20px;background:var(--card);color:var(--tx2)}
.horarios b{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:-.02em;color:var(--tx)}
@media (max-width:640px){.horarios{grid-template-columns:1fr}.horarios li{padding:14px 18px}}

/* ---------- painel maior com subagentes ---------- */
.grafo-grande{aspect-ratio:1100/720;min-height:520px}
.g-no.sub .tile{width:36px;height:36px;border-radius:10px;background:var(--card2)}
.g-no.sub .tile svg{width:16px;height:16px;color:var(--ac)}
.g-no.sub .nome{font-size:12px;color:var(--tx2);font-weight:400}
.g-no.sub .modelo{display:none}
.g-no.sub.ativo .tile{border-color:color-mix(in srgb,var(--blue) 60%,transparent)}
.g-no.ferramenta .tile{width:46px;height:46px}
@media (max-width:760px){
  .grafo-grande{aspect-ratio:auto;height:660px;min-height:0}
  .g-no.sub .nome{display:none}
  .g-no.sub .tile{width:26px;height:26px;border-radius:7px}
  .g-no.sub .tile svg{width:12px;height:12px}
  .g-no.ferramenta .nome{font-size:11px}
  .g-no.agente .tile{width:44px;height:44px}
  .grafo-nums span:nth-child(n+3){display:none}
}

/* ---------- órbita: mais plataformas, linhas e carrossel no celular ---------- */
.orbita-palco{height:clamp(560px,60vw,720px)}
.app-chip{padding:7px 14px 7px 7px;gap:10px}
.app-chip .ic{width:34px;height:34px}
.app-chip small{display:none}
@media (max-width:760px){
  .orbita-palco{height:320px}
  .orbita-chips{position:static;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--gutter) 14px;margin:6px calc(var(--gutter) * -1) 0;scrollbar-width:none}
  .orbita-chips::-webkit-scrollbar{display:none}
  .app-chip{flex:none;scroll-snap-align:start;padding:10px 16px 10px 10px}
  .orbita{padding:0 var(--gutter)}
}

/* visualizador: vídeo, lojas, celular */
.app-moldura video{display:none;width:100%;aspect-ratio:16/9;background:#000;object-fit:cover}
.app-moldura.com-video img{display:none}
.app-moldura.com-video video{display:block}
.app-lojas{display:flex;flex-wrap:wrap;gap:10px}
.app-lojas:empty{display:none}
.loja{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 12px;border-radius:10px;background:#000;color:#fff;border:1px solid rgba(255,255,255,.18)}
.loja svg{width:22px;height:22px;fill:#fff}
.loja small{display:block;font-size:10px;opacity:.75;line-height:1.1}
.loja b{display:block;font-size:15px;font-weight:500;line-height:1.15}
.app-demo{font-family:var(--mono);font-size:11px;opacity:.55}
@media (max-width:860px){
  .app-palco{width:100%;height:100%;display:flex;align-items:flex-end}
  .app-cartao{width:100%;max-height:92vh;border-radius:22px 22px 0 0;gap:18px;padding:18px 18px calc(18px + env(safe-area-inset-bottom));animation:sobe .5s var(--ease) both}
  .app-marca h3{font-size:26px}.app-ic{width:52px;height:52px}
  .app-x{top:12px;right:12px}
}

/* ---------- mapa vetorial ---------- */
.mapa-v4{position:relative;margin-top:40px;height:clamp(440px,48vw,560px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line2);background:#F3F0FF;box-shadow:0 40px 80px -60px rgba(30,20,80,.5)}
.mapa-gl{position:absolute;inset:0}
.mapa-reserva{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(100,72,224,.16),transparent 30%),repeating-linear-gradient(28deg,transparent 0 46px,rgba(100,72,224,.08) 46px 48px),repeating-linear-gradient(-62deg,transparent 0 58px,rgba(100,72,224,.08) 58px 60px),#F5F2FF;transition:opacity .8s}
.mapa-v4.pronto .mapa-reserva{opacity:0;pointer-events:none}
.pino-reserva,.pino{position:absolute;left:50%;top:46%;width:18px;height:18px;border-radius:50%;background:var(--ac);box-shadow:0 0 0 7px rgba(100,72,224,.22),0 0 0 18px rgba(100,72,224,.08);transform:translate(-50%,-50%)}
.pino{position:relative;left:auto;top:auto;transform:none}
.pino::after{content:"";position:absolute;inset:-18px;border-radius:50%;border:2px solid var(--ac);animation:onda 2.2s ease-out infinite}
@keyframes onda{from{opacity:.7;transform:scale(.4)}to{opacity:0;transform:scale(1.8)}}
.pino-rot{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);padding:7px 12px;border-radius:9px;background:var(--tx);color:#fff;font-size:13px;font-weight:500;white-space:nowrap;box-shadow:0 10px 24px -10px rgba(0,0,0,.5)}
.pino-rot small{display:block;font-family:var(--mono);font-size:10px;opacity:.7;font-weight:400}
.mapa-card{z-index:3}
.mapa-card address{font-style:normal;color:var(--tx2);font-size:14.5px}
.maplibregl-ctrl-attrib{font-size:10px!important}
@media (max-width:640px){
  .mapa-v4{height:auto;display:flex;flex-direction:column}
  .mapa-gl,.mapa-reserva{position:relative;height:340px;inset:auto}
  .mapa-reserva{position:absolute;top:0;left:0;right:0}
  .mapa-card{position:relative;left:auto;bottom:auto;width:auto;margin:12px;box-shadow:none}
}

/* ---------- demo day sem a lista ---------- */
.demo .lead{max-width:520px}

/* ---------- desempenho e celular ---------- */
@media (max-width:900px){.grain{display:none}}
#duvidas,#local,#fim,.rodape{content-visibility:auto;contain-intrinsic-size:auto 800px}
@media (max-width:760px){
  .hero h1{font-size:clamp(34px,9.4vw,44px)}
  .h2{font-size:clamp(30px,8.4vw,40px)}
  .marca-vetor{height:170px}
  .futuro h2{font-size:clamp(44px,13vw,64px)}
  .pessoa .foto{aspect-ratio:4/5}
  .time{grid-template-columns:repeat(4,78%);overflow-x:auto;scroll-snap-type:x mandatory;margin:40px calc(var(--gutter) * -1) 0;padding:0 var(--gutter) 10px;scrollbar-width:none}
  .time::-webkit-scrollbar{display:none}
  .pessoa{scroll-snap-align:start}
}
.pino-caixa{position:relative;width:18px;height:18px}
.pino-caixa .pino{position:absolute;inset:0}
#mapa-gl.mapa-gl{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:640px){#mapa-gl.mapa-gl{position:relative;inset:auto;height:340px}}
@media (max-width:760px){
  .g-no.agente:not(.orq) .modelo{display:none}
  .g-no.agente .nome{font-size:11px}
  .orbita-palco{height:auto}
  .orbita-palco canvas{position:relative;display:block;height:300px}
}
.em-obra{display:block;font-style:normal;font-family:var(--mono);font-size:10px;color:var(--amber)}
