*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font-display: "Instrument Serif", Georgia, serif;--font-body: "Sora", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", monospace;--text-xs: clamp(.7rem, .65rem + .25vw, .8rem);--text-sm: clamp(.8rem, .75rem + .25vw, .9rem);--text-base: clamp(.95rem, .9rem + .25vw, 1.05rem);--text-lg: clamp(1.1rem, 1rem + .5vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--text-3xl: clamp(2rem, 1.5rem + 2.5vw, 3rem);--text-4xl: clamp(2.5rem, 2rem + 2.5vw, 4rem);--text-5xl: clamp(3rem, 2rem + 5vw, 6rem);--ink: #1a1a1a;--ink-muted: #374151;--ink-subtle: #6b7280;--paper: #ffffff;--paper-muted: #f3f4f6;--paper-subtle: #e5e7eb;--secondary-blue: #2563eb;--accent-sage: #c4c67a;--accent-teal: #9dd9d9;--accent-purple: #c77dcd;--accent: var(--accent-purple);--accent-glow: rgba(199, 125, 205, .15);--accent-muted: #b46aba;--text-primary: var(--ink);--text-secondary: var(--ink-subtle);--text-on-dark: var(--paper);--text-on-dark-muted: rgba(255, 255, 255, .7);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--max-width: 1400px;--content-width: 900px;--nav-height: 72px;--shadow-sm: 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.06);--shadow-lg: 0 12px 40px rgba(0,0,0,.08);--shadow-glow: 0 0 40px var(--accent-glow);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--border-subtle: 1px solid rgba(0,0,0,.06);--border-muted: 1px solid rgba(0,0,0,.1);--border-dark-subtle: 1px solid rgba(255,255,255,.08);--border-dark-muted: 1px solid rgba(255,255,255,.15)}.material-symbols-outlined{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--text-primary);background-color:var(--paper);font-weight:400}p{text-wrap:pretty}::selection{background:var(--accent);color:#fff}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}.container--narrow{max-width:var(--content-width)}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:1000;background:#fafaf9d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:var(--border-subtle);transition:all var(--duration-normal) var(--ease-out)}.navbar.scrolled{background:#fafaf9f2;box-shadow:var(--shadow-sm)}.nav-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl);display:flex;justify-content:space-between;align-items:center;height:100%}.nav-logo .logo-text{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:500;color:var(--ink);letter-spacing:-.02em}.nav-menu{display:flex;list-style:none;gap:var(--space-lg)}.nav-link{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;text-decoration:none;color:var(--text-secondary);padding:var(--space-sm) 0;position:relative;transition:color var(--duration-fast) var(--ease-out)}.nav-link:hover,.nav-link.active{color:var(--ink)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width var(--duration-normal) var(--ease-out)}.nav-link:hover:after,.nav-link.active:after{width:100%}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;padding:var(--space-sm)}.hamburger span{width:24px;height:2px;background:var(--ink);transition:all var(--duration-fast) var(--ease-out)}.hero{min-height:100vh;display:flex;align-items:stretch;position:relative;overflow:hidden;margin-top:var(--nav-height);background-color:#0a0a0a}#home-section-background{position:absolute;top:0;left:0;width:55%;height:100%;z-index:0;overflow:hidden}#home-section-background canvas{display:block}#home-section-content{position:relative;z-index:1;width:100%;display:flex;align-items:center}.hero-content{width:100%;margin-left:50%;padding:var(--space-4xl) var(--space-3xl);display:flex;align-items:center;justify-content:flex-start}.hero-text{max-width:580px}.hero-title{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:400;color:var(--paper);line-height:1;letter-spacing:-.03em;margin-bottom:var(--space-md)}.hero-subtitle{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--accent-teal);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-2xl)}.hero-description{font-size:var(--text-base);color:var(--text-on-dark-muted);line-height:1.8;margin-bottom:var(--space-3xl)}.hero-description a{color:var(--paper);text-decoration:underline;text-underline-offset:3px;transition:color var(--duration-fast)}.hero-description a:hover{color:var(--accent)}.hero-stats{display:flex;gap:var(--space-3xl);margin-bottom:var(--space-3xl);padding-top:var(--space-2xl);border-top:var(--border-dark-subtle)}.stat-item{text-align:left}.stat-number{display:block;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:400;color:var(--paper);line-height:1;letter-spacing:-.02em}.stat-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-on-dark-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--space-xs)}.hero-cta{display:flex;gap:var(--space-lg);flex-wrap:wrap}.btn-primary,.btn-secondary{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;min-width:180px;text-align:center;justify-content:center;padding:var(--space-md) var(--space-xl);text-decoration:none;transition:all var(--duration-normal) var(--ease-out);border:none;cursor:pointer}.btn-primary{background:var(--accent-teal);color:var(--ink);box-shadow:0 0 30px #9dd9d933}.btn-primary:hover{background:var(--accent-sage);transform:translateY(-2px);box-shadow:0 8px 30px #9dd9d94d}.btn-secondary{background:transparent;color:var(--paper);border:2px solid var(--accent-purple)}.btn-secondary:hover{background:var(--accent-purple);border-color:var(--accent-purple);color:var(--ink)}.section{padding:var(--space-5xl) 0;position:relative}.section-dark{background:var(--ink);color:var(--text-on-dark)}.section-dark:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-sage) 0%,var(--accent-teal) 50%,var(--accent-purple) 100%)}.section-header{max-width:var(--content-width);margin:0 0 var(--space-4xl)}.section-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-lg)}.section-subtitle{font-size:var(--text-base);color:var(--text-secondary);line-height:1.8;max-width:800px}.section-dark .section-subtitle{color:var(--text-on-dark-muted)}#architecture-section-background,#demos-section-background,#curriculum-section-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}#architecture-section-background canvas,#demos-section-background canvas,#curriculum-section-background canvas{display:block}#architecture .container,#demos .container,#curriculum .container{position:relative;z-index:1}.analytics-banner{margin:0 0 var(--space-4xl);max-width:100%;border-radius:4px;overflow:hidden;box-shadow:var(--shadow-lg)}.banner-image{width:100%;height:auto;display:block}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.overview-card{background:var(--paper);padding:var(--space-2xl);border:var(--border-subtle);transition:all var(--duration-normal) var(--ease-out);position:relative}.overview-card:before{content:"";position:absolute;top:0;left:0;width:2px;height:0;background:var(--accent);transition:height var(--duration-normal) var(--ease-out)}.overview-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.overview-card:hover:before{height:100%}.card-icon{margin-bottom:var(--space-lg)}.card-icon .material-symbols-outlined{font-size:2rem;color:var(--accent)}.overview-card h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-md);color:var(--ink)}.overview-card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.architecture-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:start}.architecture-diagram{display:flex;flex-direction:column;gap:var(--space-md)}.arch-layer{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-lg);border:var(--border-dark-subtle);border-left:2px solid var(--accent)}.arch-layer h3{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-on-dark-muted);margin-bottom:var(--space-md)}.arch-components{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.component{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);background:#ffffff1a;color:var(--paper);border-radius:2px}.frontend-component{background:#e54d4d33;color:#f99}.application-component{background:#9dd9d933;color:#9dd9d9}.data-component{background:#c4c67a33;color:#c4c67a}.architecture-features{display:flex;flex-direction:column;gap:var(--space-xl)}.feature-item h4{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--paper);margin-bottom:var(--space-sm)}.feature-item p{font-size:var(--text-sm);color:var(--text-on-dark-muted);line-height:1.7}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.feature-category{background:var(--paper);padding:var(--space-2xl);border:var(--border-subtle)}.feature-category h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-lg);color:var(--ink);padding-bottom:var(--space-md);border-bottom:var(--border-muted)}.feature-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.feature-list li{font-size:var(--text-sm);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-sm)}.feature-icon{color:var(--accent);font-size:18px!important;flex-shrink:0}.demos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.demo-card{background:var(--paper);overflow:hidden;transition:all var(--duration-normal) var(--ease-out);border:var(--border-subtle)}.demo-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.demo-video{position:relative;background:#000}.demo-video iframe,.demo-video video{width:100%;aspect-ratio:16/9;display:block}.demo-info{padding:var(--space-xl)}.demo-info h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--ink);margin-bottom:var(--space-sm)}.demo-info p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-md)}.demo-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tag{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);background:var(--paper-subtle);color:var(--text-secondary);letter-spacing:.02em}.tech-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.tech-category{background:var(--paper);padding:var(--space-2xl);border:var(--border-subtle)}.tech-category h3{font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-lg);color:var(--ink)}.tech-grid{display:flex;flex-direction:column;gap:var(--space-sm)}.tech-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--paper-muted);border-left:2px solid var(--accent)}.tech-name{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--ink)}.tech-role{font-size:var(--text-xs);color:var(--text-secondary)}.curriculum-content{width:100%}.cv-header{text-align:center;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-3xl);margin-bottom:var(--space-3xl);border:var(--border-dark-subtle)}.cv-name{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:400;color:var(--paper);margin-bottom:var(--space-sm)}.cv-title{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:400;color:var(--accent-purple);text-transform:uppercase;letter-spacing:.15em;margin-bottom:var(--space-xl)}.cv-contact{display:flex;justify-content:center;gap:var(--space-xl);flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-on-dark-muted);margin-bottom:var(--space-xl)}.cv-contact span{display:flex;align-items:center;gap:var(--space-sm)}.cv-contact .material-symbols-outlined{font-size:1rem;color:var(--accent-teal)}.cv-contact a{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-on-dark-muted);text-decoration:none;transition:color .2s ease}.cv-contact a:hover{color:var(--accent-teal)}.cv-download{margin-top:var(--space-lg)}.btn-resume-download{display:inline-flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;background:var(--accent-purple);color:var(--ink);text-decoration:none;padding:var(--space-md) var(--space-xl);transition:all var(--duration-normal) var(--ease-out)}.btn-resume-download:hover{background:var(--accent-sage);transform:translateY(-2px)}.btn-resume-download .material-symbols-outlined{font-size:1.25rem}.cv-section{background:#ffffff08;padding:var(--space-2xl);margin-bottom:var(--space-xl);border:var(--border-dark-subtle)}.cv-section h3{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;color:var(--paper);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:var(--border-dark-subtle)}.cv-summary{font-size:var(--text-base);color:var(--text-on-dark-muted);line-height:1.8}.experience-timeline{display:flex;flex-direction:column;gap:var(--space-2xl)}.experience-item{padding-bottom:var(--space-2xl);border-bottom:var(--border-dark-subtle)}.experience-item:last-child{border-bottom:none;padding-bottom:0}.experience-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-sm)}.experience-header h4{font-size:var(--text-lg);font-weight:600;color:var(--paper);flex:1}.experience-location{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-on-dark-muted)}.experience-duration{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;background:var(--accent-teal);color:var(--ink);padding:var(--space-xs) var(--space-sm)}.experience-subtitle{font-size:var(--text-sm);color:var(--text-on-dark-muted);font-style:italic;margin-bottom:var(--space-md)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.achievement-card{background:#ffffff08;border:var(--border-dark-subtle);padding:var(--space-lg);text-align:center;transition:all var(--duration-normal) var(--ease-out)}.achievement-card:hover{background:#ffffff0f;transform:translateY(-2px)}.achievement-icon .material-symbols-outlined{font-size:2rem;color:var(--accent);margin-bottom:var(--space-md)}.achievement-card h4{font-size:var(--text-base);font-weight:600;color:var(--paper);margin-bottom:var(--space-sm)}.achievement-card p{font-size:var(--text-sm);color:var(--text-on-dark-muted);line-height:1.6}.education-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl);margin-top:var(--space-lg)}.education-item{background:#ffffff08;padding:var(--space-lg);border:var(--border-dark-subtle)}.education-item h4{font-size:var(--text-base);font-weight:600;color:var(--paper);display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.education-item h4 .material-symbols-outlined{color:var(--accent)}.education-school{font-size:var(--text-sm);color:var(--text-on-dark-muted);margin-bottom:var(--space-xs)}.education-year{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-teal)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-xl);margin-top:var(--space-lg)}.skill-category h4{font-size:var(--text-base);font-weight:600;color:var(--paper);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.skill-category h4:before{content:"";width:8px;height:8px;background:var(--accent)}.skill-list,.responsibility-list{list-style:none}.skill-list li,.responsibility-list li{font-size:var(--text-sm);color:var(--text-on-dark-muted);padding:var(--space-sm) 0;padding-left:var(--space-lg);position:relative;border-bottom:var(--border-dark-subtle)}.skill-list li:last-child,.responsibility-list li:last-child{border-bottom:none}.skill-list li:before{content:"●";position:absolute;left:0;color:var(--accent);font-size:.5rem}.responsibility-list li:before{content:"→";position:absolute;left:0;color:var(--accent)}.project-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.filter-btn{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;background:transparent;color:var(--text-secondary);border:1px solid var(--paper-subtle);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.filter-btn:hover{border-color:var(--ink);color:var(--ink)}.filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);align-items:start}.project-card{background:var(--paper);padding:var(--space-2xl);border:var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-md);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden;min-height:340px}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-normal) var(--ease-out)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card:hover:before{transform:scaleX(1)}.project-card.hidden{display:none}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md)}.project-header h3{font-family:var(--font-body);font-size:var(--text-xl);font-weight:600;color:var(--ink)}.project-header h3.pirate-title{display:flex;align-items:baseline;letter-spacing:-.02em}.pirate-title .r{display:inline-block}.pirate-title .r1{font-size:.5em}.pirate-title .r2{font-size:.65em}.pirate-title .r3{font-size:.8em}.pirate-title .r4{font-size:.95em}.pirate-title .r5{font-size:1em}.pirate-title .r6{font-size:.95em}.pirate-title .r7{font-size:.8em}.pirate-title .r8{font-size:.65em}.pirate-title .r9{font-size:.5em}.project-status{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;background:var(--paper-muted);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);white-space:nowrap}.project-description{flex:1}.project-description p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.7}.project-tech{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tech-tag{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm);background:var(--accent-teal);color:var(--ink);letter-spacing:.02em}.video-trigger{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--paper-subtle);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.video-trigger:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.video-trigger svg{width:14px;height:14px}.video-panel{max-height:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-out);background:#000;margin:0 calc(var(--space-2xl) * -1) calc(var(--space-2xl) * -1)}.project-card.video-open .video-panel{max-height:600px}.project-card.video-open{overflow:visible}.video-panel video{width:100%;display:block}.project-links{display:flex;gap:var(--space-md);margin-top:auto}.project-link{flex:1;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink);text-decoration:none;padding:var(--space-md);border:1px solid var(--ink);transition:all var(--duration-fast) var(--ease-out)}.project-link:hover{background:var(--ink);color:var(--paper)}.footer{background:var(--ink);color:var(--text-on-dark);padding:var(--space-4xl) 0 var(--space-xl)}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-3xl);margin-bottom:var(--space-3xl)}.footer-section h4{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--text-on-dark-muted);margin-bottom:var(--space-lg)}.footer-section p{font-size:var(--text-sm);color:var(--text-on-dark-muted);line-height:1.7;margin-bottom:var(--space-md)}.footer-section a{color:var(--accent-teal);text-decoration:none;transition:opacity var(--duration-fast)}.footer-section a:hover{opacity:.8}.footer-link{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em}.footer-metrics{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.footer-metrics li{font-size:var(--text-sm);color:var(--text-on-dark-muted)}.footer-metrics strong{color:var(--accent-teal);font-weight:600}.footer-bottom{border-top:var(--border-dark-subtle);padding-top:var(--space-xl);text-align:center}.footer-bottom p{font-size:var(--text-sm);color:var(--text-on-dark-muted)}.footer-bottom a{color:var(--text-on-dark);text-decoration:underline;text-underline-offset:2px}@media(max-width:1024px){.hamburger{display:flex}.nav-menu{position:fixed;left:-100%;top:var(--nav-height);flex-direction:column;background:var(--paper);width:100%;padding:var(--space-2xl);gap:var(--space-md);transition:left var(--duration-normal) var(--ease-out);border-bottom:var(--border-subtle)}.nav-menu.active{left:0}#home-section-background{width:45%}.hero-content{margin-left:45%;padding:var(--space-3xl) var(--space-xl)}.overview-grid,.features-grid,.tech-stack,.project-grid{grid-template-columns:repeat(2,1fr)}.architecture-content{grid-template-columns:1fr;gap:var(--space-2xl)}}@media(max-width:768px){:root{--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-4xl: 4rem;--space-5xl: 5rem}.section{padding:var(--space-4xl) 0}.hero{flex-direction:column;min-height:auto}#home-section-background{position:relative;width:100%;height:45vh}#home-section-content{min-height:55vh}.hero-content{margin-left:0;padding:var(--space-2xl)}.hero-stats{flex-direction:column;gap:var(--space-lg)}.hero-cta{flex-direction:column}.btn-primary,.btn-secondary{width:100%;text-align:center}.overview-grid,.features-grid,.tech-stack,.project-grid,.demos-grid{grid-template-columns:1fr}.cv-contact{flex-direction:column;gap:var(--space-sm)}}@media(max-width:480px){.container,.nav-container{padding:0 var(--space-lg)}.hero-title{font-size:var(--text-3xl)}.section-title{font-size:var(--text-2xl)}.project-card,.overview-card,.feature-category,.tech-category{padding:var(--space-lg)}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}.fade-in.visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}
