@keyframes hero-enter{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes orbit-breathe{0%,100%{transform:rotate(-24deg) scale(1);opacity:.75}50%{transform:rotate(-18deg) scale(1.035);opacity:1}}
@keyframes orbit-drift{0%,100%{transform:rotate(34deg) scale(1)}50%{transform:rotate(40deg) scale(1.04)}}
@keyframes card-float{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes tag-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
.hero-copy>*{animation:hero-enter .7s cubic-bezier(.2,.7,.2,1) both}.hero-copy>.eyebrow{animation-delay:.05s}.hero-copy>h1{animation-delay:.14s}.hero-copy>.hero-lead{animation-delay:.24s}.hero-copy>.hero-actions{animation-delay:.33s}.hero-copy>.social-row{animation-delay:.42s}
.orbit-one{animation:orbit-breathe 9s ease-in-out infinite}.orbit-two{animation:orbit-drift 12s ease-in-out infinite}.core-card{animation:card-float 6s ease-in-out infinite}.tag-api{animation:tag-float 4s ease-in-out infinite}.tag-cloud{animation:tag-float 4.8s ease-in-out infinite .6s}.tag-dotnet{animation:tag-float 4.2s ease-in-out infinite 1.1s}.status-dot,.live-pulse{animation:status-glow 2.2s ease-in-out infinite}@keyframes status-glow{0%,100%{box-shadow:0 0 3px #c7f36b55}50%{box-shadow:0 0 13px #c7f36bcc}}
.reveal{opacity:0;translate:0 20px;transition:opacity .65s ease,translate .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;translate:0 0}.project-card{transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .28s,box-shadow .28s}.project-card:hover{box-shadow:0 16px 42px #0005}.button,.filter-pill,.round-link,.nav-cta,.tech-tag{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}.button:hover,.nav-cta:hover{transform:translateY(-2px)}.round-link:hover{transform:rotate(45deg);background:#c7f36b12}.tech-tag:hover{border-color:#c7f36b75;color:#d7f4a5}.timeline-marker{transition:box-shadow .25s,transform .25s}.timeline-item:hover .timeline-marker{transform:scale(1.3);box-shadow:0 0 17px #c7f36b75}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;translate:none}}
