body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-family:CustomFont;font-style:normal;font-weight:400;src:url(/static/media/font.eb296730e7e37e21f1c9.otf) format("opentype")}.tech-grid{animation:gridPulse 4s ease-in-out infinite;background-color:#000;background-image:linear-gradient(90deg,#0064ff1a 1px,#0000 0),linear-gradient(0deg,#0064ff1a 1px,#0000 0);background-size:50px 50px;height:100%;left:0;position:fixed;top:0;width:100%;z-index:0}@keyframes gridPulse{0%,to{opacity:.3}50%{opacity:.5}}.model-glow{height:400px;width:400px;z-index:1}.code-animation,.model-glow{pointer-events:none;position:fixed}.code-animation{height:100%;left:0;opacity:.15;overflow:hidden;top:0;width:100%;z-index:0}.code-line{color:#00ff95;font-family:Courier New,monospace;font-size:14px;opacity:0;position:absolute;white-space:nowrap}.code-line-1{animation:codeDrift1 20s linear infinite}.code-line-2{animation:codeDrift2 25s linear infinite;animation-delay:-5s}.code-line-3{animation:codeDrift3 22s linear infinite;animation-delay:-10s}.code-line-4{animation:codeDrift1 28s linear infinite;animation-delay:-15s}.model-container{animation:hover 4s ease-in-out infinite;transform-style:preserve-3d}@keyframes hover{0%,to{transform:translateY(0) rotateY(0deg)}25%{transform:translateY(-10px) rotateY(1deg)}50%{transform:translateY(-15px) rotateY(0deg)}75%{transform:translateY(-10px) rotateY(-1deg)}}.glow-1,.glow-2,.glow-3{background:radial-gradient(circle at center,#0096ff00 0,#0096ff40 40%,#0096ff00 60%);height:100%;position:absolute;width:100%}.glow-1{animation:moveGlow 18s ease-in-out infinite;animation-delay:0s}.glow-2{animation:moveGlow 18s ease-in-out infinite;animation-delay:-6s}.glow-3{animation:moveGlow 18s ease-in-out infinite;animation-delay:-12s}.glow-1:after,.glow-2:after,.glow-3:after,.glow-4:after,.glow-5:after,.glow-6:after{animation:softPulse 4s ease-in-out infinite;background:radial-gradient(circle at center,#00c8ff00 0,#00c8ff33 30%,#00c8ff00 50%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes codeDrift1{0%{opacity:0;transform:translate(-100%,20vh)}5%{opacity:.5}90%{opacity:.5}to{opacity:0;transform:translate(100vw,20vh)}}@keyframes codeDrift2{0%{opacity:0;transform:translate(-100%,45vh)}5%{opacity:.5}90%{opacity:.5}to{opacity:0;transform:translate(100vw,45vh)}}@keyframes codeDrift3{0%{opacity:0;transform:translate(-100%,70vh)}5%{opacity:.5}90%{opacity:.5}to{opacity:0;transform:translate(100vw,70vh)}}@keyframes moveGlow{0%{opacity:0;transform:translate(15%,20%)}15%{opacity:1;transform:translate(15%,20%)}35%{opacity:1;transform:translate(15%,80%)}45%{opacity:0;transform:translate(15%,80%)}50%{opacity:0;transform:translate(375%,20%)}65%{opacity:1;transform:translate(375%,20%)}85%{opacity:1;transform:translate(375%,80%)}95%{opacity:0;transform:translate(375%,80%)}to{opacity:0;transform:translate(15%,20%)}}.tech-ring{border:1px solid #09f3;border-radius:50%;height:600px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:600px;z-index:1}.tech-ring:before{animation:spinRing 8s linear infinite;border-color:#0099ff80 #09f3 #0000 #0000;border-radius:50%;border-style:solid;border-width:2px;bottom:-2px;content:"";left:-2px;position:absolute;right:-2px;top:-2px}.tech-ring:nth-child(2){height:400px;transform:translate(-50%,-50%) rotate(45deg);width:400px}.tech-ring:nth-child(3){height:800px;transform:translate(-50%,-50%) rotate(-45deg);width:800px}.stars2{animation:animStar 100s linear infinite;box-shadow:1479px 436px #fff,1385px 1494px #fff,1619px 607px #fff,1212px 1037px #fff,393px 1325px #fff,1761px 1315px #fff,1280px 1584px #fff,1702px 1701px #fff,1419px 1975px #fff}.stars3{animation:animStar 150s linear infinite;box-shadow:1179px 436px #fff,1085px 1494px #fff,1319px 607px #fff,912px 1037px #fff,593px 1325px #fff,1461px 1315px #fff,980px 1584px #fff,1402px 1701px #fff,1119px 1975px #fff}@keyframes softPulse{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}}@keyframes scanUp{0%{opacity:0;transform:translate(-50%,200px) rotate(0deg)}20%{opacity:1}80%{opacity:1}to{opacity:0;transform:translate(-50%,-200px) rotate(0deg)}}.scan-line{animation:scanUp 4s ease-in-out infinite;background:linear-gradient(90deg,#0000,#0064ff0d 50%,#0000);height:2px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);width:800px;z-index:1}.corner-accent{border:1px solid #0064ff1a;height:100px;opacity:.5;position:fixed;width:100px}.corner-accent.top-left{border-bottom:none;border-right:none;left:20px;top:20px}.corner-accent.top-right{border-bottom:none;border-left:none;right:20px;top:20px}.corner-accent.bottom-left{border-right:none;border-top:none;bottom:20px;left:20px}.corner-accent.bottom-right{border-left:none;border-top:none;bottom:20px;right:20px}.data-stream{animation:dataStream 8s infinite;background:linear-gradient(180deg,#0000 0,#00ffff4d 50%,#0000);height:100%;position:fixed;top:0;width:1px;z-index:1}.data-stream:first-child{animation-delay:-2s;left:10%}.data-stream:nth-child(2){animation-delay:-4s;left:30%}.data-stream:nth-child(3){animation-delay:-6s;left:50%}.data-stream:nth-child(4){animation-delay:-8s;left:70%}.data-stream:nth-child(5){animation-delay:-10s;left:90%}@keyframes dataStream{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.stars:after{animation:animStar 50s linear infinite;box-shadow:779px 436px #fff,885px 1494px #fff,919px 607px #fff,412px 1037px #fff,993px 1325px #fff,961px 1315px #fff,480px 1584px #fff,902px 1701px #fff,619px 1975px #fff,435px 500px #fff;height:2px;width:2px}.stars2:after,.stars:after{background:#0000;content:"";left:0;position:fixed;top:0}.stars2:after{animation:animStar 100s linear infinite;box-shadow:879px 436px #fff,785px 1494px #fff,819px 607px #fff,312px 1037px #fff,893px 1325px #fff;height:3px;width:3px}.stars3:after{animation:animStar 150s linear infinite;background:#0000;box-shadow:979px 436px #fff,685px 1494px #fff,719px 607px #fff,212px 1037px #fff,793px 1325px #fff;content:"";height:4px;left:0;position:fixed;top:0;width:4px}.stars,.stars2,.stars2:after,.stars3,.stars3:after,.stars:after{opacity:1;z-index:1}.hero-text{color:#fff;left:3vw;max-width:500px;min-width:320px;position:fixed;top:19vh;width:28vw;z-index:3}.hero-text p{font-family:CustomFont,sans-serif;text-transform:uppercase;z-index:.3}@media (max-width:1400px){.hero-text{width:35vw}}@media (max-width:1100px){.hero-text{top:5vh;width:40vw}.hero-text p{font-size:clamp(1.5rem,2.2vw,3.5rem)}}@media (max-width:900px){.hero-text{left:10vw;text-align:center;top:5vh;width:80vw}.hero-text p{font-size:clamp(1.2rem,4vw,2.5rem)}}@media (min-width:1200px){.earth-image{width:700px}}@media (min-width:1600px){.earth-image{width:900px}}.resume-btn{background:#fff;border-radius:8px;box-shadow:0 4px 10px #00000026;color:#000;font-weight:700;overflow:hidden;padding:12px 24px;position:fixed;right:30px;text-decoration:none;top:20px;transition:color .3s ease;z-index:20}.resume-btn:before{background:linear-gradient(135deg,#8c484c,#802e34,#700d14);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .4s ease;width:100%;z-index:-1}.resume-btn:hover{color:#fff}.resume-btn:hover:before{left:0}.live-time{background:#0006;border-radius:6px;bottom:15px;color:#fffc;font-family:monospace;font-size:14px;padding:6px 10px;position:fixed;right:20px;z-index:20}.landing-container.loaded .hero-text{animation:fadeSlideUp 1s ease-out forwards}.landing-container.loaded .resume-btn{animation:fadeSlideDown 1s ease-out forwards;animation-delay:.3s}.landing-container.loaded .live-time{animation:fadeSlideUp 1s ease-out forwards;animation-delay:.9s}.landing-container.loaded .stars,.landing-container.loaded .stars2,.landing-container.loaded .stars3{animation:fadeSlideUp 1.5s ease-out forwards}@media (max-width:768px){.spacebox{height:2ch}.landing-container{height:100vh;overflow:hidden;padding:0}.landing-container,.mobile-landing{align-items:center;display:flex;flex-direction:column;justify-content:center}.mobile-landing{height:100%;position:relative;text-align:center;width:100%;z-index:2}.mobile-hero-text{margin-bottom:20px}.mobile-hero-text p{font-size:clamp(1.2rem,4vw,2.2rem);margin:5px 0}.mobile-earth-image{margin:20px auto;max-width:400px;opacity:.5;width:60%}.mobile-live-time{background:#00000080;border-radius:6px;color:#fff;font-size:14px;margin-top:20px;padding:6px 12px}.mobile-stars,.mobile-stars2,.mobile-stars3{animation:none;box-shadow:50px 50px #fff,120px 200px #fff,200px 80px #fff;filter:blur(.2px);height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%;z-index:0}}.landing-container{background:#000;height:100vh;margin:0;overflow:hidden;padding:0;position:relative;width:100%}.mobile-stars,.mobile-stars2,.mobile-stars3,.stars,.stars2,.stars3{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.stars{animation:twinkleA 4s ease-in-out infinite;box-shadow:30px 40px #fff,80px 120px #fff,140px 200px #fff,200px 50px #fff,260px 300px #fff,320px 140px #fff,380px 420px #fff,440px 90px #fff,500px 260px #fff,560px 320px #fff,620px 60px #fff,680px 460px #fff,740px 220px #fff,800px 380px #fff,860px 110px #fff,920px 540px #fff,980px 260px #fff,1040px 420px #fff,1100px 80px #fff,1160px 300px #fff,1220px 520px #fff,1280px 150px #fff,1340px 400px #fff,1400px 70px #fff,1460px 260px #fff,1520px 480px #fff,1580px 330px #fff,1640px 90px #fff,1700px 600px #fff,1760px 280px #fff;opacity:.9}.stars2{animation:twinkleB 6s ease-in-out infinite;animation-delay:.8s;box-shadow:50px 180px #fffffff2,150px 60px #ffffffe6,230px 340px #ffffffeb,310px 90px #ffffffd9,410px 500px #ffffffd9,530px 200px #ffffffe6,610px 360px #ffffffe0,730px 140px #ffffffe6,870px 430px #ffffffe6,940px 70px #ffffffeb,1030px 300px #ffffffdb,1180px 520px #ffffffe6,1270px 190px #ffffffe6,1360px 410px #ffffffd9,1500px 120px #ffffffe6;filter:blur(.2px);opacity:.75}.stars3{animation:twinkleC 8s ease-in-out infinite;animation-delay:1.6s;box-shadow:120px 260px #ffffffe6,220px 420px #ffffffd9,360px 180px #ffffffe0,480px 540px #fffc,640px 220px #ffffffdb,780px 460px #ffffffd1,920px 140px #ffffffe6,1100px 360px #fffc,1300px 80px #ffffffe0,1500px 500px #ffffffc7;filter:blur(.6px);opacity:.65}@keyframes twinkleA{0%,to{opacity:.9}50%{opacity:.4}}@keyframes twinkleB{0%,to{opacity:.75}50%{opacity:.3}}@keyframes twinkleC{0%,to{opacity:.65}50%{opacity:.25}}.hero-text,.mobile-hero-text{animation:fadeSlideUp 1s ease-out forwards;color:#fff;font-family:CustomFont,sans-serif;text-align:center;text-transform:uppercase;z-index:2}.hero-text p{font-size:clamp(1.8rem,2.5vw,4rem);line-height:1.1;margin:0}.mobile-hero-text p{font-size:clamp(1.2rem,4vw,2rem);line-height:1.2;margin:5px 0}.earth-image,.mobile-earth-image{animation:fadeSlideUp 1s ease-out .3s forwards;display:block;margin:20px auto;opacity:.5;z-index:1}.earth-image{width:500px}.mobile-earth-image{max-width:400px;width:60%}.live-time,.mobile-live-time{animation:fadeSlideUp 1s ease-out .6s forwards;background:#00000080;border-radius:6px;color:#fff;font-family:monospace;font-size:14px;margin-top:15px;padding:6px 12px;z-index:2}.download-resume-btn{background:#4d488c;border-radius:8px;color:#fff;display:inline-block;font-weight:700;margin:20px 0;padding:12px 25px;text-align:center;text-decoration:none;transition:background .3s,transform .2s;z-index:2}.download-resume-btn:hover{background:#3a3670;transform:translateY(-2px)}.mobile-icons{display:flex;gap:20px;justify-content:center;margin-top:15px;z-index:2}.mobile-icons a{color:#fff;font-size:1.6rem;transition:color .3s,transform .2s}.mobile-icons a:hover{color:#ffdd57;transform:scale(1.1)}.bottom-navbar{align-items:center;background:linear-gradient(145deg,#b0b0b0,#e0e0e0);border:1px solid #999;border-radius:12px;bottom:20px;box-shadow:0 4px 10px #0003;display:flex;justify-content:space-between;left:50%;max-width:90%;overflow:hidden;padding:12px 20px;position:fixed;transform:translateX(-50%);transition:width 1s ease,padding 1s ease;width:200px;z-index:100}.bottom-navbar.loaded{padding:12px 25px;width:800px}.navbar-brand{color:#333;cursor:pointer;flex-shrink:0;font-size:1.2rem;font-weight:700;min-width:120px;text-decoration:none}.bottom-navbar ul{display:flex;gap:25px;list-style:none;margin:0;opacity:0;padding:0;transition:opacity .5s ease .8s}.bottom-navbar.loaded ul{opacity:1}.bottom-navbar li a{color:#555;font-size:1rem;font-weight:500;text-decoration:none;transition:color .3s}.bottom-navbar li a:hover{color:#000}.navbar-icons{display:flex;flex-shrink:0;gap:15px}.navbar-icons a{color:#555;font-size:1.2rem;transition:color .3s}.navbar-icons a:hover{color:#000}.mobile-menu-icon{color:#333;cursor:pointer;display:none;font-size:1.8rem;left:20px;position:fixed;top:20px;z-index:300}@media (max-width:768px){.bottom-navbar{display:none}.mobile-menu-icon{display:block}.mobile-menu-panel{animation:slideIn .3s forwards;background:linear-gradient(145deg,#b0b0b0,#e0e0e0);box-shadow:2px 0 12px #0000004d;display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;padding:60px 20px 20px;position:fixed;top:0;width:260px;z-index:200}.mobile-menu-brand{cursor:pointer;flex-shrink:0;font-size:1.4rem;font-weight:700;margin-bottom:40px}.mobile-links{display:flex;flex-direction:column;gap:25px;list-style:none;padding:0}.mobile-links li a{color:#555;font-size:1.2rem;text-decoration:none}.mobile-links li a:hover{color:#000}.mobile-menu-overlay{background:#0000004d;height:100%;left:0;position:fixed;top:0;width:100%;z-index:100}@keyframes slideIn{0%{transform:translateX(-260px)}to{transform:translateX(0)}}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.landing-container{padding:10px}.hero-text{display:none}}.about-container{background-color:#0a0b0e;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;min-height:100vh;overflow:hidden;position:relative}.cyber-grid,.cyber-lines{bottom:0;left:0;right:0;top:0}.about-content{margin:0 auto;max-width:1200px;padding:120px 20px 50px;position:relative;z-index:1}.about-section{margin-bottom:80px}.about-section h1{color:#fff;font-size:2.5rem;letter-spacing:2px;margin-bottom:30px;position:relative;text-shadow:0 0 10px #2d55ff80;text-transform:uppercase}.about-section h1:after{background:linear-gradient(90deg,#4d5bce,#0ff);border-radius:2px;bottom:-10px;box-shadow:0 0 15px #4d5bce80;content:"";height:4px;left:0;position:absolute;width:60px}.about-text{background:#0000;display:flex;flex-direction:column;gap:20px;padding:25px;position:relative;z-index:1}.about-text p{color:#d0d0d0;font-size:1.1rem;line-height:1.8;text-shadow:0 0 1px #ffffff1a}.skills-section{margin:60px 0;padding:40px 0;position:relative}.skills-section h2{color:#fff;font-size:2rem;letter-spacing:2px;margin-bottom:40px;position:relative;text-shadow:0 0 10px #2d55ff80;text-transform:uppercase}.skills-section h2:after{background:linear-gradient(90deg,#4d5bce,#0ff);border-radius:2px;bottom:-10px;box-shadow:0 0 15px #4d5bce80;content:"";height:4px;left:0;position:absolute;width:50px}.skills-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr;position:relative}.skill-category{background:#0d0e124d;border:1px solid #4d5bce33;border-radius:12px;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.skill-category:before{background:linear-gradient(90deg,#0000,#4d5bce1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:.5s;width:100%}.skill-category:hover{border-color:#4d5bce66;transform:translateY(-5px)}.skill-category:hover:before{left:100%}.skill-category h3{border-bottom:2px solid #4d5bce4d;color:#0ff;font-size:1.2rem;margin-bottom:20px;padding-bottom:10px;text-shadow:0 0 10px #00ffff4d}.skill-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.skill-item{align-items:center;background:#4d5bce1a;border:1px solid #4d5bce33;border-radius:12px;display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:15px;position:relative;text-align:center;transition:all .4s ease}.skill-item img{filter:drop-shadow(0 0 8px rgba(0,255,255,.3));height:40px;object-fit:contain;transition:all .4s ease;width:40px}.skill-item span{color:#d0d0d0;font-size:.95rem;transition:all .4s ease}.skill-item:before{background:linear-gradient(45deg,#0000,#4d5bce1a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;transform:rotate(45deg);transition:.5s;width:200%}.skill-item:hover{background:#4d5bce33;border-color:#0ff6;box-shadow:0 5px 15px #00ffff1a;transform:translateY(-5px)}.skill-item:hover img{filter:drop-shadow(0 0 12px rgba(0,255,255,.5));transform:scale(1.1) rotate(5deg)}.skill-item:hover span{color:#0ff;text-shadow:0 0 10px #00ffff4d}.skill-item:hover:before{transform:rotate(45deg) translate(100%,100%)}.experience-section{padding-top:40px}.experience-section h2{color:#fff;font-size:2rem;letter-spacing:2px;margin-bottom:40px;position:relative;text-shadow:0 0 10px #2d55ff80;text-transform:uppercase}.experience-section h2:after{background:#6c5ce7;border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:50px}.timeline{padding-left:50px;position:relative}.timeline:before{background:linear-gradient(180deg,#4d5bce33,#0ff3);box-shadow:0 0 15px #4d5bce4d;content:"";height:100%;left:0;position:absolute;top:0;width:2px}.experience-item{animation:fadeIn .5s ease-out;background:#0d0e124d;border:1px solid #4d5bce33;border-radius:12px;margin-bottom:50px;padding:20px;position:relative;transition:all .3s ease}.experience-item:hover{border-color:#0ff6;box-shadow:0 8px 32px #2d55ff1a;transform:translateX(10px)}.experience-item:before{background:#0ff;border:4px solid #4d5bce4d;border-radius:50%;box-shadow:0 0 15px #00ffff80;content:"";height:10px;left:-54px;position:absolute;top:5px;width:10px;z-index:1}.exp-year{color:#0ff;font-size:1rem;font-weight:600;margin-bottom:10px;text-shadow:0 0 10px #00ffff4d}.exp-content h3{color:#fff;font-size:1.25rem;margin-bottom:10px;text-shadow:0 0 10px #2d55ff80}.exp-content p{color:#d0d0d0;font-size:1rem;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1024px){.skill-list{grid-template-columns:repeat(4,1fr)}}@media (max-width:1023px){.skill-list{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.about-content{padding:100px 15px 30px}.about-section h1{font-size:2rem}.about-text p{font-size:1rem}.skills-grid{gap:30px;grid-template-columns:1fr}.skills-section h2{font-size:1.75rem}.skill-list{gap:15px;grid-template-columns:repeat(2,1fr)}.skill-item{padding:12px}.skill-item img{height:32px;width:32px}.skill-item span{font-size:.9rem}.experience-section h2{font-size:1.75rem}.timeline{padding-left:30px}.experience-item:before{left:-34px}.exp-content h3{font-size:1.1rem}}@media (max-width:480px){.skill-list{gap:10px;grid-template-columns:repeat(2,1fr)}.skill-item{padding:10px}.skill-item img{height:28px;width:28px}.skill-item span{font-size:.85rem}}.education-section{padding-top:40px}.education-section h2{color:#fff;font-size:2rem;letter-spacing:2px;margin-bottom:30px;position:relative;text-shadow:0 0 10px #2d55ff80;text-transform:uppercase}.education-section h2:after{background:linear-gradient(90deg,#4d5bce,#0ff);border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:50px}.education-item{background:#0d0e124d;border:1px solid #4d5bce33;border-radius:12px;margin-bottom:30px;padding:20px;transition:all .3s ease}.education-item:hover{border-color:#0ff6;box-shadow:0 8px 32px #2d55ff1a;transform:translateY(-5px)}.edu-year{color:#0ff;font-size:1rem;font-weight:600;margin-bottom:10px;text-shadow:0 0 10px #00ffff4d}.edu-content h3{color:#fff;font-size:1.25rem;margin-bottom:8px;text-shadow:0 0 10px #2d55ff80}.edu-content p{color:#d0d0d0;font-size:1rem;line-height:1.6}.certifications-section{padding-top:40px}.certifications-section h2{color:#fff;font-size:2rem;letter-spacing:2px;margin-bottom:30px;position:relative;text-shadow:0 0 10px #2d55ff80;text-transform:uppercase}.certifications-section h2:after{background:linear-gradient(90deg,#4d5bce,#0ff);border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:50px}.certification-item{background:#0d0e124d;border:1px solid #4d5bce33;border-radius:12px;margin-bottom:25px;padding:20px;transition:all .3s ease}.certification-item:hover{border-color:#0ff6;box-shadow:0 8px 32px #2d55ff1a;transform:translateY(-5px)}.certification-item h3{color:#0ff;font-size:1.25rem;margin-bottom:10px;text-shadow:0 0 10px #00ffff4d}.certification-item p{color:#d0d0d0;font-size:1rem;line-height:1.6}.contact-page{background-color:#0a0b0e;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.contact-page .cyber-grid{animation:gridMove 20s linear infinite;background-image:linear-gradient(90deg,#2d55ff08 1px,#0000 0),linear-gradient(180deg,#2d55ff08 1px,#0000 0);background-size:50px 50px;inset:0;position:fixed;transform:perspective(1000px) rotateX(60deg);transform-origin:center 0}.contact-page .cyber-lines{inset:0;opacity:.4;pointer-events:none;position:fixed}.contact-page .cyber-line{background:linear-gradient(90deg,#0000,#4d5bce,#0000);position:absolute}.contact-page .cyber-line:first-child{animation:scanline 8s linear infinite;height:1px;top:20%;width:100%}.contact-page .cyber-line:nth-child(2){animation:verticalline 15s linear infinite;height:100%;left:30%;top:0;width:1px}.contact-content{margin:0 auto;max-width:700px;padding:4rem 2rem;position:relative;text-align:center;z-index:2}.contact-title{color:#00ffe0;font-size:3rem;margin-bottom:.5rem;text-shadow:0 0 12px #00ffe066}.contact-subtitle{color:#a0a8c0;font-size:1.2rem;margin-bottom:2rem}.contact-form{display:flex;flex-direction:column;gap:1.2rem}.contact-input,.contact-textarea{background:#141623e6;border:1px solid #2a2f45;border-radius:8px;color:#e0e0e0;font-family:inherit;font-size:1rem;padding:.9rem 1.2rem;transition:border .3s,box-shadow .3s}.contact-input:focus,.contact-textarea:focus{border:1px solid #00ffe0;box-shadow:0 0 10px #00ffe04d;outline:none}.contact-textarea{min-height:120px;resize:none}.contact-button{background:linear-gradient(90deg,#4d5bce,#00ffe0);border:none;border-radius:8px;color:#0a0b0e;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem;transition:transform .2s,box-shadow .3s}.contact-button:hover{box-shadow:0 0 15px #00ffe080;transform:translateY(-2px)}.gallery-content{padding:100px 20px 50px;position:relative;text-align:center;z-index:10}.projects-title{display:inline-block;font-size:3rem;margin-bottom:40px;text-shadow:0 0 10px #4d5bce80}.projects-title:after{left:50%;transform:translateX(0);width:80px}.gallery-masonry{column-count:4;column-gap:20px;padding:0 20px}.gallery-item{background:#111;border-radius:12px;box-shadow:0 4px 20px #0006;break-inside:avoid;margin-bottom:20px;overflow:hidden;page-break-inside:avoid;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{box-shadow:0 8px 25px #4d5bceb3;transform:scale(1.05)}.gallery-item img{border-radius:12px;display:block;height:auto;object-fit:contain;width:100%}@media (max-width:1200px){.gallery-masonry{column-count:3}}@media (max-width:768px){.gallery-masonry{column-count:2}}@media (max-width:480px){.gallery-masonry{column-count:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.fade-in{animation:fadeInUp .8s ease forwards;opacity:0}.projects-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0b0e;color:#e0e0e0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;min-height:100vh;overflow-x:hidden;position:relative}.cyber-grid{animation:gridMove 20s linear infinite;background-image:linear-gradient(90deg,#2d55ff08 1px,#0000 0),linear-gradient(180deg,#2d55ff08 1px,#0000 0);background-size:50px 50px;inset:0;position:fixed;transform:perspective(1000px) rotateX(60deg);transform-origin:center 0}.cyber-lines{inset:0;opacity:.4;pointer-events:none;position:fixed}.cyber-line{background:linear-gradient(90deg,#0000,#4d5bce,#0000);position:absolute}.cyber-line:first-child{animation:scanline 8s linear infinite;height:1px;top:20%;width:100%}.cyber-line:nth-child(2){animation:verticalline 15s linear infinite;height:100%;left:30%;top:0;width:1px}@keyframes gridMove{0%{background-position:0 0,0 0}to{background-position:50px 50px,50px 50px}}@keyframes scanline{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes verticalline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.projects-title{font-size:2.4rem;margin:0 0 8px}.projects-subtitle{color:#a9a9a9;font-size:1.05rem;margin:0 0 30px}.projects-grid{align-items:flex-start;display:flex;gap:24px;width:100%}.projects-column{flex:1 1;gap:24px;min-width:0}.project-card,.projects-column{display:flex;flex-direction:column}.project-card{background:#14141ee6;border:1px solid #4d5bce59;border-radius:14px;cursor:pointer;min-height:140px;outline:none;overflow:visible;padding:18px;position:relative;transition:transform .28s cubic-bezier(.2,.9,.2,1),box-shadow .28s ease;will-change:transform}.project-card:focus{box-shadow:0 8px 20px #4d5bce40;transform:translateY(-4px)}.project-card h2{color:#4d5bce;font-size:1.15rem;line-height:1.2;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desc-wrap{display:block;margin-top:8px;position:relative}.long-desc,.short-desc{color:#bbb;font-size:.95rem;line-height:1.45;margin:0;overflow:hidden;transition:max-height .42s cubic-bezier(.2,.9,.2,1),opacity .28s ease,transform .28s ease;will-change:max-height,opacity}.short-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;max-height:3.2em;opacity:1}.long-desc{color:#ddd;margin-top:8px;max-height:0;opacity:0;transform:translateY(6px)}.project-card:focus,.project-card:hover{box-shadow:0 12px 30px #4d5bce6b;transform:translateY(-6px)}.project-card:focus .short-desc,.project-card:hover .short-desc{max-height:0;opacity:0;transform:translateY(-6px)}.project-card:focus .long-desc,.project-card:hover .long-desc{max-height:1000px;opacity:1;transform:translateY(0)}.project-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0b0ed9;display:flex;inset:0;justify-content:center;position:fixed;z-index:999}.project-modal{animation:modalFadeIn .36s ease;background:#14141e;border:1px solid #4d5bce99;border-radius:16px;box-shadow:0 20px 50px #000c;display:flex;flex-direction:column;max-height:90vh;max-width:980px;overflow:hidden;padding:26px;position:relative;width:92%}.project-modal-content{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1;gap:22px;min-height:0;overflow:auto;padding-right:6px}.project-modal-text{flex:1 1;min-width:0}.project-modal-text h2{color:#4d5bce;margin:0 0 10px}.project-modal-text p{color:#ddd;font-size:1rem;line-height:1.6;margin:0 0 14px;overflow-wrap:anywhere;word-break:break-word}.project-modal-text .tech-stack{background:#4d5bce12;border-radius:10px;color:#aab;font-size:.95rem;margin-top:8px;padding:12px}.project-modal-image{align-items:center;background:#0a0b0e;border:1px solid #4d5bce59;border-radius:12px;box-shadow:0 6px 20px #0009;display:flex;flex:0 0 380px;justify-content:center;max-height:70vh;max-width:100%;overflow:hidden}.project-modal-image img{display:block;height:100%;object-fit:contain;width:100%}.project-modal-close{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#4d5bce1f;border:1px solid #4d5bce73;border-radius:50%;color:#ddd;cursor:pointer;display:flex;font-size:1.05rem;font-weight:600;height:36px;justify-content:center;position:absolute;right:14px;top:12px;transition:all .22s ease;width:36px}.project-modal-close:hover{background:#4d5bce52;box-shadow:0 0 12px #4d5bce80;color:#fff;transform:rotate(90deg) scale(1.06)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.projects-content{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.projects-content.fade-slide-in{opacity:1;transform:translateY(0)}@media (max-width:1200px){.projects-grid{gap:20px}}@media (max-width:1024px){.projects-grid{gap:18px}}@media (max-width:768px){.project-modal{max-height:95vh;padding:18px}.project-modal-content{flex-direction:column;gap:16px}.project-modal-image{max-height:45vh;width:100%}.projects-grid{gap:16px}}@media (max-width:600px){.projects-grid{flex-direction:column}.projects-column{width:100%}.projects-container{padding:20px}.project-card{padding:14px}}.projects-title{color:#fff;font-size:2.5rem;letter-spacing:2px;margin-bottom:30px;position:relative;text-shadow:0 0 10px #2d55ff80;text-transform:uppercase}.projects-title:after{background:linear-gradient(90deg,#4d5bce,#0ff);border-radius:2px;bottom:-10px;box-shadow:0 0 15px #4d5bce80;content:"";height:4px;left:0;position:absolute;width:60px}.card-cta{align-items:center;background:#4d5bce26;border:1px solid #4d5bce99;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .25s ease;width:32px;z-index:5}.card-cta:hover{background:#4d5bce66;box-shadow:0 0 10px #4d5bce99;transform:scale(1.15)}::-webkit-scrollbar{background:#0000;width:10px}::-webkit-scrollbar-track{background:#0d0f1a;border-radius:8px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#2a2f45,#1b1f33);border:1px solid #33384d;border-radius:8px;-webkit-transition:background .3s ease,box-shadow .3s ease;transition:background .3s ease,box-shadow .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#3c445c,#252b40);box-shadow:0 0 6px #00ffe040}::-webkit-scrollbar-corner{background:#0d0f1a}.loader-container{align-items:center;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:100vh;justify-content:center;width:100vw}.spinner{animation:spin 1s linear infinite;border:6px solid #fff3;border-radius:50%;border-top-color:#4caf50;height:60px;margin-bottom:20px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{font-size:1.2rem;letter-spacing:2px}
/*# sourceMappingURL=main.4daadfaf.css.map*/