@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}:root{--foreground:#fff;--background:#0a0a0a;--gray-300:#d1d5db;--logo-drawing-speed:1.5s;--logo-path-1-length:80;--logo-path-2-length:9;--logo-path-3-length:24;--logo-path-4-length:26}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body,html{height:auto;width:100%;overflow-x:hidden;background-color:#000}body{color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative}.min-h-screen,body{min-height:100vh}.relative{position:relative}.fixed{position:fixed}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.z-10{z-index:10}.z-50{z-index:50}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}.object-contain{object-fit:contain}.overflow-hidden{overflow:hidden}.transition-opacity{transition:opacity .5s ease}.opacity-100{opacity:1}.opacity-0{opacity:0}.pointer-events-none{pointer-events:none}.background-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1}.section-padding{padding:5rem 1.5rem}.container{width:100%;padding-left:1.5rem;padding-right:1.5rem}.container,.container-sm{margin-left:auto;margin-right:auto}.container-sm{max-width:56rem}.container-lg{max-width:72rem;margin-left:auto;margin-right:auto}.section-title{font-size:3rem;font-weight:700;line-height:1}.section-subtitle,.section-title{color:#fff;text-align:center;margin-bottom:3rem}.section-subtitle{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}@media (min-width:768px){.section-title{font-size:3.75rem}}.navbar{position:fixed;top:0;left:0;right:0;z-index:50;background-color:transparent;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.navbar-content{padding-top:1rem;padding-bottom:1rem;justify-content:space-between}.navbar-brand,.navbar-content{display:flex;align-items:center}.navbar-brand{gap:.75rem}.logo-container{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center}.logo-svg{width:100%;height:auto}.brand-name{color:#fff;font-weight:600;font-size:1.125rem}.navbar-actions{display:flex;gap:1rem}.btn-secondary{position:relative;padding:.6rem 1.5rem;background:linear-gradient(135deg,#d97706,#f59e0b 50%,#fbbf24);background-size:200% 200%;color:#0a0a0a;border-radius:.6rem;border:none;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.02em;overflow:hidden;transition:all .4s cubic-bezier(.23,1,.32,1);box-shadow:0 4px 15px rgba(217,119,6,.4),0 0 0 1px rgba(245,158,11,.3),inset 0 1px 0 hsla(0,0%,100%,.15);animation:btnGradientFlow 4s ease infinite}.btn-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.25),transparent);transition:left .5s ease}.btn-secondary:after{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,#d97706,#fbbf24,#d97706);border-radius:.7rem;z-index:-1;opacity:0;transition:opacity .3s ease;filter:blur(8px)}.btn-secondary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 25px rgba(217,119,6,.5),0 0 0 1px rgba(245,158,11,.5),inset 0 1px 0 hsla(0,0%,100%,.2)}.btn-secondary:hover:before{left:100%}.btn-secondary:hover:after{opacity:1}.btn-secondary:active{transform:translateY(-1px) scale(1);box-shadow:0 4px 12px rgba(217,119,6,.4),0 0 0 1px rgba(245,158,11,.4)}.btn-secondary:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}@keyframes btnGradientFlow{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.hero-section{padding:5rem 1.5rem 0}.hero-container{max-width:56rem}.hero-image-wrapper{width:16rem;height:16rem;margin:0 auto 2rem;position:relative}.hero-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.2}.hero-subtitle{font-size:1.5rem;color:hsla(0,0%,100%,.85);margin-bottom:1.5rem;min-height:2rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem}.hero-role-text{font-weight:700;position:relative;display:inline-block}.hero-description{font-size:1.25rem;color:hsla(0,0%,100%,.8);margin-bottom:2rem;max-width:42rem;margin-left:auto;margin-right:auto;line-height:1.8}.hero-container .btn-primary{margin:0 auto;display:inline-flex;width:auto}.btn-primary{position:relative;background:transparent;color:#fff;padding:1rem 2.5rem;border-radius:.75rem;font-weight:600;border:2px solid rgba(245,158,11,.6);cursor:pointer;font-size:1.125rem;overflow:hidden;transition:all .4s cubic-bezier(.23,1,.32,1);z-index:1;min-height:3.5rem;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.btn-primary:before{top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#f59e0b,#fbbf24 50%,#f59e0b);background-size:200% 200%;opacity:0;transition:opacity .4s ease;animation:gradientShift 3s ease infinite}.btn-primary:after,.btn-primary:before{content:"";position:absolute;z-index:-1}.btn-primary:after{top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn-primary:hover{border-color:#f59e0b;color:#0a0a0a;transform:translateY(-3px);box-shadow:0 10px 30px rgba(245,158,11,.4),0 0 20px rgba(245,158,11,.2)}.btn-primary:hover:before{opacity:1}.btn-primary:hover:after{width:300px;height:300px}.btn-primary:active{transform:translateY(-1px);box-shadow:0 5px 15px rgba(245,158,11,.3)}.btn-primary:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.btn-download-cv{position:relative;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:transparent;color:#fff;border:2px solid rgba(245,158,11,.6);border-radius:.75rem;cursor:pointer;overflow:hidden;transition:all .4s cubic-bezier(.23,1,.32,1);z-index:1;text-decoration:none}.btn-download-cv:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#f59e0b,#fbbf24 50%,#f59e0b);background-size:200% 200%;z-index:-1;opacity:0;transition:opacity .4s ease;animation:gradientShift 3s ease infinite}.btn-download-cv:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;z-index:-1}.btn-download-cv svg{position:relative;z-index:1;transition:transform .3s ease}.btn-download-cv:hover{border-color:#f59e0b;color:#0a0a0a;transform:translateY(-3px);box-shadow:0 10px 30px rgba(245,158,11,.4),0 0 20px rgba(245,158,11,.2)}.btn-download-cv:hover:before{opacity:1}.btn-download-cv:hover:after{width:300px;height:300px}.btn-download-cv:hover svg{transform:translateY(-2px)}.btn-download-cv:active{transform:translateY(-1px);box-shadow:0 5px 15px rgba(245,158,11,.3)}.btn-download-cv:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}@media (min-width:768px){.hero-image-wrapper{width:20rem;height:20rem}.hero-title{font-size:4rem}.hero-subtitle{font-size:1.75rem}.hero-description{font-size:1.375rem}}.about-text{color:hsla(0,0%,100%,.9);font-size:1.25rem;line-height:1.8}@media (min-width:768px){.about-text{font-size:1.375rem}}.about-text p{margin-bottom:1.25rem}.experience-timeline-container{position:relative;padding-left:2rem}@media (min-width:768px){.experience-timeline-container{padding-left:3rem}}.timeline-line{position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,rgba(245,158,11,.9),rgba(245,158,11,.5));border-radius:1px}@media (min-width:768px){.timeline-line{left:.5rem}}.experience-list{display:flex;flex-direction:column;gap:3rem}.experience-item{position:relative;display:flex;gap:1.5rem}.timeline-dot{position:absolute;left:-2rem;top:.5rem;width:1rem;height:1rem;border-radius:50%;border:2px solid;background-color:var(--background);display:flex;align-items:center;justify-content:center;z-index:2}@media (min-width:768px){.timeline-dot{left:-2.5rem;width:1.25rem;height:1.25rem}}.timeline-dot-inner{width:.5rem;height:.5rem;border-radius:50%}@media (min-width:768px){.timeline-dot-inner{width:.625rem;height:.625rem}}.experience-card{flex:1 1;padding:1.5rem;border:1px solid;border-radius:1rem;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease}.experience-card:hover{border-color:rgba(245,158,11,.5);transform:translateX(4px);box-shadow:0 0 20px rgba(245,158,11,.15)}.experience-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}@media (min-width:768px){.experience-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.experience-header-content{display:flex;flex-direction:column;gap:.25rem}.experience-company{color:#fff;font-weight:700;font-size:1.375rem;line-height:1.3}@media (min-width:768px){.experience-company{font-size:1.75rem}}.experience-role{font-weight:600;font-size:1.125rem;letter-spacing:.02em}@media (min-width:768px){.experience-role{font-size:1.25rem}}.experience-period{color:#fff;font-size:.9rem;font-weight:600;padding:.375rem .875rem;background-color:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);border-radius:2rem;white-space:nowrap}.experience-description-wrapper{margin-bottom:1.5rem}.experience-description{color:hsla(0,0%,100%,.95);font-size:1.125rem;line-height:1.8;margin-bottom:1.25rem}.experience-description:last-child{margin-bottom:0}@media (min-width:768px){.experience-description{font-size:1.25rem}}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{color:hsla(0,0%,100%,.95);background-color:rgba(245,158,11,.1);border-radius:.5rem;font-size:.875rem;font-weight:500;padding:.5rem 1rem;border:1px solid;transition:all .2s ease}.tech-tag:hover{transform:translateY(-2px)}.services-title{font-size:2.5rem;font-weight:700;color:#fff;text-align:center;margin-bottom:3rem;line-height:1.2}.services-title-accent{color:#f59e0b}@media (min-width:768px){.services-title{font-size:3.5rem}}.services-list{display:flex;flex-direction:column;gap:2rem}@media (min-width:768px){.services-list{gap:2.5rem}}.service-item{padding:2rem;border:1px solid hsla(0,0%,100%,.1);border-radius:1rem;background-color:hsla(0,0%,100%,.02);transition:all .3s ease;position:relative;overflow:hidden}.service-item:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#f59e0b,transparent);opacity:0;transition:opacity .3s ease}.service-item:hover{border-color:rgba(245,158,11,.4);background-color:rgba(245,158,11,.05);transform:translateY(-4px);box-shadow:0 10px 30px rgba(245,158,11,.15)}.service-item:hover:before{opacity:1}.service-title{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.3}@media (min-width:768px){.service-title{font-size:1.75rem}}.service-description{color:hsla(0,0%,100%,.8);font-size:1rem;line-height:1.7}@media (min-width:768px){.service-description{font-size:1.125rem}}.projects-list{gap:5rem}.project-item,.projects-list{display:flex;flex-direction:column}.project-item{gap:2rem;align-items:center;padding:2rem;border:1px solid hsla(0,0%,100%,.1);border-radius:1rem;transition:border-color .3s ease,transform .3s ease}.project-item:hover{border-color:hsla(0,0%,100%,.25);transform:translateY(-4px)}@media (min-width:768px){.project-item{flex-direction:row;padding:2.5rem}.project-item.reverse{flex-direction:row-reverse}}.project-image-wrapper{width:100%;height:20rem;flex-shrink:0;position:relative;border-radius:.75rem;overflow:hidden;border:2px solid hsla(0,0%,100%,.1);background-color:transparent;transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease;box-sizing:border-box;padding:0;margin:0;display:block;line-height:0}.project-item:hover .project-image-wrapper{transform:scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3);border-color:hsla(0,0%,100%,.2)}@media (min-width:768px){.project-image-wrapper{width:22rem;height:16rem}}.project-image-wrapper>span{line-height:0;font-size:0}.project-image,.project-image-wrapper img,.project-image-wrapper>span{position:absolute;inset:0;width:100%;height:100%;display:block;margin:0;padding:0;box-sizing:border-box}.project-image,.project-image-wrapper img{object-fit:cover;object-position:center;transition:transform .4s ease;border:none;border-radius:0;z-index:1}.project-item:hover .project-image{transform:scale(1.05)}.project-content{flex:1 1;display:flex;flex-direction:column}.project-text-box{border-radius:.5rem;padding:1rem 1.5rem;position:relative}.project-type{color:hsla(0,0%,100%,.6);font-size:.75rem;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.1em}.project-title{font-size:1.75rem;font-weight:700;margin-bottom:1rem;line-height:1.3}.project-description{color:var(--gray-300);font-size:1rem;line-height:1.7}.project-links{display:flex;gap:1rem;padding-left:1.5rem;margin-top:1rem}.project-link{color:#fff;padding:.5rem;border:1px solid hsla(0,0%,100%,.2);border-radius:.5rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.project-link:hover{background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.4);transform:translateY(-2px)}.project-link:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.contact-content{text-align:center}.contact-description{color:hsla(0,0%,100%,.8);font-size:1.25rem;line-height:1.7;margin-bottom:2rem;max-width:32rem;margin-left:auto;margin-right:auto}@media (min-width:768px){.contact-description{font-size:1.375rem}}.contact-links{gap:1rem}.contact-link,.contact-links{display:flex;justify-content:center}.contact-link{color:#fff;padding:.75rem;border:1px solid hsla(0,0%,100%,.15);border-radius:.5rem;transition:all .3s ease;align-items:center}.contact-link:hover{background-color:rgba(245,158,11,.15);border-color:rgba(245,158,11,.5);color:#f59e0b;transform:translateY(-3px)}.contact-link:focus-visible{outline:2px solid #fbbf24;outline-offset:2px}.logo-splash-container{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;display:flex;align-items:center;justify-content:center;background-color:#0a0a0a;transition:opacity .5s ease}.logo-splash-img{width:120px;height:130px;display:block;opacity:0;animation:splashFadeIn .3s ease-out forwards}body:has([data-splash-active]){overflow:hidden;height:100vh}#animated-logo .logo-path{fill:transparent;stroke:currentColor;stroke-width:2.71203}#animated-logo .logo-path-1{stroke-dasharray:var(--logo-path-1-length);stroke-dashoffset:var(--logo-path-1-length);animation:drawLogo1 calc(var(--logo-drawing-speed) * 2) ease-in-out infinite}#animated-logo .logo-path-2{stroke-dasharray:var(--logo-path-2-length);stroke-dashoffset:var(--logo-path-2-length);animation:drawLogo2 calc(var(--logo-drawing-speed) * 2) ease-in-out .3s infinite}#animated-logo .logo-path-3{stroke-dasharray:var(--logo-path-3-length);stroke-dashoffset:var(--logo-path-3-length);animation:drawLogo3 calc(var(--logo-drawing-speed) * 2) ease-in-out .6s infinite}#animated-logo .logo-path-4{stroke-dasharray:var(--logo-path-4-length);stroke-dashoffset:var(--logo-path-4-length);animation:drawLogo4 calc(var(--logo-drawing-speed) * 2) ease-in-out .9s infinite}@keyframes drawLogo1{0%,to{stroke-dashoffset:var(--logo-path-1-length)}50%{stroke-dashoffset:0}}@keyframes drawLogo2{0%,to{stroke-dashoffset:var(--logo-path-2-length)}50%{stroke-dashoffset:0}}@keyframes drawLogo3{0%,to{stroke-dashoffset:var(--logo-path-3-length)}50%{stroke-dashoffset:0}}@keyframes drawLogo4{0%,to{stroke-dashoffset:var(--logo-path-4-length)}50%{stroke-dashoffset:0}}img.logo-splash-img{visibility:hidden}svg.logo-splash-img{visibility:visible}svg.logo-splash-img path{fill:none;stroke:#fff;stroke-width:2.71203;stroke-linecap:round;stroke-linejoin:round}svg.logo-splash-img path:first-of-type{stroke-dasharray:var(--logo-path-1-length,80);stroke-dashoffset:var(--logo-path-1-length,80);animation:drawPath1 1s ease-out .3s forwards}svg.logo-splash-img path:nth-of-type(2){stroke-dasharray:var(--logo-path-2-length,9);stroke-dashoffset:var(--logo-path-2-length,9);animation:drawPath2 .6s ease-out 1.1s forwards}svg.logo-splash-img path:nth-of-type(3){stroke-dasharray:var(--logo-path-3-length,24);stroke-dashoffset:var(--logo-path-3-length,24);animation:drawPath3 .6s ease-out 1.5s forwards}svg.logo-splash-img path:nth-of-type(4){stroke-dasharray:var(--logo-path-4-length,26);stroke-dashoffset:var(--logo-path-4-length,26);animation:drawPath4 .6s ease-out 1.9s forwards}@keyframes splashFadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes drawPath1{to{stroke-dashoffset:0}}@keyframes drawPath2{to{stroke-dashoffset:0}}@keyframes drawPath3{to{stroke-dashoffset:0}}@keyframes drawPath4{to{stroke-dashoffset:0}}.floating-dock-wrapper{position:fixed;z-index:50;bottom:1.5rem;left:1.5rem;transform:none}.floating-dock-desktop{display:none}.floating-dock-mobile{display:block}@media (min-width:768px){.floating-dock-wrapper{bottom:2rem;left:50%;transform:translateX(-50%)}.floating-dock-desktop{display:flex!important}.floating-dock-mobile{display:none!important}}