:root{--bg: #0a0a0b;--panel: #111113;--border: rgba(255, 255, 255, .07);--text: #ededee;--text-dim: #6b6b72;--text-mid: #a1a1a8;--accent: #ffffff}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;scroll-behavior:smooth;overflow-x:hidden;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}::selection{background:#ffffff26;color:var(--text)}.mono{font-family:JetBrains Mono,monospace}.app{position:relative;width:100%;min-height:100vh}.three-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.content{position:relative;z-index:1}.navbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:1.6rem 2.5rem;z-index:50;background:#0a0a0bb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-logo{font-size:.92rem;font-weight:500;letter-spacing:-.01em}.nav-logo span{color:var(--text-dim)}.nav-links{display:flex;gap:2.2rem;font-size:.88rem;font-family:JetBrains Mono,monospace}.nav-links a{color:var(--text-dim);transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-cta{font-size:.82rem;color:var(--text-dim);display:flex;align-items:center;gap:.5rem;font-family:JetBrains Mono,monospace}.nav-cta .dot{width:6px;height:6px;background:#4ade80;border-radius:50%}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:8rem 2.5rem 4rem;max-width:1400px;margin:0 auto;gap:4rem;position:relative}.hero-eyebrow{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-dim);margin-bottom:2rem;letter-spacing:.02em}.hero-title{font-size:clamp(2.4rem,5.2vw,4.4rem);font-weight:500;line-height:1.05;letter-spacing:-.035em;margin-bottom:1.5rem;color:var(--text)}.hero-title .dim{color:var(--text-dim)}.hero-name{font-size:clamp(4.5rem,13vw,9rem);font-weight:600;line-height:.95;letter-spacing:-.05em;margin-bottom:1rem;color:var(--text)}.hero-name .dim{color:var(--text-dim)}.hero-role{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:400;letter-spacing:-.015em;margin-bottom:1.6rem;color:var(--text);line-height:1.2}.hero-role .dim{color:var(--text-dim)}.hero-tagline{font-size:1.05rem;color:var(--text-mid);line-height:1.65;max-width:480px;margin-bottom:2.5rem}.hero-actions{display:flex;gap:.7rem;align-items:center}.btn{font-size:.88rem;padding:.7rem 1.2rem;border:1px solid var(--border);border-radius:8px;color:var(--text);background:transparent;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem}.btn:hover{background:#ffffff0a;border-color:#ffffff2e}.btn-primary{background:var(--text);color:var(--bg);border-color:var(--text)}.btn-primary:hover{background:var(--text-mid);border-color:var(--text-mid)}.hero-canvas{position:relative;height:460px;width:100%}section{padding:7rem 2.5rem;max-width:1400px;margin:0 auto;position:relative}.section-eyebrow{font-family:JetBrains Mono,monospace;font-size:.76rem;color:var(--text-dim);letter-spacing:.02em;margin-bottom:1rem}.section-title{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:500;letter-spacing:-.025em;line-height:1.15;margin-bottom:4rem;max-width:720px}.section-title .dim{color:var(--text-dim)}.about-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:5rem;align-items:start}.about-text p{color:var(--text-mid);font-size:1rem;line-height:1.8;margin-bottom:1.4rem}.about-text p strong{color:var(--text);font-weight:500}.stats{display:flex;flex-direction:column;border-top:1px solid var(--border)}.stat{display:flex;justify-content:space-between;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--border)}.stat .num{font-size:1.4rem;font-weight:500;letter-spacing:-.02em}.stat .label{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-dim);text-align:right;max-width:200px;line-height:1.4}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.skill-card{background:var(--bg);padding:1.8rem;transition:background .2s}.skill-card:hover{background:var(--panel)}.skill-card h3{font-family:JetBrains Mono,monospace;font-size:.74rem;color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.2rem}.skill-card ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}.skill-card li{font-size:.92rem;color:var(--text)}.projects{display:flex;flex-direction:column;border-top:1px solid var(--border)}.project{display:grid;grid-template-columns:60px 1.4fr 2fr .8fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--border);align-items:start;transition:padding .25s}.project:hover{padding-left:1rem}.project .p-num{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-dim);padding-top:.3rem}.project .p-title h3{font-size:1.15rem;font-weight:500;letter-spacing:-.015em;color:var(--text);margin-bottom:.4rem}.project .p-title .type{font-family:JetBrains Mono,monospace;font-size:.74rem;color:var(--text-dim)}.project .p-desc{color:var(--text-mid);font-size:.92rem;line-height:1.7}.project .p-desc .tags{margin-top:.9rem;display:flex;flex-wrap:wrap;gap:.4rem}.project .p-desc .tags span{font-family:JetBrains Mono,monospace;font-size:.72rem;padding:.25rem .55rem;border:1px solid var(--border);border-radius:4px;color:var(--text-dim)}.project .p-impact{text-align:right;font-family:JetBrains Mono,monospace}.project .p-impact .num{font-size:1.3rem;font-weight:500;color:var(--text);display:block;letter-spacing:-.02em}.project .p-impact .label{font-size:.72rem;color:var(--text-dim);margin-top:.3rem;display:block}.exp{display:flex;flex-direction:column;border-top:1px solid var(--border)}.exp-row{display:grid;grid-template-columns:160px 1fr 1.6fr;gap:3rem;padding:2.2rem 0;border-bottom:1px solid var(--border)}.exp-row .when{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-dim)}.exp-row h3{font-size:1.1rem;font-weight:500;margin-bottom:.3rem;color:var(--text)}.exp-row .company{font-size:.88rem;color:var(--text-dim)}.exp-row .company-context{font-family:JetBrains Mono,monospace;font-size:.74rem;color:var(--text-dim);margin-top:.6rem;line-height:1.5;max-width:280px}.exp-row ul{list-style:none;display:flex;flex-direction:column;gap:.6rem}.exp-row ul li{color:var(--text-mid);font-size:.92rem;line-height:1.7;padding-left:1.2rem;position:relative}.exp-row ul li:before{content:"—";position:absolute;left:0;color:var(--text-dim)}.contact{text-align:left;padding:8rem 2.5rem 5rem}.contact-title{font-size:clamp(2rem,4vw,3.2rem);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin-bottom:1.5rem;max-width:640px}.contact-title .dim{color:var(--text-dim)}.contact-body{color:var(--text-mid);max-width:520px;margin-bottom:2.5rem;font-size:1rem;line-height:1.7}.contact-email{display:inline-flex;align-items:center;gap:.6rem;font-size:1.1rem;color:var(--text);border-bottom:1px solid var(--border);padding-bottom:.5rem;transition:all .2s}.contact-email:hover{border-color:var(--text);color:var(--text)}.contact-links{margin-top:4rem;display:flex;gap:2rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.contact-links a{color:var(--text-dim);transition:color .2s;display:inline-flex;align-items:center;gap:.4rem}.contact-links a:hover{color:var(--text)}footer{padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.76rem;color:var(--text-dim)}@media (max-width: 900px){.navbar{padding:1.2rem 1.5rem}.nav-links{display:none}.hero{grid-template-columns:1fr;padding:6rem 1.5rem 3rem;gap:2rem}.hero-canvas{height:320px;order:-1}section{padding:4rem 1.5rem}.about-grid{grid-template-columns:1fr;gap:3rem}.project{grid-template-columns:40px 1fr;gap:1rem;padding:1.5rem 0}.project .p-desc,.project .p-impact{grid-column:2;text-align:left}.exp-row{grid-template-columns:1fr;gap:1rem}.contact{padding:5rem 1.5rem 3rem}.contact-links{flex-direction:column;gap:1rem}footer{flex-direction:column;gap:.5rem;padding:1.5rem}}
