*{margin:0;padding:0;box-sizing:border-box}:root{--black: #0f0f0f;--white: #ffffff;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 3rem;--font-size-4xl: 4rem;--transition: all .15s ease}:root{--bg-primary: var(--black);--bg-secondary: var(--black);--bg-tertiary: var(--black);--text-primary: var(--white);--text-secondary: var(--white);--text-tertiary: var(--white);--border-primary: var(--white);--border-secondary: var(--white)}:root[data-theme=light]{--bg-primary: var(--white);--bg-secondary: var(--white);--bg-tertiary: var(--white);--text-primary: var(--black);--text-secondary: var(--black);--text-tertiary: var(--black);--border-primary: var(--black);--border-secondary: var(--black)}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;max-width:100vw;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none;transition:var(--transition)}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}section{min-height:auto;padding:var(--spacing-lg) 0;scroll-margin-top:100px}.text-center{text-align:center}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-on-scroll{opacity:0;transform:translateY(30px);will-change:opacity,transform;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.animate-fade-in{opacity:0;transition:opacity 1s ease-out}.animate-fade-in.is-visible{opacity:1}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}@media(max-width:1440px){.container{max-width:1100px}}@media(max-width:1280px){:root{--font-size-3xl: 2.75rem;--font-size-4xl: 3.5rem}.container{max-width:1000px;padding:0 var(--spacing-md)}section{padding:calc(var(--spacing-lg) * .9) 0}}@media(max-width:820px){:root{--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--font-size-4xl: 2.75rem;--spacing-lg: 2.5rem;--spacing-xl: 3.5rem}section{padding:var(--spacing-md) 0}}@media(max-width:768px){:root{--font-size-3xl: 2.5rem;--font-size-4xl: 3rem;--spacing-lg: 3rem;--spacing-xl: 4rem}section{min-height:auto;padding:var(--spacing-md) 0}.App{width:100%;min-height:100vh}}.navigation{position:fixed;bottom:1.5rem;left:0;right:0;display:flex;justify-content:center;z-index:1000}.nav-container{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:.625rem 1.5rem;background:#1e1e1e66;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:50px;box-shadow:0 4px 24px #0000004d}:root[data-theme=light] .nav-container{background:#fff9;border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px #00000026}.nav-links{display:flex;gap:1.25rem;align-items:center}.nav-link{background:transparent;border:none;color:#ffffffb3;font-size:.875rem;font-weight:400;cursor:pointer;transition:var(--transition);padding:0;white-space:nowrap}:root[data-theme=light] .nav-link{color:#000000b3}.nav-link:hover{color:var(--white)}:root[data-theme=light] .nav-link:hover{color:var(--black)}.nav-link.active{color:var(--white);font-weight:500}:root[data-theme=light] .nav-link.active{color:var(--black);font-weight:500}.nav-cta{padding:.5rem 1.125rem;background:var(--white);color:var(--black);border:none;border-radius:50px;font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--transition);white-space:nowrap}:root[data-theme=light] .nav-cta{background:var(--black);color:var(--white)}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ffffff4d}:root[data-theme=light] .nav-cta:hover{box-shadow:0 4px 12px #0000004d}@media(max-width:1280px){.navigation{bottom:.75rem}}@media(max-width:820px){.nav-container{padding:.625rem 1.25rem;gap:1rem}.nav-links{gap:1rem}.nav-link{font-size:.8125rem}.nav-cta{padding:.5rem 1rem;font-size:.8125rem}}@media(max-width:768px){.navigation{bottom:.5rem}.nav-container{padding:.75rem 1.25rem;gap:1.25rem}.nav-start{display:none}.nav-links{gap:1.25rem;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;max-width:100%;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-link{font-size:.875rem}.nav-cta{padding:.425rem .875rem;font-size:.75rem;display:none}}@media(max-width:480px){.nav-links{gap:.625rem}.nav-link{font-size:.7rem}.nav-cta{padding:.375rem .75rem;font-size:.7rem}}.theme-toggle{width:30px;height:30px;border-radius:50%;background:transparent;color:var(--text-primary);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:var(--transition);padding:0}.theme-toggle:hover{transform:rotate(180deg) scale(1.1)}.toggle-icon{display:block;line-height:1}.hero{min-height:100vh;display:flex;align-items:flex-start;position:relative;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:50px 50px;padding-top:25vh;padding-bottom:0}:root[data-theme=light] .hero{background-image:linear-gradient(rgba(0,0,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.03) 1px,transparent 1px);background-size:50px 50px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,transparent 50%,var(--bg-primary) 100%);pointer-events:none;z-index:0}.hero .container{position:relative;z-index:1}.hero-top-bar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-md);background:#0f0f0fcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.05);z-index:1000}:root[data-theme=light] .hero-top-bar{background:#fffc;border-bottom:1px solid rgba(0,0,0,.05)}.hero-top-container{position:absolute;top:2rem;left:0;right:0;width:60vw;max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;z-index:10}.hero-status-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50px;font-size:var(--font-size-sm);color:var(--text-primary)}:root[data-theme=light] .hero-status-tag{background:#0000000d;border:1px solid rgba(0,0,0,.1)}.status-dot{width:6px;height:6px;background:#0f0;border-radius:50%;box-shadow:0 0 8px #00ff0080;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.hero-username{font-size:var(--font-size-base);font-weight:500;color:var(--text-primary)}.hero-status{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:var(--text-primary)}.status-indicator{width:8px;height:8px;background:#0f0;border-radius:50%;animation:pulse-status 2s ease-in-out infinite}@keyframes pulse-status{0%,to{opacity:1}50%{opacity:.5}}.hero-content{width:60vw;max-width:1400px;margin:0 auto;text-align:left;display:flex;gap:4rem;align-items:center;justify-content:space-between;position:relative;z-index:2}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;flex:1;min-width:0}.hero-location{display:flex;align-items:center;gap:.5rem;font-size:var(--font-size-sm);color:#ffffff80;margin-bottom:var(--spacing-sm)}:root[data-theme=light] .hero-location{color:#00000080}.location-icon{font-size:1rem}.hero-title{display:flex;flex-direction:column;gap:.5rem;animation-delay:.2s}.hero-title .greeting{font-size:var(--font-size-4xl);font-weight:400;line-height:1.1;color:var(--text-primary)}.hero-title .tagline{font-size:var(--font-size-2xl);font-weight:400;color:#ffffff80;line-height:1.3}:root[data-theme=light] .hero-title .tagline{color:#00000080}.hero-title .highlight{font-style:italic;font-weight:500;color:var(--text-primary)}.hero-description{font-size:var(--font-size-lg);line-height:1.8;color:#fff9;max-width:600px;animation-delay:.3s}:root[data-theme=light] .hero-description{color:#0009}.hero-buttons{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);animation-delay:.4s}.btn{padding:.875rem 2rem;font-size:var(--font-size-base);font-weight:500;border-radius:50px;transition:var(--transition);cursor:pointer}.btn-primary{background:var(--text-primary);color:var(--bg-primary);border:2px solid var(--text-primary)}.btn-primary:hover{background:var(--bg-primary);color:var(--text-primary);transform:translateY(-2px);box-shadow:0 4px 15px #fff3}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:2px solid var(--text-primary)}.btn-secondary:hover{background:var(--text-primary);color:var(--bg-primary)}.hero-image{animation-delay:.5s;flex-shrink:0}.image-wrapper{position:relative;width:350px;height:350px;padding:1rem;background:var(--black);border:1px solid rgba(255,255,255,.08);border-radius:20px;box-shadow:0 20px 40px #0003;transition:var(--transition)}.image-wrapper img{border-radius:16px;width:100%;height:100%;object-fit:cover;filter:grayscale(100%);transition:var(--transition)}.image-wrapper:hover{transform:translateY(-5px);box-shadow:0 30px 60px #0000004d;border-color:#fff3;background:var(--black)}.image-wrapper:hover img{filter:grayscale(0%)}:root[data-theme=light] .image-wrapper{background:var(--white);border:1px solid rgba(0,0,0,.05);box-shadow:0 20px 40px #0000001a}:root[data-theme=light] .image-wrapper:hover{background:#fffc;border-color:#00000026}.image-wrapper img{width:100%;height:100%;object-fit:cover;display:block;border:3px solid var(--border-primary);border-radius:12px}@media(max-width:1440px){.hero-content{width:70vw;gap:3.5rem}.hero-top-container{width:70vw}.image-wrapper{width:320px;height:320px}}@media(max-width:1280px){.hero{padding-top:20vh}.hero-content{width:75vw;gap:3rem}.hero-top-container{width:75vw}.image-wrapper{width:300px;height:300px}.hero-title .greeting{font-size:3.5rem}.hero-title .tagline{font-size:1.75rem}}@media(max-width:1024px){.hero-content{width:85vw;gap:3rem}.hero-top-container{width:85vw}.image-wrapper{width:300px;height:300px}}@media(max-width:820px){.hero{padding-top:18vh}.hero-content{width:88vw;gap:2.5rem;flex-direction:column;text-align:center}.hero-top-container{width:88vw}.hero-image{order:-1}.image-wrapper{width:260px;height:260px}.hero-text{align-items:center}.hero-title .greeting{font-size:2.25rem}.hero-title .tagline{font-size:1.5rem}.hero-description{text-align:center}.hero-buttons{justify-content:center}}@media(max-width:768px){.hero{padding-bottom:var(--spacing-xl);padding-top:15vh;min-height:auto}.hero-content{width:90vw;flex-direction:column;gap:2rem;text-align:center}.hero-top-container{width:90vw;flex-direction:row;justify-content:center;gap:1rem}.hero-image{order:-1}.image-wrapper{width:200px;height:200px}.image-wrapper:before{inset:-15px 15px 15px -15px}.hero-text{align-items:center}.hero-location{justify-content:center}.hero-title .greeting{font-size:var(--font-size-2xl)}.hero-title .tagline{font-size:var(--font-size-lg)}.hero-description{font-size:var(--font-size-base);text-align:center}.hero-buttons{flex-direction:column;width:100%;max-width:280px}.btn{width:100%;text-align:center;justify-content:center}}.skills{padding:var(--spacing-lg) 0;padding-bottom:60px}.skills-wrapper{width:60vw;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-md)}.skills-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--spacing-md)}.skills-dot{width:8px;height:8px;background:var(--text-primary);border-radius:50%;box-shadow:0 0 10px var(--text-primary)}.skills-header h2{font-size:var(--font-size-xl);font-weight:400;color:var(--text-primary)}.skills-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:1.5rem;position:relative}.skill-category-card:nth-child(1){grid-column:span 6}.skill-category-card:nth-child(2){grid-column:span 4}.skill-category-card:nth-child(3){grid-column:span 4}.skill-category-card:nth-child(4){grid-column:span 6}.skill-category-card{background:var(--black);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2rem;transition:all .3s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;gap:1rem;height:100%}:root[data-theme=light] .skill-category-card{background:var(--white);border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 20px #00000005}.skill-category-card:hover{background:var(--black);border-color:#fff3}:root[data-theme=light] .skill-category-card:hover{background:var(--white);border-color:#0000001a;box-shadow:0 10px 30px #0000000d}.category-title{font-size:1.125rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem;opacity:.9}.skill-tags{display:flex;flex-wrap:wrap;gap:.6rem}.skill-tag{padding:.5rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;font-size:.85rem;color:#fffc;transition:all .2s ease;cursor:default}:root[data-theme=light] .skill-tag{background:#00000008;border:1px solid rgba(0,0,0,.08);color:#000000bf}.skill-tag:hover{background:#ffffff26;border-color:#ffffff4d;color:var(--text-primary)}:root[data-theme=light] .skill-tag:hover{background:#00000014;border-color:#0003;color:var(--black)}@media(max-width:1440px){.skills-wrapper{width:70vw}.skills-grid{gap:1.25rem}}@media(max-width:1280px){.skills-wrapper{width:75vw}.skills-grid{grid-template-columns:repeat(10,1fr)}.skill-category-card:nth-child(1){grid-column:span 6}.skill-category-card:nth-child(2){grid-column:span 4}.skill-category-card:nth-child(3){grid-column:span 4}.skill-category-card:nth-child(4){grid-column:span 6}}@media(max-width:1024px){.skills-wrapper{width:85vw}.skills-grid{grid-template-columns:repeat(10,1fr)}.skill-category-card:nth-child(1){grid-column:span 6}.skill-category-card:nth-child(2){grid-column:span 4}.skill-category-card:nth-child(3){grid-column:span 4}.skill-category-card:nth-child(4){grid-column:span 6}}@media(max-width:820px){.skills-wrapper{width:88vw}.skills-grid{grid-template-columns:1fr;gap:1.25rem}.skill-category-card{padding:1.75rem;grid-column:span 1}.skill-category-card:nth-child(1),.skill-category-card:nth-child(2),.skill-category-card:nth-child(3),.skill-category-card:nth-child(4){grid-column:span 1}}@media(max-width:768px){.skills-wrapper{width:90vw}.skills-grid{grid-template-columns:1fr;gap:1rem}.skill-category-card{padding:1.5rem;grid-column:span 1}.skill-category-card:nth-child(1),.skill-category-card:nth-child(2),.skill-category-card:nth-child(3),.skill-category-card:nth-child(4){grid-column:span 1}.category-title{font-size:1rem}.skill-tag{padding:.4rem .8rem;font-size:.8rem}}.projects{padding:var(--spacing-lg) 0;padding-bottom:60px;--project-top-offset: 60px}@media(max-width:1280px){.projects{--project-top-offset: 20px}}@media(max-width:768px){.projects{--project-top-offset: 60px}}.projects-wrapper{width:60vw;max-width:1400px;margin:0 auto;text-align:left}.projects-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--spacing-md)}.projects-dot{width:8px;height:8px;background:var(--text-primary);border-radius:50%}.projects-header h2{font-size:var(--font-size-xl);font-weight:400;color:var(--text-primary)}.projects-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-card-container{display:flex;align-items:flex-start;justify-content:center;position:sticky;top:0;padding-bottom:20vh}.project-card{display:flex;flex-direction:column;padding:0;background:var(--black);border:1px solid rgba(255,255,255,.08);border-radius:20px;width:100%;transform-origin:top center;position:relative;overflow:hidden}.project-image-container{width:100%;height:auto;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);position:relative;background:#000}.image-overlay{position:absolute;inset:0;background:#0000004d;opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.project-card:hover .image-overlay{opacity:1}.preview-arrow-btn{width:60px;height:60px;border-radius:50%;background:#fffffff2;color:var(--black);border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transform:scale(.8);transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #0003}.project-card:hover .preview-arrow-btn{transform:scale(1)}.preview-arrow-btn:hover{transform:scale(1.1);background:var(--white)}:root[data-theme=light] .preview-arrow-btn{background:var(--black);color:var(--white)}.preview-modal-overlay{position:fixed;inset:0;background:#000c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.preview-modal-content{width:90vw;height:85vh;background:var(--black);border:1px solid rgba(255,255,255,.1);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}:root[data-theme=light] .preview-modal-content{background:var(--white);border:1px solid rgba(0,0,0,.1)}.preview-header{padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);background:#ffffff08}:root[data-theme=light] .preview-header{border-bottom:1px solid rgba(0,0,0,.05);background:#00000005}.preview-header h3{font-size:1.1rem;font-weight:500;margin:0;color:var(--text-primary)}.close-preview-btn{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-primary);opacity:.7;cursor:pointer;padding:0 .5rem;transition:opacity .2s}.close-preview-btn:hover{opacity:1}.iframe-container{flex:1;position:relative;background:#fff}.preview-iframe{width:100%;height:100%;border:none}.preview-footer{padding:1rem;display:flex;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.1);background:#ffffff08}:root[data-theme=light] .preview-footer{border-top:1px solid rgba(0,0,0,.05);background:#00000005}.open-external-btn{text-decoration:none;color:var(--text-primary);font-size:.9rem;padding:.5rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;transition:all .2s}.open-external-btn:hover{background:#ffffff1a}:root[data-theme=light] .open-external-btn{border-color:#0003}:root[data-theme=light] .open-external-btn:hover{background:#0000000d}.preview-iframe-wrapper{position:absolute;inset:0;width:100%;height:100%;z-index:2}.preview-iframe-hover{width:100%;height:100%;border:none;background:#fff}@media(max-width:768px){.preview-arrow-btn{width:50px;height:50px;font-size:1.2rem;padding:0}.project-image-container{width:100%;height:auto}.preview-modal-content{width:95vw;height:80vh}}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image{transform:scale(1.05)}.project-content-wrapper{padding:2rem;display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1.5rem}@media(max-width:768px){.project-content-wrapper{flex-direction:column;gap:1rem;padding:1.5rem}}:root[data-theme=light] .project-card{background:var(--white);border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 20px #00000005}:root[data-theme=light] .project-image-container{border-bottom:1px solid rgba(0,0,0,.05)}.project-info{flex:1}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{padding:.375rem .875rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50px;font-size:.8125rem;color:#ffffffbf;transition:all .2s ease;cursor:default;font-weight:400}:root[data-theme=light] .tech-tag{background:#0000000a;border:1px solid rgba(0,0,0,.1);color:#000000b3}.tech-tag:hover{background:#ffffff1a;border-color:#fff3;color:var(--text-primary);transform:translateY(-1px)}:root[data-theme=light] .tech-tag:hover{background:#00000014;border-color:#0003}.project-links{display:flex;flex-direction:column;gap:.5rem;align-items:flex-end;flex-shrink:0}.project-link{font-size:var(--font-size-sm);color:#fff9;text-decoration:none;transition:var(--transition)}:root[data-theme=light] .project-link{color:#0009}.project-link:hover{color:var(--text-primary)}@media(max-width:1440px)and (max-height:900px){.projects-wrapper{width:75vw}.project-image-container{width:100%;height:auto}.project-content-wrapper{padding:1.5rem}.project-card-container{padding-bottom:15vh}}@media(max-width:1280px){.projects-wrapper{width:75vw}.project-image-container{width:100%;height:auto}.project-content-wrapper{padding:1.75rem}}@media(max-width:1024px){.projects-wrapper{width:85vw}.project-image-container{width:100%;height:auto}}@media(max-width:820px){.projects-wrapper{width:88vw}.project-image-container{width:100%;height:auto}.project-content-wrapper{flex-direction:column;gap:1.25rem;padding:1.5rem}.project-links{flex-direction:row;align-items:center;width:100%;justify-content:flex-start;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}:root[data-theme=light] .project-links{border-top:1px solid rgba(0,0,0,.1)}.preview-modal-content{width:92vw;height:82vh}}@media(max-width:768px){.projects-wrapper{width:90vw}.project-image-container{width:100%;height:auto}.project-card{flex-direction:column;gap:var(--spacing-md)}.project-links{flex-direction:row;align-items:center;width:100%;justify-content:flex-start;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}:root[data-theme=light] .project-links{border-top:1px solid rgba(0,0,0,.1)}.projects-header h2{font-size:var(--font-size-lg)}.project-title{font-size:var(--font-size-base)}.project-description{font-size:var(--font-size-sm)}}.experience{padding:var(--spacing-lg) 0;padding-bottom:60px}.experience-wrapper{width:60vw;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:var(--spacing-xl)}.timeline-section{position:relative}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--spacing-md)}.section-dot{width:8px;height:8px;background:var(--text-primary);border-radius:50%}.section-header h2{font-size:var(--font-size-xl);font-weight:400;color:var(--text-primary)}.timeline-container{position:relative;padding-left:20px}.timeline-line{position:absolute;left:7px;top:10px;bottom:0;width:2px;background:repeating-linear-gradient(to bottom,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 6px,transparent 6px,transparent 12px)}:root[data-theme=light] .timeline-line{background:repeating-linear-gradient(to bottom,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 6px,transparent 6px,transparent 12px)}.timeline-items{display:flex;flex-direction:column;gap:var(--spacing-md)}.timeline-item{position:relative;padding-left:30px}.timeline-marker{position:absolute;left:-20px;top:24px;width:14px;height:14px;border:2px solid var(--text-primary);border-radius:50%;background:var(--bg-primary);z-index:2;transform:translate(3.5px)}:root[data-theme=light] .timeline-marker{background:var(--white);border-color:var(--black)}.timeline-content{background:var(--black);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:1.5rem;transition:var(--transition)}:root[data-theme=light] .timeline-content{background:var(--white);border:1px solid rgba(0,0,0,.05)}.timeline-content:hover{background:var(--black);border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}:root[data-theme=light] .timeline-content:hover{background:var(--white)}.timeline-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.role-title{font-size:var(--font-size-lg);font-weight:500;color:var(--text-primary)}.period{font-size:var(--font-size-sm);color:#ffffff80;font-family:monospace}:root[data-theme=light] .period{color:#00000080}.company-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.company-name{font-size:var(--font-size-base);color:#ffffffb3}:root[data-theme=light] .company-name{color:#000000b3}.type-badge{font-size:.75rem;padding:.25rem .75rem;border-radius:50px;background:#ffffff1a;color:#fffc}:root[data-theme=light] .type-badge{background:#0000001a;color:#000000b3}@media(max-width:1440px){.experience-wrapper{width:70vw}}@media(max-width:1280px){.experience-wrapper{width:75vw}.timeline-content{padding:1.375rem}}@media(max-width:1024px){.experience-wrapper{width:85vw}}@media(max-width:820px){.experience-wrapper{width:88vw}.timeline-content{padding:1.25rem}.timeline-header{flex-direction:column;gap:.375rem}}@media(max-width:768px){.experience-wrapper{width:90vw}.timeline-header{flex-direction:column;gap:.25rem}.period{order:-1;font-size:.75rem}.role-title{font-size:var(--font-size-base)}.timeline-container{padding-left:10px}.timeline-marker{left:-17px;width:12px;height:12px}.timeline-line{left:0}.timeline-item{padding-left:20px}}.faq{padding:var(--spacing-lg) 0}.faq-wrapper{width:60vw;max-width:1400px;margin:0 auto;text-align:left}.faq-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--spacing-md)}.faq-dot{width:8px;height:8px;background:var(--accent);border-radius:50%}.faq-header h2{font-size:var(--font-size-md);font-weight:500;color:var(--text-primary)}.faq-content{display:flex;flex-direction:column}.faq-item{border-bottom:1px solid rgba(255,255,255,.1)}:root[data-theme=light] .faq-item{border-bottom:1px solid rgba(0,0,0,.1)}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 0;background:transparent;border:none;cursor:pointer;text-align:left;color:var(--text-primary);font-size:var(--font-size-base);font-weight:400;transition:var(--transition)}.faq-question:hover{color:var(--text-primary)}.faq-icon{font-size:1rem;color:#ffffff80}:root[data-theme=light] .faq-icon{color:#00000080}.faq-answer{overflow:hidden}.faq-answer p{padding-bottom:1.25rem;font-size:var(--font-size-base);color:#fff9;line-height:1.7}:root[data-theme=light] .faq-answer p{color:#0009}@media(max-width:1440px){.faq-wrapper{width:70vw}}@media(max-width:1280px){.faq-wrapper{width:75vw}}@media(max-width:1024px){.faq-wrapper{width:85vw}}@media(max-width:820px){.faq-wrapper{width:88vw}}@media(max-width:768px){.faq-wrapper{width:90vw}.faq-question{font-size:var(--font-size-sm);padding:1rem 0}.faq-answer p{font-size:var(--font-size-sm)}}.contact{padding:var(--spacing-xl) 0}.contact-wrapper{width:60vw;max-width:1400px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.contact-title{font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--text-primary);letter-spacing:-.02em}.contact-description{font-size:var(--font-size-base);color:#fff9;line-height:1.6;max-width:450px}:root[data-theme=light] .contact-description{color:#0009}.contact-buttons{display:flex;gap:1rem;margin-top:var(--spacing-sm)}.contact-btn{padding:.875rem 1.75rem;font-size:var(--font-size-sm);border-radius:50px;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.contact-btn.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-primary)}:root[data-theme=light] .contact-btn.btn-secondary{border:1px solid rgba(0,0,0,.2)}.contact-btn.btn-primary{background:var(--white);color:var(--black);border:1px solid var(--white)}:root[data-theme=light] .contact-btn.btn-primary{background:var(--black);color:var(--white);border:1px solid var(--black)}.social-links{display:flex;gap:1.5rem;margin-top:var(--spacing-md)}.social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ffffffb3;text-decoration:none;transition:var(--transition)}:root[data-theme=light] .social-link{background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#000000b3}.social-link:hover{color:var(--text-primary);border-color:#ffffff4d;background:#ffffff1a}:root[data-theme=light] .social-link:hover{border-color:#0000004d;background:#0000001a}.footer{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1);width:100%}:root[data-theme=light] .footer{border-top:1px solid rgba(0,0,0,.1)}.footer-text{font-size:var(--font-size-sm);color:#fff6}:root[data-theme=light] .footer-text{color:#0006}@media(max-width:1440px){.contact-wrapper{width:70vw}}@media(max-width:1280px){.contact-wrapper{width:75vw}}@media(max-width:1024px){.contact-wrapper{width:85vw}}@media(max-width:820px){.contact-wrapper{width:88vw}.contact-buttons{flex-direction:column;width:100%;max-width:320px}.contact-btn{width:100%;justify-content:center}}@media(max-width:768px){.contact-wrapper{width:90vw}.contact-title{font-size:clamp(1.5rem,6vw,2rem)}.contact-description{font-size:var(--font-size-sm)}.contact-buttons{flex-direction:column;width:100%;max-width:280px}.contact-btn{width:100%;justify-content:center}.social-links{gap:1rem}.social-link{width:40px;height:40px}}.modal-overlay{position:fixed;inset:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.modal-content{background:var(--black);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 25px 50px #00000080}:root[data-theme=light] .modal-content{background:var(--white);border:1px solid rgba(0,0,0,.05)}.modal-icon{font-size:3rem;margin-bottom:1rem}.modal-title{font-size:1.5rem;font-weight:500;color:var(--text-primary);margin-bottom:1rem}.modal-message{font-size:var(--font-size-base);color:#ffffffb3;line-height:1.6;margin-bottom:.5rem}:root[data-theme=light] .modal-message{color:#000000b3}.modal-cta{font-size:var(--font-size-sm);color:#ffffff80;margin-bottom:1.5rem}:root[data-theme=light] .modal-cta{color:#00000080}.modal-close-btn{padding:.875rem 2rem;background:var(--white);color:var(--black);border:none;border-radius:50px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:var(--transition)}:root[data-theme=light] .modal-close-btn{background:var(--black);color:var(--white)}.intro-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f0f0f;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .3s ease-out}.intro-screen.fade-out{opacity:0;pointer-events:none}.intro-content{text-align:center}.typing-text{font-size:3rem;font-weight:600;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;white-space:nowrap;display:inline-block}.cursor{display:inline-block;margin-left:.25rem;animation:blink .7s infinite;font-weight:300}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media(max-width:768px){.typing-text{font-size:2rem}}@media(max-width:480px){.typing-text{font-size:1.5rem}}
