.hero {
    position: relative; min-height: 100vh; min-height: 100dvh; width: 100%;
    display: flex; flex-direction: column; justify-content: space-between;
    overflow: hidden; padding: 32px 48px; background: #fafbfc; isolation: isolate;
}
.hero-background { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.hero-gradient {
    position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.5;
    mix-blend-mode: multiply; will-change: transform;
}
.hero-gradient-1 {
    width: 600px; height: 600px; background: radial-gradient(circle, rgba(11,132,255,0.4) 0%, transparent 70%);
    top: -200px; right: -100px; animation: gradient-float-1 20s ease-in-out infinite;
}
.hero-gradient-2 {
    width: 500px; height: 500px; background: radial-gradient(circle, rgba(123,97,255,0.35) 0%, transparent 70%);
    bottom: -150px; left: -100px; animation: gradient-float-2 25s ease-in-out infinite;
}
@keyframes gradient-float-1 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-50px, 80px) scale(1.1); }
}
@keyframes gradient-float-2 {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(60px, -40px) scale(1.15); }
}
.hero-content { max-width: 900px; margin: auto 0; padding: 80px 0; }
.hero-title {
    font-size: clamp(48px, 8vw, 104px); font-weight: 800; line-height: 1.05;
    letter-spacing: -0.04em; margin: 0 0 32px 0; color: var(--color-ink);
}
.hero-title-word {
    display: inline-block; opacity: 0; transform: scale(0.98); filter: blur(8px);
    transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.hero-title.revealed .hero-title-word { opacity: 1; transform: scale(1); filter: blur(0); }
.hero-title.revealed .hero-title-word[data-delay="1"] { transition-delay: 0.15s; }
.hero-title.revealed .hero-title-word[data-delay="2"] { transition-delay: 0.3s; }
.hero-description {
    font-size: clamp(17px, 2vw, 21px); line-height: 1.5; color: rgba(11,18,28,0.75);
    max-width: 680px; margin: 0 0 40px 0; opacity: 0; transform: translateY(20px);
    transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.hero-description.revealed { opacity: 1; transform: translateY(0); }
.hero-cta-group { display: flex; gap: 14px; flex-wrap: wrap; opacity: 0; transform: translateY(20px); transition: all 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
.hero-cta-group.revealed { opacity: 1; transform: translateY(0); }
.hero-cta {
    display: inline-flex; align-items: center; gap: 10px; padding: 16px 28px;
    border-radius: var(--radius-full); font-size: 15px; font-weight: 600;
    text-decoration: none; transition: all var(--transition-base); position: relative; overflow: hidden;
}
.hero-cta-primary {
    background: var(--color-ink); color: white; box-shadow: var(--shadow-md);
}
.hero-cta-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); }
.hero-cta-secondary {
    background: rgba(255,255,255,0.8); backdrop-filter: blur(10px);
    color: var(--color-ink); border: 1px solid rgba(11,18,28,0.1);
}
.hero-cta-secondary:hover { background: white; transform: translateY(-2px); }

@media (max-width: 680px) {
    .hero { padding: 16px 20px; }
    .hero-title { font-size: clamp(40px, 11vw, 64px); }
    .hero-cta-group { flex-direction: column; width: 100%; }
    .hero-cta { justify-content: center; width: 100%; }
}