@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-slow{0%{transform:scale(1.1)}50%{transform:scale(1.15)}to{transform:scale(1.1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in-up{animation:fadeInUp .8s ease-out forwards;opacity:0}.animate-fade-in{animation:fadeIn .6s ease-out forwards;opacity:0}.animate-slide-in-left{animation:slideInLeft .8s ease-out forwards;opacity:0}.animate-slide-in-right{animation:slideInRight .8s ease-out forwards;opacity:0}.animate-scale-in{animation:scaleIn .6s ease-out forwards;opacity:0}.animate-pulse-slow{animation:pulse-slow 20s infinite ease-in-out}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.custom-cursor{cursor:none}.cursor-dot{width:8px;height:8px;background-color:#fff;border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transition:transform .1s ease-out;mix-blend-mode:difference}.cursor-ring{width:40px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transition:transform .15s ease-out,width .2s,height .2s;transform:translate(-50%,-50%)}.cursor-ring.hover{width:60px;height:60px;border-color:var(--accent-primary)}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--bg-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s ease-out,visibility .5s}.loading-screen.hidden{opacity:0;visibility:hidden}.loading-logo{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary);margin-bottom:2rem}.loading-bar-container{width:200px;height:1px;background:#ffffff1a;overflow:hidden}.loading-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary));animation:loadingProgress 1.5s ease-out forwards}@keyframes loadingProgress{0%{width:0%}to{width:100%}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease-out,transform .8s ease-out}.reveal.visible{opacity:1;transform:translateY(0)}.glass-panel{background:#12121ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,77,0,.1)}.glass-panel-light{background:#1a1a2499;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,77,0,.15)}.film-grain:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.btn-magnetic{position:relative;transition:transform .3s ease-out}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);transform:scale(0);opacity:0;transition:transform .5s,opacity .5s}.btn-ripple:active:after{transform:scale(2);opacity:1;transition:0s}.gradient-text{background:linear-gradient(135deg,#fff,#a5a5a5,#fff);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite}.gradient-text-aurora{background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-secondary) 50%,var(--accent-tertiary) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 3s linear infinite}.portfolio-card{transition:transform .5s ease-out}.portfolio-card:hover{transform:translateY(-5px)}.portfolio-image-wrapper{overflow:hidden;position:relative}.portfolio-image-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 50%);opacity:0;transition:opacity .5s}.portfolio-card:hover .portfolio-image-wrapper:after{opacity:1}.line-expand{width:0;transition:width .7s ease-out}.group:hover .line-expand{width:100%}.masonry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;grid-auto-rows:280px}.masonry-item{position:relative;overflow:hidden}.masonry-tall{grid-row:span 2}.masonry-wide{grid-column:span 2}.masonry-image-wrapper{position:relative;width:100%;height:100%;overflow:hidden}.masonry-image{width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out,filter .5s ease-out;filter:grayscale(0%)}.masonry-image-wrapper:hover .masonry-image{transform:scale(1.05)}.masonry-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:flex-start;padding:24px;background:linear-gradient(to top,rgba(10,10,12,.8) 0%,transparent 60%);opacity:0;transition:opacity .4s ease-out;color:var(--text-primary);font-family:var(--font-display);letter-spacing:.1em}.masonry-image-wrapper:hover .masonry-overlay{opacity:1}@media(max-width:1024px){.masonry-grid{grid-template-columns:repeat(2,1fr);gap:16px;grid-auto-rows:240px}.masonry-wide{grid-column:span 2}.masonry-tall{grid-row:span 2}}@media(max-width:640px){.masonry-grid{grid-template-columns:1fr;gap:12px;grid-auto-rows:auto}.masonry-item,.masonry-tall,.masonry-wide{grid-column:span 1;grid-row:span 1}.masonry-image-wrapper{aspect-ratio:4/3}}@media(max-width:768px){.cursor-dot,.cursor-ring{display:none}.custom-cursor{cursor:auto}}@keyframes breathe{0%,to{box-shadow:0 0 20px #ff4d0033,0 0 40px #00ff881a}50%{box-shadow:0 0 30px #ff4d0066,0 0 60px #0f83}}.breathing-glow{animation:breathe 3s ease-in-out infinite}@keyframes gradient-rotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.btn-premium{position:relative;background:transparent;border:none;padding:12px 24px;border-radius:50px;overflow:hidden;transition:all .4s ease}.btn-premium:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:1.5px;border-radius:50px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary),var(--accent-primary));background-size:300% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:gradient-rotate 4s linear infinite}.btn-premium:hover:before{animation-duration:1.5s}.btn-premium:hover{transform:scale(1.02);box-shadow:0 0 30px #ff4d004d,0 0 60px #0f83}.nav-link-sleek{position:relative;transition:color .3s ease}.nav-link-sleek:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),var(--accent-secondary),transparent);transition:width .4s ease}.nav-link-sleek:hover:after{width:100%}.nav-link-sleek:hover{color:#fff}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.typing-dots{display:flex;gap:4px;align-items:center}.typing-dots span{width:6px;height:6px;background:linear-gradient(135deg,#a855f7,#ec4899);border-radius:50%;animation:typing-bounce 1.4s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes gentle-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.widget-float{animation:gentle-float 4s ease-in-out infinite}.input-premium{position:relative;transition:all .3s ease}.input-premium:focus{outline:none}.input-premium:focus~.focus-ring,.input-premium:focus-within~.focus-ring{opacity:1;transform:scaleX(1)}.focus-ring{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#a855f7,#ec4899,transparent);opacity:0;transform:scaleX(0);transition:all .4s ease}.hamburger-line{transition:all .3s ease;transform-origin:center}.hamburger-active .hamburger-line:first-child{transform:translateY(5px) rotate(45deg)}.hamburger-active .hamburger-line:last-child{transform:translateY(-5px) rotate(-45deg)}.widget-morph{transition:all .5s cubic-bezier(.4,0,.2,1)}.btn-frosted{background:#ffffff08;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);transition:all .3s ease}.btn-frosted:hover{background:#ffffff14;border-color:#ff4d004d;box-shadow:0 0 20px #ff4d0026,0 0 40px #00ff881a}@keyframes aurora-flow{0%{background-position:0% 50%;filter:hue-rotate(0deg)}50%{background-position:100% 50%;filter:hue-rotate(15deg)}to{background-position:0% 50%;filter:hue-rotate(0deg)}}@keyframes aurora-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.btn-aurora{position:relative;padding:16px 32px;background:#0009;border:none;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1}.btn-aurora:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:2px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary),var(--accent-primary),var(--accent-secondary));background-size:300% 300%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:aurora-flow 6s ease infinite;z-index:-1}.btn-aurora:after{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg,transparent,rgba(255,77,0,.3),transparent,rgba(0,255,136,.3),transparent,rgba(30,64,255,.3),transparent);animation:spin 8s linear infinite;opacity:0;transition:opacity .4s ease;z-index:-2}@keyframes spin{to{transform:rotate(360deg)}}.btn-aurora:hover:after{opacity:1}.btn-aurora:hover{background:#0006;box-shadow:0 0 30px #ff4d0066,0 0 60px #0f83,0 0 90px #1e40ff26,inset 0 0 30px #ff4d001a;transform:translateY(-2px)}.btn-holographic{position:relative;padding:14px 28px;background:linear-gradient(135deg,#ff4d001a,#00ff880d,#1e40ff1a);border:1px solid rgba(255,77,0,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;transition:all .4s ease}.btn-holographic:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.btn-holographic:hover:before{left:100%}.btn-holographic:hover{border-color:#00ff8880;box-shadow:0 0 20px #ff4d004d,0 0 40px #0f83;transform:scale(1.02)}.btn-neon-cinema{position:relative;padding:14px 32px;background:transparent;border:2px solid;border-image:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary),var(--accent-tertiary)) 1;color:var(--text-primary);text-shadow:0 0 10px rgba(255,77,0,.5);transition:all .3s ease}.btn-neon-cinema:hover{background:linear-gradient(135deg,#ff4d0033,#00ff8826,#1e40ff33);box-shadow:0 0 20px #ff4d0080,0 0 40px #00ff884d,0 0 60px #1e40ff33,inset 0 0 20px #ff4d001a;text-shadow:0 0 20px rgba(255,77,0,.8)}.text-cinema-primary{color:var(--accent-primary)}.text-cinema-secondary{color:var(--accent-secondary)}.text-cinema-tertiary{color:var(--accent-tertiary)}.bg-cinema-primary{background-color:var(--accent-primary)}.bg-cinema-secondary{background-color:var(--accent-secondary)}.bg-cinema-tertiary{background-color:var(--accent-tertiary)}.cinema-glow{background:radial-gradient(ellipse at 50% 50%,rgba(255,77,0,.15) 0%,rgba(0,255,136,.1) 30%,transparent 70%);animation:aurora-pulse 4s ease-in-out infinite}html{scroll-behavior:smooth}.footer-link{position:relative;display:inline-block;transition:color .3s ease,transform .3s ease}.footer-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:linear-gradient(90deg,var(--accent-primary),var(--accent-secondary));transition:width .4s cubic-bezier(.4,0,.2,1)}.footer-link:hover{color:#fff;transform:translateY(-1px)}.footer-link:hover:after{width:100%}.footer-link-glow:hover{text-shadow:0 0 10px rgba(255,77,0,.5),0 0 20px rgba(255,77,0,.3)}@keyframes ambient-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}.ambient-glow-bg{position:fixed;top:50%;left:50%;width:600px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,77,0,.08) 0%,rgba(0,255,136,.04) 30%,transparent 60%);pointer-events:none;z-index:0;animation:ambient-pulse 8s ease-in-out infinite}.masonry-item:nth-child(1){transition-delay:.05s}.masonry-item:nth-child(2){transition-delay:.1s}.masonry-item:nth-child(3){transition-delay:.15s}.masonry-item:nth-child(4){transition-delay:.2s}.masonry-item:nth-child(5){transition-delay:.25s}.masonry-item:nth-child(6){transition-delay:.3s}.masonry-item:nth-child(7){transition-delay:.35s}.masonry-item:nth-child(8){transition-delay:.4s}.masonry-item:nth-child(9){transition-delay:.45s}.masonry-item:nth-child(10){transition-delay:.5s}.masonry-item:nth-child(11){transition-delay:.55s}.masonry-item:nth-child(12){transition-delay:.6s}.masonry-item:nth-child(n+13){transition-delay:.65s}.btn-press:active{transform:scale(.97)}.link-float:hover{transform:translateY(-3px);transition:transform .3s cubic-bezier(.4,0,.2,1)}.parallax-subtle{will-change:transform;transition:transform .1s linear}@keyframes text-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.text-reveal{animation:text-reveal .8s cubic-bezier(.4,0,.2,1) forwards}.section-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.section-reveal.visible{opacity:1;transform:translateY(0)}.social-icon{transition:transform .3s ease,color .3s ease,filter .3s ease}.social-icon:hover{transform:scale(1.15) translateY(-2px);color:var(--accent-primary);filter:drop-shadow(0 0 8px rgba(255,77,0,.5))}
