@font-face{font-family:Elms Sans;src:url(/assets/fonts/ElmsSans-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Elms Sans;src:url(/assets/fonts/ElmsSans-Italic.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Elms Sans;src:url(/assets/fonts/ElmsSans-SemiBold.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Elms Sans;src:url(/assets/fonts/ElmsSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Elms Sans;src:url(/assets/fonts/ElmsSans-BoldItalic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}:root{--dark-greyish-blue:#17141c;--dark-grey-blue:#011016;--dark-black:#051015;--grey-10:#f5f5f5;--grey-20:#ebebeb;--grey-30:#e1e1e1;--grey-40:#d7d7d7;--grey-50:#cdcdcd;--grey-60:#c3c3c3;--grey-100:#a6a6a6;--grey-200:#8a8a8a;--grey-300:#6e6e6e;--grey-400:#525252;--grey-500:#363636;--grey-550:#2a2a2a;--grey-575:#252525;--grey-600:#1e1e1e;--grey-700:#020202;--greyish-white:#dcdcdc;--prime-orange:#ff8a00f2;--prime-red:#dc2200;--prime-dark-red:#ad1a00;--prime-green:#3ecc13;--prime-dark-green:#28a103;--prime-blue:#39bbeb;--prime-dark-blue:#179ccc;--special:#924cff;--special-dark:#7a29b3;--special2:#7300f7;--neon-lite-cyan:#4deeea;--neon-cyan:#00c6fb;--neon-lite-green:#74ee15;--neon-green:#0f0;--neon-lite-yellow:#ffe700;--neon-yellow:#fc0;--neon-lite-magenta:#f000ff;--neon-magenta:#f0f;--neon-lite-red:#ff006e;--neon-red:red;--font-size-step-100:clamp(.79rem, calc(.79rem + .01vw), .8rem);--font-size-step-200:clamp(.89rem, calc(.87rem + .08vw), 1rem);--font-size-step-300:clamp(1rem, calc(.96rem + .18vw), 1.25rem);--font-size-step-400:clamp(1.13rem, calc(1.06rem + .31vw), 1.56rem);--font-size-step-500:clamp(1.27rem, calc(1.17rem + .49vw), 1.95rem);--font-size-step-600:clamp(1.42rem, calc(1.28rem + .73vw), 2.44rem);--font-size-step-700:clamp(1.6rem, calc(1.39rem + 1.04vw), 3.05rem);--font-size-step-800:clamp(1.8rem, calc(1.51rem + 1.44vw), 3.82rem);--space-3xs:clamp(.25rem, calc(.24rem + .04vw), .31rem);--space-2xs:clamp(.5rem, calc(.48rem + .09vw), .63rem);--space-xs:clamp(.75rem, calc(.72rem + .13vw), .94rem);--space-s:clamp(1rem, calc(.96rem + .18vw), 1.25rem);--space-m:clamp(1.5rem, calc(1.45rem + .27vw), 1.88rem);--space-l:clamp(2rem, calc(1.93rem + .36vw), 2.5rem);--space-xl:clamp(3rem, calc(2.89rem + .54vw), 3.75rem);--space-2xl:clamp(4rem, calc(3.86rem + .71vw), 5rem);--space-3xl:clamp(6rem, calc(5.79rem + 1.07vw), 7.5rem);--space-4xl:clamp(8rem, calc(7.71rem + 1.43vw), 10rem);--space-5xl:clamp(12rem, calc(11.57rem + 2.14vw), 15rem);--space-3xs-2xs:clamp(.25rem, calc(.2rem + .27vw), .63rem);--space-2xs-xs:clamp(.5rem, calc(.44rem + .31vw), .94rem);--space-xs-s:clamp(.75rem, calc(.68rem + .36vw), 1.25rem);--space-s-m:clamp(1rem, calc(.88rem + .63vw), 1.88rem);--space-m-l:clamp(1.5rem, calc(1.36rem + .71vw), 2.5rem);--space-l-xl:clamp(2rem, calc(1.75rem + 1.25vw), 3.75rem);--space-xl-2xl:clamp(3rem, calc(2.71rem + 1.43vw), 5rem);--space-2xl-3xl:clamp(4rem, calc(3.5rem + 2.5vw), 7.5rem);--space-3xl-4xl:clamp(6rem, calc(5.43rem + 2.86vw), 10rem);--space-4xl-5xl:clamp(8rem, calc(7rem + 5vw), 15rem);--space-s-l:clamp(1rem, calc(.79rem + 1.07vw), 2.5rem)}*,:before,:after{box-sizing:border-box;scroll-behavior:smooth;border:none;outline:none;margin:0;padding:0;text-decoration:none;list-style:none}html,body{word-spacing:.05rem;letter-spacing:.05rem;font-family:Elms Sans,Roboto,monospace;font-weight:400;line-height:1.5rem}body{overflow-x:hidden}#root{width:100%;overflow-x:hidden}html{scroll-behavior:smooth}img,video,svg{max-width:100%;height:auto}body{letter-spacing:.05rem;background-color:var(--dark-greyish-blue);min-height:100vh;color:var(--greyish-white);flex-direction:column;justify-content:center;align-items:start;display:flex}.hero-section,.about-section,.projects-section,.contact-section{flex-direction:column;justify-content:center;align-items:start;width:100%;max-width:1200px;margin:0 auto;padding:2.5rem 0;display:flex}.hero-section{overflow:visible}.navbar,#root{max-width:1200px}#root{width:100%;margin-inline:auto;padding:0;overflow-x:hidden}.navbar{z-index:100;-webkit-backdrop-filter:blur();backdrop-filter:blur();background-color:#0000;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;width:100%;margin:0 auto;padding:1rem 2rem;transition:background-color .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,border-color .35s;display:flex;position:sticky;top:0}.navbar--scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background-color:#17141cbf;border-bottom:1px solid #ffffff0d}.navbar-title{color:var(--greyish-white);font-size:1.2rem;font-weight:600}.navbar-list{justify-content:center;align-items:center;padding-bottom:6px;display:flex;position:relative}.navbar-list li{margin-left:1.2rem}.navbar-list li a{min-height:44px;color:var(--greyish-white);align-items:center;padding:0 .25rem;font-size:1.2rem;font-weight:400;display:inline-flex}.navbar-underline{background-color:var(--prime-orange);opacity:0;pointer-events:none;border-radius:2px;width:0;height:2px;transition:transform .18s,width .18s,opacity .18s;position:absolute;bottom:0;left:0}.navbar-hamburger{cursor:pointer;border:1px solid var(--grey-500);z-index:101;background:0 0;border-radius:4px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;min-width:48px;min-height:48px;padding:8px;display:none}.navbar-hamburger span{background-color:var(--greyish-white);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:transform .28s,opacity .28s,width .28s;display:block}.navbar-hamburger--open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-hamburger--open span:nth-child(2){opacity:0;width:0}.navbar-hamburger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.navbar-mobile-menu{background-color:var(--grey-600);border:1px solid var(--grey-500);z-index:99;opacity:0;pointer-events:none;border-radius:8px;min-width:160px;padding:.5rem 0;transition:opacity .2s,transform .2s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)}.navbar-mobile-menu--open{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-mobile-list{flex-direction:column;align-items:stretch;gap:0;display:flex}.navbar-mobile-list li a{color:var(--greyish-white);letter-spacing:.05rem;padding:.6rem 1.25rem;font-size:1rem;font-weight:600;transition:color .18s,background-color .18s;display:block}.navbar-mobile-list li a:hover{color:var(--prime-orange);background-color:var(--grey-575)}.hero-container{flex-direction:row;justify-content:center;align-items:center;width:100%;display:flex}.hero-content{justify-content:center;align-items:center;width:100%;padding:0 24px;display:flex}.hero-content.left{flex-direction:column;max-width:800px;height:520px;position:relative}.hero-content.right{flex-direction:column;width:100%;max-width:800px;height:520px;position:relative}.hero-hello{color:var(--greyish-white);font-size:2.4rem;font-weight:600;position:absolute;top:22%;left:10%}.hero-name{font-size:2.2rem;font-weight:400;position:absolute;top:32%;left:10%}.hero-subtitle{font-size:3rem;font-weight:700;position:absolute;top:50%;left:10%}.hero-hello,.hero-name,.hero-subtitle,.hero-description{color:var(--greyish-white)}.hero-dot{color:var(--special);font-size:3rem;font-weight:600}.hero-image,.code-image{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-image{z-index:2;width:340px}.code-image{z-index:1;opacity:.3}.blob{z-index:-1;filter:blur(42px);opacity:.7;pointer-events:none;background:radial-gradient(circle at 50% 45%,#924cff47 0%,#924cff24 35%,#924cff0f 55%,#924cff00 75%);border-radius:999px;position:absolute;inset:-5%}.hero-button-container{justify-content:center;align-items:center;display:flex;position:absolute;top:70%;left:10%}.hero-button{border:1px solid var(--special);letter-spacing:.05rem;min-height:48px;color:var(--greyish-white);background-color:#0000;border-radius:4px;justify-content:center;align-items:center;gap:.55rem;padding:10px 20px;font-size:1rem;font-weight:600;display:inline-flex}.hero-button.CTA:hover,.hero-button:hover{background-color:var(--prime-orange);color:var(--dark-greyish-blue);border:1px solid var(--prime-orange)}.hero-button.icon-border{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:1.2rem;padding:8px}.hero-button.icon-border-reverse{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.hero-button-icon{color:currentColor;flex:none;width:24px;height:24px;display:inline-block}.icon-border{width:42px;height:42px}.hero-button.CTA{border:1px solid var(--special2);background-color:var(--special2);color:var(--greyish-white)}.techstack-section{width:100%;margin:0 auto;padding:2rem 0}.techstack-title{color:var(--greyish-white);margin-bottom:1rem;font-size:1.6rem;font-weight:700}.techstack-viewport{background-color:var(--dark-greyish-blue);border:1px solid var(--grey-500);border-radius:12px;width:100%;height:48px;padding:13px 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.techstack-track{align-items:center;gap:.6rem;width:max-content;padding-right:.6rem;animation:60s linear infinite techstack-scroll;display:inline-flex}@keyframes techstack-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.techstack-token{white-space:nowrap;color:var(--greyish-white);font-size:1.05rem;line-height:1.2;display:inline-block}.techstack-token--label{letter-spacing:.02rem;font-weight:700}.techstack-token--chip{opacity:.95;font-weight:500}.techstack-token--sep{opacity:.35;font-weight:600}.techstack-token--frontend{color:#39bbebf2}.techstack-token--backend{color:#3ecc13e6}.techstack-token--tools{color:#ff8a00f2}@media (prefers-reduced-motion:reduce){.techstack-track{animation:none}}.about-section{flex-direction:row;justify-content:space-between;padding:0}.about-content{padding:1.5rem}.about-content.left{width:50%;max-width:50%;position:relative}.about-content.left p{border-left:2px solid var(--special);justify-content:start;align-items:center;gap:2rem;margin-bottom:1.2rem;padding-left:2rem;font-size:1.4rem;font-weight:600;display:flex}.about-icon{color:var(--special);object-fit:contain;flex:none}.web,.app,.agentic{width:96px;height:96px}.about-content.right{width:50%;max-width:50%;position:relative}.about-me{margin-bottom:2rem;font-size:2.2rem;font-weight:700}.space-dot{background-color:var(--special);border-radius:50%;width:.6rem;height:.6rem;margin-right:.5rem;position:relative;top:-.6rem;left:-.18rem}.about-dot{color:var(--special);font-size:3rem;font-weight:600}.about-me-description{font-size:1rem;font-weight:400}.about-me-description p{margin:0}.about-me-description p+p{margin-top:.65rem}.about-projects{justify-content:space-between;align-items:center;gap:2rem;display:flex}.experience,.completed,.learning{flex-direction:column;justify-content:end;align-items:center;gap:1rem;height:6rem;display:flex}.stat-num{color:var(--special);font-size:2.4rem;font-weight:700}.stat-label{color:var(--greyish-white);font-size:1rem;font-weight:400}.projects-section{flex-direction:column;justify-content:center;align-items:center;display:flex}.project-header{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.projects-title{color:var(--greyish-white);font-size:2.2rem;font-weight:700}.projects-line{border-left:2px solid var(--special);height:60px}.projects-dot{background-color:var(--special);border-radius:50%;width:.6rem;height:.6rem;margin-right:.5rem;position:relative;top:-.4rem;left:.25rem}.project-card{border-radius:8px;justify-content:space-between;align-items:start;width:100%;max-width:1200px;min-height:380px;margin:3rem 0;display:flex;position:relative;overflow:visible}.project-card--reversed{flex-direction:row-reverse}.project-info{width:55%;padding:1.5rem}.project-img-wrapper{border-radius:8px;align-self:flex-start;width:45%;margin:0 24px;display:block;position:relative}.project-img-wrapper:before{content:"";border:2px solid var(--special);opacity:.25;z-index:0;border-radius:8px;width:100%;height:100%;position:absolute;inset:0;transform:translate(10px,-10px)}.project-card--reversed .project-img-wrapper:before{transform:translate(-10px,-10px)}.project-img{z-index:1;object-fit:cover;object-position:top center;border-radius:8px;width:100%;height:auto;min-height:320px;max-height:360px;display:block;position:relative}.project-title{color:var(--greyish-white);margin-bottom:1rem;font-size:1.4rem;font-weight:700}.project-desc,.project-description{color:var(--greyish-white);margin-bottom:1rem;font-size:1rem;font-weight:400}.project-tech{color:var(--greyish-white);border-top:1px solid var(--special);padding-top:1rem;font-size:1rem;font-weight:400}.project-tech-item{background-color:var(--grey-575);color:var(--greyish-white);border-radius:24px;margin-bottom:.6rem;margin-right:.6rem;padding:.2rem .8rem;font-size:.8rem;display:inline-block}.contact-section{flex-direction:column;justify-content:center;align-items:center;display:flex}.contact-header{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.contact-title{color:var(--greyish-white);font-size:2.2rem;font-weight:700}.contact-line{border-left:2px solid var(--special);height:60px}.contact-dot{background-color:var(--special);border-radius:50%;width:.6rem;height:.6rem;margin-right:.5rem;position:relative;top:-.4rem;left:.25rem}.contact-content{justify-content:center;align-items:start;width:100%;display:flex}.contact-form.left{width:50%;padding:2rem 3rem}.contact-form.left h1{margin-bottom:2rem;font-size:2rem;font-weight:600}.contact-form.left p{color:var(--prime-orange);font-size:3rem;font-weight:700}.contact-form.right{width:50%;padding:2rem 3rem}.contact-form-item{flex-direction:column;justify-content:center;align-items:start;gap:.5rem;margin-bottom:2rem;display:flex}.contact-form-item input,.contact-form-item textarea{border-bottom:1px solid var(--special);width:100%;min-height:44px;color:var(--greyish-white);background-color:#0000;border-radius:0;padding:10px 16px;font-size:16px;font-weight:400}.contact-form-item textarea{resize:vertical;min-height:120px}.contact-form-item button{letter-spacing:.05rem;border:1px solid var(--special2);background-color:var(--special2);min-height:48px;color:var(--greyish-white);border-radius:4px;justify-content:center;align-items:center;gap:.55rem;padding:12px 24px;font-size:1rem;font-weight:600;display:inline-flex}.contact-form-item button:hover{background-color:var(--prime-orange);border:1px solid var(--prime-orange);color:var(--dark-greyish-blue)}.footer{width:100%;margin:0 auto}.footer-content{background-color:var(--grey-600);flex-direction:column;justify-content:center;align-items:center;padding:1.2rem 0;display:flex;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 10% 90%,#0000 100%)}.footer-content-icons{--footer-icon-size:42px;align-items:center;gap:2rem;margin:1rem 0;display:flex}.footer-icon{width:var(--footer-icon-size,24px);height:var(--footer-icon-size,24px);color:var(--greyish-white);display:block}.footer-content p{color:var(--greyish-white);margin-top:1rem;font-size:.8rem;font-weight:400}.footer-content-icons a:hover .footer-icon{color:var(--prime-orange)}.scroll-top-button{border:1px solid var(--grey-500);background-color:var(--grey-600);width:46px;height:46px;color:var(--greyish-white);opacity:0;pointer-events:none;z-index:999;border-radius:4px;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;transition:opacity .18s,transform .18s,background-color .18s,border-color .18s,color .18s;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(12px)}.scroll-top-button--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-top-button:hover{background-color:var(--prime-orange);border-color:var(--prime-orange);color:var(--dark-greyish-blue)}.scroll-top-button:focus-visible{outline:2px solid var(--prime-orange);outline-offset:3px}@media (width<=1240px){.hero-section,.about-section,.projects-section,.contact-section,.techstack-section{padding-left:1.5rem;padding-right:1.5rem}.navbar{padding:1rem 1.5rem}.hero-subtitle{text-indent:.2rem;font-size:2.6rem;line-height:2.1rem}.hero-button{width:100%;padding:0 18px;font-size:1rem;line-height:1rem}.icon-border{width:42px;height:42px}.about-projects{margin-top:2rem}.project-tech-item{font-size:.8rem}.project-img-wrapper{width:100%;min-width:320px;max-width:600px}.contact-section{margin-top:3rem}.contact-content{flex-direction:row;margin-top:2rem}.contact-form.left,.contact-form.right{width:100%;padding:1.5rem}.contact-item{margin-bottom:1.5rem}.footer{padding-left:1.5rem;padding-right:1.5rem}}@media (width<=850px){#root,html,body{width:100%;max-width:100%;padding:0}.hero-section,.about-section,.projects-section,.contact-section{padding:inherit 0}.navbar-list{display:none}.navbar-hamburger{display:flex}.hero-container{flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;padding-top:1.2rem}.hero-content.left{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.2rem;width:66%;max-width:100%;height:auto;display:flex;position:static}.hero-content.left>*{position:static!important;top:auto!important;left:auto!important}.hero-hello{font-size:2rem}.hero-name{font-size:1.8rem}.hero-subtitle{margin-top:1.6rem;font-size:2.6rem;line-height:2rem}.hero-button-container{justify-content:center;align-items:center;width:100%;margin-top:1.2rem;display:flex}.icon-border{width:42px;height:42px}.hero-content.right{width:100%;max-width:100%;height:360px;margin-top:1.2rem;position:relative}.hero-image{object-fit:contain;object-position:bottom center;width:auto;height:100%;position:absolute}.code-image{object-fit:contain;width:100%;height:100%;position:absolute}.about-section{flex-direction:column}.about-content.left{flex-direction:row;justify-content:center;align-items:center;margin-top:.4rem;padding-bottom:.4rem;display:flex}.space-dot{display:none}.about-content.left,.about-content.right{width:100%;max-width:100%}.about-content.left p{border:none;gap:1rem;margin-bottom:0;padding-left:1rem;font-size:.8rem}.web,.app,.agentic{width:60px;height:60px}.about-me{font-size:1.8rem}.about-projects{gap:1rem}.project-card,.project-card--reversed{flex-direction:column;min-height:auto;margin:1.5rem 0}.project-header{margin-top:2rem;font-size:1.8rem}.project-info{width:100%}.project-img-wrapper{min-width:320px;max-width:600px}.contact-content{flex-direction:column}.contact-form.left,.contact-form.right{width:100%;padding:1.5rem}.contact-form.left h1{font-size:2rem}.contact-form.left p{font-size:3rem}.footer-content-icons{gap:1.2rem}}@media (width<=480px){.hero-section{padding:.4rem 0}.hero-hello{font-size:1.5rem}.hero-name{font-size:1.3rem}.hero-subtitle{margin-top:.4rem;font-size:2.1rem;line-height:1.7rem}.hero-dot{font-size:inherit}.icon-border{width:42px;height:42px}.web,.app,.agentic{width:40px;height:40px}.about-me{font-size:1.5rem}.about-content.left p{border:none;gap:.4rem;margin-bottom:0;padding-left:.6rem;font-size:.6rem;line-height:1.4}.stat-num{font-size:1.8rem}.project-img-wrapper{min-width:320px;max-width:600px}.project-tech-item{font-size:.6rem}.projects-title,.contact-title{font-size:1.8rem}.contact-section{margin-top:0}.contact-form.left,.contact-form.right{width:100%;padding:0}.contact-form.left h1{margin-bottom:.8rem;font-size:1.2rem}.contact-form.left p{margin-bottom:1.6rem;font-size:1.6rem}.footer-content p{text-wrap:wrap;width:75%;padding-left:1rem;font-size:.6rem}}
