/* V40 — assinatura institucional na primeira visita da sessão. */
.alo-intro {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 30px;
  background: linear-gradient(140deg, #102f4b 0%, #163f62 56%, #0c2b46 100%);
  color: white;
  text-align: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.alo-intro::before {
  content: '';
  position: absolute;
  inset: -20%;
  background: radial-gradient(circle at 50% 46%, rgba(91, 158, 185, .17), transparent 52%);
}
.alo-intro-inner { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: min(410px, 100%); text-align: center; }
.alo-intro-kicker { display: block; width: 100%; text-align: center; font: 700 10px/1.4 'DM Sans', sans-serif; letter-spacing: .33em; color: #c7dce9; margin: 0 0 17px; }
.alo-intro-logo { display: block; width: min(335px, 76vw); height: auto; margin: 0 auto; }
.alo-intro-line { width: 53px; height: 1px; background: #ffffff64; margin: 19px auto 13px; }
.alo-intro-tagline { display: block; width: 100%; text-align: center; color: #e6eff5; font: 500 13px/1.5 'DM Sans', sans-serif; letter-spacing: .035em; margin: 0; }
html.show-alo-intro .alo-intro { visibility: visible; animation: aloIntroOverlay 1.85s ease-in-out both; }
html.show-alo-intro .alo-intro-inner { animation: aloIntroContent 1.85s ease-in-out both; }
@keyframes aloIntroOverlay { 0%, 69% { opacity: 1; } 100% { opacity: 0; } }
@keyframes aloIntroContent { 0% { opacity: 0; transform: translateY(10px) scale(.985); } 27%, 68% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-5px); } }
@media (max-width: 600px) {
  /* Centralização geométrica, sem correção lateral artificial. */
  .alo-intro-inner { left: auto; right: auto; margin-inline: auto; }
  .alo-intro-logo { width: min(244px, 70vw); }
  .alo-intro-kicker { margin-bottom: 16px; }
  html.show-alo-intro .alo-intro { animation-duration: 2.5s; }
  html.show-alo-intro .alo-intro-inner { animation-duration: 2.5s; }
}
@media (prefers-reduced-motion: reduce) {
  html.show-alo-intro .alo-intro { visibility: hidden; animation: none; }
  html.show-alo-intro .alo-intro-inner { animation: none; }
}
