.scroll-progress{position:fixed;top:0;left:0;height:3px;z-index:10001;background:linear-gradient(90deg,var(--blue),var(--gold),var(--blue));background-size:200% 100%;animation:gradientShift 3s ease infinite;transform-origin:left;transform:scaleX(0);will-change:transform}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.cursor-dot{position:fixed;top:0;left:0;z-index:99999;width:6px;height:6px;border-radius:50%;background:var(--blue);opacity:0.5;pointer-events:none;transform:translate(-50%,-50%);transition:width 0.2s ease,height 0.2s ease,background 0.2s ease,opacity 0.2s ease;will-change:transform}.cursor-ring{position:fixed;top:0;left:0;z-index:99998;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(46,91,255,0.25);pointer-events:none;transform:translate(-50%,-50%);transition:width 0.3s ease,height 0.3s ease,border-color 0.3s ease,opacity 0.3s ease;will-change:transform}.cursor-dot.hover{width:44px;height:44px;background:rgba(46,91,255,0.1);opacity:0.8}.cursor-ring.hover{width:54px;height:54px;border-color:var(--blue);opacity:0.5}.cursor-dot.click{transform:translate(-50%,-50%) scale(0.6)}.cursor-ring.click{width:28px;height:28px}@media (max-width:1024px){.cursor-dot,.cursor-ring{display:none !important}}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100000;background:var(--navy-deep);display:flex;align-items:center;justify-content:center;transition:opacity 0.5s ease,visibility 0.5s ease}.page-loader.loaded{opacity:0;visibility:hidden;pointer-events:none}.loader-logo{font-family:'DM Sans',sans-serif;font-size:1.8rem;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:var(--white);opacity:0;animation:loaderFade 1.2s ease 0.2s forwards}.loader-logo span{color:var(--gold)}.loader-bar{position:absolute;bottom:40%;left:50%;transform:translateX(-50%);width:120px;height:2px;background:rgba(255,255,255,0.1);border-radius:2px;overflow:hidden}.loader-bar::after{content:'';position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--gold));border-radius:2px;animation:loaderProgress 1.4s ease forwards}@keyframes loaderFade{to{opacity:1}}@keyframes loaderProgress{to{width:100%}}[data-anim]{opacity:1;will-change:transform,opacity;transition:opacity 0.7s cubic-bezier(0.25,0.46,0.45,0.94),transform 0.7s cubic-bezier(0.25,0.46,0.45,0.94)}[data-anim].is-visible{opacity:1;transform:none !important}[data-anim="fade-up"]{transform:none}[data-anim="fade-down"]{transform:none}[data-anim="fade-left"]{transform:none}[data-anim="fade-right"]{transform:none}[data-anim="scale-in"]{transform:none}[data-anim="scale-up"]{transform:none}[data-anim="rotate-in"]{transform:none}[data-anim="flip-up"]{transform:none}[data-anim="blur-in"]{filter:none;transform:none}[data-anim="blur-in"].is-visible{filter:blur(0)}[data-anim="slide-up"]{transform:none}[data-anim="clip-up"]{clip-path:none;transform:none}[data-anim="clip-up"].is-visible{clip-path:inset(0 0 0 0)}[data-stagger]>*{opacity:1;transform:none;transition:opacity 0.6s cubic-bezier(0.25,0.46,0.45,0.94),transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94)}[data-stagger].is-visible>*{opacity:1;transform:translateY(0)}[data-stagger].is-visible>*:nth-child(1){transition-delay:0.05s}[data-stagger].is-visible>*:nth-child(2){transition-delay:0.1s}[data-stagger].is-visible>*:nth-child(3){transition-delay:0.15s}[data-stagger].is-visible>*:nth-child(4){transition-delay:0.2s}[data-stagger].is-visible>*:nth-child(5){transition-delay:0.25s}[data-stagger].is-visible>*:nth-child(6){transition-delay:0.3s}[data-stagger].is-visible>*:nth-child(7){transition-delay:0.35s}[data-stagger].is-visible>*:nth-child(8){transition-delay:0.4s}[data-stagger].is-visible>*:nth-child(9){transition-delay:0.45s}[data-stagger].is-visible>*:nth-child(10){transition-delay:0.5s}[data-stagger].is-visible>*:nth-child(11){transition-delay:0.55s}[data-stagger].is-visible>*:nth-child(12){transition-delay:0.6s}.text-reveal{overflow:hidden;display:inline-block}.text-reveal .text-reveal-inner{display:inline-block;transform:translateY(0);transition:transform 0.8s cubic-bezier(0.77,0,0.175,1)}.text-reveal.is-visible .text-reveal-inner{transform:translateY(0)}.split-text .word{display:inline-block;overflow:hidden;vertical-align:top}.split-text .word-inner{display:inline-block;transform:translateY(0);transition:transform 0.6s cubic-bezier(0.77,0,0.175,1)}.split-text.is-visible .word-inner{transform:translateY(0)}.char-reveal .char{display:inline-block;opacity:1;transform:translateY(20px);transition:opacity 0.4s ease,transform 0.4s ease}.char-reveal.is-visible .char{opacity:1;transform:translateY(0)}.btn-magnetic{position:relative;overflow:hidden;transition:transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94)}.btn-magnetic .btn-text{position:relative;z-index:2;transition:transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,0.35);transform:scale(0);animation:rippleEffect 0.6s ease-out forwards;pointer-events:none}@keyframes rippleEffect{to{transform:scale(4);opacity:0}}.btn-shine::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s ease}.btn-shine:hover::before{left:100%}.card-tilt{transform-style:preserve-3d;perspective:1000px;transition:transform 0.1s ease}.card-tilt .card-tilt-inner{transition:transform 0.3s ease}.card-tilt:hover .card-tilt-inner{transform:translateZ(20px)}.card-glow{position:relative;overflow:hidden}.card-glow::after{content:'';position:absolute;top:var(--mouse-y,50%);left:var(--mouse-x,50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(46,91,255,0.12),transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:0}.card-glow:hover::after{opacity:1}.card-border-anim{position:relative;background:var(--white);border:1px solid transparent;background-clip:padding-box}.card-border-anim::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,transparent 40%,var(--blue) 50%,var(--gold) 60%,transparent 70%);background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity 0.4s ease;animation:borderGradient 4s linear infinite paused}.card-border-anim:hover::before{opacity:1;animation-play-state:running}@keyframes borderGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}[data-parallax]{will-change:transform;transition:transform 0.1s linear}.marquee-wrapper{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 10%,black 90%,transparent)}.marquee-track{display:flex;gap:3rem;align-items:center;animation:marquee 25s linear infinite;width:max-content}.marquee-track:hover{animation-play-state:paused}@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.link-underline{position:relative;display:inline-block}.link-underline::after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform 0.4s cubic-bezier(0.77,0,0.175,1)}.link-underline:hover::after{transform:scaleX(1);transform-origin:left}.link-underline-double::after{background:var(--gold)}.link-underline-double::before{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform 0.4s cubic-bezier(0.77,0,0.175,1) 0.1s}.link-underline-double:hover::before{transform:scaleX(1);transform-origin:right}.icon-bounce:hover .icon-wrap{animation:iconBounce 0.5s ease}@keyframes iconBounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}.icon-rotate:hover .icon-wrap{animation:iconRotate 0.5s ease}@keyframes iconRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.icon-pulse:hover .icon-wrap{animation:iconPulse 0.6s ease}@keyframes iconPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}.morph-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:0.07;pointer-events:none;z-index:0;animation:morphBlob 12s ease-in-out infinite}@keyframes morphBlob{0%,100%{border-radius:60% 40% 30% 70% / 60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40% / 50% 60% 30% 60%}50%{border-radius:50% 50% 40% 60% / 40% 60% 50% 50%}75%{border-radius:40% 60% 60% 40% / 60% 40% 60% 40%}}[data-count]{font-variant-numeric:tabular-nums}.img-reveal{position:relative;overflow:hidden}.img-reveal::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:var(--blue);transform-origin:left;transition:transform 0.8s cubic-bezier(0.77,0,0.175,1)}.img-reveal.is-visible::after{transform:scaleX(0);transform-origin:right}.card-shine{position:relative;overflow:hidden}.card-shine::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,0.05) 60deg,transparent 120deg);opacity:0;transition:opacity 0.4s ease;animation:cardShineRotate 4s linear infinite paused;pointer-events:none}.card-shine:hover::before{opacity:1;animation-play-state:running}@keyframes cardShineRotate{100%{transform:rotate(360deg)}}[data-tooltip]{position:relative}[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100%+8px);left:50%;transform:translateX(-50%) translateY(5px);padding:0.5rem 0.75rem;background:var(--navy);color:var(--white);font-size:0.75rem;font-weight:500;font-family:'DM Sans',sans-serif;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity 0.3s ease,transform 0.3s ease,visibility 0.3s ease;pointer-events:none;z-index:100}[data-tooltip]:hover::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.nav-link{position:relative}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--blue);transition:width 0.3s ease,left 0.3s ease}.nav-link:hover::after,.nav-link.active::after{width:70%;left:15%}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0.5rem;color:rgba(255,255,255,0.4);font-size:0.75rem;letter-spacing:0.1em;text-transform:uppercase;font-family:'DM Sans',sans-serif;animation:scrollIndPulse 2s ease infinite}.scroll-indicator .scroll-mouse{width:24px;height:38px;border:2px solid rgba(255,255,255,0.3);border-radius:12px;position:relative}.scroll-indicator .scroll-wheel{width:3px;height:8px;background:rgba(255,255,255,0.6);border-radius:2px;position:absolute;top:6px;left:50%;transform:translateX(-50%);animation:scrollWheel 1.5s ease infinite}@keyframes scrollWheel{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(12px)}}@keyframes scrollIndPulse{0%,100%{opacity:0.4}50%{opacity:0.8}}.btn{position:relative;overflow:hidden}.btn::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.15);transform:translate(-50%,-50%);transition:width 0.5s ease,height 0.5s ease}.btn:active::after{width:300px;height:300px}.btn .arrow-icon{display:inline-block;transition:transform 0.3s ease}.btn:hover .arrow-icon{transform:translateX(4px)}.section-wave{position:relative}.section-wave::after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60'%3E%3Cpath fill='%23FFFFFF' d='M0,32L48,37.3C96,43,192,53,288,53.3C384,53,480,43,576,37.3C672,32,768,32,864,37.3C960,43,1056,53,1152,53.3C1248,53,1344,43,1392,37.3L1440,32L1440,60L0,60Z'/%3E%3C/svg%3E") no-repeat bottom;background-size:cover;pointer-events:none}.skill-bar{height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.skill-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(0.25,0.46,0.45,0.94)}.skill-bar-fill.is-visible{transform:scaleX(var(--fill,0))}.hover-gradient{background:linear-gradient(135deg,var(--navy),var(--navy));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;transition:background 0.4s ease}.hover-gradient:hover{background:linear-gradient(135deg,var(--blue),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tag-pop{transition:transform 0.2s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.2s ease}.tag-pop:hover{transform:scale(1.08) translateY(-2px);box-shadow:var(--shadow-md)}.hero-gradient-follow{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:0.6;background:radial-gradient(600px circle at var(--mouse-x,50%) var(--mouse-y,50%),rgba(46,91,255,0.08),transparent 60%);transition:opacity 0.3s ease}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}[data-anim]{opacity:1;transform:none}[data-stagger]>*{opacity:1;transform:none}.cursor-dot,.cursor-ring{display:none !important}.page-loader{display:none !important}.scroll-progress{display:none !important}.marquee-track{animation:none}[data-parallax]{transform:none !important}}
