@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dm-sans-latin-400.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/dm-sans-latin-500.woff2') format('woff2')}@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/dm-sans-latin-700.woff2') format('woff2')}@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/space-mono-latin-400.woff2') format('woff2')}@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/space-mono-latin-700.woff2') format('woff2')}:root{--color-bg:#FAFAFA;--color-surface:#FFFFFF;--color-surface-hover:#F5F5F5;--color-text-primary:#1A1A1A;--color-text-secondary:#525252;--color-text-tertiary:#737373;--color-accent:#404040;--color-accent-light:#525252;--color-accent-dark:#262626;--color-border:#E5E5E5;--color-border-dark:#D4D4D4;--font-body:'DM Sans',-apple-system,system-ui,sans-serif;--font-mono:'Space Mono','Courier New',monospace;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.04);--shadow-md:0 4px 12px rgba(0, 0, 0, 0.08);--shadow-lg:0 12px 24px rgba(0, 0, 0, 0.12)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg)}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}body.no-scroll{overflow:hidden}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .8s ease forwards}.delay-1{animation-delay:.1s;opacity:0}.delay-2{animation-delay:.2s;opacity:0}.delay-3{animation-delay:.3s;opacity:0}.delay-4{animation-delay:.4s;opacity:0}.bg-animated{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.bg-shape{position:absolute;border-radius:50%;background:var(--color-accent);opacity:.02;filter:blur(1px);will-change:transform}.bg-shape:first-child{width:350px;height:350px;top:10%;left:5%;animation:float1 20s ease-in-out infinite;opacity:.03}.bg-shape:nth-child(2){width:250px;height:250px;top:60%;right:10%;animation:float2 15s ease-in-out infinite;animation-delay:-5s;opacity:.03}.bg-shape:nth-child(3){width:200px;height:200px;bottom:5%;left:50%;animation:float3 25s ease-in-out infinite;animation-delay:-10s;opacity:.02}.bg-shape:nth-child(4){width:450px;height:450px;top:30%;right:30%;animation:float1 15s ease-in-out infinite;animation-delay:-15s;opacity:.02}.bg-shape:nth-child(5){width:300px;height:300px;top:70%;left:20%;animation:float2 20s ease-in-out infinite;animation-delay:-20s;opacity:.02}@keyframes float1{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(10px,-15px) rotate(90deg)}50%{transform:translate(-5px,-25px) rotate(180deg)}75%{transform:translate(-15px,-10px) rotate(270deg)}}@keyframes float2{0%,100%{transform:translate(0,0) rotate(0)}33%{transform:translate(-20px,15px) rotate(120deg)}66%{transform:translate(15px,-20px) rotate(240deg)}}@keyframes float3{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(20px,20px) rotate(180deg)}}@media (max-width:768px){.bg-shape{opacity:.02;filter:blur(1px)}.bg-shape:first-child{display:none}.bg-shape:nth-child(2){display:none}.bg-shape:nth-child(3){display:none}.bg-shape:nth-child(4){display:none}.bg-shape:nth-child(5){display:none}}@media (prefers-reduced-motion:reduce){.bg-animated{display:none}*{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}.nav{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);z-index:1000;transition:all .3s ease}.nav-container{max-width:1920px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-right{display:flex;align-items:center;gap:3rem}.logo{font-size:.9375rem;font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono);letter-spacing:-.02em}.logo span{color:var(--color-text-tertiary);font-weight:400}.nav-wrap .menu{display:flex;align-items:center;justify-content:space-between;margin-right:0}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-link{color:var(--color-text-secondary);text-decoration:none;font-size:.9375rem;font-weight:500;transition:color .2s ease;position:relative}.nav-link:after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width .3s ease}.nav-link:hover{color:var(--color-text-primary)}.nav-link:hover:after{width:100%}.lang-switch{display:flex;gap:.5rem;font-size:.9375rem;color:var(--color-text-tertiary);font-family:var(--font-mono);padding:0 0 0 1rem}.desktop-lang{display:flex}.mobile-lang{display:none}.lang-active{color:var(--color-text-primary);font-weight:700}.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:0 0;border:none;cursor:pointer;z-index:1002;position:relative;transition:opacity .3s ease}.mobile-menu-btn span{width:24px;height:2px;background:var(--color-text-primary);transition:all .3s ease}.mobile-menu-btn.active span:first-child{transform:rotate(45deg) translateY(10px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translateY(-10px)}.mobile-menu-close{display:none}.lang-switch-mobile{display:none}.mobile-controls{display:none;align-items:center;gap:1rem}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;padding:10rem 2rem 6rem}.hero:before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#fafafa 0,#f5f5f5 100%);z-index:-2}.hero:after{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent 0,rgba(0,0,0,.01) 50%,transparent 100%),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.01) 2px,rgba(0,0,0,.01) 4px);pointer-events:none;z-index:-1}.hero-container{max-width:1920px;margin:0 auto;position:relative;z-index:1;width:100%}.hero-content{max-width:800px}.hero-label{font-family:var(--font-body);font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:1rem;font-weight:400}.hero-title{font-size:clamp(2.5rem, 8vw, 5rem);font-weight:700;line-height:1.1;margin-bottom:2rem;letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1.125rem, 2.5vw, 1.5rem);color:var(--color-text-secondary);margin-bottom:3rem;font-weight:400;max-width:600px}.hero-description{display:none}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:4rem}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:500;text-decoration:none;border-radius:8px;transition:all .3s ease;border:2px solid transparent;font-family:var(--font-body)}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:0 0;color:var(--color-text-primary);border-color:var(--color-border-dark)}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-accent);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);animation:bounce 2s infinite}.scroll-indicator a{color:var(--color-text-tertiary);font-size:.75rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.scroll-indicator a:after{content:'';display:block;margin-top:.5rem;width:1px;height:40px;background:linear-gradient(to bottom,var(--color-text-tertiary),transparent);margin-left:auto;margin-right:auto}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(10px)}}section{padding:var(--spacing-3xl) 2rem;max-width:1920px;margin:0 auto}.section-header{margin-bottom:var(--spacing-xl)}.section-label{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-tertiary);margin-bottom:.5rem;letter-spacing:.05em;text-transform:uppercase}.section-title{font-size:clamp(2rem, 5vw, 3rem);font-weight:700;margin-bottom:1rem;letter-spacing:-.02em}.section-description{font-size:1.125rem;color:var(--color-text-secondary);max-width:700px;line-height:1.8}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-image{position:relative}.about-image img{width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-lg)}.about-image:before{content:'';position:absolute;top:-20px;left:-20px;right:20px;bottom:20px;border:2px solid var(--color-border-dark);border-radius:8px;z-index:-1}.about-content p{margin-bottom:1.5rem;color:var(--color-text-secondary);line-height:1.8}.about-content strong{color:var(--color-text-primary);font-weight:600}.highlight-box{background:var(--color-surface);border-left:4px solid var(--color-accent);padding:1.5rem;margin:2rem 0;border-radius:8px;box-shadow:var(--shadow-sm)}.highlight-box p{margin:0;font-size:.9375rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:3rem}.skills-tabs{display:flex;gap:.5rem;margin-bottom:2rem;flex-wrap:wrap;justify-content:flex-start}.skill-tab{padding:.75rem 1.5rem;background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.skill-tab svg{width:18px;height:18px;stroke:var(--color-text-secondary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.skill-tab:hover{border-color:var(--color-accent);background:var(--color-bg)}.skill-tab.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.skill-tab.active svg{stroke:white}.skills-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:3rem;min-height:400px}.skill-panel{display:none}.skill-panel.active{display:block;animation:fadeIn .5s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.skill-panel h3{font-size:2rem;margin-bottom:1.5rem;color:var(--color-text-primary)}.skill-panel p{font-size:1.125rem;line-height:1.8;color:var(--color-text-secondary);margin-bottom:2rem}.skill-panel .skill-tags{display:flex;flex-wrap:wrap;gap:.5rem;max-height:none}.skill-panel .skill-tag{background:var(--color-bg);color:var(--color-text-secondary);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;border:1px solid var(--color-border)}.work-timeline{margin-top:3rem;position:relative}.work-timeline:before{content:'';position:absolute;left:5px;top:0;bottom:0;width:2px;background:var(--color-border)}.work-item{position:relative;padding-left:3rem;margin-bottom:2rem}.work-header{cursor:pointer;padding:1rem 0;transition:all .2s ease}.work-header:hover{color:var(--color-accent)}.work-item:before{content:'';position:absolute;left:-3px;top:0;width:12px;height:12px;background:var(--color-accent);border-radius:8px;border:3px solid var(--color-bg)}.work-meta{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-tertiary);margin-bottom:.5rem}.work-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem;color:var(--color-text-primary)}.work-company{color:var(--color-text-secondary);font-size:1rem;margin-bottom:1rem}.work-info{color:var(--color-text-primary);font-size:2.2rem;font-weight:700;cursor:default;text-align:left}.work-description{color:var(--color-text-secondary);line-height:1.7;margin-bottom:1rem}.view-more-btn{background:0 0;border:none;color:var(--color-accent);font-size:.9375rem;font-weight:600;cursor:pointer;padding:.75rem 0;margin-top:1rem;transition:color .2s ease;font-family:var(--font-body);display:inline-flex;align-items:center;gap:.5rem}.view-more-btn:hover{color:var(--color-accent-dark)}.view-more-btn:after{content:'→';transition:transform .2s ease}.view-more-btn:hover:after{transform:translateX(4px)}.work-highlights{list-style:none;margin-top:1rem}.work-highlights li{color:var(--color-text-secondary);padding-left:1.5rem;margin-bottom:.5rem;position:relative;font-size:.9375rem}.work-highlights li:before{content:'→';position:absolute;left:0;color:var(--color-accent)}.companies-carousel{margin:4rem 0;padding:3rem 0;background:var(--color-surface);border-radius:8px;overflow:hidden}.companies-carousel h3{text-align:center;font-size:1.5rem;margin-bottom:2rem;color:var(--color-text-secondary)}.carousel-wrapper{overflow:hidden;width:100%;position:relative;max-width:100%}.carousel-track{display:flex;animation:scroll 40s linear infinite;width:max-content;will-change:transform}.carousel-item{flex:0 0 auto;width:240px;height:100px;margin:0 3rem;display:flex;align-items:center;justify-content:center}.carousel-item img{max-width:160px;max-height:60px;width:auto;height:auto;object-fit:contain;filter:grayscale(100%);opacity:.6;transition:all .3s ease}.carousel-item img:hover{filter:grayscale(0%);opacity:1}@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}.carousel-track:hover{animation-play-state:paused}@media (min-width:2560px){.carousel-item{width:320px;margin:0 4rem}.carousel-item img{max-width:200px;max-height:80px}.footer-content{padding:0 2rem}}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem}.contact-info h3{font-size:1.5rem;margin-bottom:1rem}.contact-info p{color:var(--color-text-secondary);margin-bottom:2rem;line-height:1.7}.social-links{display:flex;gap:1rem;margin-bottom:2rem}.social-link{width:48px;height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-primary);transition:all .3s ease}.social-link:hover{background:var(--color-accent);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form .btn-primary{width:100%;cursor:pointer}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.form-input,.form-textarea{padding:.875rem 1rem;border:1px solid var(--color-border);border-radius:8px;font-family:var(--font-body);font-size:1rem;color:var(--color-text-primary);background:var(--color-surface);transition:all .3s ease}.form-input:focus,.form-textarea:focus{outline:0;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(64,64,64,.1)}.form-textarea{min-height:150px;resize:vertical}footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:1rem 2rem;margin-top:6rem}.footer-content{max-width:1920px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-text{color:var(--color-text-tertiary);font-size:.875rem}.footer-links{display:flex;gap:2rem}.footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;transition:color .2s ease}.footer-link:hover{color:var(--color-text-primary)}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);overflow-y:auto}.modal.active{display:flex;align-items:center;justify-content:center;padding:2rem}.modal-content{background:var(--color-surface);border-radius:8px;max-width:1920px;width:100%;max-height:85vh;overflow-y:auto;position:relative}.modal-header{padding:2rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.5rem;margin:0}.modal-close{background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.modal-close:hover{background:var(--color-bg);color:var(--color-text-primary)}.modal-body{padding:2rem}.modal-body h4{margin-top:1.5rem;margin-bottom:.5rem}.modal-body p{line-height:1.8;color:var(--color-text-secondary)}.cookie-bar{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);padding:1.5rem 2rem;z-index:1500;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 16px rgba(0,0,0,.1)}.cookie-bar.active{transform:translateY(0)}.cookie-content{max-width:1920px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.cookie-text{flex:1;min-width:300px}.cookie-text p{margin:0;color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6}.cookie-actions{display:flex;gap:1rem;flex-wrap:wrap}.cookie-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;border:2px solid var(--color-border);background:0 0;color:var(--color-text-primary);font-family:var(--font-body);font-size:.9375rem}.cookie-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cookie-btn-primary:hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.cookie-btn:hover{border-color:var(--color-accent)}.cookie-settings-btn{position:fixed;bottom:4rem;right:2rem;width:48px;height:48px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;display:none;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);transition:all .3s ease;z-index:1400;box-shadow:var(--shadow-md)}.cookie-settings-btn.visible{display:flex}.cookie-settings-btn:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.cookie-settings-btn svg{width:24px;height:24px}.accordion-header{display:none}.accordion-content{display:contents}@media (max-width:768px){.cookie-settings-btn{bottom:1.5rem;right:1.5rem}.nav-container{padding:1rem 1.5rem}.nav-links{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;height:100dvh;background:var(--color-surface);flex-direction:column;justify-content:center;align-items:center;gap:3rem;padding:2rem;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1001;overflow-y:auto;list-style:none}.nav-links li{width:100%;text-align:center}.nav-links.active{opacity:1;visibility:visible}.nav-link{font-size:1.75rem;font-weight:600;display:block;padding:1rem}.desktop-lang{display:none}.mobile-lang{display:flex}.mobile-controls{display:flex}.mobile-menu-btn{display:flex}.hero{padding:6rem 1.5rem 4rem;min-height:100vh;min-height:100dvh}.carousel-item{margin:0}.scroll-indicator{bottom:1.5rem}.hero-title{font-size:2.5rem}.hero-cta{width:100%}.hero-cta .btn{width:100%;max-width:280px;padding:1rem 1.5rem}.about-grid,.contact-content{grid-template-columns:1fr;gap:2rem}.about-image{order:-1}.skills-grid{grid-template-columns:1fr}.skills-tabs{display:none}.skills-content{background:0 0;border:none;padding:0;min-height:auto}.skill-panel{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.skill-panel h3{display:none}.accordion-header{display:flex;width:100%;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--color-surface);border:none;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--color-text-primary);text-align:left;transition:background .2s ease}.accordion-header:hover{background:var(--color-surface-hover)}.accordion-title{display:flex;align-items:center;gap:.75rem}.accordion-title svg{width:20px;height:20px;stroke:var(--color-text-secondary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.accordion-icon{width:20px;height:20px;stroke:var(--color-text-tertiary);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s ease;flex-shrink:0}.skill-panel.active .accordion-icon{transform:rotate(180deg)}.skill-panel.active .accordion-header{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.accordion-content{display:none;padding:1.25rem}.skill-panel.active .accordion-content{display:block}.skill-panel p{font-size:.9375rem;margin-bottom:1rem}.skill-panel .skill-tags{gap:.375rem}.skill-panel .skill-tag{font-size:.8125rem;padding:.375rem .75rem}.footer-content{flex-direction:column;gap:1rem;text-align:center}section{padding:var(--spacing-2xl) 1.5rem}}