:root{--bg: #0b0e13;--photo-bg: #eceae4;--display: #fbfaf7;--hero-body: #b3aea4;--proj-body: #a39e94;--pillar-body: #9a958c;--amber: #d6a35c;--divider: rgba(255, 255, 255, .09);--thumb-bg: #0c1117;--thumb-border: rgba(255, 255, 255, .1);--footer: #6b665c;--ant: #54c89a;--bug: #e8654f;--sans: "Space Grotesk", system-ui, sans-serif;--serif: "Instrument Serif", Georgia, serif;--mono: "JetBrains Mono", monospace}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:#e9e6df;font-family:var(--sans)}img{display:block}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.anim{animation:fadeUp .6s ease both}.a1{animation-delay:.1s}.a2{animation-delay:.16s}.a3{animation-delay:.24s}.a4{animation-delay:.32s}@media(prefers-reduced-motion:reduce){.anim{animation:none}}.page{min-height:100vh}.col{max-width:1180px;margin:0 auto}.hero{display:flex;min-height:560px;align-items:stretch}.photo{flex:none;width:380px;background:var(--photo-bg);position:relative;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}.photo-fade{position:absolute;inset:0;background:linear-gradient(102deg,transparent 70%,rgba(11,14,19,.92))}.hero-content{flex:1;padding:80px 64px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin-bottom:26px}.name{margin:0 0 26px;font-family:var(--serif);font-size:88px;line-height:.92;font-weight:400;letter-spacing:-.01em;color:var(--display)}.bio{margin:0 0 38px;font-size:21px;line-height:1.5;color:var(--hero-body);max-width:440px}.linkedin{align-self:flex-start;display:inline-flex;align-items:center;gap:11px;font-size:17px;color:var(--display);text-decoration:none;border-bottom:1px solid var(--amber);padding-bottom:5px}.pillars{display:flex;border-top:1px solid var(--divider)}.pillar{flex:1;padding:44px 40px}.pillar:not(:last-child){border-right:1px solid var(--divider)}.pillar-i{font-family:var(--serif);font-size:20px;color:var(--amber);margin-bottom:14px}.pillar-t{font-size:24px;font-weight:500;color:var(--display);margin-bottom:10px;letter-spacing:-.01em}.pillar-d{font-size:15px;line-height:1.55;color:var(--pillar-body)}.projects{padding:56px 64px;border-top:1px solid var(--divider)}.section-h{margin:0 0 28px;font-family:var(--serif);font-size:30px;font-weight:400;color:var(--display)}.card{display:flex;gap:36px;align-items:stretch;text-decoration:none}.lift{transition:transform .18s ease}.lift:hover{transform:translateY(-3px)}.thumb{flex:none;width:300px;height:260px;background:var(--thumb-bg);display:flex;align-items:center;justify-content:center;border:1px solid var(--thumb-border);position:relative}.thumb canvas{display:block}.thumb-label{position:absolute;top:10px;left:12px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#5f6a62}.thumb-legend{position:absolute;bottom:10px;left:12px;display:flex;gap:14px;font-family:var(--mono);font-size:10px;color:#8d978f}.leg{display:inline-flex;align-items:center;gap:5px}.sw{width:8px;height:8px;display:inline-block}.sw.ant{background:var(--ant)}.sw.bug{background:var(--bug)}.card-content{flex:1;padding-top:6px}.card-title{font-size:26px;font-weight:500;color:var(--display);margin-bottom:12px;letter-spacing:-.01em}.card-desc{margin:0 0 20px;font-size:16px;line-height:1.6;color:var(--proj-body);max-width:460px}.cta{font-size:15px;color:var(--amber);border-bottom:1px solid var(--amber);padding-bottom:3px}footer{display:flex;justify-content:space-between;padding:24px 64px;border-top:1px solid var(--divider);font-family:var(--mono);font-size:12px;color:var(--footer);letter-spacing:.06em}@media(max-width:720px){.hero{flex-direction:column;min-height:0}.photo{width:100%;height:320px}.photo-fade{background:linear-gradient(0deg,rgba(11,14,19,.92),transparent 55%)}.hero-content{padding:40px 28px 48px}.name{font-size:58px}.bio{font-size:19px}.pillars{flex-direction:column}.pillar:not(:last-child){border-right:none;border-bottom:1px solid var(--divider)}.projects{padding:40px 28px}.card{flex-direction:column;gap:20px}.thumb{width:100%}footer{padding:20px 28px}}
