/* ============================================================
   Atlas Digital Enterprise · camada de melhorias
   Sobrepõe atlas.css sem alterar o design: mesma pegada,
   mais consistência entre dispositivos e mais vida no detalhe.
   ============================================================ */

/* ---------- fontes consistentes em qualquer dispositivo ----------
   O stack original (Aptos/Segoe) muda de cara no Android e no macOS.
   Open Sans é do mesmo desenhista da Aptos e mantém o mesmo espírito. */
:root{
  --font-sans:"Open Sans","Aptos","Segoe UI Variable","Segoe UI",sans-serif;
  --font-mono:"IBM Plex Mono","Cascadia Mono",Consolas,monospace;
}

/* compensa o header fixo ao navegar por âncora */
section[id]{scroll-margin-top:5.4rem}

::selection{background:var(--atlas-blue);color:#fff}

/* ---------- entrada do hero (uma vez, no carregamento) ---------- */
@media (prefers-reduced-motion:no-preference){
  .page-module__E0kJGG__heroCopy>*{
    opacity:0;
    transform:translateY(26px);
    animation:heroEntra .9s cubic-bezier(.2,.65,.2,1) forwards;
  }
  .page-module__E0kJGG__heroCopy>.page-module__E0kJGG__eyebrow{animation-delay:.05s}
  .page-module__E0kJGG__heroCopy>h1{animation-delay:.16s}
  .page-module__E0kJGG__heroCopy>.page-module__E0kJGG__heroBody{animation-delay:.3s}
  .page-module__E0kJGG__heroCopy>.page-module__E0kJGG__heroActions{animation-delay:.42s}
  @keyframes heroEntra{to{opacity:1;transform:none}}

  /* órbita gigante gira imperceptivelmente devagar */
  .page-module__E0kJGG__heroOrbit{animation:orbitaGira 90s linear infinite}
  @keyframes orbitaGira{from{transform:rotate(-12deg)}to{transform:rotate(348deg)}}

  /* glow do hero respira */
  .page-module__E0kJGG__hero:after{animation:glowRespira 9s ease-in-out infinite alternate}
  @keyframes glowRespira{from{opacity:.75}to{opacity:1}}
}

/* ---------- reveals no scroll (aplicados via JS; sem JS, tudo visível) ---------- */
.r-alvo{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.2,.65,.2,1),transform .8s cubic-bezier(.2,.65,.2,1)}
.r-alvo.r-visivel{opacity:1;transform:none}
.r-alvo:nth-child(2){transition-delay:.08s}
.r-alvo:nth-child(3){transition-delay:.16s}
.r-alvo:nth-child(4){transition-delay:.24s}
.r-alvo:nth-child(5){transition-delay:.32s}
@media (prefers-reduced-motion:reduce){
  .r-alvo{opacity:1;transform:none;transition:none}
}

/* ---------- micro-interações ---------- */

/* botões do hero e CTA final: seta reage junto */
.page-module__E0kJGG__primaryButton span,
.page-module__E0kJGG__secondaryButton span,
.page-module__E0kJGG__finalCta a span,
.page-module__E0kJGG__navCta span{transition:transform .25s}
.page-module__E0kJGG__primaryButton:hover span{transform:translateY(3px)}
.page-module__E0kJGG__secondaryButton:hover span,
.page-module__E0kJGG__finalCta a:hover span,
.page-module__E0kJGG__navCta:hover span{transform:translate(3px,-3px)}
.page-module__E0kJGG__finalCta a{transition:transform .2s,box-shadow .2s}
.page-module__E0kJGG__finalCta a:hover{transform:translateY(-3px);box-shadow:0 18px 44px #04081766}
.page-module__E0kJGG__navCta{transition:background .25s,border-color .25s}
.page-module__E0kJGG__navCta:hover{background:#ffffff14;border-color:#fff}

/* cards de solução: elevação e imagem deslizando de leve */
.page-module__E0kJGG__solutionCard{transition:transform .35s cubic-bezier(.2,.65,.2,1),border-color .35s,box-shadow .35s}
.page-module__E0kJGG__solutionCard:hover{transform:translateY(-6px);border-color:#ffffff59;box-shadow:0 30px 70px #04081759}
.page-module__E0kJGG__solutionVisual img{transition:transform .5s cubic-bezier(.2,.65,.2,1)}
.page-module__E0kJGG__solutionCard:hover .page-module__E0kJGG__solutionVisual img{transform:translate(-6px,-6px)}
.page-module__E0kJGG__functionList span{transition:border-color .25s,background .25s}
.page-module__E0kJGG__solutionCard:hover .page-module__E0kJGG__functionList span{border-color:#ffffff59}

/* pilares e capacidades: marcador acende no hover */
.page-module__E0kJGG__pillars li,
.page-module__E0kJGG__capabilityGrid li{position:relative;transition:background .3s}
.page-module__E0kJGG__pillars li:hover{background:#0717620a}
.page-module__E0kJGG__capabilityGrid li:hover{background:#ffffff08}
.page-module__E0kJGG__pillars li:before,
.page-module__E0kJGG__capabilityGrid li:before{
  content:"";position:absolute;top:0;left:0;height:2px;width:0;
  background:var(--atlas-orange);transition:width .35s cubic-bezier(.2,.65,.2,1);
}
.page-module__E0kJGG__pillars li:hover:before,
.page-module__E0kJGG__capabilityGrid li:hover:before{width:100%}

/* cards de perspectiva: sombra suave */
.page-module__E0kJGG__perspectiveCard{transition:transform .3s,box-shadow .3s}
.page-module__E0kJGG__perspectiveCard:hover{transform:translateY(-4px);box-shadow:0 22px 48px #0717621f}

/* lista de processo: barrinha laranja no hover */
.page-module__E0kJGG__processList li{position:relative;transition:padding-left .3s cubic-bezier(.2,.65,.2,1)}
.page-module__E0kJGG__processList li:before{
  content:"";position:absolute;left:0;top:22%;bottom:22%;width:2px;
  background:var(--atlas-orange);transform:scaleY(0);transition:transform .3s;
}
.page-module__E0kJGG__processList li:hover{padding-left:1rem}
.page-module__E0kJGG__processList li:hover:before{transform:scaleY(1)}

/* links do rodapé */
.page-module__E0kJGG__footer nav a{transition:color .25s}
.page-module__E0kJGG__footer nav a:hover{color:#fff}

/* ---------- menu mobile: entrada animada ---------- */
@media (max-width:900px) and (prefers-reduced-motion:no-preference){
  .page-module__E0kJGG__header[data-menu-open=true] .page-module__E0kJGG__nav{animation:menuAbre .35s cubic-bezier(.2,.65,.2,1)}
  @keyframes menuAbre{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
  .page-module__E0kJGG__menuButton span{transition:transform .3s,opacity .3s}
  .page-module__E0kJGG__header[data-menu-open=true] .page-module__E0kJGG__menuButton span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .page-module__E0kJGG__header[data-menu-open=true] .page-module__E0kJGG__menuButton span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
}
/* impede rolagem de fundo com o menu aberto */
body.menu-aberto{overflow:hidden}

/* ---------- arte central do hero ----------
   A escultura enviada pelo cliente ocupa o lugar da órbita tipográfica.
   O portal arqueado preserva a leitura da copy e integra os tons de bronze
   ao azul institucional sem transformar a imagem em um card solto. */
.atlasHeroArtifact{
  z-index:1;
  width:clamp(21rem,29vw,29rem);
  height:calc(100% - 8.2rem);
  margin:0;
  position:absolute;
  right:clamp(1.2rem,5vw,5.5rem);
  bottom:-2.4rem;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  border:1px solid #ffffff2e;
  border-radius:50% 50% 1.8rem 1.8rem;
  overflow:hidden;
  box-shadow:0 34px 90px #02061770,0 0 0 1px #29c4f41a inset;
  pointer-events:none;
}
.atlasHeroArtifact:before{
  content:"";
  z-index:2;
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,#0612449c 0%,transparent 30%),
    linear-gradient(180deg,transparent 58%,#061244a8 100%);
}
.atlasHeroArtifact:after{
  content:"";
  z-index:-1;
  position:absolute;
  width:72%;
  aspect-ratio:1;
  top:3%;
  left:14%;
  border:1px solid #f5863359;
  border-radius:50%;
  box-shadow:0 0 70px #f5863329;
}
.atlasHeroArtifact img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 42%;
  filter:saturate(.86) contrast(1.04) brightness(.88);
}
.atlasHeroArtifact figcaption{
  z-index:3;
  position:absolute;
  right:1.25rem;
  bottom:1.15rem;
  color:#fff;
  font:600 .58rem var(--font-mono);
  letter-spacing:.16em;
  text-transform:uppercase;
  text-shadow:0 2px 14px #040817;
}
.atlasHeroArtifactGlow{
  z-index:-1;
  position:absolute;
  width:130%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,#f5863338 0%,#29c4f421 32%,transparent 68%);
  filter:blur(16px);
}

@media (prefers-reduced-motion:no-preference){
  .atlasHeroArtifact{
    opacity:0;
    transform:translateY(28px) scale(.985);
    animation:atlasArtifactEntra 1.1s .3s cubic-bezier(.2,.65,.2,1) forwards;
  }
  @keyframes atlasArtifactEntra{to{opacity:1;transform:none}}
  .atlasHeroArtifactGlow{animation:atlasArtifactPulso 7s ease-in-out infinite alternate}
  @keyframes atlasArtifactPulso{from{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.05)}}
}

@media (max-width:900px){
  .atlasHeroArtifact{
    width:min(70vw,25rem);
    height:58%;
    right:-9vw;
    bottom:-3rem;
    border-radius:50% 50% 1.2rem 1.2rem;
    opacity:.62;
  }
  .atlasHeroArtifact:before{
    background:
      linear-gradient(90deg,#061244e8 0%,#0612448c 38%,transparent 72%),
      linear-gradient(180deg,#06124433 30%,#061244d9 100%);
  }
  .atlasHeroArtifact figcaption{display:none}
}

@media (max-width:540px){
  .atlasHeroArtifact{
    width:82vw;
    height:53%;
    right:-20vw;
    bottom:-2.5rem;
    opacity:.5;
  }
}
