/* ── HERO ── */
#hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8rem 2rem 5rem;max-width:100%;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:0.4rem 1.2rem;border-radius:99px;background:rgba(0,229,255,0.08);border:1px solid rgba(0,229,255,0.3);color:var(--cyan);font-size:0.72rem;letter-spacing:2.5px;text-transform:uppercase;font-family:var(--font-display);font-weight:600;margin-bottom:2rem;animation:fadeSlideDown 0.8s ease both;backdrop-filter:blur(8px);}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.7)}}
.hero-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);font-weight:800;line-height:1.0;letter-spacing:-3px;margin-bottom:0.4rem;animation:fadeSlideUp 0.9s 0.1s ease both;perspective:800px;}
.hero-title .grad{background:linear-gradient(135deg,#00e5ff 0%,#0072ff 55%,#7b00ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;text-shadow:none;filter:drop-shadow(0 0 60px rgba(0,114,255,0.3));}
.hero-typewriter{font-family:var(--font-display);font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:600;color:var(--cyan);min-height:2.2rem;margin-bottom:1.5rem;letter-spacing:1px;animation:fadeSlideUp 0.9s 0.2s ease both;}
.typewriter-cursor{animation:blink 0.8s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.hero-sub{font-size:clamp(1rem,1.5vw,1.1rem);color:var(--muted);max-width:560px;line-height:1.8;margin-bottom:3rem;animation:fadeSlideUp 0.9s 0.3s ease both;}
.hero-cta-wrap{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;animation:fadeSlideUp 0.9s 0.4s ease both;}
.btn-primary{padding:0.85rem 2.2rem;border-radius:99px;border:none;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#04090f;font-family:var(--font-display);font-weight:700;font-size:0.85rem;letter-spacing:1px;text-transform:uppercase;cursor:none;transition:transform 0.15s,box-shadow 0.2s;position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,0);transition:background 0.2s;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,114,255,0.5);}
.btn-primary:hover::after{background:rgba(255,255,255,0.1);}
.btn-outline{padding:0.85rem 2.2rem;border-radius:99px;border:1px solid var(--glass-border-hover);background:transparent;color:var(--white);font-family:var(--font-display);font-weight:600;font-size:0.85rem;letter-spacing:1px;text-transform:uppercase;cursor:none;transition:border-color 0.2s,background 0.2s,transform 0.15s;}
.btn-outline:hover{border-color:var(--cyan);background:rgba(0,229,255,0.06);transform:translateY(-3px);}

/* ── SCROLL INDICATOR ── */
.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeIn 1.5s 1s both;}
.scroll-indicator span{font-family:var(--font-display);font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,var(--cyan),transparent);animation:scrollLine 1.5s ease-in-out infinite;}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}