@keyframes hero-marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:hero-fade-in .5s ease-out forwards}.animate-fade-in-delay{animation:hero-fade-in .5s ease-out .15s forwards;opacity:0}.hero-title-gradient{background:linear-gradient(90deg,#1E40AF,#2929a3 25%,#1E40AF 50%,#2929a3 75%,#1E40AF);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:hero-gradient-shimmer 8s linear infinite}.hero-subtitle{animation:hero-subtitle-fade .8s ease-out .3s forwards;opacity:0}.mask-fade-out{mask-image:linear-gradient(180deg,black 30%,transparent);-webkit-mask-image:linear-gradient(180deg,black 30%,transparent)}.hero-grid-bg{background-image:linear-gradient(rgba(25,25,112,.05) 1px,transparent 0),linear-gradient(90deg,rgba(25,25,112,.05) 1px,transparent 0);background-size:50px 50px}.hero-ripple-container{inset:0;z-index:1;overflow:hidden}.hero-ripple,.hero-ripple-container{position:absolute;pointer-events:none}.hero-ripple{border:2px solid rgba(204,255,0,.4);border-radius:50%;animation:hero-ripple 2s ease-out forwards}.hero-cta-primary{position:relative;overflow:hidden}.hero-cta-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.hero-cta-primary:hover:before{width:300px;height:300px}@keyframes hero-float{0%,to{transform:translateY(0) translateX(0)}25%{transform:translateY(-20px) translateX(10px)}50%{transform:translateY(-10px) translateX(-10px)}75%{transform:translateY(-30px) translateX(5px)}}.hero-particle{position:absolute;width:4px;height:4px;background:rgba(204,255,0,.6);border-radius:50%;pointer-events:none;animation:hero-float 6s ease-in-out infinite}.hero-particle:nth-child(2n){background:rgba(25,25,112,.4);animation-duration:8s;animation-delay:1s}.hero-particle:nth-child(3n){background:rgba(255,107,53,.3);animation-duration:10s;animation-delay:2s}.hero-mockup-marquee-container{width:100%;overflow:hidden;position:relative;padding:.5rem 0;mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 5%,black 95%,transparent)}.hero-mockup-marquee-content{display:flex;gap:.75rem;animation:hero-marquee-scroll 20s linear infinite;width:max-content;will-change:transform;animation-play-state:running!important}.hero-marquee-paused .hero-mockup-marquee-content{animation-play-state:paused!important}.hero-project-card{height:220px!important;width:280px!important;flex-shrink:0;transition:transform .3s ease;border-radius:1rem!important}.hero-project-card:hover{transform:translateY(-3px) scale(1.01);z-index:10}@media (min-width:480px){.hero-project-card{height:260px!important;width:340px!important}}@media (min-width:640px){.hero-mockup-marquee-container{padding:1rem 0;mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent)}.hero-mockup-marquee-content{gap:1.25rem;animation-duration:30s}.hero-project-card{height:300px!important;width:400px!important}.hero-project-card:hover{transform:translateY(-5px) scale(1.02)}}@media (min-width:768px){.hero-mockup-marquee-container{padding:1.5rem 0;mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}.hero-mockup-marquee-content{gap:1.5rem;animation-duration:40s}.hero-project-card{height:340px!important;width:460px!important}.hero-project-card:hover{transform:translateY(-8px) scale(1.02)}}@media (min-width:1024px){.hero-mockup-marquee-container{padding:2rem 0;mask-image:linear-gradient(90deg,transparent,black 15%,black 85%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 15%,black 85%,transparent)}.hero-mockup-marquee-content{gap:2rem;animation-duration:45s}.hero-project-card{height:355px!important;width:480px!important}.hero-project-card:hover{transform:translateY(-10px) scale(1.02)}}@keyframes hero-shimmer{to{transform:translateX(100%)}}.animate-hero-shimmer{animation:hero-shimmer 2s infinite}@media (prefers-reduced-motion:reduce){.hero-mockup-marquee-content{animation-duration:120s!important}.hero-project-card:hover{transform:none}.animate-fade-in,.animate-fade-in-delay{animation:none;opacity:1}}@media (prefers-reduced-motion:no-preference){.hsf-in{animation:hsf-in .5s cubic-bezier(.2,.7,.2,1) var(--d,0s) both}.hsf-fade{animation:hsf-fade .4s ease-out var(--d,0s) both}.hsf-pop{animation:hsf-pop .35s cubic-bezier(.2,.7,.3,1.3) var(--d,0s) both}.hsf-out{animation:hsf-out .2s ease-out var(--d,0s) both}.hsf-dim{animation:hsf-dim .35s ease-out var(--d,0s) both}.hsf-grow-y{transform-origin:top;animation:hsf-grow-y .45s ease-out var(--d,0s) both}.hsf-grow-x{transform-origin:left;animation:hsf-grow-x .8s cubic-bezier(.6,0,.2,1) var(--d,0s) both}.hsf-run-x{animation:hsf-run-x var(--hsf-cycle) linear var(--hsf-start) infinite both}.hsf-run-y{animation:hsf-run-y var(--hsf-cycle) linear var(--hsf-start) infinite both}.hsf-return{animation:hsf-return var(--hsf-cycle) linear var(--hsf-start) infinite both}.hsf-pulse{animation:hsf-pulse var(--hsf-cycle) ease-out var(--d,0s) infinite both}.hsf-badge{animation:hsf-badge var(--hsf-cycle) linear var(--d,0s) infinite both}.hsf-attr{animation:hsf-attr var(--hsf-rotation) linear var(--d,0s) infinite both}.hsf-tag{animation:hsf-tag var(--hsf-rotation) linear var(--d,0s) infinite}.hsf-ring{animation:hsf-ring 2s ease-out var(--hsf-start) infinite both}.hsf[data-paused=true] *{animation-play-state:paused}}@keyframes hsf-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes hsf-fade{0%{opacity:0}to{opacity:1}}@keyframes hsf-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes hsf-out{0%{opacity:1}to{opacity:0}}@keyframes hsf-dim{0%{opacity:.35}to{opacity:1}}@keyframes hsf-grow-y{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes hsf-grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hsf-run-x{0%{opacity:0;transform:translateX(calc(10% - .2rem))}12%,6%{opacity:1;transform:translateX(calc(10% - .2rem))}70%{opacity:1;transform:translateX(100%)}72%,to{opacity:0;transform:translateX(100%)}}@keyframes hsf-run-y{0%{opacity:0;transform:translateY(0)}12%,6%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(100%)}74%,to{opacity:0;transform:translateY(100%)}}@keyframes hsf-return{0%,70%{opacity:0;transform:translateY(100%)}72%{opacity:1;transform:translateY(100%)}84%{opacity:1;transform:translateY(0)}87%,to{opacity:0;transform:translateY(0)}}@keyframes hsf-pulse{0%{opacity:0}14%,4%{opacity:1}24%,to{opacity:0}}@keyframes hsf-badge{0%{opacity:0}35%,5%{opacity:1}42%,to{opacity:0}}@keyframes hsf-attr{0%{opacity:0}1.25%,8.75%{opacity:1}10.5%,to{opacity:0}}@keyframes hsf-tag{0%,24.9%{opacity:1}25%,to{opacity:0}}@keyframes hsf-ring{0%{opacity:.5;transform:scale(1)}70%,to{opacity:0;transform:scale(2.4)}}