.hero { min-height:100vh; display:flex; align-items:center; justify-content:center; padding-top:var(--header-height); position:relative; z-index:1; }
.hero-inner { text-align:center; max-width:800px; padding:0 24px; }
.hero-badge {
    display:inline-block; font-family:var(--font-mono); font-size:0.8rem; font-weight:600; letter-spacing:0.2em;
    text-transform:uppercase; color:var(--accent-light); background:rgba(123,92,252,0.1);
    border:1px solid rgba(123,92,252,0.25); padding:8px 20px; border-radius:var(--radius-full); margin-bottom:24px;
    animation:fadeInUp 0.7s ease forwards;
}
.hero-title {
    font-family:var(--font-heading); font-size:clamp(2.5rem,6vw,4.5rem); font-weight:900;
    letter-spacing:-0.04em; line-height:1.08; margin-bottom:20px;
    background:var(--gradient-hero); -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent; animation:fadeInUp 0.7s ease 0.1s forwards; opacity:0; animation-fill-mode:forwards;
}
.hero-desc {
    font-size:1.15rem; color:var(--text-secondary); max-width:560px; margin:0 auto 36px; line-height:1.7;
    animation:fadeInUp 0.7s ease 0.2s forwards; opacity:0; animation-fill-mode:forwards;
}
.hero-buttons { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; animation:fadeInUp 0.7s ease 0.3s forwards; opacity:0; animation-fill-mode:forwards; }