@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-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:#68716b;--rule:#cdd2c8;--rule-strong:#a8b0a6;--signal:#a35d00;--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,[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:#15181a;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{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:#15181a}.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}.status{border:1px solid var(--rule-strong);background:var(--live-soft);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--live);align-items:center;gap:9px;padding:6px 12px;font-size:11px;font-weight:600;display:inline-flex}.status:before{content:"";background:var(--live);width:7px;height:7px;animation:blink 2.4s var(--ease) infinite}@keyframes blink{0%,60%,to{opacity:1}80%{opacity:.25}}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)}.throughline{border:1px solid var(--rule);background:var(--panel);padding:20px}.throughline ol{margin:14px 0 0;padding:0;list-style:none;display:grid}.throughline li{border-bottom:1px solid var(--rule);grid-template-columns:46px minmax(0,1fr);align-items:baseline;gap:12px;padding:9px 0;display:grid}.throughline li:last-child{border-bottom:0}.throughline span{font-family:var(--mono);letter-spacing:.06em;color:var(--graphite);font-variant-numeric:tabular-nums;font-size:11px}.throughline strong{color:var(--ink-2);font-size:14px;font-weight:500}.throughline .is-current span,.throughline .is-current strong{color:var(--signal);font-weight:600}.throughline-note{border-top:1px solid var(--rule);color:var(--graphite);margin-top:14px;padding-top:14px;font-size:12.5px;line-height:1.5}.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}.hero-actions .status{margin-left:4px}.scale{background:var(--panel);border:1px solid var(--rule);margin:clamp(48px,6vw,76px) 0 0;padding:clamp(20px,2.4vw,30px) clamp(18px,2.4vw,30px) clamp(16px,2vw,24px)}.scale-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;padding-bottom:18px;display:flex}.scale-note{font-family:var(--mono);letter-spacing:.04em;color:var(--graphite);font-size:11px}.scale-grid{--meta-col:300px}.scale-axis,.scale-row{grid-template-columns:var(--meta-col) minmax(0, 1fr);column-gap:24px;display:grid}.scale-axis{height:20px}.scale-axis-track{border-bottom:1px solid var(--rule-strong);position:relative}.scale-tick{bottom:0;left:var(--pos);font-family:var(--mono);letter-spacing:.04em;color:var(--graphite);padding-bottom:5px;font-size:10px;position:absolute;transform:translate(-50%)}.scale-tick:after{content:"";background:var(--rule-strong);width:1px;height:5px;position:absolute;bottom:-1px;left:50%}.scale-row{border-bottom:1px solid var(--rule);align-items:center;min-height:42px}.scale-row:last-child{border-bottom:0}.scale-meta{flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding-block-start:10px;padding-block-end:10px;display:flex}.scale-value{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.scale-unit{color:var(--ink-2);font-size:13px}.scale-src{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);font-size:10px}.scale-track{height:100%;min-height:42px;position:relative}.scale-line,.scale-dot{position:absolute;top:50%}.scale-line{width:var(--pos);background:linear-gradient(to right, var(--rule-strong), var(--signal));transform-origin:0;height:1px;left:0}.scale-dot{left:var(--pos);background:var(--signal);width:9px;height:9px;transform:translate(-50%,-50%)}.scale-row.is-current .scale-dot{box-shadow:0 0 0 4px var(--signal-soft)}@media (prefers-reduced-motion:no-preference){.js .scale-line{transition:transform .85s var(--ease) var(--delay,0s);transform:scaleX(0)}.js .scale-dot{opacity:0;transition:opacity .3s linear calc(var(--delay,0s) + .6s)}.js .scale.is-in .scale-line{transform:scaleX(1)}.js .scale.is-in .scale-dot{opacity:1}}@media (max-width:760px){.scale-axis,.scale-row{grid-template-columns:minmax(0,1fr)}.scale-axis-pad{display:none}.scale-row{align-items:stretch;padding-block-start:2px;padding-block-end:14px}.scale-meta{padding-block-start:12px;padding-block-end:8px}.scale-track{min-height:12px}.scale-tick:nth-child(2n){display:none}}.ledger{background:var(--rule);border:1px solid var(--rule);border-top:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:1px 0 0;padding:0;display:grid}.ledger>div{background:var(--paper);padding:16px 18px}.ledger dt{font-family:var(--mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.ledger dd{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin:4px 0 0;font-size:10px}.practice{gap:clamp(28px,4vw,56px);display:grid}@media (min-width:900px){.practice{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}.practice-prose{color:var(--ink-2);gap:20px;font-size:16.5px;line-height:1.7;display:grid}.practice-prose strong{color:var(--ink);font-weight:600}.facets{background:var(--rule);border:1px solid var(--rule);gap:1px;display:grid}.facet{background:var(--panel);gap:7px;padding:20px;display:grid}.facet p{color:var(--ink-2);font-size:14.5px;line-height:1.55}.systems{background:var(--rule);border:1px solid var(--rule);gap:1px;display:grid}@media (min-width:860px){.systems{grid-template-columns:repeat(2,minmax(0,1fr))}}.system{background:var(--panel);transition:background-color .25s var(--ease);flex-direction:column;gap:14px;padding:clamp(20px,2.4vw,30px);display:flex}.system:hover{background:var(--panel-2)}.system-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.system-org{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:9px;font-size:12px;font-weight:600;display:inline-flex}.system-org svg{flex:none}.system-years{font-family:var(--mono);letter-spacing:.08em;color:var(--graphite);font-variant-numeric:tabular-nums;font-size:11px}.system p{color:var(--ink-2);font-size:14.5px;line-height:1.62}.deltas{gap:7px;margin:2px 0 0;padding:0;list-style:none;display:grid}.delta{grid-template-columns:minmax(0,1fr) 90px auto;align-items:center;gap:12px;display:grid}.delta-plain{grid-template-columns:minmax(0,1fr) auto}.delta-label{font-family:var(--mono);letter-spacing:.05em;color:var(--graphite);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.delta-track{background:var(--rule);height:6px}.delta-fill{width:var(--pct);background:var(--signal);transform-origin:0;height:100%;display:block}.delta-value{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.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}.gantt{--meta-col:300px;border:1px solid var(--rule)}.gantt-axis,.gantt-row{grid-template-columns:var(--meta-col) minmax(0, 1fr);display:grid}.gantt-axis{border-bottom:1px solid var(--rule-strong)}.gantt-axis-track{height:26px;position:relative}.gantt-tick{bottom:4px;left:var(--pos);font-family:var(--mono);letter-spacing:.06em;color:var(--graphite);font-variant-numeric:tabular-nums;font-size:10px;position:absolute}.gantt-row{border-bottom:1px solid var(--rule)}.gantt-row:last-child{border-bottom:0}.gantt-meta{border-right:1px solid var(--rule);gap:3px;padding:15px 20px;display:grid}.gantt-role{align-items:center;gap:10px;display:flex}.gantt-role svg{flex:none}.gantt-company{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--graphite);font-size:11px}.gantt-dates{font-family:var(--mono);color:var(--signal);font-variant-numeric:tabular-nums;font-size:11px}.gantt-note{color:var(--ink-2);margin-top:5px;font-size:13px;line-height:1.5}.gantt-track{background-image:repeating-linear-gradient(to right, var(--rule) 0 1px, transparent 1px 13.5593%);padding:15px 0;position:relative}.gantt-bar{top:19px;left:var(--from);width:var(--w);background:var(--signal);transform-origin:0;min-width:4px;height:12px;position:absolute}.gantt-bar.is-current:after{content:"";border:1px solid var(--signal);position:absolute;top:-3px;bottom:-3px;left:-3px;right:-3px}.gantt-study{border-top:1px dashed var(--rule-strong);background:var(--panel)}.gantt-study .gantt-meta{padding-block-start:14px;padding-block-end:14px}.gantt-study .gantt-bar{border:1px solid var(--live);background:0 0;background-image:repeating-linear-gradient(45deg, var(--live-soft) 0 4px, transparent 4px 8px);height:8px;top:18px}.gantt-study .gantt-dates{color:var(--live)}@media (max-width:860px){.gantt-axis,.gantt-row{grid-template-columns:minmax(0,1fr)}.gantt-axis-pad{display:none}.gantt-meta{border-right:0;padding-bottom:4px}.gantt-track{padding:0 20px 20px}.gantt-bar{margin-left:var(--from);display:block;position:relative;top:0;left:0}}.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}.degrees{border:1px solid var(--rule)}.degree{border-bottom:1px solid var(--rule);gap:4px 24px;padding:20px;display:grid}.degree:last-child{border-bottom:0}@media (min-width:800px){.degree{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 150px 90px;align-items:baseline}}.degree-school{color:var(--ink-2);font-size:14.5px}.degree-years,.degree-gpa{font-family:var(--mono);letter-spacing:.04em;color:var(--graphite);font-variant-numeric:tabular-nums;font-size:12px}.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){.js .hero-lede>.reveal:nth-child(2){transition-delay:60ms}.js .hero-lede>.reveal:nth-child(3){transition-delay:.12s}.js .hero-lede>.reveal:nth-child(4){transition-delay:.18s}.js .throughline{transition-delay:.24s}.js .reveal{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--ease);transform:translateY(14px)}.js .reveal.is-in{opacity:1;transform:none}.js .delta-fill{transition:transform .7s var(--ease) .15s;transform:scaleX(0)}.js .is-in .delta-fill,.js .delta-fill.is-in{transform:scaleX(1)}.js .gantt-bar{transition:transform .7s var(--ease) var(--delay,0s);transform:scaleX(0)}.js .is-in .gantt-bar{transform:scaleX(1)}}@media (max-width:768px){.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;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}.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}.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{--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,.timeline-item{break-inside:avoid}.timeline,.timeline-item,.resume-snapshot,.resume-snapshot>div{background:#fff}a{text-decoration:none}}
