*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050505;font-family:inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}#root{width:100%;min-height:100vh}html{scroll-behavior:smooth;scroll-padding:4rem}body{margin:0}.app{color:#fff;background:radial-gradient(circle at 0 0,#7e57ff24,#0000 26%),radial-gradient(circle at 100% 0,#00aeff1a,#0000 26%),linear-gradient(#040404 0%,#09090d 100%);width:100%;min-height:100vh}.site-main{z-index:1;position:relative}.section-header{text-align:center;max-width:820px;margin:0 auto 3rem}.eyebrow{color:#32d583;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin:0 0 .75rem;font-size:.9rem;font-weight:700}.section-heading{letter-spacing:-.05em;text-align:center;margin:0;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1}.section-subtitle{color:#ffffff9e;max-width:620px;margin:1rem auto 0;font-size:1.5rem;line-height:1.7}.nav-shell{z-index:1000;position:sticky;top:0}.nav-wrapper{flex-direction:column;align-items:center;width:100%;padding:1rem 1rem 0;display:flex}.nav-pill{-webkit-backdrop-filter:blur(18px);background:linear-gradient(135deg,#18181ee0,#0a0a0ec7);border:1px solid #ffffff1a;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1300px,100% - 1rem);padding:.9rem 1rem;display:grid;box-shadow:inset 0 0 0 1px #ffffff08,0 10px 30px #00000073,0 0 30px #6f42c11f}.nav-logo{color:#fff;letter-spacing:.1em;justify-self:start;font-size:1.2rem;font-weight:700;text-decoration:none}.nav-center{justify-content:center;align-items:center;gap:2rem;display:flex}.nav-right{justify-self:end;align-items:center;gap:.2rem;display:flex}.nav-link{color:#ffffffd1;font-size:1rem;font-weight:500;text-decoration:none;transition:color .2s,transform .2s}.nav-link:hover{color:#fff;transform:translateY(-2px)}.nav-icon{color:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:inline-flex}.nav-icon:hover{color:#fff;background:#ffffff14;transform:translateY(-2px)}.github-logo{width:1.75rem;height:1.75rem}.desktop-only{display:flex}.menu-toggle{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;justify-self:end;align-items:center;display:inline-flex}.mobile-menu{-webkit-backdrop-filter:blur(14px);text-align:center;background:#121212f2;border:1px solid #ffffff14;border-radius:24px;flex-direction:column;align-items:center;gap:1rem;width:min(1100px,100%);margin-top:.75rem;padding:1rem;display:flex;box-shadow:0 10px 20px #00000059}.mobile-link{color:#fff;padding:.25rem 0;font-size:1rem;font-weight:500;text-decoration:none}.mobile-icons{gap:.75rem;padding-top:.5rem;display:flex}.mobile-only{display:none}@media (width<=768px){.nav-wrapper{padding:.85rem .75rem 0}.nav-pill{grid-template-columns:1fr auto}.desktop-only{display:none}.mobile-only{display:inline-flex}.nav-logo{font-size:.9rem}}.hero{justify-content:center;align-items:flex-start;min-height:100svh;padding:3rem 1.5rem 2rem;display:flex;position:relative;overflow:clip}.hero-background{pointer-events:none;background:radial-gradient(circle at 20% 20%,#2ecc7114,#0000 20%),radial-gradient(circle at 80% 15%,#00aaff14,#0000 22%),radial-gradient(circle at 50% 100%,#8250ff14,#0000 28%);position:absolute;inset:0}.hero-container{z-index:1;width:100%;max-width:1200px;margin:0 auto;position:relative}.hero-content{text-align:center;max-width:1200px;margin:0 auto}.availability-badge{isolation:isolate;border-radius:999px;align-items:center;gap:.65rem;margin-bottom:1.5rem;padding:.8rem 1.2rem;display:inline-flex;position:relative;overflow:hidden}.availability-badge:before{content:"";border-radius:inherit;z-index:-2;background:conic-gradient(#0000 0deg 300deg,#32d583f2 330deg,#82ffb4a6 345deg,#0000 360deg);animation:2.2s linear infinite spinBorder;position:absolute;inset:-40%}.availability-badge:after{content:"";border-radius:inherit;z-index:-1;background:#0c100ef2;position:absolute;inset:1.5px}.availability-dot{background:#32d583;border-radius:50%;flex-shrink:0;width:.7rem;height:.7rem;animation:1.8s ease-in-out infinite pulseDot;box-shadow:0 0 0 4px #32d58324,0 0 18px #32d583bf}.availability-text{letter-spacing:0;color:#d7ffe8;font-size:.95rem;font-weight:600}.hero-name{letter-spacing:-.05em;text-wrap:balance;-webkit-text-fill-color:transparent;background:linear-gradient(#fff 0%,#d9d9df 55%,#7a7a85 100%);-webkit-background-clip:text;background-clip:text;margin:0 0 1rem;padding-bottom:1rem;font-size:clamp(3.2rem,9vw,7rem);font-weight:800;line-height:.98}.hero-title{letter-spacing:-.03em;color:#fff;margin:0 0 1rem;font-size:clamp(1.8rem,4vw,3.5rem);font-weight:700;line-height:1.05}.hero-tagline{color:#ffffffd1;max-width:760px;margin:0 auto 1.25rem;font-size:clamp(1.08rem,2.1vw,1.45rem);line-height:1.5}.hero-description{max-width:720px;font-size:clamp(1.1rem, 1.7vw 1.12rem);color:#ffffff8f;margin:0 auto 2.5rem;line-height:1.7}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.hero-button{cursor:pointer;border:none;border-radius:16px;align-items:center;gap:.65rem;padding:1rem 1.5rem;font-size:.98rem;font-weight:600;transition:transform .2s,box-shadow .25s,background .25s,border-color .25s;display:inline-flex}.hero-button-primary{color:#050505;background:#fff;box-shadow:0 10px 30px #ffffff14}.hero-button-primary:hover{background:#f2f2f2}.hero-button-secondary{color:#fff;-webkit-backdrop-filter:blur(12px);background:#ffffff0d;border:1px solid #ffffff1a}.hero-button-secondary:hover{background:#ffffff14;border-color:#ffffff29}.hero-scroll-indicator{position:absolute;bottom:7rem;left:50%;transform:translate(-50%)}.scroll-mouse{border:2px solid #ffffff2e;border-radius:999px;justify-content:center;width:1.7rem;height:2.8rem;padding-top:.45rem;display:flex}.scroll-wheel{background:#ffffff73;border-radius:999px;width:.22rem;height:.55rem}@keyframes spinBorder{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@media (width<=768px){.hero{min-height:auto;padding:2rem 1.25rem 3.5rem}.hero-content{max-width:540px;padding:1rem}.availability-badge{margin-bottom:1.5rem;padding:.75rem 1rem}.availability-text{font-size:.88rem}.hero-name{font-size:clamp(2.5rem,12vw,4.4rem);line-height:.98}.hero-title{font-size:clamp(1.5rem,7vw,2.4rem)}.hero-tagline{font-size:1rem}.hero-description{margin-bottom:1.8rem;font-size:.98rem}.hero-actions{flex-direction:column;width:100%}.hero-button{justify-content:center;width:100%;max-width:320px}.hero-scroll-indicator{display:none}}@media (width<=480px){.hero{padding:2rem}.hero-content{padding-top:.75rem}.availability-badge{gap:.55rem}.availability-dot{width:.62rem;height:.62rem}.hero-name{font-size:clamp(2.2rem,13vw,3.5rem)}.hero-tagline{font-size:1.05rem}.hero-description{max-width:30ch}.hero-button{border-radius:14px;padding:.95rem 1.25rem}}.projects{padding:7rem 1.5rem;position:relative;overflow:hidden}.projects-container{z-index:1;width:min(1200px,100%);margin:0 auto;position:relative}.projects-header{text-align:center;max-width:820px;margin:0 auto 3rem}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.project-card{-webkit-backdrop-filter:but(14px);transition:transform .2s ease, border-color .2s ease, background .2 ease;background:#ffffff0b;border:1px solid #ffffff14;border-radius:28px;overflow:hidden}.project-card:hover{background:#ffffff0f;border-color:#32d58342;transform:translateY(-4px)}.project-image-wrap{aspect-ratio:16/9;background:#ffffff09;overflow:hidden}.project-image{object-fit:cover;width:100%;height:100%}.project-content{padding:1.3rem}.project-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-title-row h3{margin:0 0 .3rem;font-size:1.35rem}.project-title-row p{color:#fff9;margin:0}.project-info-button{color:#ffffffd4;cursor:pointer;width:2.35rem;height:2.35rem;transition:background .2s ease, transform .2s ease, color .2 ease;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.project-info-button:hover{color:#fff;background:#32d58321;transform:translateY(-2px)}.project-stack{flex-wrap:wrap;gap:.55rem;margin:1.25rem 0;display:flex}.project-stack span{color:#ffffffc7;background:#ffffff0e;border:1px solid #ffffff14;border-radius:999px;padding:.45rem .65rem;font-size:.82rem}.project-link,.github-link,.modal-link{justify-content:center;align-items:center;gap:.55rem;font-weight:650;text-decoration:none;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.project-link{color:#32d583;padding:.75rem 1rem}.project-link:hover{color:#bebebe;transform:translateY(-2px)}.github-callout{text-align:center;background:linear-gradient(135deg,#fff1,#ffffff06);border:1px solid #ffffff17;border-radius:28px;flex-direction:column;align-items:center;gap:1rem;margin-top:1.25rem;padding:1.35rem;display:flex}.github-callout h3{margin:0}.github-callout p{color:#ffffff9e;max-width:650px}.github-callout img{width:2.3rem;height:2.3rem}.github-link{color:#fff;background:0 0;border:1px solid #ffffff1c;border-radius:24px;flex-shrink:0;padding:.8rem 1rem}.github-link:hover{background:#ffffff0e;transform:translateY(-2px)}.project-modal-backdrop{z-index:2000;-webkit-backdrop-filter:blur(10px);background:#000000b8;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.project-modal{background:radial-gradient(circle at 0 0,#32d58317,#0000 28%),#0c0c10f5;border:1px solid #ffffff1a;border-radius:28px;width:min(640,100%);padding:1.6rem;position:relative;box-shadow:0 24px 80px #00000073}.modal-close{color:#fff;cursor:pointer;background:#ffffff0e;border:1px solid #ffffff17;border-radius:999px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;display:inline-flex;position:absolute;top:1rem;right:1rem}.modal-eyebrow{color:#32d583;text-transform:uppercase;letter-spacing:.14em;margin:0 0 .5rem;font-size:.82rem;font-weight:700}.project-modal h3{letter-spacing:-.04em;margin:0 3rem 1rem 0;font-size:clamp(1.7rem,4vw,2.4rem)}.modal-details p{color:#ffffffad;margin:0 0 1rem;line-height:1.75}.modal-link{color:#9f4ee0;margin-top:.35rem;padding:.75rem 1rem}.modal-link:hover{color:#32d583;transform:translateY(-2px)}@media (width<=850px){.projects{padding:5.5rem 1.25rem}.projects-grid{grid-template-columns:1fr}.github-callout{text-align:center;flex-direction:column}.github-link{width:100%}}@media (width<=520px){.projects{padding:4.5rem 1rem}.projects-header h2{font-size:clamp(2rem,11vw,3rem)}.project-content{padding:1.1rem}.project-title-row{font-size:1.2rem}.project-link{width:100%}.project-modal{border-radius:24px;padding:1.35rem}}.about{text-align:center;justify-self:center;justify-items:center;padding:7rem 1.5rem;position:relative;overflow:hidden}.about-container{z-index:1;width:min(1200px,100%);margin:0 auto;position:relative}.about-header{text-align:center;max-width:820px;margin:0 auto 3rem}.about-main{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:center;gap:4rem;display:grid}.about-copy{max-width:760px}.about-copy p{color:#ffffffad;margin:0 0 1.15rem;font-size:1.05rem;line-height:1.8}.about-status-card{color:#ffffffd4;isolation:isolate;background:0 0;border-radius:18px;align-items:flex-start;gap:.85rem;margin-top:1.75rem;padding:1rem;display:flex;position:relative;overflow:hidden}.about-status-card svg{color:#32d583;flex-shrink:0;margin-top:.15rem}.about-status-card:before{content:"";border-radius:inherit;z-index:-2;background:conic-gradient(#0000 0deg 300deg,#32d583f2 330deg,#82ffb4a6 345deg,#0000 360deg);animation:2.2s linear infinite spinBorder;position:absolute;inset:-40%}.about-status-card:after{content:"";border-radius:inherit;z-index:-1;background:#0c100ef2;position:absolute;inset:1.5px}.about-status-card svg,.about-status-card span{z-index:1;position:relative}.about-visual{justify-self:center;width:100%;max-width:360px}.profile-ring{aspect-ratio:1;background:linear-gradient(#070707,#070707) padding-box padding-box,linear-gradient(135deg,#32d583e6,#6f42c1b3);border:1px solid #0000;border-radius:50%;width:min(320px,76vw);margin:0 auto;padding:4px;box-shadow:0 0 40px #32d5831a,0 0 70px #6f42c129}.profile-image{object-fit:cover;filter:saturate(.92)contrast(1.04);border-radius:50%;width:100%;height:100%}.profile-card{-webkit-backdrop-filter:blur(14px);background:linear-gradient(135deg,#fff1,#ffffff06);border:1px solid #ffffff17;border-radius:22px;margin-top:1.5rem;padding:1.2rem}.profile-card div+div{margin-top:1rem}.profile-label{color:#ffffff75;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.2rem;font-size:.78rem;display:block}.profile-card strong{color:#ffffffe0;font-size:.96rem}.strength-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:4rem;display:grid}.strength-card,.stack-group,.about-stack{-webkit-backdrop-filter:blur(14px);background:#ffffff0a;border:1px solid #ffffff14}.strength-card{border-radius:22px;padding:1.35rem;transition:transform .2s,border-color .2s,background .2s}.strength-card:hover{background:#ffffff0f;border-color:#32d58347;transform:translateY(-3px)}.strength-card svg{color:#32d583;margin-bottom:1rem}.strength-card h3{margin:0 0 .55rem;font-size:1.05rem}.strength-card p{color:#ffffff94;margin:0;line-height:1.65}.about-stack{border-radius:26px;margin-top:3rem;padding:1.5rem}.stack-heading{text-align:center;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.2rem;display:flex}.stack-heading svg{color:#32d583}.stack-heading h3{margin:0;font-size:1.2rem}.stack-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.stack-group{border-radius:20px;padding:1.15rem}.stack-group h4{color:#ffffffeb;margin:0 0 .85rem}.skill-list{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}.skill-list span{color:#ffffffc7;border:1px solid #ffffff14;border-radius:999px;padding:.45rem .65rem;font-size:.83rem}@media (width<=900px){.about{padding:5.5rem 1.25rem}.about-main{grid-template-columns:1fr;gap:3rem}.about-header{margin-bottom:2.5rem}.about-visual{max-width:420px}.strength-grid,.stack-grid{grid-template-columns:1fr}}@media (width<=520px){.about{padding:4.5rem 1rem}.about-header h2{font-size:clamp(2rem,11vw,3rem)}.about-copy p{font-size:.98rem}.about-status-card{flex-direction:column;align-items:center}.profile-ring{width:min(260px,72vw)}.strength-grid{margin-top:3rem}.stack-heading{flex-direction:column;gap:.5rem}.stack-heading h3{white-space:nowrap;font-size:clamp(1.2rem,4vw,1.5rem)}}.contact{padding:7rem 1.5rem;position:relative;overflow:hidden}.contact-container{z-index:1;width:min (1200px, 100%);margin:0 auto;position:relative}.contact-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:stretch;gap:1.25rem;display:grid}.contact-form,.contact-card{-webkit-backdrop-filter:blur(14px);background:#ffffff0b;border:1px solid #ffffff14;border-radius:28px;box-shadow:0 20px 60px #0000003d}.contact-form{padding:1.4rem}.form-row{grid-template-columns:repeat(2,1fr);gap:.9rem;display:grid}.contact-form label{color:#ffffffc7;flex-direction:column;gap:.45rem;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:flex}.contact-form input,.contact-form textarea{color:#fff;resize:vertical;width:100%;transition:border-color .2s ease, background .2s ease box-shadow .2s ease;background:#0000003d;border:1px solid #ffffff17;border-radius:16px;outline:none;padding:.9rem 1rem}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff57}.contact-form input:focus,.contact-form textarea:focus{background:#00000057;border-color:#32d58380;box-shadow:0 0 0 4px #32d58314}.contact-submit{color:#050505;cursor:pointer;width:100%;transition:transform .2s ease background .2s ease;background:#fff;border:none;border-radius:16px;justify-content:center;align-items:center;gap:.6rem;margin-top:.35rem;padding:1rem 1.25rem;font-weight:700;display:inline-flex}.contact-submit:hover{background:#32d583;transform:translateY(-2px)}.contact-status{color:#d7ffe8;margin:1rem 0 0;font-size:.92rem;line-height:1.6}.contact-card{text-align:center;flex-direction:column;align-items:center;padding:1.4rem;display:flex}.contact-card-icon{color:#32d583;background:#32d5831a;border:1px solid #32d58333;border-radius:999px;justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:1.25rem;display:inline-flex}.contact-card h3{margin:0 0 .6rem;font-size:1.45rem}.contact-card p{color:#ffffff9e;margin:0 0 1.25rem;line-height:1.7}.direct-email-link{color:#fff;word-break:break-word;background:#ffffff0e;border:1px solid #ffffff17;border-radius:16px;padding:.9rem 1rem;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s,color .2s}.direct-email-link:hover{color:#32d583;background:#ffffff17;border-color:#32d5834d;transform:translateY(-2px)}.contact-socials{justify-content:center;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.contact-socials-img{object-fit:contain;width:1.25rem;height:1.25rem;display:block}.contact-socials a{color:#ffffff0e;border-radius:999px;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;transition:transform .2s,background .2s,color .2s;display:inline-flex}.contact-socials a:hover{color:#fff;background:#ffffff17;transform:translateY(-2px)}.contact-note{color:#ffffff8a;flex-direction:column;gap:.35px;margin-top:auto;padding-top:1.5rem;line-height:1.6;display:flex}.contact-note strong{color:#ffffffd1}.honeypot{opacity:0;pointer-events:none;position:absolute;left:-999px}.turnstile-wrap{justify-content:center;margin:.5rem 0 1rem;display:flex}.contact-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=850px){.contact{padding:5.5rem 1.25rem}.contact-grid{grid-template-columns:1fr}}@media (width<=520px){.contact{padding:4.5rem 1rem}.contact-header{font-size:clamp(2rem,11vw,3rem)}.form-row{grid-template-columns:1fr;gap:0}.contact-form,.contact-card{border-radius:24px;padding:1.1rem}}.footer{background:#00000038;border-top:1px solid #ffffff14;padding:3rem 1.5rem 2rem;position:relative}.footer-content{text-align:center;flex-direction:column;align-items:center;width:min(1200px,100%);margin:0 auto;display:flex}.footer-logo{color:#fff;letter-spacing:.16em;margin-bottom:1.25rem;font-size:1.1rem;font-weight:800;text-decoration:none}.footer-links{flex-wrap:wrap;justify-content:center;gap:1.25rem;margin-bottom:1.25rem;display:flex}.footer-links a,.footer-email{color:#ffffffad;transition:color .2 ease, transform .2s ease;text-decoration:none}.footer-links a:hover,.footer-email:hover{color:#fff;background:#ffffff17;transform:translateY(-1px)}.footer-contact{word-break:break-word;justify-content:center;align-items:center;gap:.5rem;display:flex}.footer-socials{justify-content:center;align-items:center;gap:.75rem;display:flex}.footer-social-link{color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:background .2s,color .2s,transform .2s;display:inline-flex}.footer-social-link:hover{background:#ffffff17;transform:translateY(-2px)}.footer-socials img{object-fit:contain;width:1.15rem;height:1.15rem}.linkedin-logo{width:1rem!important;height:1rem!important}.footer-copy{color:#ffffff70;text-align:center;margin-top:1rem;font-size:.9rem}@media (width<=520px){.footer{padding:2.5rem 1rem 1.75rem}.footer-links{gap:1rem}.footer-email{font-size:.9rem}}
