/* ═══════════════════════════════════════════════════════════
   HERO com spotlight que segue o mouse
   ═══════════════════════════════════════════════════════════ */
.hero{position:relative;padding:88px 0 76px;overflow:hidden;isolation:isolate}
@media(max-width:560px){
  .hero{padding:52px 0 56px}
  .wrap{padding:0 18px}
  .section{padding:70px 0}
  .head{margin-bottom:38px}
  .hero h1{line-height:1.12}
}
@media(max-width:380px){
  h1{font-size:27px}
}
.hero-bg{position:absolute;inset:0;z-index:-3;
  background:radial-gradient(880px 520px at 76% 6%,rgba(77,124,255,.20),transparent 62%),
             radial-gradient(700px 520px at 6% 52%,rgba(139,92,246,.15),transparent 66%)}
/* camada base do grid */
.hero-mesh{position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.55;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(circle at 50% 14%,#000,transparent 74%);
  -webkit-mask-image:radial-gradient(circle at 50% 14%,#000,transparent 74%)}
/* camada revelada pelo cursor */
.hero-spot{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s;
  background-image:linear-gradient(rgba(138,168,255,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(138,168,255,.55) 1px,transparent 1px);
  background-size:52px 52px;
  -webkit-mask-image:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#000 0%,rgba(0,0,0,.35) 45%,transparent 72%);
  mask-image:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),#000 0%,rgba(0,0,0,.35) 45%,transparent 72%)}
.hero:hover .hero-spot{opacity:1}
.hero-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(139,92,246,.16),transparent 70%)}
.hero:hover .hero-glow{opacity:1}

.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center}
@media(max-width:1020px){.hero-grid{grid-template-columns:1fr;gap:52px}}

.hero h1{margin-bottom:22px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin:42px 0 34px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-sm);
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx-2)}
.chip svg{width:13px;height:13px;color:var(--blue-lt);flex-shrink:0}

/* Prova social no hero */
.proof{display:flex;align-items:center;gap:13px;margin-top:26px;flex-wrap:wrap}
.proof-avs{display:flex;align-items:center}
.proof-avs i{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;
  margin-left:-9px;border:2px solid var(--bg);font-style:normal;position:relative;z-index:2;
  font-family:var(--f-mono);font-size:9.5px;font-weight:700;color:#fff;
}
.proof-avs i:first-child{margin-left:0}
.proof-avs i:nth-child(1){background:linear-gradient(135deg,#4D7CFF,#6E6BFF)}
.proof-avs i:nth-child(2){background:linear-gradient(135deg,#6E6BFF,#8B5CF6)}
.proof-avs i:nth-child(3){background:linear-gradient(135deg,#8B5CF6,#A855F7)}
.proof-avs i:nth-child(4){background:linear-gradient(135deg,#2DA678,#34D399)}
/* o + fica atrás dos avatares, em vez de cobrir o último */
.proof-avs i.more{background:rgba(255,255,255,.09);border-color:var(--bg);color:var(--tx-2);font-size:9px;z-index:1;padding-left:6px}
.proof-tx{font-size:14px;color:var(--tx-2);line-height:1.4}
.proof-tx b{color:var(--tx);font-weight:700}
@media(max-width:520px){.proof{gap:10px}.proof-tx{font-size:13px}}

/* Faixa de empresas dos alunos */
.alumni{
  display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  margin-top:58px;padding-top:26px;border-top:1px solid var(--line);
}
@media(max-width:760px){.alumni{grid-template-columns:1fr;gap:16px}}
.alumni-label{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;
  color:var(--tx-3);line-height:1.7;white-space:nowrap;
}
.alumni-label b{color:var(--blue-lt);font-weight:500;display:block}
.alumni-marq{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 92%,transparent)}
.alumni-track{display:flex;width:max-content;animation:slide 115s linear infinite;will-change:transform}
.alumni-marq:hover .alumni-track{animation-play-state:paused}
.alumni-seq{display:flex;align-items:center;gap:12px;padding-right:12px;flex-shrink:0}
/* Placa de logo. Basta soltar o arquivo dentro:
   <span class="alumni-logo"><img src="logos/raizen.svg" alt="Raízen"></span> */
.alumni-logo{
  height:56px;min-width:138px;padding:0 22px;flex-shrink:0;border-radius:10px;
  border:1px solid var(--line);
  /* cor de fundo e imagem em propriedades separadas: o shorthand apagaria o logo */
  background-color:rgba(255,255,255,.035);
  background-repeat:no-repeat;background-position:center;background-size:auto 30px;
  opacity:.66;transition:opacity .25s,background-color .25s,border-color .25s;
}
.alumni-logo:hover{
  opacity:1;background-color:rgba(255,255,255,.09);border-color:var(--line-2);
}
.lg-raizen{background-image:url(../assets/img/logo-raizen.png)}
.lg-itau{background-image:url(../assets/img/logo-itau.png)}
.lg-cargill{background-image:url(../assets/img/logo-cargill.png)}
.lg-bayer{background-image:url(../assets/img/logo-bayer.png)}
.lg-nubank{background-image:url(../assets/img/logo-nubank.png)}
.lg-suzano{background-image:url(../assets/img/logo-suzano.png)}

/* Painel de orquestração com tilt */
.orch-wrap{perspective:1400px}
.orch{position:relative;background:linear-gradient(168deg,var(--bg-2),var(--bg-1));
  border:1px solid var(--line-2);border-radius:var(--r-xl);padding:0;
  box-shadow:0 30px 80px rgba(0,0,0,.6);transition:transform .35s cubic-bezier(.2,.8,.3,1);transform-style:preserve-3d}
.orch::before{content:"";position:absolute;inset:0;border-radius:var(--r-xl);pointer-events:none;
  background:linear-gradient(140deg,rgba(255,255,255,.07),transparent 42%)}
.orch-bar{display:flex;align-items:center;gap:7px;margin-bottom:20px;font-family:var(--f-mono)}
.orch-bar i{width:9px;height:9px;border-radius:50%;background:var(--bg-3);display:block}
.orch-bar i:first-child{background:var(--blue)}
.orch-bar span{margin-left:auto;font-size:9.5px;color:var(--tx-3);letter-spacing:.14em}
.node{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r);
  background:rgba(255,255,255,.028);border:1px solid var(--line);margin-bottom:9px}
.node.lead-node{background:linear-gradient(100deg,rgba(77,124,255,.14),rgba(139,92,246,.08));border-color:var(--edge)}
.node-ic{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;
  background:rgba(255,255,255,.05);font-size:14px}
.node.lead-node .node-ic{background:linear-gradient(135deg,var(--blue),var(--violet))}
.node-tx b{display:block;font-size:13px;font-weight:600;font-family:var(--f-disp);letter-spacing:-.01em}
.node-tx small{font-family:var(--f-mono);font-size:10px;color:var(--tx-3);letter-spacing:.02em}
.node-st{margin-left:auto;font-family:var(--f-mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;
  padding:4px 8px;border-radius:var(--r-sm);background:rgba(52,211,153,.12);color:var(--ok)}
.node-st.run{background:rgba(251,191,36,.13);color:var(--amber)}
.node-st.idle{background:rgba(255,255,255,.05);color:var(--tx-3)}
.branch{padding-left:24px;position:relative}
.branch::before{content:"";position:absolute;left:10px;top:-9px;bottom:50%;width:1px;background:var(--line-2)}
.branch::after{content:"";position:absolute;left:10px;top:50%;width:13px;height:1px;background:var(--line-2)}
.orch-foot{display:flex;justify-content:space-between;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.metric b{display:block;font-family:var(--f-disp);font-size:18px;font-weight:700;letter-spacing:-.025em}
.metric small{font-family:var(--f-mono);font-size:9px;color:var(--tx-3);text-transform:uppercase;letter-spacing:.13em}

/* ═══════════════════════════════════════════════════════════
   STATS
   ═══════════════════════════════════════════════════════════ */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(max-width:880px){.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr}}
.stat{background:var(--bg-1);padding:30px 24px;transition:background .25s;position:relative}
.stat:hover{background:var(--bg-2)}
.stat .tagn{font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;color:var(--tx-3);
  text-transform:uppercase;margin-bottom:14px;display:block}
.stat b{display:block;font-family:var(--f-disp);font-size:clamp(30px,3.6vw,40px);font-weight:700;
  letter-spacing:-.04em;line-height:1;margin-bottom:10px;
  background:linear-gradient(120deg,#fff,var(--blue-lt));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat p{font-size:13.5px;color:var(--tx-2);line-height:1.55;margin-bottom:10px}
.stat cite{font-family:var(--f-mono);font-size:9.5px;color:var(--tx-3);font-style:normal;letter-spacing:.09em}
