*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;tab-size:4}body{color:#fafafa;-webkit-font-smoothing:antialiased;background:#0f0f10;font:.875rem/1.7 JetBrains Mono,monospace;overflow-x:hidden}body.menu-open{overflow:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:0}h1,h2,h3,h4{letter-spacing:-.02em;overflow-wrap:break-word;font-family:Space Grotesk,sans-serif;font-weight:700;line-height:1.15}:focus-visible{outline-offset:3px;outline:2px solid #8b5cf6}.skip-link{z-index:9999;color:#fafafa;background:#8b5cf6;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;transition:top .15s;position:absolute;top:-100%;left:1rem}.skip-link:focus{top:.5rem}.container{width:100%;max-width:1440px;margin-inline:auto;padding-inline:1.25rem}.section-label{color:#8b5cf6;letter-spacing:.1875rem;text-transform:uppercase;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;display:inline-flex}.btn{color:#fafafa;letter-spacing:.02em;white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.8125rem;font-weight:600;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn--primary{background:#8b5cf6}.btn--primary:hover,.btn--primary:focus-visible{background:#a78bfa}.btn--secondary{border:1px solid #27272a}.btn--secondary:hover,.btn--secondary:focus-visible{color:#8b5cf6;border-color:#8b5cf6}.btn--full{text-align:center;width:100%}.header{z-index:100;background:#0f0f10;border-bottom:1px solid #27272a;position:sticky;top:0}.header__inner{justify-content:space-between;align-items:center;padding-block:1.25rem;display:flex}.header__logo{background:#18181b;padding:.625rem 1rem;transition:opacity .15s;display:inline-flex}.header__logo:hover{opacity:.85}.header__logo .logo__text,.header__nav,.header__cta{display:none}.header__nav-list{align-items:center;gap:2rem;display:flex}.header__nav-link{color:#a1a1aa;font-size:.8125rem;transition:color .15s}.header__nav-link:hover,.header__nav-link:focus-visible{color:#fafafa}.header__hamburger{color:#fafafa;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:color .15s;display:flex}.header__hamburger:hover,.header__hamburger:focus-visible{color:#8b5cf6}.logo{align-items:center;gap:.5rem;display:inline-flex}.logo__icon{color:#8b5cf6;font-size:1rem;font-weight:700;line-height:1}.logo__text{color:#fafafa;letter-spacing:.1875rem;font-size:.75rem;font-weight:700}.page__back-link{color:#71717a;font-size:.8125rem;transition:color .15s}.page__back-link:hover,.page__back-link:focus-visible{color:#fafafa}.menu-overlay{z-index:99;visibility:hidden;opacity:0;background:#0f0f10;flex-direction:column;padding:0 1.25rem 2rem;transition:transform .3s,visibility .3s,opacity .3s;display:flex;position:fixed;inset:0;transform:translate(100%)}.menu-overlay[aria-hidden=false],.menu-overlay--open{visibility:visible;opacity:1;transform:translate(0)}.menu-overlay__nav{flex:1;padding-top:5rem}.menu-overlay__item{border-top:1px solid #27272a}.menu-overlay__item:last-child{border-bottom:1px solid #27272a}.menu-overlay__link{color:#fafafa;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem;transition:color .15s;display:flex}.menu-overlay__link:hover,.menu-overlay__link:focus-visible{color:#8b5cf6}.menu-overlay__num{color:#52525b;min-width:1.5rem;font-size:.75rem;font-weight:600}.menu-overlay__label{letter-spacing:.1875rem;flex:1;font-size:.8125rem;font-weight:600}.menu-overlay__arrow{color:#52525b;flex-shrink:0;transition:transform .15s,color .15s}.menu-overlay__link:hover .menu-overlay__arrow,.menu-overlay__link:focus-visible .menu-overlay__arrow{color:#8b5cf6;transform:translate(4px)}.menu-overlay__footer{flex-direction:column;gap:1.25rem;display:flex}.menu-overlay__meta{border-top:1px solid #27272a;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem;display:flex}.menu-overlay__meta span{color:#52525b;letter-spacing:.03125rem;font-size:.625rem}.hero{background:linear-gradient(#0f0f10 0%,#18181b 60%,#1a1a1f 100%);position:relative;overflow:hidden}.hero__network{pointer-events:none;opacity:.4;width:100%;height:100%;position:absolute;inset:0}.hero__network-lines{fill:none;stroke:#8b5cf66b;stroke-width:1px;stroke-linecap:round}.hero__network-nodes{fill:#8b5cf6}.hero__network-node{transform-box:fill-box;transform-origin:50%;animation:5s ease-in-out infinite heroNetworkPulse}.hero__network-node--delay{animation-delay:-2.5s}.hero__network-packets{fill:#f5f3ff;filter:drop-shadow(0 0 4px #ddd6fef2)}.hero__network-packet{opacity:.95}.hero__inner{z-index:1;padding-block:3rem;position:relative}.hero__badge{border:1px solid #27272a;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.375rem .875rem;display:inline-flex}.hero__badge-dot{background:#22c55e;border-radius:50%;width:.375rem;height:.375rem}.hero__badge-text{color:#a1a1aa;letter-spacing:.125rem;text-transform:uppercase;font-size:.625rem;font-weight:600}.hero__headline{margin-bottom:1.25rem}.hero__h1{flex-direction:column;gap:.25rem;font-size:1.75rem;display:flex}.hero__h1-line1{color:#fafafa}.hero__h1-line2{color:#8b5cf6}.hero__sub{color:#a1a1aa;max-width:19rem;margin-bottom:1.75rem}.hero__br{display:none}.hero__cta-row{flex-direction:column;gap:.75rem;display:flex}.hero__cta-row .btn{width:100%}.services,.tech-stack,.page-content,.not-found{background:#18181b}.services__inner,.about__inner,.tech-stack__inner{padding-block:3rem}.services__header,.about__header,.tech-stack__header{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.services__title,.about__title,.tech-stack__title,.contact__title{color:#fafafa;font-size:1.75rem}.services__subtitle{color:#71717a;max-width:40.625rem}.services__br{display:none}.services__grid{grid-template-columns:1fr;gap:1rem;display:grid}.service-card{background:#0f0f10;border:1px solid #27272a;flex-direction:column;gap:1rem;padding:1.5rem;transition:border-color .15s;display:flex}.service-card:hover{border-color:#8b5cf666}.service-card--wide{border-color:#8b5cf62e;grid-column:1/-1}.service-card--wide:hover{border-color:#8b5cf680}.service-card__icon{color:#8b5cf6;align-items:center;width:1.75rem;height:1.75rem;display:flex}.service-card__title{color:#fafafa;font-size:1.125rem}.service-card__desc{color:#71717a;font-size:.8125rem}.about{background:#0f0f10}.about__content{grid-template-columns:1fr;gap:2.5rem;display:grid}.about__bio-col,.about__timeline-col{flex-direction:column;gap:1.5rem;display:flex}.about__bio{color:#a1a1aa}.about__sub-title,.tech-card__category{color:#8b5cf6;letter-spacing:.125rem;text-transform:uppercase;font:700 .625rem/1.5 JetBrains Mono,monospace}.about__edu-list{flex-direction:column;gap:.75rem;display:flex}.about__edu-item{flex-direction:column;gap:.25rem;display:flex}.about__edu-degree{color:#71717a;font-size:.8125rem}.about__edu-detail{color:#52525b;font-size:.75rem}.about__timeline{flex-direction:column;margin-top:1.5rem;display:flex}.about__timeline-item{border-top:1px solid #27272a;align-items:flex-start;gap:1.25rem;padding-block:1.25rem;display:flex}.about__timeline-item:last-child{border-bottom:1px solid #27272a}.about__timeline-year{color:#71717a;white-space:nowrap;flex-shrink:0;min-width:5.5rem;font-size:.75rem;font-weight:600}.about__timeline-year--current{color:#8b5cf6}.about__timeline-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.about__timeline-role{color:#fafafa;font-size:.8125rem;font-weight:600}.about__timeline-company{color:#71717a;font-size:.75rem}.tech-stack__grid{grid-template-columns:1fr;gap:.75rem;display:grid}.tech-card{background:#0f0f10;border:1px solid #27272a;flex-direction:column;gap:.625rem;padding:1rem;transition:border-color .15s;display:flex}.tech-card:hover{border-color:#8b5cf64d}.tech-card__list{flex-direction:column;gap:.375rem;display:flex}.tech-card__list li{color:#a1a1aa;font-size:.8125rem}.contact{background:linear-gradient(#0f0f10 0%,#141415 50%,#18181b 100%)}.contact__inner{flex-direction:column;align-items:flex-start;gap:1.25rem;padding-block:3rem;display:flex}.contact__sub{color:#a1a1aa;max-width:18.75rem}.contact__br{display:none}.contact__cta-row{flex-direction:column;gap:.75rem;width:100%;display:flex}.contact__cta-row .btn{width:100%}.footer{background:#0f0f10;border-top:1px solid #27272a}.footer__inner{padding-block:2rem}.footer__top{flex-direction:column;gap:1.5rem;margin-bottom:1.5rem;display:flex}.footer__brand{flex-direction:column;gap:.375rem;display:flex}.footer__logo{color:#fafafa;letter-spacing:.125rem;text-transform:uppercase;font-size:.8125rem;font-weight:700;display:inline-flex}.footer__logo .logo__text,.footer__logo .logo__icon{font-size:.8125rem}.footer__tagline{color:#52525b;font-size:.75rem}.footer__nav{margin-top:.25rem}.footer__nav-list{flex-wrap:wrap;gap:1.25rem;display:flex}.footer__nav-link{color:#71717a;letter-spacing:.125rem;text-transform:uppercase;font-size:.625rem;transition:color .15s}.footer__nav-link:hover,.footer__nav-link:focus-visible{color:#fafafa}.footer__bottom{border-top:1px solid #27272a;flex-direction:column;gap:.375rem;padding-top:1.25rem;display:flex}.footer__copy,.footer__made{color:#52525b;letter-spacing:.03125rem;text-transform:uppercase;font-size:.625rem}.page-content__inner{padding-block:5rem}.page-content__heading{flex-direction:column;gap:.75rem;margin-bottom:2.5rem;display:flex}.page-content__title{color:#fafafa;font-size:1.75rem}.page-content__subtitle{color:#71717a;font-size:.8125rem}.page-content__divider{border:0;border-top:1px solid #27272a;margin-bottom:3rem}.page-content__grid{grid-template-columns:1fr;gap:3rem;display:grid}.page-content__col{flex-direction:column;gap:2.5rem;display:flex}.page-content__block{flex-direction:column;gap:.5rem;display:flex}.page-content__block-heading{color:#fafafa;font-size:1.125rem}.page-content__block-text{color:#a1a1aa}.page-content__block-text a{color:#8b5cf6;transition:color .15s}.page-content__block-text :deep(a){color:#8b5cf6;transition:color .15s}.page-content__block-text a:hover,.page-content__block-text a:focus-visible{color:#a78bfa}.page-content__block-text :deep(a):hover{color:#a78bfa}.page-content__block-text :deep(a):focus-visible{color:#a78bfa}.not-found{min-height:calc(100vh - 271px)}.not-found__inner{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding-block:6rem;display:flex}.not-found__code{color:#8b5cf6;opacity:.15;-webkit-user-select:none;user-select:none;font-size:clamp(6rem,20vw,12rem);font-weight:700;line-height:1}.not-found__title{color:#fafafa;font-size:1.75rem}.not-found__subtitle{color:#71717a;max-width:36ch}@keyframes menuItemIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.menu-overlay--open .menu-overlay__item{animation:.3s both menuItemIn}.menu-overlay--open .menu-overlay__item:first-child{animation-delay:60ms}.menu-overlay--open .menu-overlay__item:nth-child(2){animation-delay:.12s}.menu-overlay--open .menu-overlay__item:nth-child(3){animation-delay:.18s}.menu-overlay--open .menu-overlay__item:nth-child(4){animation-delay:.24s}.menu-overlay--open .menu-overlay__footer{animation:.3s .3s both menuItemIn}@keyframes heroNetworkPulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:.9;transform:scale(1.25)}}@media (width>=768px){.container{padding-inline:2rem}.header__logo .logo__text{display:inline}.hero__inner{padding-block:4rem}.hero__badge{margin-bottom:2rem}.hero__h1{font-size:2.5rem}.hero__sub{max-width:37.5rem;margin-bottom:2rem}.hero__br,.contact__br{display:inline}.hero__cta-row,.contact__cta-row{flex-direction:row;align-items:center;gap:1rem;width:auto}.hero__cta-row .btn,.contact__cta-row .btn{width:auto}.services__inner,.about__inner,.tech-stack__inner{padding-block:4rem}.services__header,.about__header,.tech-stack__header{gap:1rem;margin-bottom:2.5rem}.services__grid{grid-template-columns:repeat(2,1fr)}.about__content{grid-template-columns:repeat(2,1fr);gap:4rem}.tech-stack__grid{grid-template-columns:repeat(2,1fr);gap:1rem}.contact__inner{gap:1.5rem;padding-block:4rem}.footer__inner{padding-block:1.75rem 1.25rem}.footer__top{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:2rem}.footer__bottom{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.menu-overlay{padding-inline:2rem;padding-bottom:3rem}.menu-overlay__nav{padding-top:6rem}.menu-overlay__link{padding-block:1.5rem}.page-content__inner{padding-block:6rem}.page-content__title,.not-found__title{font-size:2.5rem}.not-found__inner{gap:2rem;padding-block:8rem}}@media (width>=1024px){.container{padding-inline:3rem}.header__nav,.header__cta{display:block}.header__cta{display:inline-flex}.header__hamburger{display:none}.hero__inner{padding-block:7.5rem}.hero__h1{font-size:3.5rem}.hero__sub{max-width:43.75rem}.services__inner,.about__inner,.tech-stack__inner{padding-block:6.25rem}.services__header,.about__header,.tech-stack__header{margin-bottom:4rem}.services__title,.about__title,.tech-stack__title,.contact__title{font-size:2.5rem}.services__subtitle .services__br{display:inline}.services__grid{gap:1.5rem}.service-card{gap:1.25rem;padding:2rem}.service-card__title{font-size:1.25rem}.tech-stack__grid{grid-template-columns:repeat(4,1fr);gap:1.5rem}.tech-card{gap:1rem;padding:1.75rem}.contact__inner{gap:2rem;padding-block:6.25rem}.contact__sub{max-width:37.5rem}.footer__inner{padding-block:2.5rem 1.5rem}.footer__nav-list{gap:2rem}.page-content__grid{grid-template-columns:1fr 1fr;gap:5rem}.page-content__title{font-size:3rem}.page-content__block-heading{font-size:1.25rem}.menu-overlay{display:none!important}}@media (width>=1440px){.container{padding-inline:5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.hero__network{opacity:.2}.hero__network-packets{display:none}}
