@font-face{font-family:Martian Mono;font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/martian-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/plex-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/plex-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/plex-mono-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#15181a;--panel:#1d2124;--panel-2:#23282b;--ink:#e9ece5;--ink-2:#b3bab2;--graphite:#8a938b;--rule:#2e3437;--rule-strong:#414a4d;--signal:#e9a62b;--signal-ink:#15181a;--signal-soft:#e9a62b29;--live:#4fb08a;--live-soft:#4fb08a29;--selection:#e9a62b47;--display:"Martian Mono", ui-monospace, "SFMono-Regular", monospace;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--unit:8px;--gutter:clamp(20px, 4vw, 56px);--measure:1240px;--header-h:60px;--ease:cubic-bezier(.22, .68, .28, 1);--dur:.5s}body[data-theme=light]{--paper:#e7eae4;--panel:#f7f8f5;--panel-2:#eff1eb;--ink:#171a18;--ink-2:#3f4642;--graphite:#616a64;--rule:#cdd2c8;--rule-strong:#a8b0a6;--signal:#945400;--signal-ink:#fff;--signal-soft:#a35d0021;--live:#12503c;--live-soft:#12503c1f;--selection:#a35d0033}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}::selection{background:var(--selection);color:var(--ink)}img,svg{max-width:100%}a{color:inherit}:where(a,button,summary,[tabindex]):focus-visible{outline:2px solid var(--signal);outline-offset:3px}.container{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin-inline-start:auto;margin-inline-end:auto}.skip-link{z-index:90;background:var(--signal);color:var(--signal-ink);font-family:var(--mono);padding:10px 16px;font-size:13px;text-decoration:none;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);margin:0;font-size:11px;font-weight:600}.site-header{z-index:60;height:var(--header-h);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.nav-wrap{justify-content:space-between;align-items:center;gap:16px;height:100%;display:flex}.logo{flex-shrink:0;align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.logo-mark{border:1px solid var(--rule-strong);width:30px;height:30px;font-family:var(--mono);letter-spacing:.04em;color:var(--signal);flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.logo-copy{flex-direction:column;min-width:0;line-height:1.25;display:flex}.logo-copy strong{font-family:var(--mono);letter-spacing:.01em;font-size:13px;font-weight:600}.logo-copy small{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);font-size:10px}.nav{align-items:center;gap:4px;display:flex}.nav a{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-2);transition:color .2s var(--ease);padding:7px 10px;font-size:12px;text-decoration:none}.nav a:hover{color:var(--signal)}.nav-tools{border-left:1px solid var(--rule);align-items:center;gap:4px;margin-left:8px;padding-left:12px;display:flex}.icon-button{width:32px;height:32px;color:var(--ink-2);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:grid}.icon-button:hover{color:var(--signal);border-color:var(--rule-strong)}.command-hint{width:auto;font-family:ui-monospace, system-ui, var(--mono);border-color:var(--rule);padding-inline-start:8px;padding-inline-end:8px;font-size:11px}body[data-theme=light] .icon-sun,.icon-moon{display:none}body[data-theme=light] .icon-moon{display:block}.menu-toggle{display:none}.scroll-progress{z-index:70;background:var(--signal);width:0;height:2px;position:fixed;top:0;left:0}@supports (animation-timeline:scroll()){.scroll-progress{transform-origin:0;width:100%;animation:linear progress;animation-timeline:scroll()}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}.btn{border:1px solid var(--rule-strong);font-family:var(--mono);letter-spacing:.04em;cursor:pointer;transition:background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);align-items:center;gap:8px;padding:13px 20px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.btn-primary:hover{color:var(--signal);background:0 0}.btn-outline{color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--signal);color:var(--signal)}.btn-small{padding:8px 12px;font-size:12px}h1,h2{font-family:var(--display);text-transform:uppercase;margin:0;font-weight:700}h1{letter-spacing:-.035em;font-size:clamp(28px,4.9vw,58px);line-height:1.04}h2{letter-spacing:-.025em;font-size:clamp(21px,2.7vw,32px);line-height:1.12}h3{font-family:var(--body);letter-spacing:-.005em;margin:0;font-size:17px;font-weight:600;line-height:1.3}p{margin:0}.section{border-top:1px solid var(--rule);padding-block-start:clamp(56px,6.6vw,92px);padding-block-end:clamp(56px,6.6vw,92px)}.section-head{gap:18px;max-width:62ch;margin-bottom:clamp(32px,4vw,56px);display:grid}.section-head .label{color:var(--signal)}.section-intro{color:var(--ink-2);font-size:17px;line-height:1.62}@media (min-width:900px){.section-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;column-gap:56px;max-width:none}.section-head .label,.section-head h2{grid-column:1}.section-head .section-intro{grid-area:1/2/span 2;align-self:end;padding-bottom:4px}}.hero{padding-block-start:clamp(44px,6vw,80px);padding-block-end:clamp(48px,6vw,84px)}.hero-top{gap:clamp(36px,4vw,56px);display:grid}@media (min-width:1000px){.hero-top{grid-template-columns:minmax(0,1fr) 286px;align-items:start}}.hero-id{color:var(--signal);margin-bottom:22px}.hero h1{max-width:14ch;font-size:clamp(28px,5.3vw,64px)}.hero h1 em{color:var(--signal);font-style:normal}.hero-copy{max-width:58ch;color:var(--ink-2);margin-top:26px;font-size:17px;line-height:1.65}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.current-focus{background:var(--panel);border:1px solid var(--rule);border-top:2px solid var(--signal);align-self:start;padding:24px}.current-focus h2{font-family:var(--body);text-transform:none;letter-spacing:-.03em;margin:24px 0 16px;font-size:26px}.current-focus>p:not(.label){color:var(--ink-2);font-size:14px}.focus-date{border-top:1px solid var(--rule);font:11px / 1.7 var(--mono);color:var(--graphite);margin-top:24px;padding-top:18px;display:block}.case-list{gap:24px;display:grid}.case-card{border:1px solid var(--rule);background:var(--panel);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);padding:clamp(22px,3vw,40px);display:grid}.case-org{font:12px / 1.5 var(--mono);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.case-org span{color:var(--graphite);margin-left:auto;font-size:11px}.case-heading h3{font:600 clamp(24px, 2.7vw, 34px) / 1.15 var(--body);letter-spacing:-.025em;margin:24px 0 16px}.case-heading>p:not(.case-org),.case-detail p{color:var(--ink-2);font-size:15px;line-height:1.65}.case-evidence{min-width:0}.case-metrics{border-bottom:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding-bottom:24px;display:grid}.case-metrics dt{font:600 clamp(24px, 3vw, 36px) / 1.3 var(--mono);color:var(--signal);letter-spacing:-.05em}.case-metrics dd{color:var(--ink-2);margin:6px 0 0;font-size:13px}.case-scope{color:var(--ink-2);margin:18px 0;font-size:13px}.case-evidence details{border-top:1px solid var(--rule)}.case-evidence summary{font:500 13px / 1.5 var(--mono);cursor:pointer;color:var(--ink);padding-block-start:16px;padding-block-end:16px}.case-evidence summary:hover{color:var(--signal)}.case-detail h4{font:600 12px / 1.5 var(--mono);color:var(--signal);margin:16px 0 6px}.career-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.career-list li{border-bottom:1px solid var(--rule);grid-template-columns:160px 1fr 1.5fr;align-items:baseline;gap:12px;padding:18px 0;display:grid}.career-date{font:12px / 1.6 var(--mono);color:var(--graphite)}.career-list li>span:last-child{color:var(--ink-2);font-size:14px}.career-foundations{color:var(--ink-2);margin-top:24px;font-size:14px}.text-link{font:500 13px / 1.6 var(--mono);text-underline-offset:5px;color:var(--signal);margin-top:16px;display:inline-block}@media (max-width:999px){.current-focus{display:none}}@media (max-width:719px){.case-card{grid-template-columns:minmax(0,1fr)}.case-org span{font-size:10px}.career-list li{grid-template-columns:110px minmax(0,1fr);gap:2px 16px}.career-list li>span:last-child{grid-column:2}.capability ul{flex-wrap:wrap;gap:8px 16px;display:flex}}.stack{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.stack li{border:1px solid var(--rule);font-family:var(--mono);letter-spacing:.03em;color:var(--ink-2);padding:4px 8px;font-size:11px}.capabilities{background:var(--rule);border:1px solid var(--rule);gap:1px;display:grid}@media (min-width:720px){.capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1080px){.capabilities{grid-template-columns:repeat(4,minmax(0,1fr))}}.capability{background:var(--panel);padding:22px 20px}.capability h3{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);border-bottom:1px solid var(--rule);padding-bottom:12px;font-size:11px;font-weight:600}.capability ul{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.capability li{font-family:var(--mono);color:var(--ink-2);font-size:12.5px}.contact-panel{background:var(--panel);border:1px solid var(--rule);gap:26px;padding:clamp(28px,4vw,56px);display:grid}.contact-panel h2{max-width:18ch}.contact-copy{max-width:60ch;color:var(--ink-2);font-size:16.5px;line-height:1.65}.contact-links{background:var(--rule);border:1px solid var(--rule);gap:1px;display:grid}@media (min-width:640px){.contact-links{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-link{background:var(--paper);transition:background-color .2s var(--ease), color .2s var(--ease);align-items:center;gap:14px;padding:18px 20px;text-decoration:none;display:flex}.contact-link:hover{background:var(--panel-2);color:var(--signal)}.contact-link svg{flex:none}.contact-link div{min-width:0;display:grid}.contact-link strong{font-family:var(--mono);letter-spacing:.04em;font-size:13px;font-weight:600}.contact-link span{font-family:var(--mono);color:var(--graphite);font-size:11px}.site-footer{border-top:1px solid var(--rule);padding-block-start:26px;padding-block-end:26px}.footer-content{font-family:var(--mono);letter-spacing:.06em;color:var(--graphite);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;font-size:11px;display:flex}.command-palette{background:var(--panel);border:1px solid var(--rule-strong);width:min(440px,100vw - 32px);color:var(--ink);margin:12vh auto auto;padding:0}.command-palette::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c}.command-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.command-head p{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);font-size:11px;font-weight:600}.command-close{border:1px solid var(--rule);font-family:var(--mono);color:var(--graphite);cursor:pointer;background:0 0;padding:4px 8px;font-size:11px}.command-help{font-family:var(--mono);color:var(--graphite);padding:12px 16px 0;font-size:11px}.command-list{padding:10px;display:grid}.command-list a{font-family:var(--mono);color:var(--ink-2);padding:10px 8px;font-size:13px;text-decoration:none}.command-list a:hover{background:var(--panel-2);color:var(--signal)}.command-list a:focus-visible{background:var(--panel-2);color:var(--signal)}@media (prefers-reduced-motion:no-preference){.reveal.is-in{animation:arrive .5s var(--ease)}}@keyframes arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (max-width:1100px){.menu-toggle{border:1px solid var(--rule);width:36px;height:36px;color:var(--ink);cursor:pointer;background:0 0;order:3;place-items:center;padding:0;display:grid}.hamburger,.hamburger:before,.hamburger:after{background:currentColor;width:16px;height:1px;display:block}.hamburger{position:relative}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0}.hamburger:before{top:-5px}.hamburger:after{top:5px}.nav{inset:var(--header-h) 0 auto;max-height:calc(100dvh - var(--header-h));background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;gap:0;padding:8px 0 16px;display:none;position:fixed;overflow-y:auto}.nav.open{display:flex}.nav a{padding:13px var(--gutter);border-bottom:1px solid var(--rule);font-size:14px}.nav-tools{margin:12px var(--gutter) 0;border-left:0;padding-left:0}.nav .btn{margin:12px var(--gutter) 0;justify-content:center}.logo-copy small{display:none}}.nav a.active{color:var(--signal)}.resume-page{border-top:0;padding-block-start:clamp(36px,5vw,64px);padding-block-end:clamp(48px,6vw,88px)}.eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);font-size:11px;font-weight:600}.resume-hero{border-bottom:1px solid var(--rule);gap:clamp(28px,4vw,48px);padding-bottom:clamp(28px,4vw,44px);display:grid}@media (min-width:900px){.resume-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}}.resume-hero h1{margin-top:18px;font-size:clamp(30px,4.4vw,50px)}.resume-hero .hero-copy{margin-top:18px}.resume-actions{margin-top:26px}.resume-snapshot{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:0;display:grid}.resume-snapshot>div{background:var(--panel);padding:16px 18px}.resume-snapshot dt{font-family:var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.resume-snapshot dd{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin:4px 0 0;font-size:10px}.resume-block{border-bottom:1px solid var(--rule);padding-block-start:clamp(30px,4vw,48px);padding-block-end:clamp(30px,4vw,48px)}.resume-block:last-child{border-bottom:0}.resume-block>h2{margin-bottom:22px;font-size:clamp(18px,2vw,24px)}.resume-block>p{max-width:78ch;color:var(--ink-2);font-size:15.5px;line-height:1.7}.resume-block>p+p{margin-top:12px}.resume-highlights{color:var(--ink-2);margin:0;padding-left:20px;font-size:14.5px;line-height:1.65}.resume-highlights li+li{margin-top:8px}.timeline{background:var(--rule);border:1px solid var(--rule);gap:1px;display:grid}.timeline-line,.timeline-dot{display:none}.timeline-item{background:var(--panel);padding:22px 20px}.timeline-header{border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin-bottom:12px;padding-bottom:12px;display:flex}.timeline-title-row{align-items:center;gap:12px;min-width:0;display:flex}.company-logo{flex:none;line-height:0;display:block}.timeline-company{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);font-size:11px}.timeline-date{font-family:var(--mono);letter-spacing:.04em;color:var(--signal);font-variant-numeric:tabular-nums;font-size:11.5px}.timeline-content>p{color:var(--ink-2);font-size:14.5px;line-height:1.62}.tags{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.tags li,.tags span{border:1px solid var(--rule);font-family:var(--mono);color:var(--ink-2);padding:4px 8px;font-size:11px;display:inline-block}.resume-block.contact .contact-links{margin-top:4px}@media print{:root,body[data-theme]{--paper:#fff;--panel:#fff;--panel-2:#fff;--ink:#000;--ink-2:#1a1a1a;--graphite:#444;--rule:#bbb;--rule-strong:#888;--signal:#000}body{color:#000;background:#fff;font-size:11pt}.site-header,.site-footer,.no-print,.scroll-progress,.command-palette,.skip-link{display:none!important}.resume-page{max-width:none;padding:0}.resume-block>h2{break-after:avoid}.timeline-item{break-inside:avoid}.timeline,.timeline-item,.resume-snapshot,.resume-snapshot>div{background:#fff}.reveal{opacity:1;animation:none;transform:none}a{text-decoration:none}}
