/* ── Stage: hero content, headline, status pill, footer ── */
.stage { position: relative; z-index: 5; height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; padding: 2rem; }
.logo-wrap { width: 220px; animation: fadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; animation-delay: 0.1s; filter: drop-shadow(0 0 40px rgba(123, 94, 167, 0.4)); }
.logo-wrap img { width: 100%; display: block; }
.tagline { font-family: 'Syne', sans-serif; font-size: clamp(13px, 1.8vw, 16px); font-weight: 400; letter-spacing: 0.35em; text-transform: uppercase; color: var(--muted); animation: fadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; animation-delay: 0.3s; margin-top: -0.5rem; }
.divider { width: 60px; height: 1px; background: linear-gradient(90deg, var(--purple), var(--cyan)); margin: 2rem auto; animation: scaleIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) both; animation-delay: 0.5s; }
.headline { font-family: 'Syne', sans-serif; font-size: clamp(32px, 5vw, 52px); font-weight: 700; text-align: center; line-height: 1.15; animation: fadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; animation-delay: 0.4s; background: linear-gradient(135deg, #C9A8FF 0%, #E8E4F0 40%, #7EDCFF 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.sub { font-size: clamp(14px, 1.8vw, 17px); font-weight: 300; color: var(--muted); text-align: center; max-width: 380px; line-height: 1.7; margin-top: 1rem; animation: fadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; animation-delay: 0.55s; }
.status-pill { margin-top: 2.5rem; display: inline-flex; align-items: center; gap: 8px; padding: 8px 20px; border: 1px solid rgba(123, 94, 167, 0.4); border-radius: 100px; font-size: 13px; font-family: 'Syne', sans-serif; letter-spacing: 0.1em; color: var(--text-secondary); animation: fadeUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) both; animation-delay: 0.65s; backdrop-filter: blur(4px); }
.pulse-dot { width: 6px; height: 6px; border-radius: 50%; background: #4FC3F7; box-shadow: 0 0 8px #4FC3F7; animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.7); } }
.footer { position: fixed; bottom: 2rem; left: 0; right: 0; text-align: center; font-size: 12px; color: var(--text-tertiary); letter-spacing: 0.06em; z-index: 5; animation: fadeUp 1s both; animation-delay: 0.8s; }
@keyframes fadeUp  { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeIn  { from { opacity: 0; } to { opacity: 1; } }
@keyframes scaleIn { from { opacity: 0; transform: scaleX(0); } to { opacity: 1; transform: scaleX(1); } }
