@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--bg:#05070d;--bg-alt:#080b14;--surface:#10141f;--surface-2:#141a2a;--glass:#ffffff0b;--glass-hover:#ffffff13;--glass-border:#ffffff17;--fg:#f4f6fb;--fg-muted:#97a1b8;--fg-dim:#626b83;--accent:#3b82f6;--accent-2:#8b5cf6;--accent-rgb:59, 130, 246;--accent-soft:#3b82f61f;--success:#22c55e;--danger:#ef4444;--gradient:linear-gradient(135deg, var(--accent), var(--accent-2));--radius-sm:.8rem;--radius-md:1.4rem;--radius-lg:2.4rem;--shadow-sm:0 4px 16px #0000004d;--shadow-md:0 12px 32px #0006;--shadow-glow:0 0 0 1px var(--glass-border), 0 20px 50px #00000080;--font-heading:"Space Grotesk", "Segoe UI", sans-serif;--font-body:"DM Sans", "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--ease:cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;transition:background-color .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease), color .2s var(--ease);border:none;outline:none;margin:0;padding:0;text-decoration:none}html{scroll-behavior:smooth;font-size:62.5%;overflow-x:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);line-height:1.6}img{max-width:100%;display:block}a{color:inherit}ul{list-style:none}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2}::selection{background:var(--accent);color:#fff}html::-webkit-scrollbar{width:.9rem}html::-webkit-scrollbar-track{background:var(--bg)}html::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent), var(--accent-2));border:2px solid var(--bg);border-radius:1rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.4rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(2.6rem)}.reveal-visible{opacity:1!important;transform:none!important}section{min-height:100vh;padding:13rem 9% 8rem;position:relative;overflow:hidden}.heading{color:var(--fg);text-align:center;letter-spacing:-.02rem;justify-content:center;align-items:center;gap:1.2rem;font-size:3.8rem;font-weight:700;display:flex}.heading i{color:var(--accent);font-size:.7em}.heading span{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.section-subtitle{text-align:center;max-width:56rem;color:var(--fg-muted);margin:1.4rem auto 0;font-size:1.6rem}.gradient-text{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{background:var(--glass);border:1px solid var(--glass-border);font-family:var(--font-mono);color:var(--fg-muted);letter-spacing:.02rem;border-radius:999px;align-items:center;gap:.8rem;padding:.7rem 1.6rem;font-size:1.2rem;display:inline-flex}.eyebrow .dot{background:var(--success);width:.8rem;height:.8rem;animation:pulse-dot 2s var(--ease) infinite;border-radius:50%;box-shadow:0 0 0 3px #22c55e33}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #22c55e33}50%{box-shadow:0 0 0 6px #22c55e14}}.btn{font-family:var(--font-body);letter-spacing:.01rem;color:var(--fg);background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:1rem;padding:1.5rem 2.8rem;font-size:1.5rem;font-weight:700;display:inline-flex;position:relative}.btn span{font-size:1em;font-weight:700}.btn i{transition:transform .25s var(--ease);font-size:.85em}.btn:hover{border-color:rgba(var(--accent-rgb), .6);background:var(--glass-hover);transform:translateY(-2px);box-shadow:0 10px 30px #00000059}.btn:hover i{transform:translate(4px)}.btn.primary{background:var(--gradient);color:#fff;box-shadow:0 10px 30px rgba(var(--accent-rgb), .35);border:none}.btn.primary:hover{box-shadow:0 14px 38px rgba(var(--accent-rgb), .5);border:none}.btn.outline{background:0 0}.glass-card{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px)}header{z-index:1000;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--glass-border);background:#05070db3;justify-content:space-between;align-items:center;height:7.2rem;padding:1.4rem 9%;display:flex;position:fixed;top:0;left:0;right:0}header .logo{color:var(--fg);align-items:center;font-size:1.9rem;font-weight:700;display:flex}header .logo img{object-fit:contain;width:6rem;height:4.6rem;filter:drop-shadow(0 0 12px rgba(var(--accent-rgb), .25))}header .navbar ul{align-items:center;gap:.4rem;display:flex}header .navbar ul li a{font-family:var(--font-body);color:var(--fg-muted);letter-spacing:.02rem;border-radius:999px;padding:.9rem 1.6rem;font-size:1.45rem;font-weight:600;display:inline-block;position:relative}header .navbar ul li a:hover,header .navbar ul li a.active{color:var(--fg);background:var(--glass)}header .navbar ul li a.active:after{content:"";background:var(--gradient);border-radius:999px;height:.2rem;position:absolute;bottom:.4rem;left:1.6rem;right:1.6rem}#menu{cursor:pointer;color:var(--fg);font-size:2.6rem;display:none}@media (width<=768px){#menu{display:block}header .navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid var(--glass-border);background:#05070df7;width:78%;height:calc(100vh - 7.2rem);position:fixed;top:7.2rem;right:-120%}header .navbar ul{flex-flow:column;align-items:stretch;gap:.8rem;padding:2rem}header .navbar ul li a{border-radius:var(--radius-sm);padding:1.4rem 1.6rem;font-size:1.8rem;display:block}header .navbar ul li a.active:after{display:none}header .navbar ul li a.active{background:var(--glass-hover);border:1px solid var(--glass-border)}.fa-times{transform:rotate(180deg)}header .navbar.nav-toggle{right:0}}.home{background:radial-gradient(120% 100% at 50% 0%, #0a0f1c 0%, var(--bg) 55%);flex-wrap:wrap;align-items:center;gap:2rem;min-height:100vh;padding-top:16rem;display:flex}.home-bg{z-index:0;pointer-events:none;position:absolute;inset:0}.home-bg .grid-overlay{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:4.8rem 4.8rem;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 60% at 50% 25%,#000 40%,#0000 90%);mask-image:radial-gradient(75% 60% at 50% 25%,#000 40%,#0000 90%)}.home-bg:after{content:"";background:radial-gradient(60rem circle at var(--mx,50%) var(--my,20%), rgba(var(--accent-rgb), .14), transparent 60%);position:absolute;inset:0}.glow{filter:blur(9rem);opacity:.55;border-radius:50%;animation:16s ease-in-out infinite float;position:absolute}.glow-a{background:var(--accent);width:34rem;height:34rem;top:-8rem;left:-6rem}.glow-b{background:var(--accent-2);width:28rem;height:28rem;animation-delay:-7s;bottom:-6rem;right:-2rem}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(2.5rem,-3rem)}}.home .content{z-index:1;flex:44rem;position:relative}.home .content .eyebrow{margin-bottom:2rem}.home .content h1{color:var(--fg);letter-spacing:-.03rem;margin-bottom:1.6rem;font-size:5.6rem;font-weight:700}.home .content .role{color:var(--fg);min-height:3.2rem;margin-bottom:1.2rem;font-size:2.2rem;font-weight:600}.home .content .role .typing-text{color:var(--accent);font-family:var(--font-mono)}.home .content .lede{max-width:50rem;color:var(--fg-muted);margin-bottom:3.2rem;font-size:1.6rem}.home .cta-row{flex-wrap:wrap;gap:1.4rem;margin-bottom:3.6rem;display:flex}.socials{position:relative}.social-icons{gap:1rem;display:flex}.social-icons a{width:4.6rem;height:4.6rem;color:var(--fg-muted);background:var(--glass);border:1px solid var(--glass-border);border-radius:50%;justify-content:center;align-items:center;font-size:1.9rem;display:inline-flex}.social-icons a:hover{color:#fff;background:var(--gradient);box-shadow:0 10px 24px rgba(var(--accent-rgb), .35);border-color:#0000;transform:translateY(-3px)}.home .image{z-index:1;flex:34rem;justify-content:center;display:flex;position:relative}.home .image .image-frame{aspect-ratio:1;background:var(--gradient);border-radius:50%;width:min(38rem,80%);padding:.5rem;position:relative}.home .image .image-frame:before{content:"";border:1px dashed rgba(var(--accent-rgb), .3);border-radius:50%;animation:30s linear infinite spin;position:absolute;inset:-1.2rem}@keyframes spin{to{transform:rotate(360deg)}}.home .image img{object-fit:cover;background:var(--bg);cursor:pointer;border-radius:50%;width:100%;height:100%}.scroll-cue{z-index:1;border:2px solid var(--glass-border);border-radius:999px;justify-content:center;width:2.8rem;height:4.4rem;padding-top:.8rem;display:flex;position:absolute;bottom:3.2rem;left:50%;transform:translate(-50%)}.scroll-cue span{background:var(--accent);width:.5rem;height:.9rem;animation:scroll-cue 1.8s var(--ease) infinite;border-radius:999px}@keyframes scroll-cue{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1.2rem)}}@media (width<=450px){.home{padding-top:13rem}.home .content h1{font-size:3.8rem}.home .content .role{font-size:1.8rem}.scroll-cue{display:none}}.about{background:var(--bg-alt);border-top:1px solid var(--glass-border)}.about .row{flex-wrap:wrap;align-items:center;gap:5rem;max-width:128rem;margin:4rem auto 0;display:flex}.about .row .image{flex:32rem;justify-content:center;display:flex}.about .row .image .image-frame{border-radius:var(--radius-lg);background:var(--gradient);width:min(34rem,100%);padding:.5rem;position:relative}.about .row .image img{border-radius:calc(var(--radius-lg) - .5rem);width:100%;box-shadow:var(--shadow-md);cursor:pointer}.about .row .content{flex:46rem}.about .row .content h3{color:var(--fg);font-size:3rem}.about .row .content .tag{font-family:var(--font-mono);color:var(--accent);margin-top:1rem;font-size:1.3rem;display:inline-block}.about .row .content p{color:var(--fg-muted);margin-top:1.5rem;font-size:1.5rem;line-height:1.8}.about .row .content .stats{grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:3rem;display:grid}.about .row .content .stat{text-align:center;border-radius:var(--radius-sm);background:var(--glass);border:1px solid var(--glass-border);padding:1.6rem 1rem}.about .row .content .stat strong{font-family:var(--font-heading);background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2.4rem;display:block}.about .row .content .stat span{color:var(--fg-muted);margin-top:.4rem;font-size:1.15rem;display:block}.resumebtn{margin-top:3.2rem}@media screen and (width<=768px){.about .row .content .stats{grid-template-columns:repeat(2,1fr)}}@media screen and (width<=600px){.about .row{gap:3rem}}.skills{background:radial-gradient(120% 100% at 50% 0%, #8b5cf614, transparent 55%), var(--bg);min-height:auto}.skills .container{max-width:128rem;margin:4rem auto 0}.skills .container .row{grid-template-columns:repeat(6,1fr);gap:1.6rem;display:grid}.skills .container .bar{border-radius:var(--radius-md);background:var(--glass);border:1px solid var(--glass-border);padding:2rem 1rem}.skills .container .bar:hover{background:var(--glass-hover);border-color:rgba(var(--accent-rgb), .4);box-shadow:var(--shadow-sm);transform:translateY(-4px)}.skills .container .bar .info{flex-direction:column;align-items:center;gap:1rem;display:flex}.skills .container .bar .info img{object-fit:contain;width:4rem;height:4rem}.skills .container .bar .info span{font-size:1.35rem;font-weight:600;font-family:var(--font-body);color:var(--fg-muted);text-align:center}@media screen and (width<=600px){.skills .container .row{grid-template-columns:repeat(2,1fr);gap:1.2rem}}@media screen and (width>=600px) and (width<=899px){.skills .container .row{grid-template-columns:repeat(3,1fr)}}@media screen and (width>=900px) and (width<=1099px){.skills .container .row{grid-template-columns:repeat(4,1fr)}}.work{background:var(--bg-alt);border-top:1px solid var(--glass-border)}.work .box-container{flex-wrap:wrap;justify-content:center;gap:2rem;max-width:128rem;margin:4rem auto 0;display:flex}.work .box-container .box{border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--glass-border);max-width:40rem;height:32rem;box-shadow:var(--shadow-sm);flex:32rem;position:relative;overflow:hidden}.work .box-container .box:hover{border-color:rgba(var(--accent-rgb), .5);transform:translateY(-4px);box-shadow:0 20px 50px #00000080}.work .box-container .box img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease), filter .4s var(--ease);filter:saturate(.85)brightness(.85)}.work .box-container .box:hover img{filter:saturate()brightness(.55);transform:scale(1.06)}.work .box-container .box .content{transition:padding-bottom .35s var(--ease);background:linear-gradient(#0000 0%,#05070d8c 40%,#05070df7 80%);flex-direction:column;justify-content:flex-end;padding:2rem;display:flex;position:absolute;inset:auto 0 0}.work .box-container .box .content .tag{justify-content:space-between;align-items:center;display:flex}.work .box-container .box .content .tag h3{color:var(--fg);font-size:2rem}.work .box-container .box .desc{opacity:0;max-height:0;transition:max-height .4s var(--ease), opacity .3s var(--ease);overflow:hidden}.work .box-container .box:hover .desc{opacity:1;max-height:16rem;margin-top:1rem}.work .box-container .box .desc p{color:var(--fg-muted);font-size:1.35rem;line-height:1.6}.work .box-container .box .desc .btns{gap:1rem;margin-top:1.4rem;display:flex}.work .box-container .box .desc .btns .btn{background:var(--glass-hover);padding:.9rem 1.6rem;font-size:1.25rem}.work .box-container .box .desc .btns .btn:hover{background:var(--gradient);border-color:#0000}.work .viewall{justify-content:center;margin-top:4.5rem;display:flex}@media (width<=600px){.work .box-container .box .desc{opacity:1;max-height:16rem;margin-top:1rem}.work .box-container .box .content{background:linear-gradient(#0000 0%,#05070d8c 25%,#05070df7 55%)}}.experience{background:var(--bg)}.experience .quote{text-align:center;max-width:70rem;font-family:var(--font-mono);color:var(--fg-muted);margin:1.5rem auto 0;font-size:1.4rem}.experience .timeline{max-width:110rem;margin:5rem auto 0;position:relative}.experience .timeline:after{content:"";background:linear-gradient(var(--accent), var(--accent-2));opacity:.35;z-index:0;width:.2rem;margin-left:-.1rem;position:absolute;top:0;bottom:0;left:50%}.experience .container{width:50%;padding:1rem 4rem 2.4rem;position:relative}.experience .container:after{content:"";background:var(--bg);border:.3rem solid var(--accent);z-index:1;text-align:center;width:2.6rem;height:2.6rem;color:var(--accent);border-radius:50%;font-family:"Font Awesome 5 Free";font-size:1.1rem;font-weight:900;line-height:2rem;position:absolute;top:1.6rem;right:-1.3rem}.experience .left{left:0}.experience .right{left:50%}.experience .right:after{left:-1.3rem}.experience .content{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:.4rem 0;position:relative}.experience .content:hover{border-color:rgba(var(--accent-rgb), .4);background:var(--glass-hover)}.experience .content .tag{padding:1.8rem 2rem .2rem}.experience .content .tag h2{color:var(--fg);font-size:1.7rem}.experience .content .desc{padding:0 2rem 1.8rem}.experience .content .desc h3{color:var(--accent);margin-top:.4rem;font-size:1.5rem;font-weight:600}.experience .content .desc p{font-family:var(--font-mono);color:var(--fg-muted);margin-top:.6rem;font-size:1.2rem}.morebtn{justify-content:center;margin-top:4rem;display:flex}@media screen and (width<=768px){.experience .timeline:after{left:3rem}.experience .container{width:100%;padding-left:7rem;padding-right:1rem;left:0!important}.experience .container:after{right:auto;left:1.7rem!important}}.contact{background:var(--bg-alt);border-top:1px solid var(--glass-border);min-height:auto}.contact .container{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--radius-lg);max-width:110rem;box-shadow:var(--shadow-glow);margin:4rem auto 0;overflow:hidden}.contact .container .content{grid-template-columns:1fr 1.1fr;display:grid}.contact .info-panel{background:linear-gradient(160deg, rgba(var(--accent-rgb), .12), transparent 60%);border-right:1px solid var(--glass-border);flex-direction:column;justify-content:center;padding:4rem 3.5rem;display:flex}.contact .info-panel h3{color:var(--fg);margin:1.6rem 0 1rem;font-size:2.6rem}.contact .info-panel>p{color:var(--fg-muted);margin-bottom:2.4rem;font-size:1.4rem;line-height:1.7}.contact .info-list li{color:var(--fg-muted);border-top:1px solid var(--glass-border);align-items:center;gap:1.2rem;padding:1rem 0;font-size:1.4rem;display:flex}.contact .info-list li:first-child{border-top:none}.contact .info-list li i{background:var(--glass);border:1px solid var(--glass-border);width:3.6rem;height:3.6rem;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.contact .info-list li a:hover{color:var(--fg)}.contact .contact-socials{margin-top:2.4rem}.contact .content form{padding:4rem 3.5rem}form .form-group{flex-direction:column;display:flex}.form-group .field{height:5.4rem;margin-bottom:1.6rem;display:flex;position:relative}form i{color:var(--fg-dim);pointer-events:none;font-size:1.6rem;position:absolute;top:50%;left:1.8rem;transform:translateY(-50%)}form .field input,form .message textarea{width:100%;height:100%;font-size:1.5rem;font-family:var(--font-body);color:var(--fg);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:var(--surface);padding:0 1.6rem 0 4.8rem}.field input::placeholder,.message textarea::placeholder{color:var(--fg-dim)}.field input:focus,.message textarea:focus{border:1px solid var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .15)}.field input:focus~i,.message textarea:focus~i{color:var(--accent)}form .message{margin-bottom:1.6rem;position:relative}form .message i{top:2.4rem;transform:none}form .message textarea{resize:vertical;width:100%;min-height:13rem;max-height:23rem;padding:1.6rem 1.6rem 0 4.8rem}form .message textarea::-webkit-scrollbar{width:0}form .button-area{justify-content:flex-end;display:flex}.button-area button{color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;font-family:var(--font-body);background:var(--gradient);box-shadow:0 10px 30px rgba(var(--accent-rgb), .35);border-radius:999px;align-items:center;gap:1rem;padding:1.5rem 2.8rem;display:inline-flex}.button-area button:hover{box-shadow:0 14px 38px rgba(var(--accent-rgb), .5);transform:translateY(-2px)}.button-area button i{color:#fff;font-size:1.3rem;position:static;transform:none}@media (width<=900px){.contact .container .content{grid-template-columns:1fr}.contact .info-panel{border-right:none;border-bottom:1px solid var(--glass-border)}.contact .content form,.contact .info-panel{padding:3rem 2rem}}.footer{border-top:1px solid var(--glass-border);background:#030409;min-height:auto;padding:6rem 9% 0}.footer .box-container{flex-wrap:wrap;justify-content:center;gap:2rem;max-width:128rem;margin:0 auto;padding-bottom:3rem;display:flex}.footer .box-container .box{flex:25rem}.footer .box-container .box h3{color:var(--fg);padding-bottom:1.2rem;font-size:1.9rem;font-weight:700}.footer .box-container .box p{color:var(--fg-muted);padding:.4rem 0;font-size:1.4rem;line-height:1.7}.footer .box-container .box p i{color:var(--accent);padding-right:1rem}.footer .box-container .box a{color:var(--fg-muted);padding:.4rem 0;font-size:1.4rem;display:block}.footer .box-container .box a:hover{color:var(--accent);display:block;transform:translate(.3rem)}.footer .box-container .box .share{flex-wrap:wrap;gap:1rem;padding-top:1rem;display:flex}.footer .box-container .box .share a{background:var(--glass);border:1px solid var(--glass-border);width:4rem;height:4rem;color:var(--fg-muted);border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;display:inline-flex}.footer .box-container .box .share a:hover{background:var(--gradient);color:#fff;border-color:#0000;transform:translateY(-3px)}.footer .credit{text-align:center;font-size:1.4rem;font-family:var(--font-body);color:var(--fg-muted);border-top:1px solid var(--glass-border);padding:2.4rem 0;font-weight:500}.footer .credit a{color:var(--accent)}.footer .fa{color:var(--danger);margin:0 .3rem;font-size:1.4rem;animation:.35s infinite alternate pound}@keyframes pound{to{transform:scale(1.15)}}#scroll-top{opacity:0;visibility:hidden;background:var(--gradient);color:#fff;width:4.6rem;height:4.6rem;box-shadow:0 10px 30px rgba(var(--accent-rgb), .4);z-index:1000;border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;display:inline-flex;position:fixed;bottom:2.4rem;right:2.4rem;transform:translateY(1rem)}#scroll-top.active{opacity:1;visibility:visible;transform:translateY(0)}#scroll-top:hover{transform:translateY(-3px)}.image-project img{border-radius:var(--radius-md);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}.project-table table{font-family:var(--font-body);border-radius:var(--radius-sm);overflow:hidden}.content-project p{color:var(--fg-muted);line-height:1.8;font-size:1.6rem!important}.viewbtn,.back{justify-content:center;margin:3rem auto 0;display:flex}.back{justify-content:flex-start}@media (width<=1024px){.about .row .content .stats{grid-template-columns:repeat(4,1fr)}}@media (width<=450px){html{font-size:55%}section{padding:11rem 2rem 6rem}.heading{font-size:3rem}}.work{background:var(--bg);border-top:none;min-height:100vh;padding-top:16rem}.work .heading{margin-top:2rem}.button-group{flex-wrap:wrap;justify-content:center;gap:1rem;margin:3rem auto 0;display:flex}.button-group .btn{padding:1rem 2rem;font-size:1.3rem}.button-group .btn.is-checked{background:var(--gradient);color:#fff;border-color:#0000}.work .box-container{align-items:flex-start}.grid-item{padding:0}@media (width<=420px){.work .box-container .box{width:100%!important}}
