/* ===========================================================
   AgentWorks — Intro splash (simple)
   White screen, logo fades in, whole splash fades out. ~1.4s.
   =========================================================== */
html.has-intro:not(.intro-done) body { overflow: hidden; }

.intro {
  position: fixed; inset: 0; z-index: 1000;
  display: grid; place-items: center;
  background: #ffffff;
  pointer-events: none;
}
html.intro-done .intro { visibility: hidden; }
.intro__stage { width: min(260px, 52vw); color: #0a0c10; }
.intro__logo { width: 100%; height: auto; display: block; opacity: 0; }

html.intro-playing .intro__logo { animation: aw-logo-in 500ms ease-out 80ms forwards; }
html.intro-playing .intro { animation: aw-splash-out 400ms ease-in 950ms forwards; }

@keyframes aw-logo-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@keyframes aw-splash-out { to { opacity: 0; } }

/* Hero reveal after splash */
.hero__title, .hero__sub, .hero .hero__cta-row { opacity: 0; }
html.intro-done .hero__title { animation: aw-rise 600ms ease-out 0ms forwards; }
html.intro-done .hero__sub { animation: aw-rise 600ms ease-out 100ms forwards; }
html.intro-done .hero .hero__cta-row { animation: aw-rise 600ms ease-out 200ms forwards; }
@keyframes aw-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

html:not(.has-intro) .hero__title,
html:not(.has-intro) .hero__sub,
html:not(.has-intro) .hero .hero__cta-row { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
  .intro { display: none; }
  .hero__title, .hero__sub, .hero .hero__cta-row { opacity: 1 !important; animation: none !important; }
}
