.hero{
  position:relative; min-height:92vh;
  display:flex; flex-direction:column; justify-content:center;
  padding:100px clamp(20px,5vw,64px) 100px;
  overflow:hidden;
}
.hero::before{
  content:""; position:absolute; top:-25%; left:50%; transform:translateX(-50%);
  width:900px; height:900px; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(79,227,193,0.14) 0%, transparent 70%);
}
.hero-inner{ position:relative; z-index:2; }

.terminal{
  width:min(480px,100%);
  background:var(--panel); border:1px solid var(--border); border-radius:10px;
  overflow:hidden; margin-bottom:44px;
  box-shadow:0 20px 60px rgba(0,0,0,0.4);
}
.terminal-bar{
  display:flex; gap:6px; padding:10px 14px;
  background:var(--panel-2); border-bottom:1px solid var(--border);
}
.terminal-bar span{ width:10px; height:10px; border-radius:50%; background:var(--border); }
.terminal-body{
  font-family:var(--font-mono); font-size:13px; padding:18px 16px;
  white-space:pre-wrap; min-height:110px;
}
.tone-signal{ color:var(--signal); }
.tone-alert{ color:var(--alert); }
.blink{ animation:blink 1s steps(1) infinite; color:var(--alert); }

.hero-name{
  font-size:clamp(52px,11vw,120px); font-weight:700; line-height:0.95;
  letter-spacing:-0.02em; display:flex; flex-wrap:wrap; align-items:baseline; gap:16px;
}
.hero-name .handle{
  font-family:var(--font-mono); font-size:clamp(14px,2vw,20px); font-weight:400;
  color:var(--ink-dim);
}
.hero-name .handle::before{ content:"@"; color:var(--signal); }

.hero-tagline{ margin-top:24px; max-width:620px; font-size:clamp(16px,2.2vw,20px); color:var(--ink-dim); }
.hero-cta{ display:flex; gap:16px; margin-top:40px; flex-wrap:wrap; }

.hero-wave{ position:absolute; left:0; right:0; bottom:0; width:100%; height:140px; z-index:1; opacity:0.55; }
.hero-wave path{
  fill:none; stroke:var(--signal); stroke-width:2;
  stroke-dasharray:1400; stroke-dashoffset:1400;
  animation:draw 2.2s ease forwards 0.3s;
}

@media (max-width:720px){
  .hero{ padding-top:80px; }
}
