:root{--bg: #060606;--surface: #0d0d0d;--surface-2: #121212;--border: #232323;--text: #f2f2f0;--muted: #8a8a85;--accent: #c8ff00;--accent-dim: rgba(200, 255, 0, .12);--font-display: "Anton", "Arial Narrow", sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", monospace}@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/anton-400.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-400.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-italic-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-700.woff2) format("woff2")}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-mono);font-size:15px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:#060606}a{color:var(--text);text-decoration:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}main{width:100%}.section-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem}.nav{position:fixed;top:0;left:0;right:0;z-index:40;background:#06060699;backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);border-bottom:1px solid rgba(255,255,255,.04)}.nav-inner{display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;padding:1.1rem 1.5rem}.nav-logo{font-weight:700;font-size:1rem;letter-spacing:.02em}.nav-logo .dot{color:var(--accent)}.nav-links a{color:var(--muted);margin-left:1.6rem;font-size:.85rem;text-transform:lowercase;letter-spacing:.08em;transition:color .2s ease}.nav-links a:hover{color:var(--accent)}.hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;--mx: 70%;--my: 20%}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 40%,#000 20%,transparent 75%)}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(560px circle at var(--mx) var(--my),var(--accent-dim),transparent 65%);transition:background .15s ease}.hero-inner{position:relative;z-index:2;padding:6rem 1.5rem 3rem;max-width:1100px;margin:0 auto}.hero-3d{position:absolute;top:0;right:0;bottom:0;width:52%;z-index:1;display:flex;align-items:center;justify-content:center;transition:transform .12s ease-out}.orb-container{position:relative;width:340px;height:340px}.orb-glow{position:absolute;top:-60px;right:-60px;bottom:-60px;left:-60px;border-radius:50%;background:radial-gradient(circle,rgba(200,255,0,.12) 0%,rgba(200,255,0,.03) 40%,transparent 70%);animation:orbPulse 4s ease-in-out infinite;filter:blur(20px)}@keyframes orbPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}.orb-core{position:absolute;top:60px;right:60px;bottom:60px;left:60px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(200,255,0,.25),transparent 60%),radial-gradient(circle at 65% 65%,rgba(200,255,0,.08),transparent 50%),conic-gradient(from 0deg,rgba(200,255,0,.08) 0%,transparent 25%,rgba(200,255,0,.05) 50%,transparent 75%,rgba(200,255,0,.08) 100%);border:1px solid rgba(200,255,0,.2);box-shadow:inset 0 0 40px #c8ff0014,0 0 60px #c8ff0014,0 0 120px #c8ff000a;animation:coreRotate 20s linear infinite}@keyframes coreRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orb-ring{position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:50%;border:1px solid rgba(200,255,0,.12)}.orb-ring-1{animation:ringOrbit1 8s linear infinite;border-style:dashed;border-width:1px}.orb-ring-2{animation:ringOrbit2 12s linear infinite;top:40px;right:40px;bottom:40px;left:40px;border-color:#c8ff0014}.orb-ring-3{animation:ringOrbit3 16s linear infinite reverse;top:0;right:0;bottom:0;left:0;border-color:#c8ff000f;border-style:dotted;border-width:2px}@keyframes ringOrbit1{0%{transform:rotateX(65deg) rotate(0)}to{transform:rotateX(65deg) rotate(360deg)}}@keyframes ringOrbit2{0%{transform:rotateX(35deg) rotateY(45deg) rotate(0)}to{transform:rotateX(35deg) rotateY(45deg) rotate(360deg)}}@keyframes ringOrbit3{0%{transform:rotateX(80deg) rotateY(-20deg) rotate(0)}to{transform:rotateX(80deg) rotateY(-20deg) rotate(360deg)}}.orb-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #c8ff0099,0 0 24px #c8ff004d}.orb-dot-1{top:50%;left:50%;animation:dotOrbit1 6s linear infinite}.orb-dot-2{top:50%;left:50%;animation:dotOrbit2 9s linear infinite;width:4px;height:4px}.orb-dot-3{top:50%;left:50%;animation:dotOrbit3 14s linear infinite reverse;width:3px;height:3px;opacity:.7}@keyframes dotOrbit1{0%{transform:rotateX(65deg) rotate(0) translate(150px) rotate(0)}to{transform:rotateX(65deg) rotate(360deg) translate(150px) rotate(-360deg)}}@keyframes dotOrbit2{0%{transform:rotateX(35deg) rotateY(45deg) rotate(0) translate(130px)}to{transform:rotateX(35deg) rotateY(45deg) rotate(360deg) translate(130px)}}@keyframes dotOrbit3{0%{transform:rotateX(80deg) rotateY(-20deg) rotate(0) translate(170px)}to{transform:rotateX(80deg) rotateY(-20deg) rotate(360deg) translate(170px)}}.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{box-shadow:0 0 #c8ff0080}50%{box-shadow:0 0 0 7px #c8ff0000}}.hero-badge{display:inline-flex;align-items:center;gap:.6rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);border:1px solid rgba(200,255,0,.35);border-radius:0;padding:.35rem 1rem;margin-bottom:2rem;opacity:0;animation:fadeUp .8s ease .1s both}.hero-name{font-family:var(--font-display);font-weight:400;font-size:clamp(3.6rem,13.5vw,10.5rem);line-height:.95;text-transform:uppercase;letter-spacing:.01em;margin:0 0 1.4rem}.hero-name .word{display:inline-block;white-space:nowrap}.hero-name .ltr{display:inline-block;animation:letterIn .9s cubic-bezier(.19,1,.22,1) both}@keyframes letterIn{0%{transform:translateY(110%) rotate(8deg);opacity:0;filter:blur(8px)}to{transform:translateY(0) rotate(0);opacity:1;filter:blur(0)}}.hero-sub{font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.32em;color:var(--muted);margin:0 0 1.2rem;opacity:0;animation:fadeUp .8s ease 1s both}.hero-tagline{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.25rem,2.5vw,1.7rem);color:#b9b9b2;max-width:36rem;margin:0 0 2.4rem;opacity:0;animation:fadeUp .8s ease 1.15s both}.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .8s ease 1.3s both}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.scroll-hint{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.3em;opacity:0;animation:fadeUp 1s ease 1.8s both}.scroll-hint i{width:1px;height:44px;background:linear-gradient(var(--accent),transparent);animation:drip 1.8s ease infinite}@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}.btn{display:inline-block;padding:.7rem 1.6rem;border-radius:0;border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.btn.primary{background:var(--accent);border-color:var(--accent);color:#060606}.btn:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 24px #c8ff0040;text-decoration:none}.marquee{width:110vw;margin-left:-5vw;background:var(--accent);color:#060606;transform:rotate(-1.6deg);padding:.65rem 0;overflow:hidden;margin-bottom:1rem}.marquee-track{display:flex;width:max-content;animation:marquee 26s linear infinite}.marquee-track span{font-family:var(--font-display);font-size:1.15rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.statement-section{padding:7rem 0 4rem}.statement{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.7rem,4.2vw,3.2rem);line-height:1.35;margin:0 0 3rem;max-width:50rem}.statement em{color:var(--accent);font-style:italic}section{padding:4.5rem 0}.section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(3rem,9vw,6.5rem);line-height:1;text-transform:uppercase;letter-spacing:.01em;margin:0 0 2.5rem;color:var(--text)}.section-title .accent{color:var(--accent)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}.tilt-card{position:relative;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:0;padding:1.6rem;transition:transform .35s cubic-bezier(.03,.98,.52,.99),box-shadow .35s ease,border-color .35s ease;transform-style:preserve-3d;will-change:transform;overflow:hidden}.tilt-card:hover{border-color:#c8ff0066;box-shadow:0 20px 60px #0006,0 0 40px #c8ff000f}.tilt-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;pointer-events:none;opacity:0;transition:opacity .3s ease;z-index:1}.skill-head{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;position:relative;z-index:2}.skill-head h4{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.12em}.skill-icon{color:var(--accent);font-weight:700;font-size:1.1rem}.tilt-card ul{margin:0;padding:0;list-style:none;position:relative;z-index:2}.tilt-card li{color:var(--muted);padding:.22rem 0;font-size:.9rem;transition:color .2s ease}.tilt-card li:before{content:"→ ";color:var(--accent)}.tilt-card:hover li{color:var(--text)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.2rem}.language-list{display:flex;flex-wrap:wrap;gap:.75rem 2rem;padding:0;list-style:none;color:var(--muted)}.project-card{position:relative;height:100%;display:flex;flex-direction:column;background:linear-gradient(160deg,var(--surface-2),var(--surface));border:1px solid var(--border);border-radius:0;padding:1.7rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.project-card:hover{transform:translateY(-5px);border-color:#c8ff0080;box-shadow:0 14px 44px #c8ff001a}.project-index{position:absolute;top:1.1rem;right:1.3rem;font-family:var(--font-display);font-size:1.6rem;color:transparent;-webkit-text-stroke:1px #3a3a35}.project-card h4{margin:0 0 .6rem;font-size:1.05rem;letter-spacing:.03em}.project-card p{color:var(--muted);flex-grow:1;font-size:.9rem}.tech{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.chip{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;background:transparent;border:1px solid var(--border);color:var(--accent);border-radius:0;padding:.18rem .75rem}.project-links{display:flex;gap:1.3rem;font-size:.85rem}.project-links a{color:var(--text);border-bottom:1px solid var(--accent);padding-bottom:1px}.project-links a:hover{color:var(--accent)}.contact-section{position:relative;overflow:hidden}.particle-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:0}.contact-section .section-title,.contact-section .contact{position:relative;z-index:2}.contact{max-width:40rem}.contact-lead{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.4rem,3vw,2rem);margin:0 0 1.8rem}.contact-links{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:1.4rem}.muted{color:var(--muted);font-size:.85rem}footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:.78rem;padding:2.2rem 0;margin-top:3rem}.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1)}.reveal.in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.ltr,.hero-badge,.hero-sub,.hero-tagline,.hero-actions,.scroll-hint{animation:none!important;opacity:1!important}.marquee-track{animation-duration:80s}.reveal{opacity:1;transform:none;transition:none}.orb-glow,.orb-core,.orb-ring,.orb-dot{animation:none!important}}@media (max-width: 900px){.hero-3d{width:100%;opacity:.3;pointer-events:none}.orb-container{width:260px;height:260px}}@media (max-width: 600px){.nav-links a{margin-left:1rem;font-size:.78rem}.hero-inner{padding-top:5rem}.scroll-hint{display:none}.hero-3d{opacity:.2}.orb-container{width:200px;height:200px}}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}section[id]{scroll-margin-top:6rem}.skip-link{position:fixed;top:1rem;left:-10000px;z-index:100;padding:.75rem 1rem;background:var(--accent);color:var(--bg)}.skip-link:focus{left:1rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-grid>*,.skills-grid>*{min-width:0}.project-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem}.project-category{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.project-index{position:static;flex-shrink:0;line-height:1}.project-card h3{margin:0 0 .7rem;font-size:1.3rem;line-height:1.35;overflow-wrap:anywhere}.project-card p{flex-grow:0}.project-status{align-self:flex-start;border:1px solid var(--accent);color:var(--accent);padding:.15rem .6rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.project-summary{margin:.8rem 0}.project-highlights{padding-left:1.1rem;margin:0 0 1.2rem;color:var(--muted);font-size:.85rem}.project-highlights li{margin:.5rem 0}.project-highlights li::marker{color:var(--accent)}#projects .tech{margin-top:auto;padding-top:.75rem}.project-links{flex-wrap:wrap;align-items:center;padding-top:1rem;border-top:1px solid var(--border);min-height:4rem}.project-links .btn{border:1px solid var(--border);padding:.65rem .9rem;font-size:.72rem}.project-links .btn:hover{border-color:var(--accent)}.private-repo{color:var(--muted);font-size:.78rem}.skill-head h3{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.12em}.btn{overflow-wrap:anywhere;max-width:100%}.pulse{flex-shrink:0}.hero-inner{width:100%}@media (max-width: 700px){.projects-grid{grid-template-columns:minmax(0,1fr)}.project-card{padding:1.3rem}}@media (max-width: 420px){.nav-inner{flex-wrap:wrap;gap:.4rem;padding:.7rem 1rem}.nav-links{display:flex;gap:1rem}.nav-links a{margin-left:0}.hero-inner{padding-top:8rem}.hero-actions .btn{flex:1 1 130px;text-align:center;padding-inline:.8rem}.contact-links .btn{font-size:.72rem;padding-inline:.8rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.tilt-card,.hero-3d{transform:none!important}.project-card:hover,.btn:hover{transform:none}.marquee-track{animation:none}}
