.hero{padding:7rem 0 5rem;overflow:hidden}.hero-centered h1{font-weight:800;font-size:clamp(2.25rem,5vw,3.5rem);letter-spacing:-.02em}.hero-centered .lead{color:var(--muted);max-width:34rem}.avatar-wrap{position:relative;width:140px;height:140px}.avatar-glow{position:absolute;inset:-20px;border-radius:50%;background:conic-gradient(from 180deg,#8b5cf6,#06b6d4,#8b5cf6);filter:blur(28px);opacity:.55;animation:glowPulse 4s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.75;transform:scale(1.08)}}.avatar-circle{position:relative;display:flex;align-items:center;justify-content:center;width:140px;height:140px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);font-size:2.5rem;font-weight:800;color:var(--ink)}.gradient-text{background:linear-gradient(90deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;background-clip:text;color:transparent}.spotify-card{display:flex;align-items:center;gap:1rem;max-width:26rem;padding:.9rem 1.1rem;border:1px solid var(--border);border-radius:1rem;background:var(--bg-elevated);text-align:left}.spotify-art{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.6rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b5cf6,#06b6d4);color:#fff}.spotify-art svg{width:1.4rem;height:1.4rem}.spotify-info{flex:1;min-width:0}.spotify-label{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);display:flex;align-items:center;gap:.4rem}.spotify-track{margin:.15rem 0 0;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-artist{margin:0;font-size:.85rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotify-eq{display:flex;align-items:flex-end;gap:3px;height:1.1rem;flex-shrink:0}.spotify-eq span{width:3px;background:linear-gradient(180deg,#8b5cf6,#06b6d4);border-radius:2px;animation:eqBounce 1s ease-in-out infinite}.spotify-eq span:nth-child(1){height:40%;animation-delay:0s}.spotify-eq span:nth-child(2){height:100%;animation-delay:.15s}.spotify-eq span:nth-child(3){height:60%;animation-delay:.3s}.spotify-eq span:nth-child(4){height:80%;animation-delay:.45s}@keyframes eqBounce{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}.hero-fade{opacity:0;transform:translateY(24px);animation:heroFadeUp .8s ease forwards}.hero-fade:nth-child(1){animation-delay:.05s}.hero-fade:nth-child(2){animation-delay:.18s}.hero-fade:nth-child(3){animation-delay:.32s}.hero-fade:nth-child(4){animation-delay:.46s}.hero-fade:nth-child(5){animation-delay:.6s}.hero-fade:nth-child(6){animation-delay:.74s}@keyframes heroFadeUp{to{opacity:1;transform:translateY(0)}}section{padding:4.5rem 0}section+section{border-top:1px solid var(--border)}.section-title{font-weight:800;letter-spacing:-.01em;margin-bottom:2rem}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal-delay="1"]{transition-delay:.1s}[data-reveal-delay="2"]{transition-delay:.2s}[data-reveal-delay="3"]{transition-delay:.3s}.skill-badge{display:inline-block;padding:.5rem 1rem;margin:.25rem;border:1px solid var(--border);border-radius:999px;font-size:.9rem;font-weight:600;color:var(--ink);transition:transform .2s ease,background-color .2s ease,color .2s ease,border-color .2s ease}.skill-badge:hover{transform:translateY(-3px);background:var(--ink);color:var(--bg)}.project-card{border:1px dashed var(--border);border-radius:.75rem;padding:2rem;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--muted);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.project-card:hover{transform:translateY(-6px);border-color:var(--ink);box-shadow:0 12px 24px var(--shadow)}@media(prefers-reduced-motion:reduce){.hero-fade,[data-reveal],.avatar-glow,.spotify-eq span{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}
