@import url(https://fonts.googleapis.com/css2?family=Geist:wght@400;800&family=JetBrains+Mono:wght@400;500;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background:#09090b;min-height:100vh}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loader-screen{background:#000;color:#f5f7fa;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh}.loader-screen,.loader-text{align-items:center;display:flex;justify-content:center}.loader-text{animation:fade-text .5s ease-in-out;color:#60a5fa;font-size:clamp(1.8rem,3vw,3rem);font-weight:700;letter-spacing:.08em;min-height:2.5rem;min-width:140px;text-transform:none}.hero-section{align-items:center;background:#09090b;box-sizing:border-box;color:#f4f4f5;display:flex;justify-content:center;min-height:100vh;padding:120px}.hero-content{display:flex;flex-direction:column;gap:32px;width:min(100%,1200px)}.hero-actions,.hero-header-block{align-items:flex-start;display:flex;flex-direction:column}.hero-header-block{gap:16px}.hero-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;letter-spacing:0;text-transform:uppercase}.hero-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.hero-header-block h1{color:#f4f4f5;font:800 clamp(48px,5vw,72px)/normal Geist,sans-serif;letter-spacing:0;margin:0}.hero-role{color:#60a5fa;font:700 24px/normal JetBrains Mono,monospace;letter-spacing:0;margin:0}.hero-description{color:#a1a1aa;font:400 18px/1.6 Geist,sans-serif;letter-spacing:0;margin:0;max-width:800px}.hero-actions{gap:16px}.hero-actions-label{color:#71717a;font:400 12px/normal JetBrains Mono,monospace;letter-spacing:0;margin:0;text-transform:uppercase}.hero-links{display:flex;flex-wrap:wrap;gap:12px}.hero-link{align-items:center;background:#121215;border:1px solid #27272a;border-radius:8px;box-sizing:border-box;color:#a1a1aa;display:inline-flex;font:500 13px/normal JetBrains Mono,monospace;gap:8px;letter-spacing:0;min-height:40px;padding:10px 16px;text-decoration:none;transition:border-color .16s ease,color .16s ease,background .16s ease}.hero-link:focus-visible,.hero-link:hover{background:#18181b;border-color:#3b82f6;color:#f4f4f5;outline:none}.hero-link img{flex:0 0 14px;height:14px;width:14px}.about-section{background:#0a0a0b;border-bottom:1px solid #27272a;border-top:1px solid #27272a;box-sizing:border-box;color:#f4f4f5;padding:100px 120px}.about-wrapper{align-items:flex-start;display:flex;gap:80px;margin:0 auto;width:min(100%,1200px)}.about-left{flex:1 1;gap:24px;min-width:0}.about-header,.about-left{display:flex;flex-direction:column}.about-header{align-items:flex-start;gap:12px}.about-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;text-transform:uppercase}.about-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.about-header h2{color:#f4f4f5;font:700 40px/normal Geist,sans-serif;margin:0}.about-underline{display:block;height:2px;width:80px}.about-copy,.about-lead{color:#a1a1aa;font-family:Geist,sans-serif;margin:0}.about-lead{font-size:18px;line-height:1.7}.about-copy{font-size:16px;line-height:1.6}.education-card{background:#121215;border:1px solid #27272a;border-radius:16px;box-sizing:border-box;display:flex;flex:0 0 480px;flex-direction:column;gap:24px;padding:32px;width:480px}.education-card h3{color:#60a5fa;font:700 14px/normal JetBrains Mono,monospace;margin:0;text-transform:uppercase}.education-list{gap:20px}.education-item,.education-list{display:flex;flex-direction:column}.education-item{gap:6px}.education-meta{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.education-meta strong{color:#f4f4f5;font:700 16px/normal Geist,sans-serif}.education-meta span{color:#3b82f6;font:400 12px/normal JetBrains Mono,monospace;white-space:nowrap}.education-item p,.education-item small{font-family:Geist,sans-serif;margin:0}.education-item p{color:#a1a1aa;font-size:14px;line-height:normal}.education-item small{color:#71717a;font:400 12px/normal JetBrains Mono,monospace}.education-divider{display:block;height:1px;width:100%}.experience-section{background:#09090b;box-sizing:border-box;color:#f4f4f5;padding:100px 120px}.experience-content{gap:40px;margin:0 auto;width:min(100%,1200px)}.experience-content,.experience-header{align-items:flex-start;display:flex;flex-direction:column}.experience-header{gap:12px;width:100%}.experience-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;text-transform:uppercase}.experience-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.experience-header h2{color:#f4f4f5;font:700 40px/normal Geist,sans-serif;margin:0}.experience-underline{display:block;height:2px;width:80px}.experience-card{background:#121215;border:1px solid #27272a;border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:24px;padding:32px;width:100%}.experience-card-meta{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;width:100%}.experience-role-company{display:flex;flex-direction:column;gap:4px}.experience-role-company h3{color:#f4f4f5;font:700 22px/normal Geist,sans-serif;margin:0}.experience-company-row{align-items:center;color:#71717a;display:flex;font:400 14px/normal Geist,sans-serif;gap:8px}.experience-company-row span:first-child{color:#60a5fa;font-size:16px;font-weight:500}.experience-duration{background:#3b82f61f;border:1px solid #3b82f6;border-radius:6px;color:#60a5fa;flex-shrink:0;font:700 12px/normal JetBrains Mono,monospace;padding:6px 12px;white-space:nowrap}.experience-bullets{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0;width:100%}.experience-bullets li{align-items:flex-start;display:flex;gap:12px}.experience-bullet-dot{background:#3b82f6;border-radius:2px;flex:0 0 4px;height:4px;margin:8px 6px;width:4px}.experience-bullets p{color:#a1a1aa;flex:1 1;font:400 15px/1.6 Geist,sans-serif;margin:0;min-width:0}.experience-technologies{display:flex;flex-wrap:wrap;gap:8px;width:100%}.experience-tech-pill{background:#0a0a0b;border:1px solid #27272a;border-radius:6px;color:#71717a;font:400 11px/normal JetBrains Mono,monospace;padding:6px 10px}.projects-section{background:#0a0a0b;border-bottom:1px solid #27272a;border-top:1px solid #27272a;box-sizing:border-box;color:#f4f4f5;padding:100px 120px}.projects-content{gap:40px;margin:0 auto;width:min(100%,1200px)}.projects-content,.projects-header{align-items:flex-start;display:flex;flex-direction:column}.projects-header{gap:12px;width:100%}.projects-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;text-transform:uppercase}.projects-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.projects-header h2{color:#f4f4f5;font:700 40px/normal Geist,sans-serif;margin:0}.projects-underline{display:block;height:2px;width:80px}.projects-cards-row{align-items:stretch;display:flex;gap:24px;width:100%}.project-card{align-items:flex-start;background:#121215;border:1px solid #27272a;border-radius:16px;box-sizing:border-box;color:inherit;display:flex;flex:1 1;flex-direction:column;gap:28px;justify-content:space-between;min-width:0;padding:28px;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}.project-card:focus-visible,.project-card:hover{background:#151519;border-color:#3b82f6;outline:none;transform:translateY(-3px)}.project-card-footer,.project-card-top{width:100%}.project-card-top{display:flex;flex-direction:column;gap:16px}.project-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.project-folder-icon{display:block;height:20px;width:20px}.project-date{color:#71717a;font:400 12px/normal JetBrains Mono,monospace;white-space:nowrap}.project-title-description{display:flex;flex-direction:column;gap:12px}.project-title-description h3{color:#f4f4f5;font:700 20px/normal Geist,sans-serif;margin:0}.project-title-description p{-webkit-box-orient:vertical;-webkit-line-clamp:4;color:#a1a1aa;display:-webkit-box;font:400 14px/1.5 Geist,sans-serif;margin:0;overflow:hidden}.project-card-footer{display:flex;flex-direction:column;gap:16px;padding-top:20px}.project-card-divider{display:block;height:1px;width:100%}.project-tags{display:flex;flex-wrap:wrap;gap:6px}.project-tags span{background:#3b82f61f;border-radius:4px;color:#60a5fa;font:500 11px/normal JetBrains Mono,monospace;padding:4px 8px}.skills-section{background:#09090b;box-sizing:border-box;color:#f4f4f5;padding:100px 120px}.skills-content{gap:40px;margin:0 auto;width:min(100%,1200px)}.skills-content,.skills-header{align-items:flex-start;display:flex;flex-direction:column}.skills-header{gap:12px;width:100%}.skills-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;text-transform:uppercase}.skills-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.skills-header h2{color:#f4f4f5;font:700 40px/normal Geist,sans-serif;margin:0}.skills-underline{display:block;height:2px;width:80px}.skills-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,auto));width:100%}.skill-group{align-items:flex-start;background:#121215;border:1px solid #27272a;border-radius:12px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;min-height:124px;min-width:0;padding:24px}.skill-group h3{color:#f4f4f5;font:600 16px/normal Geist,sans-serif;margin:0;width:100%}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{background:#0a0a0b;border:1px solid #27272a;border-radius:6px;color:#a1a1aa;font:400 12px/normal JetBrains Mono,monospace;padding:6px 12px;white-space:nowrap}.certifications-section{background:#0a0a0b;border-bottom:1px solid #27272a;border-top:1px solid #27272a;box-sizing:border-box;color:#f4f4f5;padding:100px 120px}.certifications-content{gap:40px;margin:0 auto;width:min(100%,1200px)}.certifications-content,.certifications-header{align-items:flex-start;display:flex;flex-direction:column}.certifications-header{gap:12px;width:100%}.certifications-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;text-transform:uppercase}.certifications-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.certifications-header h2{color:#f4f4f5;font:700 40px/normal Geist,sans-serif;margin:0}.certifications-underline{display:block;height:2px;width:80px}.certifications-list{display:flex;flex-direction:column;gap:16px;width:100%}.certification-item{align-items:center;background:#121215;border:1px solid #27272a;border-radius:12px;box-sizing:border-box;color:inherit;display:flex;gap:24px;justify-content:space-between;min-width:0;padding:24px;text-decoration:none;transition:border-color .16s ease,background .16s ease;width:100%}.certification-item:focus-visible,.certification-item:hover{background:#0f0f13;border-color:#3b82f6;outline:none}.certification-info{align-items:center;display:flex;gap:16px;min-width:0}.certification-icon-wrap{align-items:center;background:#3b82f61f;border-radius:8px;display:flex;flex:0 0 40px;height:40px;justify-content:center;width:40px}.certification-icon-wrap img{height:20px;width:20px}.certification-title-issuer{display:flex;flex-direction:column;gap:4px;min-width:0}.certification-title-issuer h3,.certification-title-issuer p{margin:0;overflow-wrap:anywhere}.certification-title-issuer h3{color:#f4f4f5;font:700 16px/normal Geist,sans-serif}.certification-title-issuer p{color:#a1a1aa;font:400 13px/normal Geist,sans-serif}.certification-year{background:#121215;border-radius:6px;color:#71717a;flex-shrink:0;font:400 12px/normal JetBrains Mono,monospace;padding:6px 12px}.footer-section{background:#09090b;box-sizing:border-box;color:#f4f4f5;padding:120px 120px 40px}.footer-content{gap:48px;margin:0 auto;width:min(100%,1200px)}.footer-content,.footer-cta-block{align-items:center;display:flex;flex-direction:column}.footer-cta-block{gap:24px;text-align:center;width:100%}.footer-kicker{align-items:center;color:#60a5fa;display:flex;font:500 12px/normal JetBrains Mono,monospace;gap:8px;text-transform:uppercase}.footer-kicker-dot{background:#3b82f6;border-radius:3px;flex:0 0 6px;height:6px;width:6px}.footer-cta-block h2{color:#f4f4f5;font:800 48px/normal Geist,sans-serif;margin:0;max-width:100%}.footer-cta-block p{color:#a1a1aa;font:400 16px/normal Geist,sans-serif;margin:0;max-width:600px}.footer-email-button{align-items:center;background:#3b82f6;border-radius:8px;color:#fff;display:inline-flex;font:600 15px/normal Geist,sans-serif;gap:10px;padding:14px 28px;text-decoration:none;transition:background .16s ease,transform .16s ease}.footer-email-button:focus-visible,.footer-email-button:hover{background:#2563eb;outline:none;transform:translateY(-2px)}.footer-email-button img{height:16px;width:16px}.footer-divider{display:block;height:1px;width:100%}.footer-bottom-row{align-items:center;display:flex;gap:24px;justify-content:space-between;width:100%}.footer-credit{display:flex;flex-direction:column;gap:4px}.footer-credit p{color:#71717a;font:400 14px/normal Geist,sans-serif;margin:0}.footer-credit p:last-child{color:#52525b;font-size:12px}.footer-social-links{align-items:flex-start;display:flex;gap:16px}.footer-social-links a{align-items:center;background:#121215;border:1px solid #27272a;border-radius:8px;color:#a1a1aa;display:inline-flex;font:500 13px/normal JetBrains Mono,monospace;gap:8px;padding:10px 16px;text-decoration:none;transition:border-color .16s ease,color .16s ease}.footer-social-links a:focus-visible,.footer-social-links a:hover{border-color:#3b82f6;color:#f4f4f5;outline:none}.footer-social-links img{height:14px;width:14px}@media (max-width:760px){.hero-section{min-height:auto;padding:96px 24px 72px}.hero-header-block h1{font-size:clamp(42px,12vw,64px)}.hero-role{font-size:18px;line-height:1.45}.hero-description{font-size:16px}.hero-link{max-width:100%}.about-section{padding:72px 24px}.about-wrapper{flex-direction:column;gap:48px}.about-header h2{font-size:32px}.education-card{flex-basis:auto;padding:24px;width:100%}.experience-section{padding:72px 24px}.experience-header h2{font-size:32px}.experience-card{padding:24px}.experience-card-meta{flex-direction:column;gap:16px}.experience-duration{white-space:normal}.projects-section{padding:72px 24px}.projects-header h2{font-size:32px}.projects-cards-row{flex-direction:column}.project-card{flex-basis:auto;padding:24px;width:100%}.skills-section{padding:72px 24px}.skills-header h2{font-size:32px}.skills-grid{grid-template-columns:1fr}.certifications-section{padding:72px 24px}.certifications-header h2{font-size:32px}.certification-item{align-items:flex-start;flex-direction:column;padding:20px}.certification-year{margin-left:56px}.footer-section{padding:88px 24px 32px}.footer-cta-block h2{font-size:36px}.footer-email-button{max-width:100%;overflow-wrap:anywhere;text-align:left}.footer-bottom-row{align-items:flex-start;flex-direction:column}.footer-social-links{flex-wrap:wrap}}@keyframes fade-text{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes section-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes item-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero-content{animation:section-reveal .7s ease-out both}.about-wrapper,.certifications-content,.experience-content,.footer-content,.projects-content,.skills-content{animation:section-reveal .7s ease-out .12s both}.certification-item,.education-card,.experience-card,.project-card,.skill-group{animation:item-reveal .55s ease-out both}.certification-item:nth-child(2),.project-card:nth-child(2),.skill-group:nth-child(2){animation-delay:90ms}.project-card:nth-child(3),.skill-group:nth-child(3){animation-delay:.18s}.skill-group:nth-child(4){animation-delay:.27s}.skill-group:nth-child(5){animation-delay:.36s}.skill-group:nth-child(6){animation-delay:.45s}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
/*# sourceMappingURL=main.78183703.css.map*/