.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:0;background:var(--accent);color:var(--bg);padding:8px 20px;font-weight:700;font-family:var(--font-mono);font-size:14px;z-index:9999;text-decoration:none;border-radius:0 0 4px}.skip-link:focus{top:0}@font-face{font-family:Inter;font-display:swap;src:local('Inter')}@font-face{font-family:'JetBrains Mono';font-display:swap;src:local('JetBrains Mono')}@font-face{font-family:'Space Grotesk';font-display:swap;src:local('Space Grotesk')}:root{--bg:#0a0a0f;--bg-light:#12121a;--bg-card:#16161f;--bg-card-hover:#1a1a25;--surface:#1e1e2a;--border:#2a2a3a;--border-light:#3a3a4a;--text:#e4e4ed;--text-muted:#8888a0;--text-dim:#858598;--accent:#00ff88;--accent-rgb:0,255,136;--accent2:#7b61ff;--accent2-rgb:123,97,255;--accent3:#ff3d71;--gradient-accent:linear-gradient(135deg, var(--accent), var(--accent2));--glow:0 0 20px rgba(var(--accent-rgb), 0.3);--glow-strong:0 0 40px rgba(var(--accent-rgb), 0.4),0 0 80px rgba(var(--accent-rgb), 0.1);--font-mono:'JetBrains Mono',monospace;--font-sans:'Inter',-apple-system,sans-serif;--font-display:'Space Grotesk',sans-serif;--nav-height:70px;--section-padding:clamp(80px, 12vh, 140px);--container-width:1200px;--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-in-out:cubic-bezier(0.65, 0, 0.35, 1)}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--accent) var(--bg);scrollbar-gutter:stable}html::-webkit-scrollbar{width:6px}html::-webkit-scrollbar-track{background:var(--bg)}html::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);overflow-x:hidden;cursor:none;line-height:1.6;-webkit-font-smoothing:antialiased}@media (pointer:coarse){body{cursor:auto}.cursor,.cursor-follower{display:none!important}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:rgba(var(--accent-rgb),.3);color:var(--accent)}#loader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}#loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-terminal{font-family:var(--font-mono);font-size:14px;color:var(--accent);margin-bottom:30px}.loader-line{opacity:0;transform:translateY(5px);animation:.4s forwards loaderLineIn}.loader-line:first-child{animation-delay:0s}.loader-line:nth-child(2){animation-delay:.1s}.loader-line:nth-child(3){animation-delay:.2s}.loader-line:nth-child(4){animation-delay:.3s}@keyframes loaderLineIn{to{opacity:1;transform:translateY(0)}}.loader-progress{width:200px;height:2px;background:var(--border);border-radius:2px;overflow:hidden}.loader-bar{height:100%;background:var(--accent);width:100%;transform:scaleX(0);transform-origin:left;animation:.4s .1s forwards loaderBar;box-shadow:var(--glow);will-change:transform}@keyframes loaderBar{to{transform:scaleX(1)}}.blink{animation:.8s step-end infinite blink}@keyframes blink{50%{opacity:0}}.accent{color:var(--accent)}.cursor{width:8px;height:8px;background:var(--accent);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s,background .2s;mix-blend-mode:difference}.cursor.hovering{width:40px;height:40px;background:rgba(var(--accent-rgb),.15);border:1px solid var(--accent)}.cursor-follower{width:30px;height:30px;border:1px solid rgba(var(--accent-rgb),.4);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .4s var(--ease-out-expo),height .4s var(--ease-out-expo),border-color .2s ease}.cursor-follower.hovering{width:60px;height:60px;border-color:rgba(var(--accent-rgb),.2)}#nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 40px;background:rgba(10,10,15,.8);backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}#nav.scrolled{border-bottom-color:var(--border);background:rgba(10,10,15,.95)}.nav-logo{font-family:var(--font-mono);font-size:16px;font-weight:700;letter-spacing:2px;text-decoration:none;cursor:pointer}.nav-logo-bracket{color:var(--accent)}.nav-logo-text{color:var(--text)}.nav-links{display:flex;gap:8px}.nav-link{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);border-radius:4px;transition:.3s;position:relative}.nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:1px;background:var(--accent);transition:all .3s var(--ease-out-expo);transform:translateX(-50%)}.nav-link.active,.nav-link:hover{color:var(--accent)}.nav-link.active::after,.nav-link:hover::after{width:60%}.nav-link-index{color:var(--text-dim);font-size:10px}.nav-link-wip{font-family:var(--font-mono);font-size:9px;color:var(--accent);opacity:.45;letter-spacing:1px;margin-left:2px}.lang-toggle{display:flex;align-items:center;gap:4px;background:0 0;border:1px solid var(--border);border-radius:4px;padding:4px 10px;cursor:pointer;font-family:var(--font-mono);font-size:11px;letter-spacing:1px;transition:border-color .3s}.lang-toggle:hover{border-color:rgba(var(--accent-rgb),.4)}.lang-option{color:var(--text-dim);transition:color .3s}.lang-option.active{color:var(--accent)}.lang-separator{color:var(--border-light);user-select:none}.nav-status{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim)}.status-dot{width:8px;height:8px;background:#0f8;border-radius:50%;display:inline-block;animation:2s infinite pulse-dot;box-shadow:0 0 10px rgba(0,255,136,.5)}@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}#scroll-progress{position:fixed;top:var(--nav-height);left:0;height:2px;width:100%;transform:scaleX(0);transform-origin:left center;background:var(--gradient-accent);z-index:999;will-change:transform;box-shadow:var(--glow)}.side-left,.side-right{position:fixed;bottom:0;z-index:100;display:flex;flex-direction:column;align-items:center;gap:20px}.side-left{left:30px}.side-right{right:30px}.side-icon{width:20px;height:20px;color:var(--text-muted);transition:.3s}.side-icon:hover{color:var(--accent);transform:translateY(-3px)}.side-line{width:1px;height:90px;background:var(--border)}.side-email{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);writing-mode:vertical-rl;letter-spacing:2px;transition:color .3s}.side-email:hover{color:var(--accent)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.hero-grid-overlay{position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 70% 70% at 50% 50%,transparent 30%,var(--bg) 100%)}.hero-content{position:relative;z-index:3;text-align:center;max-width:900px;padding:0 20px;min-height:420px}.hero-pre-title{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:24px;opacity:0;animation:fadeInUp .8s var(--ease-out-expo) .6s forwards;will-change:transform,opacity;min-height:21px}.hero-line{width:50px;height:1px;background:var(--accent);box-shadow:var(--glow)}.hero-pre-text{font-family:var(--font-mono);font-size:13px;letter-spacing:4px;color:var(--accent);text-transform:uppercase}.typing-text::after{content:'|';animation:.8s step-end infinite blink;color:var(--accent)}.hero-name{font-family:var(--font-display);font-size:clamp(60px, 12vw, 140px);font-weight:900;line-height:1;letter-spacing:-2px;margin-bottom:20px;opacity:0;animation:fadeInUp 1s var(--ease-out-expo) .7s forwards;position:relative;will-change:transform,opacity}.glitch{position:relative}.glitch::after,.glitch::before{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%}.glitch::before{color:var(--accent);z-index:-1;animation:3s linear infinite alternate-reverse glitch-1;will-change:clip-path,transform}.glitch::after{color:var(--accent2);z-index:-2;animation:3s linear infinite alternate-reverse glitch-2;will-change:clip-path,transform}@keyframes glitch-1{0%,100%,95%{clip-path:inset(0 0 0 0);transform:translate(0)}96%{clip-path:inset(20% 0 60% 0);transform:translate(-4px,2px)}97%{clip-path:inset(50% 0 20% 0);transform:translate(4px,-2px)}98%{clip-path:inset(10% 0 70% 0);transform:translate(-2px,1px)}99%{clip-path:inset(40% 0 40% 0);transform:translate(2px,-1px)}}@keyframes glitch-2{0%,100%,95%{clip-path:inset(0 0 0 0);transform:translate(0)}96%{clip-path:inset(60% 0 10% 0);transform:translate(4px,-2px)}97%{clip-path:inset(30% 0 50% 0);transform:translate(-4px,2px)}98%{clip-path:inset(70% 0 10% 0);transform:translate(2px,-1px)}99%{clip-path:inset(20% 0 60% 0);transform:translate(-2px,1px)}}.hero-tagline{font-size:clamp(18px, 2.5vw, 26px);font-weight:400;color:var(--text-muted);margin-bottom:40px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.tagline-word{display:inline-block;opacity:0;animation:fadeInUp .6s var(--ease-out-expo) forwards;animation-delay:calc(.8s + var(--i) * .08s);will-change:transform,opacity}.accent-text{color:var(--accent)}.hero-stats{display:flex;align-items:center;justify-content:center;gap:40px;margin-bottom:50px;opacity:0;animation:fadeInUp .8s var(--ease-out-expo) 1.2s forwards;will-change:transform,opacity}.hero-stat{text-align:center;flex:1}.hero-stat-number{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--text);display:inline}.hero-stat-suffix{font-family:var(--font-display);font-size:36px;font-weight:700;color:var(--accent)}.hero-stat-label{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-top:4px}.hero-stat-divider{width:1px;height:40px;background:var(--border)}.hero-cta{display:flex;gap:16px;justify-content:center;opacity:0;animation:fadeInUp .8s var(--ease-out-expo) 1.3s forwards;will-change:transform,opacity}.hero-cta .btn{min-width:250px;justify-content:center}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-family:var(--font-mono);font-size:13px;letter-spacing:1px;text-transform:uppercase;border:none;border-radius:4px;cursor:none;transition:all .3s var(--ease-out-expo);position:relative;overflow:hidden}.btn::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),transparent);opacity:0;transition:opacity .3s}.btn:hover::before{opacity:1}.btn-primary{background:var(--accent);color:var(--bg);font-weight:600;box-shadow:0 0 20px rgba(var(--accent-rgb),.3)}.btn-primary:hover{box-shadow:0 0 40px rgba(var(--accent-rgb),.5);transform:translateY(-2px)}.btn-ghost{background:0 0;color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.btn-icon{transition:transform .3s}.btn:hover .btn-icon{transform:translate(3px,-3px)}.hero-scroll-indicator{position:absolute;bottom:40px;left:0;right:0;z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-dim);font-family:var(--font-mono);font-size:10px;letter-spacing:3px;opacity:0;animation:fadeInUp .8s var(--ease-out-expo) 1.4s forwards}.scroll-mouse{width:24px;height:38px;border:2px solid var(--text-dim);border-radius:12px;display:flex;justify-content:center;padding-top:8px}.scroll-wheel{width:3px;height:8px;background:var(--accent);border-radius:2px;animation:1.5s infinite scrollWheel}@keyframes scrollWheel{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(10px)}}.corner-element{position:absolute;width:60px;height:60px;z-index:3;opacity:.3}.corner-element::after,.corner-element::before{content:'';position:absolute;background:var(--accent)}.top-left{top:20px;left:20px}.top-left::before{top:0;left:0;width:20px;height:1px}.top-left::after{top:0;left:0;width:1px;height:20px}.top-right{top:20px;right:20px}.top-right::before{top:0;right:0;width:20px;height:1px}.top-right::after{top:0;right:0;width:1px;height:20px}.bottom-left{bottom:20px;left:20px}.bottom-left::before{bottom:0;left:0;width:20px;height:1px}.bottom-left::after{bottom:0;left:0;width:1px;height:20px}.bottom-right{bottom:20px;right:20px}.bottom-right::before{bottom:0;right:0;width:20px;height:1px}.bottom-right::after{bottom:0;right:0;width:1px;height:20px}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.section{padding:var(--section-padding) 0;position:relative;content-visibility:auto;contain-intrinsic-size:auto 800px}.section.hero{content-visibility:visible;contain-intrinsic-size:none}.section-container{max-width:var(--container-width);margin:0 auto;padding:0 40px}.section-header{display:flex;align-items:center;gap:20px;margin-bottom:60px}.section-index{font-family:var(--font-mono);font-size:14px;color:var(--accent);letter-spacing:2px;white-space:nowrap}.section-title{font-family:var(--font-display);font-size:clamp(28px, 4vw, 42px);font-weight:700;white-space:nowrap}.section-line{flex:1;height:1px;background:var(--border)}.reveal-up{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease-out-expo),transform .8s var(--ease-out-expo);transition-delay:var(--delay, 0s)}.reveal-up.visible{opacity:1;transform:translateY(0)}.reveal-text{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out-expo),transform .6s var(--ease-out-expo)}.reveal-text.visible{opacity:1;transform:translateY(0)}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:start}.about-image-wrapper{position:relative;border-radius:8px;overflow:hidden}.about-image{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(30%) contrast(1.1);transition:filter .5s}.about-image-wrapper:hover .about-image{filter:grayscale(0%) contrast(1)}.about-image-frame{position:absolute;inset:-1px;border:1px solid var(--accent);border-radius:8px;z-index:2;opacity:.3;pointer-events:none}.about-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,10,15,.8));z-index:1;pointer-events:none}.about-image-scanline{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,rgba(var(--accent-rgb),.15) 0,rgba(var(--accent-rgb),.15) 2px,transparent 2px);will-change:transform;animation:4s linear infinite scanline}@keyframes scanline{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}.about-image-tag{position:absolute;bottom:16px;left:16px;z-index:3;font-family:var(--font-mono);font-size:12px;color:var(--accent);background:rgba(10,10,15,.8);padding:6px 12px;border-radius:4px;border:1px solid rgba(var(--accent-rgb),.2);display:flex;align-items:center;gap:8px}.about-image-tag .status-dot{width:6px;height:6px}.terminal-card{margin-top:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden;font-family:var(--font-mono);font-size:13px}.terminal-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.terminal-dot{width:10px;height:10px;border-radius:50%}.terminal-dot.red{background:#ff5f57}.terminal-dot.yellow{background:#febc2e}.terminal-dot.green{background:#28c840}.terminal-title{color:var(--text-dim);font-size:12px;margin-left:8px}.terminal-body{padding:16px}.terminal-line{display:flex;gap:8px;margin-bottom:4px}.terminal-prompt{color:var(--accent)}.terminal-cmd{color:var(--text)}.terminal-output{color:var(--text-muted);margin-bottom:12px;padding-left:18px}.blink-cursor{animation:.8s step-end infinite blink}.about-lead{font-size:22px;font-weight:600;line-height:1.5;margin-bottom:24px;color:var(--text)}.about-body p{color:var(--text-muted);margin-bottom:16px;line-height:1.8}.about-body strong{color:var(--text)}.about-highlights{margin-top:32px;display:flex;flex-direction:column;gap:16px}.highlight-item{display:flex;align-items:center;gap:16px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;transition:.3s}.highlight-item:hover{border-color:rgba(var(--accent-rgb),.3);background:var(--bg-card-hover)}.highlight-icon{width:40px;height:40px;flex-shrink:0;color:var(--accent)}.highlight-icon svg{width:100%;height:100%}.highlight-text strong{display:block;font-size:14px;margin-bottom:2px}.highlight-text span{font-size:13px;color:var(--text-muted)}.timeline{position:relative;max-width:800px;margin:0 auto}.timeline-track{position:absolute;left:20px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-progress{position:absolute;left:20px;top:0;width:2px;height:0;background:var(--accent);box-shadow:var(--glow);transition:height .3s}.timeline-item{position:relative;padding-left:60px;padding-bottom:50px}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:12px;top:4px}.timeline-dot{width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--accent);position:relative;z-index:2;transition:background .3s}.timeline-item:hover .timeline-dot{background:var(--accent)}.timeline-pulse{position:absolute;inset:-4px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.3);animation:2s infinite timelinePulse}@keyframes timelinePulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(2);opacity:0}}.timeline-date{font-family:var(--font-mono);font-size:13px;color:var(--accent);margin-bottom:12px;display:flex;align-items:baseline;gap:6px}.date-year{font-weight:700;font-size:16px}.date-range{color:var(--text-dim);font-size:12px}.timeline-card{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:28px;transition:all .4s var(--ease-out-expo);position:relative;overflow:hidden}.timeline-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent);opacity:0;transition:opacity .3s}.timeline-card:hover{border-color:rgba(var(--accent-rgb),.3);background:var(--bg-card-hover);transform:translateX(4px)}.timeline-card:hover::before{opacity:1}.timeline-card-header{margin-bottom:12px}.timeline-card-header h3{font-family:var(--font-display);font-size:20px;font-weight:600;margin-bottom:4px}.timeline-company{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.timeline-desc{color:var(--text-muted);font-size:14px;line-height:1.7;margin-bottom:16px}.timeline-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag{font-family:var(--font-mono);font-size:11px;padding:4px 10px;background:rgba(var(--accent-rgb),.08);color:var(--accent);border:1px solid rgba(var(--accent-rgb),.15);border-radius:4px;letter-spacing:.5px}.timeline-metrics{display:flex;gap:24px;padding-top:16px;border-top:1px solid var(--border)}.metric{text-align:center}.metric-value{display:block;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--accent)}.metric-label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.skills-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:60px;align-items:start}.skills-radar{position:relative;display:flex;flex-direction:column;align-items:center}#radar-chart{width:100%;max-width:500px;height:auto;aspect-ratio:1}.radar-legend{margin-top:20px;display:flex;gap:20px}.radar-legend-item{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.legend-dot{width:10px;height:10px;border-radius:2px;background:var(--c)}.skills-categories{display:flex;flex-direction:column;gap:32px}.skill-category{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:28px;transition:border-color .3s}.skill-category:hover{border-color:rgba(var(--accent-rgb),.2)}.skill-category-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.skill-category-icon{width:28px;height:28px;color:var(--accent)}.skill-category-icon svg{width:100%;height:100%}.skill-category-header h3{font-family:var(--font-display);font-size:16px;font-weight:600}.skill-bars{display:flex;flex-direction:column;gap:14px}.skill-bar-item{position:relative}.skill-bar-header{display:flex;justify-content:space-between;margin-bottom:6px}.skill-bar-name{font-size:13px;color:var(--text-muted)}.skill-bar-percent{font-family:var(--font-mono);font-size:12px;color:var(--accent)}.skill-bar-track{height:4px;background:var(--surface);border-radius:2px;overflow:hidden}.skill-bar-fill{height:100%;width:0;background:var(--gradient-accent);border-radius:2px;transition:width 1.2s var(--ease-out-expo);box-shadow:0 0 10px rgba(var(--accent-rgb),.3)}.skill-bar-item.animated .skill-bar-fill{width:var(--level)}.tech-cloud{margin-top:50px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.tech-tag{font-family:var(--font-mono);font-size:13px;padding:8px 16px;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);transition:.3s;animation:float var(--speed,20s) ease-in-out infinite;will-change:transform}.tech-tag:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 0 15px rgba(var(--accent-rgb),.2);transform:translateY(-2px)}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;position:relative;transition:all .4s var(--ease-out-expo)}.project-card:hover{border-color:rgba(var(--accent-rgb),.3);transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.3)}.project-image{position:relative;height:200px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(40%) brightness(.7);transition:.5s}.project-card:hover .project-image img{filter:grayscale(0%) brightness(.9);transform:scale(1.05)}.project-image-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--bg-card));z-index:1}.project-image-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(var(--accent-rgb),.05) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.05) 1px,transparent 1px);background-size:30px 30px;opacity:0;transition:opacity .5s}.project-card:hover .project-image-grid{opacity:1}.project-content{padding:24px}.project-meta{display:flex;justify-content:space-between;margin-bottom:12px}.project-category{font-family:var(--font-mono);font-size:11px;color:var(--accent);letter-spacing:2px}.project-year{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.project-title{font-family:var(--font-display);font-size:22px;font-weight:600;margin-bottom:10px}.project-desc{font-size:14px;color:var(--text-muted);line-height:1.7;margin-bottom:16px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.project-tags span{font-family:var(--font-mono);font-size:11px;padding:3px 8px;background:rgba(var(--accent-rgb),.08);color:var(--accent);border-radius:3px}.project-links{display:flex;gap:16px}.project-link{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted);transition:color .3s}.project-link:hover{color:var(--accent)}.project-link svg{width:16px;height:16px}.project-number{position:absolute;top:16px;right:16px;font-family:var(--font-display);font-size:60px;font-weight:900;color:rgba(var(--accent-rgb),.05);line-height:1;z-index:2;transition:color .3s}.project-card:hover .project-number{color:rgba(var(--accent-rgb),.1)}.archive-terminal{grid-column:1/-1;background:var(--bg-card);border:1px solid rgba(var(--accent-rgb),.15);border-radius:12px;overflow:hidden;position:relative;box-shadow:0 0 60px rgba(var(--accent-rgb),.04),inset 0 0 80px rgba(0,0,0,.2)}.archive-terminal::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(var(--accent-rgb),.025) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.025) 1px,transparent 1px);background-size:40px 40px;pointer-events:none;z-index:0}.archive-terminal-bar{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--surface);border-bottom:1px solid var(--border);position:relative;z-index:1}.archive-terminal-dots{display:flex;gap:6px}.archive-terminal-dots span{width:10px;height:10px;border-radius:50%;background:var(--border-light)}.archive-terminal-title{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);flex:1}.archive-terminal-status{font-family:var(--font-mono);font-size:10px;letter-spacing:1.5px;color:var(--accent);background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.2);padding:3px 10px;border-radius:3px;animation:2s ease-in-out infinite archive-pulse}@keyframes archive-pulse{0%,100%{opacity:1}50%{opacity:.45}}.archive-terminal-body{padding:44px 52px;position:relative;z-index:1;display:flex;flex-direction:column;gap:36px}.archive-terminal-lines{display:flex;flex-direction:column;gap:16px}.archive-log-line{display:flex;align-items:baseline;gap:14px;font-family:var(--font-mono);font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.archive-log-line.visible{opacity:1;transform:none}.archive-prompt{color:rgba(var(--accent-rgb),.35);font-size:16px;user-select:none;flex-shrink:0}.archive-cmd{color:var(--text-muted)}.archive-accent{color:var(--accent)}.archive-dim{color:var(--text-dim)}.archive-cursor{display:inline-block;color:var(--accent);margin-left:2px;animation:1s step-end infinite archive-blink}@keyframes archive-blink{0%,100%{opacity:1}50%{opacity:0}}.archive-progress-wrap{display:flex;flex-direction:column;gap:10px}.archive-progress-bar{height:1px;background:var(--border);border-radius:1px;overflow:hidden}.archive-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),rgba(var(--accent-rgb),.3));border-radius:1px;box-shadow:0 0 10px rgba(var(--accent-rgb),.5);transition:width 2.4s cubic-bezier(.4, 0, .2, 1)}.archive-progress-fill.loaded{width:62%}.archive-progress-label{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:1px}.archive-terminal-footer{padding:14px 24px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;position:relative;z-index:1}.archive-entry-count{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:2px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-lead{font-family:var(--font-display);font-size:32px;font-weight:700;line-height:1.3;margin-bottom:16px}.contact-sub{color:var(--text-muted);font-size:16px;line-height:1.7;margin-bottom:32px}.contact-details{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.contact-detail-item{display:flex;flex-direction:column;gap:4px}.contact-detail-label{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:2px}.contact-detail-value{font-size:15px;color:var(--text);display:flex;align-items:center;gap:8px;transition:color .3s}a.contact-detail-value:hover{color:var(--accent)}.contact-detail-value .status-dot{width:6px;height:6px}.contact-socials{display:flex;gap:16px}.contact-social{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);padding:10px 20px;border:1px solid var(--border);border-radius:4px;transition:.3s}.contact-social:hover{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb),.05)}.contact-form{display:flex;flex-direction:column;gap:24px}.form-group{position:relative}.form-label{display:flex;gap:4px;margin-bottom:8px}.form-label-text{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase}.form-label-req{color:var(--accent)}.form-input{width:100%;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--font-sans);font-size:16px;outline:0;transition:.3s;cursor:none}.form-input::placeholder{color:var(--text-dim)}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.form-textarea{resize:vertical;min-height:120px}.btn-submit{align-self:flex-start;width:auto}.footer{padding:30px 40px;border-top:1px solid var(--border);position:relative}.footer-content{max-width:var(--container-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-left{display:flex;align-items:center;gap:24px}.footer-logo{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--accent);letter-spacing:2px}.footer-copy{font-size:13px;color:var(--text-dim)}.footer-built{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.easter-egg{position:fixed;inset:0;background:rgba(10,10,15,.95);z-index:10001;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.5s;backdrop-filter:blur(20px)}.easter-egg.active{opacity:1;visibility:visible}.easter-egg-content{text-align:center;font-family:var(--font-mono)}.ascii-art{font-size:clamp(6px, 1.2vw, 12px);color:var(--accent);line-height:1.2;margin-bottom:20px;text-shadow:0 0 20px rgba(var(--accent-rgb),.5)}.easter-egg p{font-size:16px;color:var(--text-muted);margin-bottom:8px}.nav-right{display:flex;align-items:center;gap:16px}.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;background:0 0;border:none;cursor:pointer;padding:4px;z-index:1002}.burger-line{display:block;width:100%;height:2px;background:var(--text);border-radius:2px;transition:transform .3s var(--ease-out-expo),opacity .3s ease;transform-origin:center}.nav-burger.active .burger-line:first-child{transform:translateY(7px) rotate(45deg)}.nav-burger.active .burger-line:nth-child(2){opacity:0}.nav-burger.active .burger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;inset:0;z-index:999;background:rgba(10,10,15,.98);backdrop-filter:blur(30px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out-expo),visibility .4s}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu-content{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;padding:0 40px}.mobile-menu-link{display:flex;align-items:baseline;gap:16px;padding:18px 0;width:100%;max-width:300px;border-bottom:1px solid var(--border);opacity:0;transform:translateY(20px);transition:opacity .4s var(--ease-out-expo),transform .4s var(--ease-out-expo),color .3s ease}.mobile-menu.open .mobile-menu-link{opacity:1;transform:translateY(0)}.mobile-menu.open .mobile-menu-link:first-child{transition-delay:50ms}.mobile-menu.open .mobile-menu-link:nth-child(2){transition-delay:0.1s}.mobile-menu.open .mobile-menu-link:nth-child(3){transition-delay:0.15s}.mobile-menu.open .mobile-menu-link:nth-child(4){transition-delay:0.2s}.mobile-menu.open .mobile-menu-link:nth-child(5){transition-delay:0.25s}.mobile-menu.open .mobile-menu-link:nth-child(6){transition-delay:0.3s}.mobile-menu-index{font-family:var(--font-mono);font-size:13px;color:var(--accent);letter-spacing:2px}.mobile-menu-text{font-family:var(--font-display);font-size:clamp(24px, 6vw, 36px);font-weight:600;color:var(--text);transition:color .3s}.mobile-menu-link:active .mobile-menu-text,.mobile-menu-link:hover .mobile-menu-text{color:var(--accent)}.mobile-menu-footer{margin-top:40px;opacity:0;transform:translateY(20px);transition:opacity .4s var(--ease-out-expo) .35s,transform .4s var(--ease-out-expo) .35s}.mobile-menu.open .mobile-menu-footer{opacity:1;transform:translateY(0)}.mobile-menu-socials{display:flex;gap:24px}.mobile-menu-socials a{font-family:var(--font-mono);font-size:13px;color:var(--text-muted);transition:color .3s}.mobile-menu-socials a:hover{color:var(--accent)}@media (max-width:1024px){:root{--section-padding:clamp(60px, 10vh, 100px)}.section-container{padding:0 32px}.about-grid{grid-template-columns:1fr;gap:40px}.about-image-col{max-width:480px;margin:0 auto;width:100%}.skills-layout{grid-template-columns:1fr;gap:40px}.skills-radar{max-width:400px;margin:0 auto;width:100%}.projects-grid{grid-template-columns:1fr;max-width:600px;margin:0 auto}.contact-layout{grid-template-columns:1fr;gap:40px}.side-left{left:20px}.side-right{right:20px}#nav{padding:0 24px}.nav-link{padding:8px 10px;font-size:11px}}@media (max-width:900px){.nav-links,.nav-status{display:none}.nav-burger{display:flex}.side-left,.side-right{display:none}.section-title{white-space:normal}.hero-stats{gap:24px}.hero-stat-number,.hero-stat-suffix{font-size:28px}}@media (max-width:768px){body{cursor:auto}.cursor,.cursor-follower{display:none}:root{--section-padding:clamp(50px, 8vh, 80px)}#nav,.section-container{padding:0 20px}.section-header{margin-bottom:40px;gap:14px}.section-index{font-size:12px}.hero-content{padding:0 16px}.hero-pre-text{font-size:11px;letter-spacing:2px}.hero-tagline{font-size:16px;margin-bottom:30px}.hero-stats{flex-direction:column;gap:16px;margin-bottom:36px}.hero-stat-divider{width:40px;height:1px}.hero-cta{flex-direction:column;align-items:stretch;width:100%;max-width:320px;margin:0 auto;gap:12px}.hero-cta .btn{justify-content:center;width:100%}.hero-scroll-indicator{display:none}.corner-element{width:40px;height:40px}.about-image-col{max-width:100%}.about-lead{font-size:18px}.about-body p{font-size:14px}.highlight-item{padding:12px;gap:12px}.highlight-icon{width:32px;height:32px}.timeline{max-width:100%}.timeline-item{padding-left:48px;padding-bottom:36px}.timeline-card{padding:20px}.timeline-card-header h3{font-size:17px}.timeline-desc{font-size:13px}.timeline-metrics{flex-wrap:wrap;gap:16px}.metric-value{font-size:18px}.metric-label{font-size:10px}.skills-radar{max-width:320px}.skill-category{padding:20px}.skill-category-header h3{font-size:15px}.radar-legend{gap:14px}.radar-legend-item{font-size:11px}.projects-grid{max-width:100%}.project-image{height:180px}.project-content{padding:20px}.project-title{font-size:18px}.project-desc{font-size:13px}.project-number{font-size:48px}.contact-lead{font-size:26px}.contact-sub{font-size:14px}.contact-socials{flex-wrap:wrap;gap:10px}.contact-social{padding:8px 16px;font-size:12px}.footer{padding:24px 20px}.footer-content{flex-direction:column;gap:12px;text-align:center}.footer-left{flex-direction:column;gap:6px}}@media (max-width:480px){:root{--section-padding:clamp(40px, 8vh, 64px)}.section-container{padding:0 16px}#nav{padding:0 16px;height:60px}#scroll-progress{top:60px}.nav-logo{font-size:14px}.hero-name{font-size:clamp(40px, 14vw, 60px);letter-spacing:-1px}.hero-tagline{font-size:14px;gap:5px}.hero-stat-number,.hero-stat-suffix{font-size:24px}.hero-stat-label{font-size:10px;letter-spacing:1px}.hero-cta{max-width:100%}.btn{padding:12px 20px;font-size:12px}.section-header{margin-bottom:32px;gap:10px}.section-title{font-size:clamp(20px, 5.5vw, 28px)}.section-index{font-size:11px}.about-lead{font-size:16px}.terminal-card{font-size:11px}.terminal-body{padding:12px}.highlight-text strong{font-size:13px}.highlight-text span{font-size:12px}.timeline-progress,.timeline-track{left:14px}.timeline-item{padding-left:40px;padding-bottom:28px}.timeline-marker{left:6px}.timeline-dot{width:16px;height:16px}.timeline-card{padding:16px}.timeline-card-header h3{font-size:15px}.timeline-tags{gap:6px}.tag{font-size:10px;padding:3px 8px}.skills-radar{max-width:280px}.skill-category{padding:16px}.skill-bar-name{font-size:12px}.skill-bar-percent{font-size:11px}.tech-cloud{margin-top:32px;gap:8px}.tech-tag{font-size:11px;padding:6px 12px}.project-image{height:160px}.project-content{padding:16px}.project-title{font-size:16px}.project-desc{font-size:12px;margin-bottom:12px}.project-tags span{font-size:10px}.project-number{font-size:40px;top:12px;right:12px}.contact-lead{font-size:22px}.contact-sub{font-size:13px;margin-bottom:24px}.contact-details{gap:16px;margin-bottom:24px}.form-input{padding:12px 14px;font-size:16px}.contact-socials{gap:8px}.contact-social{flex:1;text-align:center;padding:10px 12px}.footer{padding:20px 16px}.footer-logo{font-size:12px}.footer-built,.footer-copy{font-size:11px}}@media (max-width:360px){.hero-name{font-size:36px}.hero-pre-text{font-size:9px;letter-spacing:1.5px}.hero-line{width:30px}.section-title{font-size:18px}.mobile-menu-text{font-size:22px}}@supports (padding:env(safe-area-inset-bottom)){.footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-menu-content{padding-bottom:env(safe-area-inset-bottom)}}@media (min-height:900px){.hero{min-height:100vh}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}html{scroll-behavior:auto}}