@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&family=Space+Grotesk:wght@300;400;500;600;700&family=Poppins:wght@300;400;500;600;700&family=Fira+Code:wght@300;400;500;600;700&family=Work+Sans:wght@300;400;500;600;700&family=DM+Sans:wght@300;400;500;600;700&family=Albert+Sans:wght@300;400;500;600;700&family=Geist:wght@300;400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}:root{--primary-color:#9ca3af;--secondary-color:#d1d5db;--accent-color:#f3f4f6;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--bg-gradient:#111827;--bg-primary:#111827;--text-color:#fcfcfc;--text-primary:#bbb;--text-secondary:#d6d6d6;--text-muted:#e2e8f0;--border-color:#9ca3af4d;--shadow-color:#0006;--font-title:"Albert Sans","Inter",sans-serif;--font-subtitle:"Geist","Inter",sans-serif;--font-body:"Inter",sans-serif;--font-code:"JetBrains Mono",monospace;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{scroll-snap-type:y mandatory}body{background:#111827;background:var(--bg-primary);color:#fcfcfc;color:var(--text-color);font-family:Inter,sans-serif;font-family:var(--font-body);min-height:100vh;overflow-x:hidden}@media (max-width:768px){body,html{scroll-snap-type:none}}.portfolio-container{min-height:100vh;position:relative}.fixed-layout{inset:0;justify-content:center;position:fixed;z-index:50}.content-grid,.fixed-layout{align-items:center;display:flex;pointer-events:none}.content-grid{height:100vh;justify-content:flex-end;margin:0 auto;max-width:1440px;padding:0 1rem;width:100%}.content-section{display:flex;flex-direction:column;gap:2rem;height:100vh;justify-content:flex-start;overflow-y:auto;padding:2rem 1rem 2rem 0;pointer-events:auto;scrollbar-color:#9ca3af #0000;scrollbar-color:var(--primary-color) #0000;scrollbar-width:thin}.content-section::-webkit-scrollbar{width:8px}.content-section::-webkit-scrollbar-track{background:linear-gradient(180deg,#3b82f61a,#3b82f60d);border-radius:4px;margin:4px 0}.content-section::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#9ca3af,#3b82f6cc);background:linear-gradient(180deg,var(--primary-color) 0,#3b82f6cc 100%);border:1px solid #3b82f64d;border-radius:4px;box-shadow:0 2px 4px #0003;-webkit-transition:all .3s ease;transition:all .3s ease}.content-section::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#60a5fa);background:linear-gradient(180deg,var(--primary-color) 0,#60a5fa 100%);box-shadow:0 4px 8px #3b82f666;transform:scaleY(1.1)}.content-section::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#60a5fa,#9ca3af);background:linear-gradient(180deg,#60a5fa 0,var(--primary-color) 100%);box-shadow:0 2px 4px #3b82f699}.subtitle{color:#f3f4f6;color:var(--accent-color);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1rem;font-weight:600;letter-spacing:.15em;margin-bottom:.5rem;text-transform:uppercase}.main-title{color:#f3f4f6;color:var(--accent-color);position:relative}.main-title,.main-title:after,.main-title:before{font-family:Albert Sans,Inter,sans-serif;font-family:var(--font-title);font-size:clamp(2.2rem,6.5vw,4rem);font-style:italic;font-weight:500;letter-spacing:.005em;line-height:1.2;text-transform:uppercase}.main-title:after,.main-title:before{content:attr(data-text);height:100%;left:0;position:absolute;top:0;width:100%}.main-title:before{-webkit-clip-path:polygon(0 0,100% 0,100% 45%,0 45%);clip-path:polygon(0 0,100% 0,100% 45%,0 45%);color:#f3f4f6;opacity:.95;transform:translate(-1px,-1px)}.main-title:after{-webkit-clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);clip-path:polygon(0 55%,100% 55%,100% 100%,0 100%);color:#9ca3af;opacity:.95;transform:translate(1px,1px)}.content-list{display:flex;flex-direction:column;gap:1rem}.content-item{color:#bbb;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:1.125rem;line-height:1.6}.content-icon{align-items:center;color:#f3f4f6;color:var(--accent-color);display:flex;flex-shrink:0;justify-content:center;margin-top:.125rem}.content-icon svg{height:1.25rem;width:1.25rem}.social-links{display:flex;gap:1.5rem;padding-top:2rem}.social-link{border-radius:.5rem;cursor:pointer;display:inline-block;font-family:Inter,sans-serif;font-family:var(--font-body);font-weight:500;padding:.75rem 1.5rem;pointer-events:auto;text-decoration:none;transition:all .2s ease}.social-link.primary{background-color:#9ca3af;background-color:var(--primary-color);color:#fff}.social-link.primary:hover{background-color:#d1d5db;background-color:var(--secondary-color);transform:translateY(-2px)}.social-link.secondary{border:1px solid #9ca3af4d;border:1px solid var(--border-color);color:#d6d6d6;color:var(--text-secondary)}.social-link.secondary:hover{background-color:#9ca3af4d;background-color:var(--border-color);transform:translateY(-2px)}.notebook-container{align-items:center;background:#0000;display:flex;height:100vh;justify-content:center;margin:0 0 0 auto;max-width:800px;min-width:700px;padding:1rem;pointer-events:auto;position:-webkit-sticky;position:sticky;top:0;transition:all .4s ease-in-out;width:100%;z-index:100}.notebook-container.elevated{position:relative;transform:translateY(-60px) scale(1.1);z-index:10}.notebook{filter:drop-shadow(0 30px 60px rgba(0,0,0,.3));height:32rem;max-width:700px;min-width:600px;perspective:1400px;position:relative;transform-style:preserve-3d;transition:all .8s cubic-bezier(.25,.46,.45,.94);width:100%}.notebook.active{opacity:1;transform:scale(1.05)}.notebook.inactive{opacity:.7;transform:scale(.9)}.notebook.minimized{filter:none;opacity:1;transform:scale(.9)}.notebook.maximized{filter:none;opacity:1;transform:scale(1.3)}.laptop-base{background-image:url(/static/media/base.5e79fd93c7be3cadfa95.svg);background-position:bottom;background-repeat:no-repeat;background-size:100% auto;bottom:-82px;height:5rem;left:-12%;position:absolute;width:124%}.laptop-screen{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#111827;border:8px solid #9ca3af4d;border:8px solid var(--border-color);border-radius:.5rem .5rem 0 0;box-shadow:0 25px 50px #0006;box-shadow:0 25px 50px var(--shadow-color);height:32rem;overflow:hidden;position:absolute;top:0;transform-origin:bottom center;transform-style:preserve-3d;width:100%}@media (max-width:768px){.laptop-screen{height:auto;min-height:25rem;overflow:visible;position:relative}}.notebook.active .laptop-screen{transform:scale(1)}.notebook.inactive .laptop-screen{transform:scale(.98)}.laptop-screen.animating{animation:closeLid .6s ease-in-out}@keyframes closeLid{0%{opacity:1;transform:rotateX(0deg)}50%{opacity:1;transform:rotateX(-70deg)}to{opacity:1;transform:rotateX(0deg)}}.notebook.active .screen-content{opacity:1;transform:scale(1)}.notebook.inactive .screen-content{opacity:0;transform:scale(.95)}.screen-content{height:100%;transition:all .3s ease;width:100%}.screen-reflection{background:#0000;inset:0;pointer-events:none;position:absolute}.window-base{background-color:#111827;border-radius:.5rem;height:100%;overflow:hidden;pointer-events:auto;position:relative;z-index:10}.window-base.contact .code-content,.window-base.services .code-content{background:var(--notebook-bg);flex:1 1;overflow-y:auto;padding:20px}.window-base.services .code-content{background:linear-gradient(135deg,#111827,#1a1a2e)}.window-base.contact .code-content{background:linear-gradient(135deg,#111827,#16213e)}.window-base.projects .code-content{background:linear-gradient(135deg,#111827,#1e1b4b)}.window-base.game{background:#111827}.game-content iframe{height:100%;width:100%}.window-base .code-content{scrollbar-color:#9ca3af #0000;scrollbar-color:var(--primary-color) #0000;scrollbar-width:thin}.window-base .code-content::-webkit-scrollbar{width:6px}.window-base .code-content::-webkit-scrollbar-track{background:linear-gradient(180deg,#3b82f60d,#3b82f605);border-radius:3px;margin:2px 0}.window-base .code-content::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#9ca3af,#3b82f6b3);background:linear-gradient(180deg,var(--primary-color) 0,#3b82f6b3 100%);border:1px solid #3b82f633;border-radius:3px;box-shadow:0 1px 3px #0000004d;-webkit-transition:all .3s ease;transition:all .3s ease}.window-base .code-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#60a5fa);background:linear-gradient(180deg,var(--primary-color) 0,#60a5fa 100%);box-shadow:0 2px 6px #3b82f680;transform:scaleY(1.05)}body{scrollbar-color:#9ca3af #0000;scrollbar-color:var(--primary-color) #0000;scrollbar-width:thin}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:linear-gradient(180deg,#3b82f614,#3b82f608);border-radius:5px;margin:5px 0}body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#9ca3af,#3b82f6cc);background:linear-gradient(180deg,var(--primary-color) 0,#3b82f6cc 100%);border:1px solid #3b82f64d;border-radius:5px;box-shadow:0 3px 6px #0003;-webkit-transition:all .3s ease;transition:all .3s ease}body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#60a5fa);background:linear-gradient(180deg,var(--primary-color) 0,#60a5fa 100%);box-shadow:0 5px 10px #3b82f666;transform:scaleY(1.1)}body::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#60a5fa,#9ca3af);background:linear-gradient(180deg,#60a5fa 0,var(--primary-color) 100%);box-shadow:0 3px 6px #3b82f699}.contact-form-container,.services-showcase{scrollbar-color:#9ca3af #0000;scrollbar-color:var(--primary-color) #0000;scrollbar-width:thin}.contact-form-container::-webkit-scrollbar,.services-showcase::-webkit-scrollbar{width:6px}.contact-form-container::-webkit-scrollbar-track,.services-showcase::-webkit-scrollbar-track{background:linear-gradient(180deg,#3b82f60d,#3b82f605);border-radius:3px;margin:2px 0}.contact-form-container::-webkit-scrollbar-thumb,.services-showcase::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#9ca3af,#3b82f6b3);background:linear-gradient(180deg,var(--primary-color) 0,#3b82f6b3 100%);border:1px solid #3b82f633;border-radius:3px;box-shadow:0 1px 3px #0000004d;-webkit-transition:all .3s ease;transition:all .3s ease}.contact-form-container::-webkit-scrollbar-thumb:hover,.services-showcase::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#9ca3af,#60a5fa);background:linear-gradient(180deg,var(--primary-color) 0,#60a5fa 100%);box-shadow:0 2px 6px #3b82f680;transform:scaleY(1.05)}.editor-header{align-items:center;background-color:#1f2937;border-bottom:1px solid #9ca3af4d;border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;padding:.5rem 1rem;pointer-events:auto;position:relative;z-index:10}@media (max-width:768px){.editor-header{padding:.375rem .75rem}}.window-controls{display:flex;gap:.25rem}@media (max-width:768px){.window-controls{gap:.2rem}}.control-btn{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;height:.75rem;justify-content:center;padding:0;pointer-events:auto;position:relative;transition:all .2s ease;width:.75rem;z-index:10}@media (max-width:768px){.control-btn{height:.65rem;width:.65rem}}.control-btn:hover{transform:scale(1.1)}.control-btn .control-icon{color:#d6d6d6;color:var(--text-secondary);height:.7rem;opacity:.8;transition:all .2s ease;width:.7rem}@media (max-width:768px){.control-btn .control-icon{height:.6rem;width:.6rem}}.control-btn:hover .control-icon{opacity:1;transform:scale(1.1)}.control-btn.red .control-icon{color:#ef4444}.control-btn.yellow .control-icon{color:#f59e0b}.control-btn.green .control-icon{color:#f3f4f6;color:var(--accent-color)}.editor-filename{color:#d6d6d6;color:var(--text-secondary);font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:500;letter-spacing:.05em;margin-left:.5rem;text-transform:uppercase}@media (max-width:768px){.editor-filename{font-size:.8rem;margin-left:.375rem}}.code-content{color:#9ca3af;color:var(--primary-color);font-family:JetBrains Mono,monospace;font-size:.95rem;height:calc(100% - 3rem);overflow:auto;padding:1.5rem;white-space:pre-wrap}@media (max-width:768px){.code-content{height:auto;min-height:22rem;overflow:visible;padding:.75rem}}.terminal-content{display:flex;flex-direction:column;gap:.25rem}.terminal-line-with-icon{align-items:flex-start;display:flex;gap:.5rem;padding:.125rem 0}.terminal-icon{flex-shrink:0;height:1rem;margin-top:.125rem;max-height:1rem;max-width:1rem;min-height:1rem;min-width:1rem;width:1rem}.terminal-icon,.terminal-text{color:#9ca3af;color:var(--primary-color)}.terminal-text{font-family:JetBrains Mono,monospace;font-size:.875rem;line-height:1.4}.terminal-year{color:#9ca3af;color:var(--primary-color);font-weight:500}.terminal-command{align-items:center;display:flex;gap:.5rem;padding:.125rem 0}.terminal-prompt{color:#9ca3af;color:var(--primary-color);font-family:JetBrains Mono,monospace;font-weight:700}.terminal-echo{align-items:center;display:flex;gap:.5rem;padding:.125rem 0}.terminal-line{padding:.125rem 0 .125rem 1.5rem}.progress-indicators{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#111827cc;border:1px solid #4b55634d;border-radius:1rem 0 0 1rem;border-right:none;box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;padding:1rem;position:fixed;right:-14.5rem;top:50%;transform:translateY(-50%);transition:all .3s ease;width:18rem;z-index:2000}.progress-indicators:hover{right:0;transform:translateY(-50%)}.progress-dot{align-items:center;background:none;border:none;border-radius:.5rem;box-sizing:border-box;color:#9ca3afe6;cursor:pointer;display:flex;font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:.875rem;font-weight:500;gap:.5rem;min-height:2.5rem;padding:.5rem;position:relative;text-align:left;transform-origin:center;transition:all .4s cubic-bezier(.25,.46,.45,.94);z-index:10}.progress-dot:hover{background:#9ca3af26;color:#f3f4f6}.progress-dot.active{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#9ca3af33;border-radius:.5rem;color:#f3f4f6}@media (max-width:1024px){.content-grid{justify-content:center;text-align:center}.notebook-container{height:50vh;min-width:auto}.scrollable-content{padding-top:50vh;position:relative;width:100%}.scrollable-section{max-width:600px;padding:0 2rem}}@media (max-width:768px){.content-grid,.fixed-layout{display:none!important}.notebook-container{align-items:center;display:flex;justify-content:center;margin:2rem 0;padding:.5rem;position:static}.notebook,.notebook-container{height:auto;max-width:100%;min-width:auto;width:100%}.notebook{min-height:25rem;opacity:1!important;transform:none!important}.mobile-notebook-container{display:none}@media (max-width:768px){.mobile-notebook-container{align-items:center;display:flex;justify-content:center;margin:1rem 0;padding:0;width:100%}.mobile-notebook{filter:drop-shadow(0 30px 60px rgba(0,0,0,.3));max-width:100%;min-width:auto;opacity:1!important;perspective:1400px;transform:none!important;transition:all .8s cubic-bezier(.25,.46,.45,.94)}.mobile-notebook,.mobile-notebook .laptop-screen{height:auto;min-height:20rem;position:relative;transform-style:preserve-3d;width:100%}.mobile-notebook .laptop-screen{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:#111827;border:8px solid #9ca3af4d;border:8px solid var(--border-color);border-radius:.5rem .5rem 0 0;box-shadow:0 25px 50px #0006;box-shadow:0 25px 50px var(--shadow-color);max-height:470px;overflow:visible;top:0;transform-origin:bottom center;transition:max-height .3s ease}.mobile-notebook .laptop-screen.expanded{max-height:none}.mobile-notebook .screen-content{height:100%;transition:all .3s ease;width:100%}.mobile-notebook .screen-reflection{background:#0000;inset:0;pointer-events:none;position:absolute}.mobile-notebook .laptop-base{display:none}.mobile-notebook .window-base{background-color:#111827;border-radius:.5rem;height:100%;overflow:hidden;pointer-events:auto;position:relative;z-index:10}.mobile-notebook .editor-header{background-color:#1f2937;border-bottom:1px solid #9ca3af4d;border-bottom:1px solid var(--border-color);gap:.5rem;padding:.375rem .75rem}.mobile-footer,.mobile-notebook .editor-header{align-items:center;display:flex;pointer-events:auto;position:relative;z-index:10}.mobile-footer{background-color:#111827;border-top:1px solid #9ca3af4d;border-top:1px solid var(--border-color);justify-content:center;padding:0 .75rem}.mobile-expand-btn{align-items:center;background:#0000;border:none;border-radius:.25rem;color:#d6d6d6;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .3s ease}.mobile-expand-btn:hover{background:#9ca3af1a;color:#f3f4f6;color:var(--accent-color)}.mobile-expand-btn .expand-icon{height:1rem;transition:transform .3s ease;width:1rem}.mobile-notebook .window-base.expanded .mobile-expand-btn .expand-icon{transform:rotate(180deg)}.mobile-notebook .code-content{font-family:JetBrains Mono,monospace;font-family:var(--font-code);font-size:.875rem;height:auto;line-height:1.5;max-height:calc(470px - 3rem);min-height:17rem;overflow:visible;padding:.75rem;transition:max-height .3s ease}.mobile-notebook .window-base.expanded .code-content{max-height:none;overflow-y:auto}.mobile-notebook .window-base.contact .code-content{background:linear-gradient(135deg,#111827,#16213e);height:auto;max-height:calc(470px - 3rem);min-height:17rem;overflow-y:auto;padding:.5rem;transition:max-height .3s ease}.mobile-notebook .window-base.contact.expanded .code-content{max-height:none}.mobile-notebook .contact-form-container{display:flex;flex-direction:column;max-height:100%;min-height:auto;opacity:1;overflow-y:auto;padding:.5rem;transform:translateY(0)}.mobile-notebook .contact-form{background:#0000;border:none;display:flex;flex:1 1;flex-direction:column;font-family:JetBrains Mono,monospace;padding:0}.mobile-social-links{gap:1rem;justify-content:center;margin-top:1.5rem;order:2;padding:1rem 0}.mobile-social-links .social-link{border-radius:.375rem;font-size:.875rem;padding:.5rem 1rem}.mobile-notebook .form-fields{display:flex;flex:1 1;flex-direction:column;gap:.75rem}.mobile-notebook .form-row{gap:.75rem;grid-template-columns:1fr}.mobile-notebook .form-group{margin-bottom:0}.mobile-notebook .form-group label{font-size:.8rem;margin-bottom:.25rem}.mobile-notebook .form-group input,.mobile-notebook .form-group textarea{font-size:.8rem;padding:.375rem}.mobile-notebook .form-group textarea{min-height:60px}.mobile-notebook .form-actions{align-items:flex-start;flex-direction:column;gap:.5rem;margin-top:.5rem}.mobile-notebook .submit-btn{font-size:.8rem;min-width:auto;padding:.375rem .75rem;width:auto}}.scrollable-content{padding:0;position:static;scroll-snap-type:none;width:100%}.scrollable-section{display:flex;flex-direction:column;max-width:100%;padding:2rem .5rem;scroll-snap-align:none}.scrollable-text{order:1}.scrollable-section .mobile-notebook-container{order:2}.main-title{color:#9ca3af;color:var(--primary-color)}.main-title,.main-title:after,.main-title:before{font-size:clamp(2.4rem,7.3vw,3.7rem);letter-spacing:.003em}.main-title:before{color:#d1d5db;transform:translate(-.5px,-.5px)}.main-title:after{color:#6b7280;transform:translate(.5px,.5px)}.subtitle{font-size:.875rem;letter-spacing:.12em}.social-links{justify-content:center}.desktop-controls,.mobile-menu-button,.progress-indicators{display:none!important}.mobile-menu{display:flex!important}.mobile-sticky-bar{display:block!important}.scrollable-content{padding-top:4rem}.mobile-menu .mobile-progress-dot{align-items:center;background:none;border:none;border-radius:.5rem;color:#6b7280cc;cursor:pointer;display:flex;font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:.875rem;font-weight:500;gap:.75rem;padding:.5rem;text-align:left;transition:all .3s ease;width:100%}.mobile-menu .mobile-progress-dot:hover{background:#6b72801a;color:#6b7280}.mobile-menu .mobile-progress-dot.active{background:#6b728026;color:#6b7280;font-weight:700}.mobile-menu .mobile-progress-indicator-icon{color:#9ca3af;color:var(--primary-color);flex-shrink:0;height:1rem;width:1rem}.mobile-menu .mobile-progress-dot-label{flex:1 1;overflow:visible;text-align:left;white-space:nowrap}}.blinking-cursor{animation:blink 1s infinite;color:#00ff41;font-weight:700;margin-left:2px}@media (max-width:768px){.blinking-cursor{display:none}}.animated-code{color:#00ff41;font-family:JetBrains Mono,monospace;font-family:var(--font-code);text-shadow:0 0 5px #00ff41;white-space:pre-wrap;word-break:break-word}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.code-content code{display:block;position:relative}.window-base.terminal .animated-code{color:#00ff41;text-shadow:0 0 5px #00ff41}body.light-mode{background:#eee;color:#1e293b}body.light-mode .subtitle{color:#374151;font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle)}body.light-mode .main-title{color:#374151;font-family:Albert Sans,Inter,sans-serif;font-family:var(--font-title)}body.light-mode .content-item{color:#374151;font-family:Inter,sans-serif;font-family:var(--font-body)}body.light-mode .content-icon{color:#374151}body.light-mode .social-link.secondary{border:1px solid #64748b;color:#475569;font-family:Inter,sans-serif;font-family:var(--font-body)}body.light-mode .social-link.secondary:hover{background-color:#f1f5f9}body.light-mode .particles-canvas{opacity:1}@media (max-width:768px){.animated-code,.blinking-cursor{font-size:.875rem}}.projects-showcase{max-height:100%;overflow-y:auto;padding:1rem}.project-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.filter-btn{background:#0000;border:1px solid #9ca3af4d;border:1px solid var(--border-color);border-radius:.5rem;color:#bbb;color:var(--text-primary);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .3s ease}.filter-btn:hover{color:#f3f4f6;color:var(--accent-color)}.filter-btn.active,.filter-btn:hover{border-color:#f3f4f6;border-color:var(--accent-color)}.filter-btn.active{background-color:#f3f4f6;background-color:var(--accent-color);color:#111827}.projects-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:1rem}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #9ca3af4d;border:1px solid var(--border-color);border-radius:.75rem;cursor:pointer;padding:1rem;transition:all .3s ease}.project-card:hover{border-color:#f3f4f6;border-color:var(--accent-color);box-shadow:0 8px 25px #0000004d;transform:translateY(-2px)}.project-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.project-title{color:#bbb;color:var(--text-primary);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1.125rem;font-weight:600;margin:0}.project-year{background:#9ca3af;background:var(--primary-color);border-radius:.25rem;color:#fff;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.project-description{color:#bbb;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.875rem;line-height:1.5;margin-bottom:1rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tech-tag{background:#9ca3af33;border:1px solid #9ca3af66;border-radius:.25rem;color:#f3f4f6;color:var(--accent-color);font-size:.75rem;font-weight:500;padding:.25rem .5rem}.tech-tag.more{background:#9ca3af1a;border-color:#9ca3af33;color:#d6d6d6;color:var(--text-secondary)}.project-category{display:flex;justify-content:flex-end}.category-badge{background:#6b728026;border:1px solid #6b72804d;border-radius:1rem;color:#6b7280;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.project-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.project-modal{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827;background:var(--bg-primary);border:1px solid #9ca3af4d;border:1px solid var(--border-color);border-radius:1rem;max-height:80vh;overflow-y:auto;position:relative}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#d6d6d6;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:2rem}.modal-close:hover{background:#ffffff1a;color:#bbb;color:var(--text-primary)}.modal-content{padding:2rem}.modal-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.modal-header h2{color:#bbb;color:var(--text-primary);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1.5rem;font-weight:600;margin:0}.modal-year{background:#9ca3af;background:var(--primary-color);border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.modal-description{color:#d6d6d6;color:var(--text-secondary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.modal-technologies h4{color:#bbb;color:var(--text-primary);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1rem;font-weight:600;margin-bottom:.75rem}.tech-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-item{background:#3b82f61a;border:1px solid #3b82f633;border-radius:.5rem;color:#9ca3af;color:var(--primary-color);font-size:.875rem;font-weight:500;padding:.5rem 1rem}.modal-links{display:flex;flex-wrap:wrap;gap:1rem}.modal-link{align-items:center;border-radius:.5rem;display:flex;font-family:Inter,sans-serif;font-family:var(--font-body);font-weight:500;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.modal-link svg{color:inherit;height:1rem;margin-right:.5rem;transition:all .3s ease;width:1rem}.modal-link.live{background:#9ca3af;background:var(--primary-color);color:#fff}.modal-link.live:hover{background:#1d4ed8;transform:translateY(-2px)}.modal-link.github{background:#0000;border:1px solid #9ca3af4d;border:1px solid var(--border-color);color:#d6d6d6;color:var(--text-secondary)}.modal-link.github:hover{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color);transform:translateY(-2px)}body.light-mode .project-card{background:#ffffffe6;border-color:#d1d5db}body.light-mode .project-card:hover{background:#fff;border-color:#374151}body.light-mode .project-modal{background:#fffffff2;border-color:#e5e7eb}body.light-mode .tech-item,body.light-mode .tech-tag{background:#37415126;border-color:#37415166;color:#9ca3af;color:var(--primary-color)}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-filters{justify-content:center}.modal-content{padding:1.5rem}.modal-header{flex-direction:column;gap:.5rem}.modal-links{justify-content:center}.services-grid{grid-template-columns:1fr}.service-card{max-width:none;padding:.5rem}.service-title{font-size:1rem}.service-description{font-size:.75rem}.service-features li{font-size:.7rem;margin-bottom:.3rem}.service-icon svg{height:1.75rem;width:1.75rem}.language-selector{padding:.375rem;right:1.25rem;top:4.5rem}.lang-btn{font-size:.7rem;min-width:1.75rem;padding:.25rem .375rem}.service-modal{max-height:80vh;max-width:90%;padding:.75rem}.service-modal-title{font-size:1.25rem}.service-modal-description{font-size:.875rem}.service-modal-features li{font-size:.8rem}}.scrollable-content{left:0;min-height:100vh;padding-top:0;pointer-events:auto;position:absolute;scroll-snap-type:y mandatory;top:0;width:50%;z-index:2}.scrollable-section{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:600px;min-height:100vh;padding:0 2rem;scroll-snap-align:start;width:100%}@media (max-width:768px){.scrollable-content{scroll-snap-type:none}.scrollable-section{padding:0 1rem;scroll-snap-align:none}}.scrollable-text{display:flex;flex-direction:column;gap:2rem;justify-content:flex-start;opacity:0;padding:2rem 0;scrollbar-color:#9ca3af4d #0000;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin;transform:translateY(30px) scale(.95);transition:all .5s cubic-bezier(.25,.46,.45,.94);width:100%}.scrollable-text.animate-in{opacity:1;transform:translateY(0) scale(1)}.scrollable-text.animate-in .subtitle{animation:slideInFromLeft .4s cubic-bezier(.25,.46,.45,.94) .1s both}.scrollable-text.animate-in .main-title{animation:slideInFromRight .4s cubic-bezier(.25,.46,.45,.94) .2s both}.scrollable-text.animate-in .content-list{animation:fadeInUp .4s cubic-bezier(.25,.46,.45,.94) .3s both}.scrollable-text.animate-in .social-links{animation:fadeInUp .4s cubic-bezier(.25,.46,.45,.94) .4s both}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scrollable-text{transition:transform .2s ease-out;will-change:transform}.scrollable-text,.scrollable-text.animate-in{transform-style:preserve-3d}.scrollable-text.animate-in .main-title:after,.scrollable-text.animate-in .main-title:before{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:.7}50%{opacity:1}}.services-showcase{max-height:100%;opacity:0;overflow-y:auto;padding:1rem;transform:translateY(20px);transition:all .6s ease}.services-showcase.visible{opacity:1;transform:translateY(0)}.services-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.service-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14;border:1px solid #9ca3af4d;border:1px solid var(--border-color);border-radius:.75rem;display:flex;flex-direction:column;height:100%;padding:.75rem;transition:all .3s ease}.service-card:hover{background:#ffffff1f;border-color:#f3f4f6;border-color:var(--accent-color);box-shadow:0 8px 25px #0000004d;transform:translateY(-4px)}.service-header{gap:.75rem;margin-bottom:1rem}.service-header,.service-icon{align-items:center;display:flex}.service-icon{color:#9ca3af;color:var(--primary-color);flex-shrink:0;justify-content:center;margin-bottom:0}.service-icon svg{height:2rem;width:2rem}.service-title{color:#9ca3af;color:var(--primary-color);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1.125rem;font-weight:600}.service-description{color:#bbb;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.8rem;line-height:1.4;margin:0 0 1rem}.service-features{flex:1 1;margin-bottom:1.5rem}.service-features ul{list-style:none;margin:0;padding:0}.service-features li{color:#bbb;color:var(--text-primary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.75rem;line-height:1.4;margin-bottom:.4rem;padding-left:1.25rem;position:relative}.service-features li:before{color:#10b981;color:var(--success-color);content:"✓";font-weight:700;left:0;position:absolute}.service-footer{align-items:center;display:flex;justify-content:space-between;margin-top:auto}.learn-more-btn{background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);border-radius:.375rem;border-radius:var(--border-radius-sm);color:#9ca3af;color:var(--primary-color);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;min-width:100px;padding:.5rem 1rem;transition:all .3s ease}.learn-more-btn:hover{background:#9ca3af;background:var(--primary-color);color:#111827}body.light-mode .service-card{background:#fffc;border-color:#d1d5db}body.light-mode .service-card:hover{background:#fff;border-color:#374151}body.light-mode .service-description,body.light-mode .service-features li,body.light-mode .service-icon,body.light-mode .service-title{color:#374151}body.light-mode .learn-more-btn{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .learn-more-btn:hover{background:#9ca3af;background:var(--primary-color);color:#fff}.services-minimal{color:#e5e7eb;padding:1rem}.services-minimal-title{color:#f3f4f6;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.services-minimal-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.service-minimal-item{align-items:flex-start;background-color:#1f293780;border:1px solid #4b55634d;border-radius:.5rem;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all .3s ease}.service-minimal-item:hover{background:#1f2937b3;border-color:#37415180;box-shadow:0 4px 12px #37415133;transform:translateY(-2px)}.service-minimal-icon{color:#9ca3af;color:var(--primary-color);flex-shrink:0;height:1.5rem;margin-top:.25rem;width:1.5rem}.service-minimal-content{flex:1 1}.service-minimal-content .service-minimal-title{color:#f3f4f6;font-size:1rem;font-weight:600;margin-bottom:.5rem}.service-minimal-description{color:#9ca3af;font-size:.875rem;line-height:1.4}.service-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);bottom:0;display:flex;justify-content:center;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:10000}.service-modal{animation:slideInUp .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#111827f2;border:1px solid #3741514d;border-radius:1rem;max-height:70vh;max-width:400px;overflow-y:auto;padding:1rem;position:relative;width:85%}.service-modal-header{align-items:center;border-bottom:1px solid #37415133;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.service-modal-title-section{align-items:center;display:flex;flex:1 1;gap:1rem}.service-modal-icon{align-items:center;background:#3741511a;border-radius:.5rem;color:#9ca3af;color:var(--primary-color);display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.service-modal-icon svg{height:1.25rem;width:1.25rem}.service-modal-close{align-items:center;background:none;border:none;border-radius:.5rem;color:#d6d6d6;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .3s ease}.service-modal-close:hover{background:#6b72801a;color:#9ca3af;color:var(--primary-color)}.service-modal-close svg{height:1.25rem;width:1.25rem}.service-modal-content{color:#fcfcfc;color:var(--text-color)}.service-modal-title{color:#9ca3af;color:var(--primary-color);font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:700;margin:0}.service-modal-description{color:#d6d6d6;color:var(--text-secondary);font-family:JetBrains Mono,monospace;line-height:1.6;margin-bottom:1.5rem}.service-modal-features h4{color:#9ca3af;color:var(--primary-color);font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600;margin-bottom:.75rem}.service-modal-features ul{list-style:none;margin:0 0 1.5rem;padding:0}.service-modal-features li{color:#fcfcfc;color:var(--text-color);font-family:JetBrains Mono,monospace;padding:.25rem 0 .25rem 1.5rem;position:relative}.service-modal-features li:before{color:#9ca3af;color:var(--primary-color);content:"▸";font-weight:700;left:0;position:absolute}body.light-mode .service-modal{background:#fffffff2;border-color:#3741514d}body.light-mode .service-modal-header{border-bottom-color:#37415133}body.light-mode .service-modal-icon{background:#3741511a}body.light-mode .service-modal-features h4,body.light-mode .service-modal-features li:before,body.light-mode .service-modal-icon,body.light-mode .service-modal-title{color:#9ca3af;color:var(--primary-color)}.services-description{background:#3b82f60d;border:1px solid #3b82f61a;border-radius:.5rem;margin-top:1.5rem;padding:1rem}.services-description p{color:#d6d6d6;color:var(--text-secondary);font-family:Inter,sans-serif;font-family:var(--font-body);font-size:.875rem;line-height:1.6;margin:0}.service-consult-btn{background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);border-radius:.375rem;border-radius:var(--border-radius-sm);color:#9ca3af;color:var(--primary-color);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;min-width:100px;padding:.5rem 1rem;transition:all .3s ease}.service-consult-btn:hover{background:#9ca3af;background:var(--primary-color);color:#111827}body.light-mode .service-consult-btn{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .service-consult-btn:hover{background:#9ca3af;background:var(--primary-color);color:#fff}.service-modal-actions{margin-top:1.5rem;text-align:center}.service-modal-contact-btn{background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);color:#9ca3af;color:var(--primary-color);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;min-width:100px;padding:.5rem 1rem;transition:all .3s ease}.service-modal-contact-btn:hover:not(:disabled){background:#9ca3af;background:var(--primary-color);color:#111827}body.light-mode .service-modal-contact-btn{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .service-modal-contact-btn:hover:not(:disabled){background:#9ca3af;background:var(--primary-color);color:#fff}.projects-minimal{color:#e5e7eb;padding:1rem}.projects-minimal-title{color:#f3f4f6;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.project-minimal-card{background-color:#1f293780;border:1px solid #4b55634d;border-radius:.75rem;margin-bottom:.75rem;padding:1rem}.project-minimal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.project-minimal-title{color:#f3f4f6;font-size:1.25rem;font-weight:600;margin:0}.project-minimal-year{color:#10b981;color:var(--success-color);font-size:.875rem;font-weight:500}.project-minimal-description{color:#9ca3af;font-size:.875rem;line-height:1.5;margin-bottom:.75rem}.project-minimal-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.project-minimal-tech .tech-tag{background-color:#37415133;border-radius:.25rem;color:#9ca3af;color:var(--primary-color);font-size:.75rem;font-weight:500;padding:.25rem .5rem}.project-minimal-links{display:flex;gap:1rem}.project-minimal-card+.project-minimal-card{margin-top:1.5rem}@media (max-width:768px){.project-minimal-card+.project-minimal-card{margin-top:1rem}}.project-minimal-link{align-items:center;background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);border-radius:.375rem;border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;justify-content:center;min-width:100px;padding:.5rem 1rem;text-decoration:none}.project-minimal-link,.project-minimal-link svg{color:#9ca3af;color:var(--primary-color);transition:all .3s ease}.project-minimal-link svg{height:1rem;margin-right:.5rem;width:1rem}.project-minimal-link:hover{background:#9ca3af;background:var(--primary-color);color:#111827}.project-minimal-link:hover svg{color:#111827}.project-minimal-link.demo{border-color:#10b981;border-color:var(--success-color);color:#10b981;color:var(--success-color)}.project-minimal-link.demo:hover{background-color:#10b981;background-color:var(--success-color);color:#111827}.project-minimal-link[type=button]{background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);border-radius:.375rem;border-radius:var(--border-radius-sm);color:#9ca3af;color:var(--primary-color);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;min-width:100px;padding:.5rem 1rem;transition:all .3s ease}.project-minimal-link[type=button]:hover{background:#9ca3af;background:var(--primary-color);color:#111827}.project-minimal-link[type=button].demo{border-color:#10b981;border-color:var(--success-color);color:#10b981;color:var(--success-color)}.project-minimal-link[type=button].demo:hover{background:#10b981;background:var(--success-color);color:#111827}body.light-mode .project-minimal-link{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .project-minimal-link:hover{background:#9ca3af;background:var(--primary-color);color:#fff}body.light-mode .project-minimal-link[type=button]{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .project-minimal-link[type=button]:hover{background:#9ca3af;background:var(--primary-color);color:#fff}.window-base.game{background-color:#111827;height:100%}.game-content{height:calc(100% - 2.5rem);overflow:hidden;width:100%}.game-content iframe{border:none;border-radius:0 0 .5rem .5rem;height:913px;transform:scale(.5) translate(-50%,-50%);width:1368px}@media (max-width:768px){.services-grid{grid-template-columns:1fr}.service-card{padding:1rem}.service-footer{align-items:stretch;flex-direction:column;gap:1rem}.learn-more-btn{min-width:auto;width:100%}.project-minimal-link,.service-consult-btn,.submit-btn{min-width:auto}}.contact-form-container{display:flex;flex-direction:column;max-height:100%;min-height:400px;opacity:0;overflow-y:auto;transform:translateY(20px);transition:all .6s ease}.contact-form-container.visible{opacity:1;transform:translateY(0)}.contact-form{background:#0000;border:none;flex:1 1;font-family:JetBrains Mono,monospace;padding:0}.contact-form,.form-fields{display:flex;flex-direction:column}.form-fields{flex:1 1;gap:1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;margin-bottom:0;position:relative}.form-group label{color:#9ca3af;color:var(--primary-color);font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;margin-bottom:.5rem}.form-group input,.form-group textarea{background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);color:#fcfcfc;color:var(--text-color);font-family:JetBrains Mono,monospace;font-size:.875rem;outline:none;padding:.5rem;transition:all .3s ease}.form-group input.error,.form-group textarea.error{border-color:#ef4444;color:#fcfcfc;color:var(--text-color)}.form-group input:focus,.form-group textarea:focus{background:#6b728026;border-color:#d1d5db;border-color:var(--secondary-color);outline:none}.form-group input.error:focus,.form-group textarea.error:focus{background:#ef44440d;border-color:#ef4444}.form-group input::placeholder,.form-group textarea::placeholder{color:#d6d6d6;color:var(--text-secondary);font-family:JetBrains Mono,monospace;opacity:.8}.form-group input.error::placeholder,.form-group textarea.error::placeholder{color:#d6d6d6;color:var(--text-secondary);opacity:.6}.form-group textarea{min-height:80px;resize:vertical}.error-message{color:#ef4444;display:block;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:400;margin-top:.25rem;min-height:1rem;opacity:0;transition:opacity .3s ease}.error-message.has-error{animation:fadeIn .3s ease-in;opacity:.9}.form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-start}.submit-btn{background:#0000;border:1px solid #9ca3af;border:1px solid var(--primary-color);border-radius:.375rem;border-radius:var(--border-radius-sm);color:#9ca3af;color:var(--primary-color);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:400;min-width:100px;padding:.5rem 1rem;transition:all .3s ease}.submit-btn:hover:not(:disabled){background:#9ca3af;background:var(--primary-color);color:#111827}.submit-btn:disabled{cursor:not-allowed;opacity:.5}.submit-btn.submitting{position:relative}.submit-btn.submitting:after{animation:spin 1s linear infinite;border:1px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:12px;margin:auto;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:12px}@keyframes spin{0%{transform:translateY(-50%) rotate(0deg)}to{transform:translateY(-50%) rotate(1turn)}}.form-message{align-items:center;animation:fadeIn .3s ease-in;display:flex;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.875rem;font-weight:500;justify-content:center;margin-top:0;padding:.5rem .75rem;text-align:center;white-space:nowrap}.form-message.success{color:#10b981;color:var(--success-color)}.form-message.error svg,.form-message.success svg{height:auto;width:20px}.form-message.error{color:#fa4d4d}body.light-mode .form-group input,body.light-mode .form-group textarea{border-color:#059669;color:#fcfcfc;color:var(--text-color)}body.light-mode .form-group input:focus,body.light-mode .form-group textarea:focus{background:#0596691a;border-color:#047857;outline:none}body.light-mode .form-group input::placeholder,body.light-mode .form-group textarea::placeholder{color:#d6d6d6;color:var(--text-secondary)}body.light-mode .form-group label,body.light-mode .form-header p{color:#059669}body.light-mode .submit-btn{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .submit-btn:hover:not(:disabled){background:#9ca3af;background:var(--primary-color);color:#fff}@media (max-width:768px){.contact-form{padding:0}.form-row{grid-template-columns:1fr}.form-header p{font-size:.875rem}.submit-btn{width:auto}.form-actions{align-items:flex-start;flex-direction:column;gap:.75rem}.form-message{text-align:left;white-space:normal}}.progress-dot-label{color:#f3f4f6;color:var(--accent-color);flex:1 1;font-size:.875rem;font-weight:500;max-width:auto;opacity:.8;overflow:hidden;pointer-events:none;text-align:left;transform:translateX(0);transition:all .4s cubic-bezier(.25,.46,.45,.94);white-space:nowrap}.progress-dot.active .progress-dot-label,.progress-dot:hover .progress-dot-label{color:#f3f4f6;color:var(--accent-color);font-size:1rem;font-weight:600;letter-spacing:.02em;max-width:200px;opacity:1;text-shadow:0 0 10px #9ca3af99;transform:translateX(0)}.progress-indicator-icon{align-items:center;animation:slideInLeft .3s ease-out;background:#0000;border:none;border-radius:50%;color:#f3f4f6;color:var(--accent-color);display:flex;flex-shrink:0;height:1.5rem;justify-content:center;margin-right:0;opacity:1;padding:.25rem;transition:all .3s ease;width:1.5rem}.progress-dot:hover .progress-indicator-icon{background:#0000;border:none;color:#f3f4f6;color:var(--accent-color);filter:drop-shadow(0 0 8px rgba(156,163,175,.8));transform:scale(1.15)}.progress-dot.active .progress-indicator-icon{background:#0000;border:none;color:#f3f4f6;color:var(--accent-color);filter:drop-shadow(0 0 10px rgba(156,163,175,1));transform:scale(1.2)}@keyframes slideInLeft{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.language-selector{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#111827cc;border:1px solid #4b55634d;border-radius:.5rem;display:flex;flex-direction:column;gap:.25rem;padding:.5rem;position:fixed;right:1.25rem;top:4.5rem;width:60px;z-index:1000}.lang-btn{background:#0000;border:1px solid #9ca3af4d;border:1px solid var(--border-color);border-radius:.25rem;color:#d6d6d6;color:var(--text-secondary);cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-code);font-size:.75rem;font-weight:500;min-width:2rem;padding:.375rem .5rem;transition:all .3s ease}.lang-btn:hover{color:#9ca3af;color:var(--primary-color)}.lang-btn.active,.lang-btn:hover{border-color:#9ca3af;border-color:var(--primary-color)}.lang-btn.active{background:#9ca3af;background:var(--primary-color);color:#fff}body.light-mode .language-selector{background:#ffffffe6;border-color:#6b728066}body.light-mode .lang-btn{border-color:#6b72804d;color:#6b7280cc}body.light-mode .lang-btn:hover{border-color:#9ca3af;border-color:var(--primary-color);color:#9ca3af;color:var(--primary-color)}body.light-mode .lang-btn.active{background:#9ca3af;background:var(--primary-color);border-color:#9ca3af;border-color:var(--primary-color);color:#fff}.mobile-sticky-bar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#111827f2;border-bottom:1px solid #4b55634d;display:none;left:0;opacity:0;position:fixed;right:0;top:0;transform:translateY(-100%);transition:all .3s ease;z-index:1000}.mobile-sticky-bar.visible{opacity:1;transform:translateY(0)}.mobile-sticky-bar .sticky-bar-content{align-items:center;display:flex;justify-content:space-between;max-width:100%;padding:.75rem 1rem}.mobile-sticky-bar .section-title{align-items:center;display:flex;flex:1 1}.mobile-sticky-bar .section-name{color:#9ca3af;color:var(--primary-color);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1rem;font-weight:600;letter-spacing:.02em;text-shadow:0 0 10px #10b9814d}.mobile-sticky-bar .mobile-menu-toggle{align-items:center;background:#0000;border:none;color:#9ca3af;color:var(--primary-color);cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .3s ease;width:44px}.mobile-sticky-bar .mobile-menu-toggle:hover{transform:scale(1.05)}.mobile-sticky-bar .mobile-menu-toggle:active{transform:scale(.95)}.mobile-sticky-bar .menu-icon{height:20px;transition:all .3s ease;width:20px}body.light-mode .mobile-sticky-bar{background:#fffffff2;border-bottom-color:#6b728033}body.light-mode .mobile-sticky-bar .section-name{color:#9ca3af;color:var(--primary-color);text-shadow:0 0 10px #10b98133}body.light-mode .mobile-sticky-bar .mobile-menu-toggle{background:#10b9811a;border-color:#10b9814d;color:#9ca3af;color:var(--primary-color)}body.light-mode .mobile-sticky-bar .mobile-menu-toggle:hover{background:#10b98133;border-color:#10b98180}.contact-form-popup-overlay{align-items:center;animation:fadeIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:2000}.contact-form-popup{animation:slideInUp .4s ease-out;background:#111827;border:1px solid #9ca3af4d;border:1px solid var(--border-color);box-shadow:0 25px 50px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:100%}.popup-header{align-items:center;background:#ffffff0d;border-bottom:1px solid #9ca3af4d;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:8px 16px}.popup-title{color:#9ca3af;color:var(--primary-color);font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1.25rem;font-weight:600;margin:0}.popup-close-btn{align-items:center;background-color:initial;border:none;color:#ef4444;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .3s ease;width:40px}.popup-close-btn:hover{transform:scale(1.05)}.popup-close-btn:active{transform:scale(.95)}.popup-close-btn .close-icon{height:20px;width:20px}.popup-content{flex:1 1;overflow-y:auto;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.contact-form-popup .contact-form-container{max-height:none;min-height:auto;opacity:1;overflow-y:visible;padding:0;transform:none}.contact-form-popup .contact-form{padding:0}.contact-form-popup .form-fields{gap:1rem}.contact-form-popup .form-row{gap:1rem;grid-template-columns:1fr}.contact-form-popup .form-group label{font-size:.875rem;margin-bottom:.5rem}.contact-form-popup .form-group input,.contact-form-popup .form-group textarea{font-size:.875rem;padding:.75rem}.contact-form-popup .form-group textarea{min-height:100px}.contact-form-popup .form-actions{align-items:stretch;flex-direction:column;gap:1rem;margin-top:1rem}.contact-form-popup .submit-btn{font-size:.875rem;padding:.75rem;width:100%}.success-message{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:2rem 1rem;text-align:center}.success-icon{animation:successPulse .6s ease-out;color:#10b981;height:48px;margin-bottom:1.5rem;width:48px}.success-title{color:#10b981;font-family:Geist,Inter,sans-serif;font-family:var(--font-subtitle);font-size:1.5rem;font-weight:600;margin:0 0 1rem}.success-description{color:#9ca3af;font-family:Inter,sans-serif;font-family:var(--font-body);font-size:1rem;line-height:1.6;margin:0 0 2rem;max-width:300px}.success-close-btn{background:#10b981;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:JetBrains Mono,monospace;font-family:var(--font-code);font-size:.875rem;font-weight:500;padding:.75rem 2rem;transition:all .3s ease}.success-close-btn:hover{background:#059669;transform:translateY(-2px)}.success-close-btn:active{transform:translateY(0)}@keyframes successPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}body.light-mode .contact-form-popup{background:#111827;border-color:#6b728033}body.light-mode .popup-header{background:#ffffff0d;border-bottom-color:#6b728033}body.light-mode .popup-title{color:#9ca3af;color:var(--primary-color)}.skip-link{background:#9ca3af;background:var(--primary-color);border-radius:4px;color:#fff;left:6px;padding:8px;position:absolute;text-decoration:none;top:-40px;transition:top .3s ease;z-index:1000}.skip-link:focus{top:6px}a:focus,button:focus,input:focus,textarea:focus{outline:none}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:active,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{-webkit-text-fill-color:#fcfcfc!important;-webkit-text-fill-color:var(--text-color)!important;-webkit-box-shadow:inset 0 0 0 30px #fff6!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}body.light-mode input:-webkit-autofill,body.light-mode input:-webkit-autofill:active,body.light-mode input:-webkit-autofill:focus,body.light-mode input:-webkit-autofill:hover,body.light-mode textarea:-webkit-autofill,body.light-mode textarea:-webkit-autofill:active,body.light-mode textarea:-webkit-autofill:focus,body.light-mode textarea:-webkit-autofill:hover{-webkit-text-fill-color:#374151!important;-webkit-box-shadow:inset 0 0 0 30px #fff6!important}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){:root{--text-color:#f8fafc;--text-secondary:#cbd5e1;--border-color:#374151}}@media (prefers-color-scheme:light){:root{--text-color:#1f2937;--text-secondary:#4b5563;--border-color:#d1d5db}}body.light-mode .progress-indicators{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border-color:#6b728066}body.light-mode .progress-dot{color:#6b7280cc}body.light-mode .progress-dot:hover{background:#6b72801a;color:#6b7280}body.light-mode .progress-dot.active{background:#6b728026;color:#6b7280}body.light-mode .progress-dot-label,body.light-mode .progress-indicator-icon{color:#9ca3af;color:var(--primary-color)}body.light-mode .progress-dot.active .progress-dot-label,body.light-mode .progress-dot:hover .progress-dot-label{color:#9ca3af;color:var(--primary-color);text-shadow:0 0 10px #6b728080}body.light-mode .progress-dot.active .progress-indicator-icon,body.light-mode .progress-dot:hover .progress-indicator-icon{color:#9ca3af;color:var(--primary-color);filter:drop-shadow(0 0 8px rgba(107,114,128,.7))}@media (max-width:768px){.laptop-base{display:none}.laptop-screen{border:none!important}.scrollable-content{box-sizing:border-box;left:0;margin:0;max-width:100vw;right:0;width:100vw}.language-selector{display:none}}@media (min-width:769px){.mobile-notebook,.mobile-notebook .laptop-base,.mobile-notebook .laptop-screen,.mobile-notebook-container{display:none!important;height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;visibility:hidden!important;width:0!important}}.desktop-controls svg{stroke:gray}
/*# sourceMappingURL=main.a58029b7.css.map*/