*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--strong: #000000;--ink: #f3f3f3;--paper: #0b0b0b;--accent: #ff2a2a;--accent2: #9a0b0b;--muted: #c08a8a;--line: rgba(255, 42, 42, .22);--card: #151515;--ghost: rgba(255, 42, 42, .08);--chip-bg: rgba(255, 42, 42, .16);--font-display: "Arial Black", "Impact", sans-serif;--font-mono: "Courier New", "Lucida Console", monospace}body[data-theme=light]{--strong: #0a2f8f;--ink: #0f1d3a;--paper: #f7fbff;--accent: #1f66ff;--accent2: #0a4ccf;--muted: #4f6a9a;--line: rgba(31, 102, 255, .2);--card: #ffffff;--ghost: rgba(31, 102, 255, .08);--chip-bg: rgba(31, 102, 255, .12)}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-size:14px;line-height:1.7;overflow-x:hidden;transition:background .25s,color .25s}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:var(--paper);border-bottom:1px solid var(--line)}.nav-logo{font-family:var(--font-display);font-size:18px;font-weight:900;letter-spacing:-.5px;color:var(--ink);text-decoration:none}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--muted);text-decoration:none;font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ink);border:1px solid var(--line);width:38px;height:32px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s}.theme-toggle .theme-icon{font-size:12px;line-height:1}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:72px}.hero-left{display:flex;flex-direction:column;justify-content:center;padding:4rem 3rem;border-right:1px solid var(--line)}.hero-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem}.hero-eyebrow:before{content:"";display:inline-block;width:32px;height:1px;background:var(--accent)}.hero-name{font-family:var(--font-display);font-size:clamp(3.5rem,7vw,6.5rem);font-weight:900;line-height:.95;letter-spacing:-2px;margin-bottom:2rem}.hero-name span{color:var(--accent)}.hero-desc{font-size:13px;color:var(--muted);margin-bottom:2.5rem;max-width:380px;line-height:1.8}.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:8px;padding:.75rem 1.5rem;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;text-decoration:none;cursor:pointer;border:none;transition:all .2s}.btn-primary{background:var(--strong);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn-outline:hover{border-color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.hero-right{display:flex;flex-direction:column;justify-content:flex-end;padding:4rem 3rem;position:relative;overflow:hidden}.hero-bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);font-family:var(--font-display);font-size:clamp(6rem,14vw,14rem);font-weight:900;color:var(--ghost);white-space:nowrap;pointer-events:none;letter-spacing:-4px}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);position:relative;z-index:1}.stat{background:var(--paper);padding:1.75rem}.stat-num{font-family:var(--font-display);font-size:3rem;font-weight:900;line-height:1;color:var(--ink)}.stat-num span{color:var(--accent)}.stat-label{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:4px}.hero-contact-strip{margin-top:1px;background:var(--strong);color:#fff;padding:1rem 1.75rem;font-size:11px;letter-spacing:.05em;display:flex;gap:2rem;flex-wrap:wrap;position:relative;z-index:1}.hero-contact-strip a{color:#fff;text-decoration:none}.hero-contact-strip a:hover{color:var(--accent)}section{border-top:1px solid var(--line)}.section-inner{max-width:1200px;margin:0 auto;padding:5rem 3rem}.section-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:3.5rem}.section-num{font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase}.section-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:900;letter-spacing:-1px;color:var(--ink)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.skill-tag{background:var(--strong);color:#fff;padding:.6rem 1rem;font-size:11px;letter-spacing:.08em;text-transform:uppercase;text-align:center;transition:all .2s;cursor:default}.skill-tag:hover{background:var(--accent)}.skill-tag.highlight{background:var(--accent2)}.exp-list{display:flex;flex-direction:column}.exp-item{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line);padding:2.5rem 0;gap:3rem}.exp-item:last-child{border-bottom:1px solid var(--line)}.exp-company{font-family:var(--font-display);font-size:15px;font-weight:900;margin-bottom:4px}.exp-period{font-size:11px;color:var(--accent);letter-spacing:.08em;text-transform:uppercase}.exp-role{font-family:var(--font-display);font-size:19px;font-weight:900;margin-bottom:.75rem}.exp-desc{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:1rem}.exp-tags{display:flex;flex-wrap:wrap;gap:6px}.exp-tag{font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border:1px solid var(--line);color:var(--muted)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.project-card{background:var(--paper);padding:2.5rem;transition:background .25s;position:relative;overflow:hidden}.project-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--accent);transition:height .3s}.project-card:hover{background:var(--card)}.project-card:hover:before{height:100%}.project-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.project-name{font-family:var(--font-display);font-size:22px;font-weight:900;margin-bottom:.75rem;letter-spacing:-.5px}.project-desc{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:1.25rem}.project-impacts{list-style:none;font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px;margin-bottom:1.25rem}.project-impacts li:before{content:"-> ";color:var(--accent)}.project-stack{display:flex;flex-wrap:wrap;gap:6px}.stack-pill{font-size:10px;letter-spacing:.05em;padding:2px 8px;background:var(--chip-bg);color:var(--ink)}.oss-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.oss-card{background:var(--paper);padding:2.5rem;transition:background .25s}.oss-card:hover{background:var(--card)}.oss-pkg{font-family:var(--font-mono);font-size:13px;color:var(--accent2);margin-bottom:.5rem;word-break:break-all}.oss-desc{font-size:12px;color:var(--muted);line-height:1.7}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.contact-big{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:900;letter-spacing:-1.5px;line-height:1;margin-bottom:2rem}.contact-big span{color:var(--accent)}.contact-cta{display:flex;flex-wrap:wrap;gap:.8rem}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.contact-row{display:flex;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1.5rem}.contact-key{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);min-width:80px;padding-top:2px}.contact-val{font-size:14px}.contact-val a{color:var(--ink);text-decoration:none}.contact-val a:hover{color:var(--accent)}footer{border-top:1px solid var(--line);padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);letter-spacing:.05em}.fade-up{opacity:0;transform:translateY(24px);animation:fadeUp .7s forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.fade-up:nth-child(1){animation-delay:.1s}.fade-up:nth-child(2){animation-delay:.22s}.fade-up:nth-child(3){animation-delay:.34s}.fade-up:nth-child(4){animation-delay:.46s}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s,transform .6s}.reveal.visible{opacity:1;transform:none}.resume-print-root{position:fixed;left:-99999px;top:0;opacity:0;pointer-events:none}.resume-page{width:794px;min-height:1123px;background:#fff;color:#16243f;padding:42px 42px 28px;font-family:var(--font-mono);font-size:12px;line-height:1.6;display:flex;flex-direction:column;justify-content:space-between}.resume-page-content{min-height:0}.resume-page-footer{border-top:1px solid #dbe6ff;padding-top:12px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;color:#5574b0;font-size:11px}.resume-header{margin-bottom:8px}.resume-title-block{border-bottom:2px solid #dbe6ff;padding-bottom:16px;margin-bottom:12px}.resume-title-block h1{margin:0;color:#0f3da8;font-family:var(--font-display);font-size:44px;line-height:1}.resume-title-block p{margin-top:8px;color:#3f5a8f;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.resume-contact-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;color:#30446e}.resume-contact-row span{background:#eef4ff;border:1px solid #d6e3ff;border-radius:999px;padding:3px 10px;font-size:11px}.resume-section{margin-bottom:14px}.resume-section h2{margin:0 0 7px;color:#0f3da8;font-size:15px;letter-spacing:.08em;text-transform:uppercase}.resume-section p{color:#2c3c5d}.resume-skills{display:flex;flex-wrap:wrap;gap:6px}.resume-skills span{border:1px solid #cfddff;padding:2px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.resume-item{border-top:1px solid #e5ecff;padding-top:10px;margin-top:10px}.resume-item h3{margin:0;font-size:14px;font-family:var(--font-display);color:#1f2e52}.resume-item:first-child{margin-top:0}.resume-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:3px}.resume-item-head span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#4f6795}.resume-item-subhead{margin-bottom:5px;color:#204eab;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.resume-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.resume-tags span{font-size:9px;border:1px solid #d6e3ff;padding:2px 6px}.resume-project-list{margin:6px 0 0 18px;color:#2c3c5d}.resume-project-list li{margin-bottom:2px}@media (max-width: 768px){nav{padding:1rem 1.5rem}.nav-links{display:none}.theme-toggle{margin-left:auto}.hero{grid-template-columns:1fr}.hero-left{padding:3rem 1.5rem 2rem}.hero-right{padding:2rem 1.5rem 3rem}.hero-bg-text{display:none}.section-inner{padding:3rem 1.5rem}.exp-item{grid-template-columns:1fr;gap:.5rem}.projects-grid,.oss-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr;gap:2rem}footer{flex-direction:column;gap:1rem;text-align:center}}
