/* A primeira dobra é intencionalmente silenciosa: só espaço e a marca. */
.hero {
  min-height:100svh;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:#020509 url("assets/space-deep-blue-4k.png") center / cover no-repeat;
}
.hero::before,
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.hero::before {
  z-index:3;
  background:#020509;
  animation:space-power-on 1.8s cubic-bezier(.2,.82,.26,1) forwards;
}
.hero::after {
  z-index:2;
  background:radial-gradient(ellipse 48% 55% at 50% 50%,transparent 0%,rgba(2,5,9,.08) 62%,rgba(2,5,9,.35) 100%);
}
.starfield {
  position:absolute;
  z-index:1;
  inset:0;
  width:100%;
  height:100%;
  opacity:0;
  animation:starfield-on 2.3s ease-out .35s forwards;
}
.hero-content {
  position:relative;
  z-index:4;
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:48px 24px;
}
.brand-lockup {
  position:relative;
  width:min(48vw,360px);
  animation:brand-signal-shake 4.5s steps(1,end) 3.1s infinite;
}
.brand-logo,
.brand-signal {
  display:block;
  width:100%;
  height:auto;
}
.brand-logo {
  position:relative;
  z-index:2;
  filter:drop-shadow(0 0 22px rgba(168,205,255,.12));
  opacity:0;
  animation:brand-power-on 1.25s ease-out .55s forwards;
}
.brand-signal {
  position:absolute;
  inset:0;
  z-index:1;
  opacity:0;
  mix-blend-mode:screen;
  pointer-events:none;
}
.brand-signal--blue {
  filter:brightness(0) saturate(100%) invert(69%) sepia(75%) saturate(931%) hue-rotate(179deg) brightness(102%) contrast(101%);
  animation:brand-signal-blue 4.5s ease-in-out .55s infinite;
}
.brand-signal--red {
  filter:brightness(0) saturate(100%) invert(52%) sepia(91%) saturate(2000%) hue-rotate(329deg) brightness(104%) contrast(101%);
  animation:brand-signal-red 4.5s ease-in-out .55s infinite;
}
@keyframes space-power-on {
  0% { opacity:1; }
  22% { opacity:.94; }
  100% { opacity:0; visibility:hidden; }
}
@keyframes starfield-on { to { opacity:1; } }
@keyframes brand-power-on {
  from { opacity:0; transform:scale(.985); }
  to { opacity:1; transform:scale(1); }
}
@keyframes brand-signal-blue {
  0% { opacity:0; transform:translate(0,0); }
  7% { opacity:.58; transform:translate(-5px,2px); }
  18%,70% { opacity:0; transform:translate(-1px,1px); }
  73% { opacity:.35; transform:translate(-3px,1px); }
  76% { opacity:.08; transform:translate(-1px,0); }
  79% { opacity:.42; transform:translate(-3px,2px); }
  82%,100% { opacity:0; transform:translate(0,0); }
}
@keyframes brand-signal-red {
  0% { opacity:0; transform:translate(0,0); }
  7% { opacity:.46; transform:translate(5px,-2px); }
  18%,70% { opacity:0; transform:translate(1px,-1px); }
  73% { opacity:.29; transform:translate(3px,-1px); }
  76% { opacity:.07; transform:translate(1px,0); }
  79% { opacity:.35; transform:translate(3px,-2px); }
  82%,100% { opacity:0; transform:translate(0,0); }
}
@keyframes brand-signal-shake {
  0%,70%,100% { transform:translate(0,0); }
  73% { transform:translate(-1px,0); }
  76% { transform:translate(1px,0); }
  79% { transform:translate(-1px,0); }
  82% { transform:translate(0,0); }
}
@media (max-width:650px) { .brand-lockup { width:min(72vw,310px); } }
@media (prefers-reduced-motion:reduce) {
  .hero::before { animation:none; opacity:0; visibility:hidden; }
  .starfield { animation:none; opacity:1; }
  .brand-logo { animation:none; opacity:1; }
  .brand-lockup,.brand-signal { animation:none; }
  .brand-signal { display:none; }
}
