.hero .cinematic-background{position:absolute;top:-50%;left:-50%;width:200%;height:200%;z-index:-1;overflow:hidden;background:linear-gradient(135deg,#c084fc4d,#a855f74d,#c084fc4d);pointer-events:none;transform-origin:center center;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden}.hero .cinematic-background:before,.hero .cinematic-background:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transform-origin:center center}.hero .cinematic-background:before{background:radial-gradient(circle 400px at 20% 30%,rgba(255,255,255,.3) 0%,transparent 70%),radial-gradient(circle 800px at 80% 70%,rgba(233,41,118,.3) 0%,transparent 70%);animation:lightMovement1 20s ease-in-out infinite;opacity:.7}.hero .cinematic-background:after{background:radial-gradient(circle 350px at 60% 50%,rgba(255,255,255,.15) 0%,transparent 65%),radial-gradient(circle 350px at 40% 20%,rgba(194,24,91,.15) 0%,transparent 65%);animation:lightMovement2 30s ease-in-out infinite;opacity:.5}@media(prefers-reduced-motion:reduce){.hero .cinematic-background{animation:none}.hero .cinematic-background:before,.hero .cinematic-background:after{animation:none}}.opera-no-animations .hero .hero .cinematic-background,.hero .opera-no-animations .hero .cinematic-background,.low-performance .hero .hero .cinematic-background,.hero .low-performance .hero .cinematic-background{animation:none}.opera-no-animations .hero .hero .cinematic-background:before,.hero .opera-no-animations .hero .cinematic-background:before,.low-performance .hero .hero .cinematic-background:before,.hero .low-performance .hero .cinematic-background:before,.opera-no-animations .hero .hero .cinematic-background:after,.hero .opera-no-animations .hero .cinematic-background:after,.low-performance .hero .hero .cinematic-background:after,.hero .low-performance .hero .cinematic-background:after{animation:none}body.animations-paused .hero .cinematic-background{animation-play-state:paused}body.animations-paused .hero .cinematic-background:before,body.animations-paused .hero .cinematic-background:after{animation-play-state:paused}@media(max-width:768px){.hero .cinematic-background{animation:none!important;will-change:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}.hero .cinematic-background:before,.hero .cinematic-background:after{animation:none!important;display:none}}.hero .dust-particles{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;animation-duration:40s,8s;animation-timing-function:ease-in-out,ease-in-out;animation-iteration-count:infinite,infinite;transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.dust-particles:nth-child(1){background:radial-gradient(circle 20px at 15% 25%,rgba(221,214,254,.15) 0%,transparent 70%);animation-name:particleFloat1,particleBlink;animation-delay:0s,0s}.dust-particles:nth-child(2){background:radial-gradient(circle 15px at 85% 45%,rgba(221,214,254,.15) 0%,transparent 70%);animation-name:particleFloat2,particleBlink;animation-delay:0s,.7s}.dust-particles:nth-child(3){background:radial-gradient(circle 20px at 45% 70%,rgba(233,213,255,.15) 0%,transparent 70%);animation-name:particleFloat3,particleBlink;animation-delay:0s,1.4s}.dust-particles:nth-child(4){background:radial-gradient(circle 15px at 70% 15%,rgba(243,232,255,.15) 0%,transparent 70%);animation-name:particleFloat4,particleBlink;animation-delay:0s,2.1s}.dust-particles:nth-child(5){background:radial-gradient(circle 20px at 25% 60%,rgba(221,214,254,.15) 0%,transparent 70%);animation-name:particleFloat5,particleBlink;animation-delay:0s,2.8s}.dust-particles:nth-child(6){background:radial-gradient(circle 15px at 60% 80%,rgba(237,233,254,.15) 0%,transparent 70%);animation-name:particleFloat6,particleBlink;animation-delay:0s,3.5s}.dust-particles:nth-child(7){background:radial-gradient(circle 20px at 90% 30%,rgba(250,245,255,.15) 0%,transparent 70%);animation-name:particleFloat7,particleBlink;animation-delay:0s,4.2s}.dust-particles:nth-child(8){background:radial-gradient(circle 15px at 35% 10%,rgba(233,213,255,.15) 0%,transparent 70%);animation-name:particleFloat8,particleBlink;animation-delay:0s,4.9s}.dust-particles:nth-child(9){background:radial-gradient(circle 20px at 55% 85%,rgba(221,214,254,.15) 0%,transparent 70%);animation-name:particleFloat9,particleBlink;animation-delay:0s,5.6s}.dust-particles:nth-child(10){background:radial-gradient(circle 15px at 12% 50%,rgba(250,245,255,.15) 0%,transparent 70%);animation-name:particleFloat10,particleBlink;animation-delay:0s,6.3s}.dust-particles:nth-child(11){background:radial-gradient(circle 20px at 75% 65%,rgba(221,214,254,.15) 0%,transparent 70%);animation-name:particleFloat11,particleBlink;animation-delay:0s,7s}.opera-no-animations .hero .dust-particles,.hero .opera-no-animations .dust-particles,.low-performance .hero .dust-particles,.hero .low-performance .dust-particles{animation:none}body.animations-paused .hero .dust-particles{animation-play-state:paused}@media(max-width:768px){.hero .dust-particles{animation:none!important;will-change:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible;display:none}}@keyframes lightMovement1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(15%,15%) scale(1.25)}66%{transform:translate(-15%,-15%) scale(.85)}}@keyframes lightMovement2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(25%,-25%) scale(1.45)}}@keyframes particleFloat1{0%,to{transform:translate(0)}33%{transform:translate(10%,-15%)}66%{transform:translate(-10%,10%)}}@keyframes particleFloat2{0%,to{transform:translate(0)}33%{transform:translate(-8%,12%)}66%{transform:translate(12%,-8%)}}@keyframes particleFloat3{0%,to{transform:translate(0)}33%{transform:translate(15%,5%)}66%{transform:translate(-5%,-15%)}}@keyframes particleFloat4{0%,to{transform:translate(0)}33%{transform:translate(-12%,-8%)}66%{transform:translate(8%,12%)}}@keyframes particleFloat5{0%,to{transform:translate(0)}33%{transform:translate(5%,15%)}66%{transform:translate(-15%,-5%)}}@keyframes particleFloat6{0%,to{transform:translate(0)}33%{transform:translate(-15%,5%)}66%{transform:translate(10%,-12%)}}@keyframes particleFloat7{0%,to{transform:translate(0)}33%{transform:translate(12%,12%)}66%{transform:translate(-12%,-12%)}}@keyframes particleFloat8{0%,to{transform:translate(0)}33%{transform:translate(-10%,15%)}66%{transform:translate(15%,-10%)}}@keyframes particleFloat9{0%,to{transform:translate(0)}33%{transform:translate(8%,-12%)}66%{transform:translate(-8%,8%)}}@keyframes particleFloat10{0%,to{transform:translate(0)}33%{transform:translate(-12%,-5%)}66%{transform:translate(12%,5%)}}@keyframes particleFloat11{0%,to{transform:translate(0)}33%{transform:translate(15%,-5%)}66%{transform:translate(-15%,5%)}}@keyframes particleBlink{0%{opacity:0}5%{opacity:1}25%{opacity:1}50%{opacity:0}to{opacity:0}}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:56px;height:56px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;font-size:22px;cursor:pointer;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433;transform:translateZ(0);will-change:opacity,transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.scroll-to-top.visible{opacity:1;visibility:visible}.scroll-to-top:hover{background:linear-gradient(135deg,#07cbed,#9c74f7);transform:translateY(-5px) scale(1.1);box-shadow:0 12px 40px #8b5cf659,0 12px 40px #06b6d44d;border-color:#ffffff80}.scroll-to-top:active{transform:translateY(-2px) scale(1.05)}header{background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.2);padding:0;position:fixed;width:100%;top:0;z-index:1000;transform:translateZ(0);will-change:background-color;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:background-color .3s ease,backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease,box-shadow .3s ease}@media(max-width:768px){header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}.low-performance header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffff2}header.scrolled{background:#fffffffa;backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);box-shadow:0 4px 20px #00000014;border-bottom:1px solid rgba(0,0,0,.05)}header.scrolled .nav-links a{color:#333}.low-performance header.scrolled,.opera-no-animations header.scrolled{background:#fffffffa;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}nav{display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:#fff;display:flex;align-items:center}.logo img{height:50px;width:auto;max-width:200px;object-fit:contain;transition:transform opacity ease}.logo img:hover{transform:scale(1.05)}.nav-links{display:flex;list-style:none;gap:2.5rem}.nav-links a{color:#fff;text-decoration:none;font-weight:500;font-size:1.05rem;padding:.5rem 1rem;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.nav-links a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#a78bfa;transition:all .3s ease;transform:translate(-50%)}.nav-links a:hover{background:#ffffff1a;transform:translateY(-2px)}.nav-links a:hover:after{width:80%}@media(min-width:768px){.logo img{height:60px;max-width:300px}}@media(max-width:768px){header{display:none!important}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;transform:translateZ(0);will-change:opacity,backdrop-filter;backface-visibility:hidden;-webkit-backface-visibility:hidden}.modal.active{opacity:1;visibility:visible;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-content{background:#fffffffa;backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);border-radius:24px;border:1px solid rgba(255,255,255,.3);max-width:900px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 24px 64px #00000040,0 0 0 1px #0000000d;transform:scale(.85) translateY(20px);transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y}.modal.active .modal-content{transform:scale(1) translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1rem;border-bottom:1px solid #eee}.modal-header .modal-title-container{display:flex;align-items:center;gap:1rem}.modal-header .modal-icon{width:32px;height:32px;object-fit:contain}.modal-header .modal-icon-fallback{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;background:linear-gradient(135deg,#06b6d4,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-header h2{margin:0;color:#1f2937;font-size:2rem;font-weight:700;letter-spacing:-.02em}.modal-close{background:#0000000d;border:2px solid transparent;font-size:1.8rem;color:#6b7280;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:300}.modal-close:hover{background:#8b5cf61a;color:#8b5cf6;border-color:#8b5cf633;transform:rotate(90deg) scale(1.1)}.modal-close:active{transform:rotate(90deg) scale(1)}.modal-body{padding:0 2rem 2rem}.modal-body .modal-embed{margin:1rem 0;text-align:center;position:relative}.modal-body .modal-embed iframe{max-width:100%;border-radius:12px}.modal-body .modal-embed-responsive{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:1rem 0}.modal-body .modal-embed-responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:12px}.modal-body .iframe-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;background:#ffffffe6;border-radius:50%;padding:1rem}.modal-body .iframe-loading .loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #06b6d4;border-radius:50%;animation:spin 1s linear infinite}.modal-body .modal-embed-responsive .iframe-loading{width:100%;height:100%;top:0;left:0;transform:none;border-radius:0;padding:0;display:flex;align-items:center;justify-content:center}.modal-body .modal-content-wrapper{display:flex;gap:2rem;align-items:center;margin:1rem 0}.modal-body .modal-details{flex:1}.modal-body .modal-meta{margin:.5rem 0 1.5rem}.modal-body .modal-type,.modal-body .modal-date,.modal-body .modal-credits{color:#6b7280;font-size:.9rem;margin:0 0 .5rem;font-style:italic}.modal-body .modal-type:last-child,.modal-body .modal-date:last-child,.modal-body .modal-credits:last-child{margin-bottom:0}.modal-body .modal-screenshot{max-width:300px;width:40%;height:auto;border-radius:16px;box-shadow:0 4px 12px #00000026;align-self:center;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:auto}.modal-body h3{color:#1f2937;margin:1.5rem 0 .5rem;font-size:1.2rem}.modal-body p{color:#6b7280;line-height:1.6;margin:0 0 1rem}.modal-description{font-size:1.1rem;color:#1f2937!important;margin:1.5rem 0!important}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech-tag{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;padding:.5rem 1rem;border-radius:9999px;font-size:.9rem;font-weight:500;box-shadow:0 2px 8px #00000014;transition:all .2s ease}.tech-tag:hover{transform:translateY(-2px);box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433}.project-links{display:flex;gap:1rem;margin-top:.5rem}.project-link{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;padding:.9rem 1.75rem;border-radius:9999px;text-decoration:none;font-weight:500;cursor:pointer;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.project-link:hover{background:linear-gradient(135deg,#07cbed,#9c74f7);transform:translateY(-3px);box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433;border-color:#fff3}.project-link:active{transform:translateY(-1px)}html.modal-open,body.modal-open{overflow:hidden}@media(max-width:480px){.modal-content{width:95%;max-height:90vh}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-header h2{font-size:1.5rem}.modal-body{padding:0 1.5rem 1.5rem}.modal-body .modal-content-wrapper{flex-direction:column;gap:1rem}.modal-body .modal-screenshot{float:none;width:100%;max-width:none;margin:0}.project-links{flex-direction:column;gap:.5rem}.project-link{text-align:center}}.tooltip-container{position:relative;display:inline-block}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:.5rem 1rem;border-radius:10px;font-size:.85rem;font-weight:500;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;z-index:1070;transition:all .3s ease,color .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 24px #0000001f}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}.tooltip-container:hover .tooltip{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.tooltip-container .tooltip.tooltip-left{inset:50% 100% auto auto;transform:translateY(-50%) translate(-8px)}.tooltip-container .tooltip.tooltip-left:after{top:50%;left:100%;transform:translateY(-50%) translate(0);border:6px solid transparent;border-left-color:#000000e6;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.tooltip-container:hover .tooltip.tooltip-left{transform:translateY(-50%) translate(-12px)}@media(max-width:768px){.tooltip{font-size:.8rem;padding:.4rem .6rem}}@media(max-width:768px){.tooltip-container{display:block;width:100%;margin-bottom:.5rem}.tooltip-container a{display:inline-flex;align-items:center;justify-content:flex-start;width:280px;min-width:280px;height:auto;padding:1rem 1.5rem;background:#ffffff1a;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);text-decoration:none;color:#fffc;transition:all .3s ease;position:relative;white-space:nowrap;font-size:1rem}.tooltip-container a:hover{background:#fff3;color:#fff;transform:translate(4px)}.tooltip-container a i{font-size:1.2rem;margin-right:1rem;min-width:20px;flex-shrink:0}.tooltip-container a:after{content:attr(data-tooltip);font-size:.9rem;font-weight:500;flex-shrink:0}.tooltip{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:auto!important}}@media screen and (-webkit-min-device-pixel-ratio:0){.opera-no-animations *,.opera-no-animations *:before,.opera-no-animations *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.opera-no-animations html{scroll-behavior:auto!important}}.low-performance *,.low-performance *:before,.low-performance *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.low-performance html{scroll-behavior:auto!important}@media(max-width:480px){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}.hero-social-links a,.project-card,.company-tag,.skill-tag{transition-duration:.15s!important}}.galleries-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin:2rem auto;max-width:1200px}@media(min-width:768px){.galleries-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.galleries-grid{grid-template-columns:repeat(4,1fr)}}.galleries-grid .gallery-button{display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:2.5rem;border:2px solid;border-radius:24px;background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);transition:all .4s cubic-bezier(.4,0,.2,1);text-decoration:none;font-size:1.3rem;font-weight:700;color:#1f2937;-webkit-user-select:none;user-select:none;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 8px 24px #0000001f;position:relative;overflow:hidden}.galleries-grid .gallery-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);opacity:0;transition:all .3s ease}.galleries-grid .gallery-button i{font-size:2.5rem;color:inherit;transition:all .3s ease}.galleries-grid .gallery-button:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 24px 64px #00000040;background:#fffffff2;border-width:3px}.galleries-grid .gallery-button:hover:before{opacity:1}.galleries-grid .gallery-button:hover i{transform:scale(1.15) rotate(5deg)}.galleries-grid .gallery-button.gallery-photography{border-color:#3b82f6;color:#3b82f6}.galleries-grid .gallery-button.gallery-photography:hover{background:#3b82f626;border-color:#0a59da;box-shadow:0 12px 40px #3b82f64d;color:#0b63f3}.galleries-grid .gallery-button.gallery-videography{border-color:#ef4444;color:#ef4444}.galleries-grid .gallery-button.gallery-videography:hover{background:#ef44441a;border-color:#eb1515;box-shadow:0 10px 30px #ef444433}.galleries-grid .gallery-button.gallery-discography{border-color:#eab308;color:#eab308}.galleries-grid .gallery-button.gallery-discography:hover{background:#eab3081a;border-color:#b98d06;box-shadow:0 10px 30px #eab30833}.galleries-grid .gallery-button.gallery-dev{border-color:#10b981;color:#10b981}.galleries-grid .gallery-button.gallery-dev:hover{background:#10b9811a;border-color:#0c8a60;box-shadow:0 10px 30px #10b98133}.gallery-section{min-height:100vh;padding-top:6rem}.gallery-section .gallery-container{max-width:100%;padding:0}.gallery-section .gallery-title{text-align:center;margin-bottom:3rem;color:#fff;font-size:2.5rem;font-weight:700}.gallery-section .photo-mosaic{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0}.gallery-section .photo-mosaic .photo-item{position:relative;overflow:hidden;aspect-ratio:1}.gallery-section .photo-mosaic .photo-item img{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.gallery-section .photo-mosaic .photo-item img:hover{transform:scale(1.05)}@media(max-width:768px){.gallery-section .photo-mosaic{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media(max-width:480px){.gallery-section .photo-mosaic{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.image-modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1050;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;transform:translateZ(0);will-change:opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}.image-modal.active{opacity:1;visibility:visible}.image-modal .image-modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);opacity:1;transition:all .3s ease}.image-modal.active .image-modal-backdrop{background:#000000e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.image-modal .image-modal-content{position:relative;z-index:1;max-width:95%;max-height:95%;display:flex;align-items:center;justify-content:center}.image-modal .image-modal-content .image-modal-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;justify-content:center;opacity:1;visibility:visible;transition:opacity .3s ease,visibility .3s ease}.image-modal .image-modal-content .image-modal-loading .loading-spinner{width:60px;height:60px;border:5px solid rgba(255,255,255,.3);border-top:5px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.image-modal .image-modal-content.image-loaded .image-modal-loading{opacity:0;visibility:hidden;pointer-events:none}.image-modal .image-modal-content img{max-width:100%;max-height:90vh;height:auto;border-radius:16px;box-shadow:0 20px 60px #00000080;transition:all .3s ease-out;transform:translate(0);will-change:transform,opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:auto}.image-modal .image-modal-content img.slide-out-left{animation:slideOutLeft .2s ease-out forwards}.image-modal .image-modal-content img.slide-out-right{animation:slideOutRight .2s ease-out forwards}.image-modal .image-modal-content img.slide-in-left{animation:slideInLeft .2s ease-out forwards}.image-modal .image-modal-content img.slide-in-right{animation:slideInRight .2s ease-out forwards}.low-performance .image-modal .image-modal-content img,.opera-no-animations .image-modal .image-modal-content img{animation:none!important;transition:all .01s ease}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100px)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.video-filters-container{max-width:1200px;margin:3rem auto;padding:0 1rem}.filter-section{background:#ffffff1a;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:2px solid rgba(255,255,255,.2);border-radius:24px;padding:2rem;box-shadow:0 8px 32px #0000001a;transition:all .3s ease}.filter-section:hover{border-color:#ffffff4d;box-shadow:0 12px 40px #00000026}.filter-section-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:1rem 1.5rem;background:transparent;border:none;border-radius:16px;cursor:pointer;transition:all .3s ease;color:inherit}.filter-section-header:hover{background:#ffffff0d}.filter-section-header:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.filter-section-header i:first-child{font-size:1.25rem;color:#ffffffe6}.filter-section-header .filter-section-title{flex:1;text-align:left;color:#fff;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.filter-section-header .filter-toggle-icon{font-size:1rem;color:#fffc;transition:transform .3s ease}.filter-section-header[aria-expanded=true]{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2)}.filter-section-header[aria-expanded=true] .filter-toggle-icon{transform:rotate(180deg)}.filter-content{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,padding .3s ease;padding:0}.filter-content[aria-hidden=false]{max-height:2000px;opacity:1;padding:0}.filter-category{margin-bottom:2rem}.filter-category:last-of-type{margin-bottom:1.5rem}.filter-category-label{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:#ffffffe6;font-size:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.filter-category-label i{font-size:.9rem;opacity:.8}.video-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.video-filter-btn{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2);color:#fff;padding:.75rem 1.25rem;border-radius:9999px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;overflow:hidden}.video-filter-btn i{font-size:.85rem;opacity:.9;transition:transform .3s ease}.video-filter-btn span{position:relative;z-index:1}.video-filter-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,#fff3,#ffffff1a);transition:left .3s ease}.video-filter-btn:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.video-filter-btn:hover:before{left:100%}.video-filter-btn:hover i{transform:scale(1.1)}.video-filter-btn.active,.video-filter-btn[aria-pressed=true]{background:linear-gradient(135deg,#06b6d4,#8b5cf6);border-color:#fff6;color:#fff;box-shadow:0 4px 16px #8b5cf666,0 4px 16px #06b6d44d}.video-filter-btn.active:before,.video-filter-btn[aria-pressed=true]:before{display:none}.video-filter-btn.active:hover,.video-filter-btn[aria-pressed=true]:hover{background:linear-gradient(135deg,#07cbed,#9c74f7);transform:translateY(-3px);box-shadow:0 6px 20px #8b5cf680,0 6px 20px #06b6d466}.video-filter-btn:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.video-filter-btn:active{transform:translateY(0)}@media(max-width:768px){.video-filter-btn{font-size:.85rem;padding:.6rem 1rem;gap:.4rem}.video-filter-btn i{font-size:.75rem}}@media(max-width:768px){.video-filters-container{margin:2rem auto;padding:0 .5rem}.filter-section{padding:1.5rem}.filter-section-header{margin-bottom:1.5rem;padding-bottom:.75rem}.filter-section-header .filter-section-title{font-size:1.25rem}.filter-category{margin-bottom:1.5rem}.filter-category-label{font-size:.9rem;margin-bottom:.75rem}.video-filters{gap:.5rem}}.clear-filters-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1rem;padding:.75rem 1.5rem;background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:9999px;color:#fffc;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.clear-filters-btn i{font-size:.85rem}.clear-filters-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff;transform:translateY(-2px)}.clear-filters-btn:active{transform:translateY(0)}.clear-filters-btn:focus{outline:2px solid rgba(255,255,255,.5);outline-offset:2px}.videography-container{margin:2rem auto}.video-type-section{margin-bottom:4rem}.video-type-section:last-child{margin-bottom:0}.video-type-heading{font-size:1.8rem;font-weight:600;color:#fff;margin:0 1rem 1.5rem;padding-bottom:.5rem;border-bottom:2px solid rgba(255,255,255,.1)}@media(max-width:768px){.video-type-heading{font-size:1.5rem;margin-bottom:1rem}}.video-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin:0}@media(min-width:768px){.video-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1400px){.video-grid{grid-template-columns:repeat(3,1fr)}}.video-grid .video-item{position:relative;width:100%;padding-bottom:56.25%;background:#000;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s ease;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.video-grid .video-item:hover{transform:scale(1.02);box-shadow:0 10px 30px #0000004d}.video-grid .video-cover{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.video-grid .video-cover img{width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:auto}.video-grid .video-cover .play-button{position:absolute;display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:#ffffffe6;border-radius:50%;transition:all .3s ease;pointer-events:none}.video-grid .video-cover .play-button i{color:#8b5cf6;font-size:2rem;margin-left:4px}.video-grid .video-cover:hover .play-button{background:#fff;transform:scale(1.1)}.video-grid .video-cover:hover .play-button i{color:#a78bfa}.video-grid iframe{border-radius:16px}.video-grid .iframe-loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:10;background:#00000080;border-radius:16px}.video-grid .iframe-loading .loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.discography-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin:2rem auto;max-width:800px}.discography-grid .album-card{background:#fff;border-radius:24px;padding:2rem;box-shadow:0 10px 30px #0000001a;transition:all .3s ease;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.discography-grid .album-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.discography-grid .album-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.discography-grid .album-header .album-title{margin:0;font-size:1.5rem;color:#1f2937}.discography-grid .album-header .album-date{font-size:.9rem;color:#6b7280}.discography-grid .album-embed{width:100%;border-radius:16px;overflow:hidden;position:relative;min-height:352px}.discography-grid .album-embed .iframe-loading{position:absolute;top:0;left:0;width:100%;height:100%;min-height:352px;display:flex;align-items:center;justify-content:center;z-index:10;background:#ffffffe6;border-radius:16px;transition:opacity .3s ease}.discography-grid .album-embed .iframe-loading .loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #eab308;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-social-links{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin:2rem 0;flex-wrap:wrap}.hero-social-links a{color:#fffc;text-decoration:none;font-size:1.9rem;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#ffffff26;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 8px #00000014}.hero-social-links a:hover{background:#ffffff59;transform:translateY(-5px) scale(1.1) rotate(5deg);box-shadow:0 8px 32px #8b5cf640;border-color:#ffffff80}.hero-social-links a i{font-size:1.3rem;transition:all .3s ease}.hero-social-links a:hover .fa-instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-social-links a:hover .fa-imdb{color:#725d11}.hero-social-links a:hover .fa-spotify{color:#00af3d}.hero-social-links a:hover .fa-linkedin{color:#0077b5}.hero-social-links a:hover .fa-youtube{color:#d60000}.hero-social-links a:hover .fa-github{color:#181717}.hero-social-links a:hover .fa-airbnb{color:#ff5a5f}.hero-social-links a:hover .fa-envelope{color:#fff}@media(max-width:768px){.hero-social-links{gap:.5rem;width:100%;flex-direction:column;align-items:center;margin:.5rem 0}.hero-social-links a{min-width:280px;width:80%;height:auto;border-radius:10px;padding:.4rem .6rem;display:inline-flex;justify-content:flex-start;white-space:nowrap;font-size:.85rem;color:#fff!important}.hero-social-links a:hover{color:#fff!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-in{animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards}.project-card.animate-in{animation:slideInFromLeft .8s cubic-bezier(.4,0,.2,1) forwards}.project-card.animate-in:nth-child(1){animation-delay:.1s}.project-card.animate-in:nth-child(2){animation-delay:.2s}.project-card.animate-in:nth-child(3){animation-delay:.3s}.project-card.animate-in:nth-child(4){animation-delay:.4s}.project-card.animate-in:nth-child(5){animation-delay:.5s}.project-card.animate-in:nth-child(6){animation-delay:.6s}.project-card.animate-in:nth-child(n+7){animation-delay:.7s}.skill-tag.animate-in,.company-tag.animate-in{animation:slideInFromRight .6s cubic-bezier(.4,0,.2,1) forwards}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden}body{font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7;color:#1f2937;min-height:100vh;background:linear-gradient(135deg,#06b6d4,#3b82f6,#8b5cf6,#a78bfa,#22d3ee,#06b6d4);background-size:300% 300%;animation:gradientShift 80s ease infinite;transition:opacity .3s ease-in-out}body.loaded{opacity:1;visibility:visible}.low-performance body,.opera-no-animations body{animation:none;background-size:100% 100%}body.animations-paused{animation-play-state:paused}@media(max-width:768px){body{animation:none!important;background-size:100% 100%}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.container{max-width:1200px;margin:0 auto;padding:0 20px}main{padding-top:60px}@media(max-width:768px){main{padding-top:0}}footer{background:linear-gradient(135deg,#1f2937f2,#111827fa);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;text-align:center;padding:3rem 0;margin-top:3rem;border-top:1px solid rgba(255,255,255,.1)}footer p{margin:0;font-size:.95rem;opacity:.85;font-weight:300}footer a{color:#a78bfa;text-decoration:none;transition:all .3s ease;font-weight:500}footer a:hover{color:#fff;text-decoration:underline;text-shadow:0 0 10px rgba(139,92,246,.5),0 0 15px rgba(6,182,212,.3)}.hero{position:relative;text-align:center;padding:0;color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}.hero h1{font-size:3.5rem;font-weight:700;margin-bottom:1.5rem;text-shadow:0 4px 20px rgba(0,0,0,.3);letter-spacing:-.02em;animation:fadeInUp 1s ease-out .3s both;animation-delay:.3s;opacity:0}.hero p{font-size:1.4rem;font-weight:300;margin-bottom:2.5rem;text-shadow:0 2px 10px rgba(0,0,0,.2);opacity:.95;animation:fadeInUp 1s ease-out .4s both;animation-delay:.4s;opacity:0}.profile-picture{display:flex;justify-content:center;align-items:center;margin-bottom:2.5rem;animation:fadeInUp 1s ease-out .1s both;animation-delay:.1s;opacity:0}.profile-picture img{width:220px;height:220px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;pointer-events:auto;border-radius:50%;object-fit:cover;border:5px solid rgba(255,255,255,.4);box-shadow:0 20px 60px #0006,0 0 #a855f766;transition:all .4s cubic-bezier(.4,0,.2,1)}.profile-picture img:hover{transform:scale(1.08) translateY(-5px);box-shadow:0 25px 70px #00000080,0 0 40px #8b5cf699,0 0 60px #06b6d466;border-color:#fff9}.cta-button{display:inline-block;background:linear-gradient(135deg,#06b6d4,#8b5cf6,#0891b2);color:#fff;padding:1.25rem 2.5rem;text-decoration:none;border:2px solid rgba(255,255,255,.3);border-radius:9999px;font-weight:700;font-size:1.1rem;position:relative;overflow:hidden;box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433;transition:all .3s cubic-bezier(.4,0,.2,1)}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.cta-button:after{content:"";position:absolute;inset:0;border-radius:9999px;padding:2px;background:linear-gradient(135deg,#fff6,#ffffff1a);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:all .3s ease}.cta-button:hover{transform:translateY(-4px) scale(1.02);background:linear-gradient(135deg,#07cbed,#9c74f7,#09a5ca);border-color:#ffffff80;box-shadow:0 12px 40px #8b5cf659,0 12px 40px #06b6d44d}.cta-button:hover:before{left:100%}.cta-button:hover:after{opacity:1}.cta-button:active{transform:translateY(-2px) scale(1)}.section{padding:5rem 0;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);margin:3rem 0;border-radius:24px;box-shadow:0 16px 48px #0000002e;border:3px solid rgba(255,255,255,.3);transition:border-color .3s ease}.section:hover{border-color:#06b6d4b3}.section h2{text-align:center;margin-bottom:3.5rem;font-size:2.75rem;font-weight:700;color:#1f2937;letter-spacing:-.02em;background:linear-gradient(135deg,#06b6d4,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section .about-description-container p{margin:0 0 1rem}.section .about-read-more{color:#8b5cf6;text-decoration:none;font-weight:500;cursor:pointer;transition:all .3s ease;margin-left:.5rem}.section .about-read-more:hover{color:#692cf3;text-decoration:underline}.section .about-read-more:focus{outline:2px solid #8b5cf6;outline-offset:2px;border-radius:2px}.section .about-subsection h3{margin-top:3rem;margin-bottom:1rem;font-size:1.8rem;color:#1f2937;text-align:center}.section .about-subsection h3:first-of-type{margin-top:2rem}.section .about-subsections{display:block}@media(max-width:768px){.section .about-subsections{display:flex;flex-direction:column;gap:2rem}}@media(min-width:769px){.section .about-subsections{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:2rem}.section .about-subsections .about-subsection h3{margin-top:0}.section .about-subsections .about-subsection h3:first-of-type{margin-top:0}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project-card{background:linear-gradient(135deg,#fffffffa,#fffffff2);padding:2.5rem;border-radius:24px;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;font-weight:500;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style paint;border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 24px #0000001f}.project-card:before{content:"";position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 1px 1px,rgba(139,92,246,.5) 1.5px,transparent 0),radial-gradient(circle at 16px 16px,rgba(6,182,212,.4) 1.5px,transparent 0),radial-gradient(circle at 32px 32px,rgba(139,92,246,.3) 1px,transparent 0);background-size:32px 32px,48px 48px,64px 64px;background-position:0 0,16px 16px,32px 32px;pointer-events:none;z-index:0}.project-card:hover{will-change:transform}.project-card .project-card-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#fffffff2,#ffffffe6);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:1;transition:all .4s cubic-bezier(.4,0,.2,1);transform:translateZ(0);will-change:background-color,backdrop-filter}.low-performance .project-card .project-card-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#fffffffa}.project-card>*:not(.project-card-overlay){position:relative;z-index:2}.project-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 24px 64px #00000040,0 8px 32px #8b5cf640}.project-card:hover .project-card-overlay{background:linear-gradient(135deg,#ffffffe6,#ffffffbf);backdrop-filter:blur(25px) saturate(200%);-webkit-backdrop-filter:blur(25px) saturate(200%)}.project-card .project-type-icon{position:absolute;top:1.25rem;right:1.25rem;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:0 4px 12px #00000040;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:3;pointer-events:auto;border:2px solid rgba(255,255,255,.3)}.project-card .project-type-icon i{pointer-events:none}.project-card .project-type-icon.tooltip-container{cursor:pointer}.project-card .project-type-icon.project-type-dev{background:#10b981;box-shadow:0 2px 8px #10b9814d}.project-card .project-type-icon.project-type-dev:hover{transform:scale(1.15) rotate(5deg);box-shadow:0 6px 20px #10b98180;border-color:#ffffff80}.project-card .project-type-icon.project-type-film{background:#ef4444;box-shadow:0 2px 8px #ef44444d}.project-card .project-type-icon.project-type-film:hover{transform:scale(1.1);box-shadow:0 4px 12px #ef444466}.project-card .project-type-icon.project-type-music{background:#eab308;box-shadow:0 2px 8px #eab3084d}.project-card .project-type-icon.project-type-music:hover{transform:scale(1.1);box-shadow:0 4px 12px #eab30866}.project-card .project-type-icon.project-type-community{background:#8b5cf6;box-shadow:0 2px 8px #8b5cf64d}.project-card .project-type-icon.project-type-community:hover{transform:scale(1.1);box-shadow:0 4px 12px #8b5cf666}.project-card .project-type-icon:not(.project-type-dev):not(.project-type-film):not(.project-type-music):not(.project-type-community){background:#8b5cf6;box-shadow:0 2px 8px #c2185b4d}.project-card .project-type-icon:not(.project-type-dev):not(.project-type-film):not(.project-type-music):not(.project-type-community):hover{transform:scale(1.1);box-shadow:0 4px 12px #c2185b66}.project-card .project-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.project-card .project-icon{width:24px;height:24px;object-fit:contain;flex-shrink:0}.project-card .project-header i{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#8b5cf6;flex-shrink:0}.project-card h3{margin:0;color:#1f2937}.project-card .project-date{display:block;font-size:.85rem;color:#6b7280;margin-bottom:.5rem;font-weight:400}.project-card p{margin-bottom:1rem;color:#6b7280}.project-links{display:flex;gap:1rem;flex-wrap:wrap}.project-links a{background:linear-gradient(135deg,#fff,#fffffff2);color:#8b5cf6;padding:.75rem 1.5rem;border-radius:9999px;font-size:.95rem;border:2px solid #8b5cf6;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.project-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,#06b6d4,#8b5cf6);transition:left .3s ease;z-index:-1}.project-links a:hover{color:#fff;transform:translateY(-3px);box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433;border-color:#7c3aed}.project-links a:hover:before{left:0}.project-links a:active{transform:translateY(-1px)}.skills{flex-wrap:wrap;gap:1rem;display:flex;justify-content:center;align-items:center;margin-top:2rem}.skill-tag{background:linear-gradient(135deg,#06b6d4,#8b5cf6);color:#fff;padding:.75rem 1.5rem;border-radius:9999px;font-size:.95rem;font-weight:500;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;position:relative}.skill-tag:before{content:"";position:absolute;inset:0;border-radius:9999px;padding:2px;background:linear-gradient(135deg,#ffffff4d,#ffffff1a);-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 .3s ease;pointer-events:none}.skill-tag:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433}.skill-tag:hover:before{opacity:1}.companies{flex-wrap:wrap;gap:1rem;display:flex;justify-content:center;align-items:center;margin-top:1rem}.company-tag{background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#1f2937;padding:.75rem 1.5rem;border-radius:9999px;font-size:.95rem;border:2px solid #8b5cf6;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.company-tag:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(135deg,#06b6d4,#8b5cf6);transition:left .3s ease;z-index:-1}.company-tag:hover{color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 32px #8b5cf640,0 8px 32px #06b6d433;border-color:#7c3aed}.company-tag:hover:before{left:0}@media(min-width:768px){.container{padding:0 15px}}@media(max-width:768px){main{margin-top:0}.cta-button{display:none}.hero{display:flex;height:100vh;min-height:100vh;max-height:100vh;overflow:hidden;padding:.5rem 0;box-sizing:border-box}.hero h1{font-size:2rem}.hero p{font-size:1rem}.hero .container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%;padding:1rem}.hero .profile-picture img{width:200px;height:200px}.hero p{display:none}.section{padding:2rem 0;margin:1rem 0}.section h2{font-size:2rem}.project-card{padding:1.5rem}.projects-grid{grid-template-columns:1fr;gap:1rem}}@media(max-width:480px){.hero .profile-picture img{width:150px;height:150px}.cta-button,.section,footer{display:none}}.page-loading-spinner{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1051;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:all .3s ease}.page-loading-spinner.active{opacity:1;visibility:visible;pointer-events:auto}.page-loading-spinner .page-loading-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#000c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.page-loading-spinner .page-loading-spinner-icon{position:relative;z-index:1}.page-loading-spinner .page-loading-spinner-icon .loading-spinner{width:60px;height:60px;border:5px solid rgba(255,255,255,.3);border-top:5px solid #fff;border-radius:50%;animation:spin 1s linear infinite}
