.resume-page{min-height:100vh;display:flex;flex-direction:column}.resume-page .resume-toolbar h1{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em}.resume-page .resume-summary.is-visible,.resume-page .resume-viewer,.resume-page .resume-fallback{border:var(--surface-evidence-border);border-radius:0;background:var(--bone);box-shadow:var(--surface-evidence-shadow)}.resume-page .resume-summary h2{font-family:var(--font-body);font-weight:600;letter-spacing:-.03em}.resume-page .resume-summary-facts a{display:inline-flex;align-items:center;min-height:44px}.resume-viewer-status{transition:opacity .18s ease}.resume-page-canvas.is-revealing,.resume-fallback.is-revealing,.resume-summary.is-revealing{animation:resume-state-reveal .2s cubic-bezier(.16,1,.3,1) both}@keyframes resume-state-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.resume-main{flex:1;display:flex;flex-direction:column;padding-top:var(--space-24);padding-bottom:var(--space-24)}.resume-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--space-9) var(--space-12);margin-bottom:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--rule)}.resume-toolbar h1{margin:var(--space-4) 0 0;font-size:clamp(34px,4vw,56px);line-height:1.04}.resume-actions{display:flex;flex-wrap:wrap;gap:var(--space-5)}.resume-summary{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.resume-summary.is-visible{position:static;display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1fr);gap:clamp(24px,5vw,72px);width:auto;height:auto;margin:0 0 var(--space-12);padding:clamp(24px,4vw,44px);overflow:visible;clip:auto;clip-path:none;white-space:normal}.resume-summary h2{margin:var(--space-5) 0 0;font-size:clamp(25px,3vw,44px);line-height:1.08}.resume-summary-copy>p{margin:0;color:var(--ink-soft);font-size:var(--step-0);line-height:1.6}.resume-summary-facts{display:grid;gap:var(--space-6);margin:var(--space-10) 0}.resume-summary-facts>div{display:grid;grid-template-columns:minmax(90px,.28fr) minmax(0,1fr);gap:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--rule-light)}.resume-summary-facts dt{color:var(--ink-mute);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none}.resume-toolbar .label,.resume-summary .label{letter-spacing:.02em}.resume-summary-facts dd{margin:0;color:var(--ink);line-height:1.5}.resume-summary-facts a{color:var(--accent-text);text-underline-offset:.2em}.resume-summary-note{color:var(--ink-mute)!important;font-size:13px!important}.resume-viewer{flex:1;width:100%;min-height:min(62svh,520px);padding:clamp(12px,2vw,20px);border:1px solid var(--rule);border-radius:0;background:var(--bone)}.resume-viewer-status{margin:0;padding:clamp(32px,8vw,48px) 0;text-align:center;color:var(--ink-mute)}.resume-page-canvas{display:block;width:min(100%,960px);margin-inline:auto;overflow:hidden;border-radius:0;background:#fff;box-shadow:none}.resume-page-canvas+.resume-page-canvas{margin-top:var(--space-8)}.resume-page-canvas canvas{display:block;max-width:100%;height:auto}.resume-fallback{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);min-height:min(62svh,520px);padding:clamp(28px,6vw,40px);border:1px solid var(--rule);border-radius:0;background:var(--bone);box-shadow:none;text-align:center}.resume-fallback[hidden],.resume-fallback-noscript{display:none}.resume-fallback-noscript{margin-top:var(--space-12)}noscript .resume-fallback-noscript{display:flex}.resume-fallback p{margin:0;max-width:30ch;color:var(--ink-soft);font-size:clamp(16px,4vw,18px);line-height:1.5}.resume-fallback-actions{display:flex;flex-direction:column;gap:var(--space-5);width:100%;max-width:320px}.resume-fallback-actions .button{width:100%}@media(hover:hover)and (pointer:fine){.nav-links a:hover,.icon-btn:hover{color:var(--ink)}.button:hover{background:var(--button-bg-hover);border-color:var(--button-bg-hover);color:var(--button-text);transform:translateY(-1px);box-shadow:0 0 0 1px var(--brand-light)}.button.secondary:hover{background:var(--sand);border-color:var(--control-border);color:var(--ink);box-shadow:none}.footer-row a:hover{color:var(--ink);text-decoration:underline}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.resume-page *,.resume-page *:before,.resume-page *:after{transition:none!important}}@media(max-width:1080px){:root{--page-gutter: 80px}}@media(max-width:900px){:root{--header-offset: 56px}section{padding:clamp(40px,6vw,56px) 0 clamp(64px,8vw,88px)}.hero{min-height:auto;padding:clamp(32px,5vw,56px) 0 48px}.hero-grid,.project-hero,.projects-grid{grid-template-columns:1fr}.hero-grid{gap:clamp(28px,5vw,40px)}.hero-media{min-height:auto;order:-1;margin-bottom:clamp(16px,3vw,28px)}.portrait-card{position:relative;right:auto;top:auto;width:min(100%,440px);max-width:440px;margin:0 auto;height:auto;aspect-ratio:auto;max-height:none}.portrait-card picture{display:block;height:auto}.portrait-card img{height:auto;aspect-ratio:1;min-height:0}.hero-actions{flex-direction:column;gap:var(--space-5)}.hero-actions .button{width:100%;min-width:0;padding-inline:var(--space-7);font-size:14px}.section-head{grid-template-columns:1fr;column-gap:0;row-gap:var(--space-7);margin-bottom:32px}.section-head:before,.section-head .label,.section-title,.standfirst,.about-head .about-copy,.about-head .about-proof,#about .about-proof{grid-column:1}.section-head:before{grid-row:1}.section-head .label{grid-row:1;padding-left:72px}.section-title{grid-row:2;font-size:clamp(30px,6.5vw,44px)}.standfirst{grid-row:3}.about-head .about-copy{grid-row:3;font-size:clamp(18px,4.2vw,24px)}.about-head .about-proof{grid-row:4}.about-head{padding-bottom:clamp(24px,4vw,36px)}.role{grid-template-columns:1fr;gap:var(--space-9)}.role-meta{grid-template-columns:44px minmax(0,1fr);column-gap:var(--space-6)}.role-meta:before,.role:last-child .role-meta:before{display:none}.logo-mark{width:44px;height:44px}.mobile-toggle{display:inline-flex}.nav{position:relative;gap:var(--space-4);min-height:56px}.nav-links{margin-left:0}.nav-tools{margin-left:auto}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;width:auto;margin-left:0;z-index:40;flex-direction:column;align-items:stretch;gap:var(--space-1);padding:var(--space-4) calc(var(--page-gutter) / 2);border:0;border-bottom:1px solid var(--rule-light);background:var(--paper);max-height:calc(100vh - 100%);max-height:calc(100dvh - 100%);overflow-y:auto;overscroll-behavior:contain}.nav-links.open{display:flex}.nav-links a{min-height:48px;justify-content:flex-start;width:100%;border-width:0;border-radius:0}.project-writeup{margin-top:clamp(28px,4.5vw,40px)}.writeup-section{grid-template-columns:1fr;gap:var(--space-6);padding:var(--space-10) 0}.project-writeup .writeup-section:first-child{padding-top:var(--space-6)}.writeup-section h2,.writeup-section p,.writeup-section ul,.writeup-section>*,.writeup-section .visual,.writeup-section .video-embed,.writeup-section .pcb-viewer,.writeup-section .hardware-demo,.writeup-section .impedance-demo-row{grid-column:1}.results-split{grid-column:1;flex-direction:column;align-items:stretch}.results-split .video-embed{width:auto}.results-split .video-embed--short .video-frame{max-width:340px;margin-inline:auto}.page-main{padding:56px 0}.project-hero h1{font-size:clamp(36px,8vw,56px)}.projects-grid{gap:var(--space-10)}.project-card{min-height:auto}.project-card-wrap.featured .project-card picture{height:clamp(220px,45vw,340px)}.project-card-wrap.featured .fx-layer,.project-card-wrap.featured .fx-sched{height:clamp(220px,45vw,340px)}.role-detail-title{font-size:clamp(16px,3.8vw,19px)}.resume-main{padding-top:clamp(24px,4vw,36px);padding-bottom:clamp(28px,5vw,40px)}.resume-toolbar{align-items:start;flex-direction:column;gap:var(--space-8);margin-bottom:20px;padding-bottom:var(--space-10)}.resume-toolbar h1{font-size:clamp(28px,7vw,40px)}.resume-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);width:100%}.resume-actions .button{width:100%;min-width:0;padding-inline:var(--space-7);font-size:14px}.resume-actions .button.internal{grid-column:1 / -1}.resume-summary.is-visible{grid-template-columns:minmax(0,1fr);gap:var(--space-10)}.resume-summary-facts>div{grid-template-columns:minmax(0,1fr);gap:var(--space-3)}}@media(max-width:560px){:root{--page-gutter: 56px;--header-offset: 52px}.brand{font-size:16px}.brand span{max-width:9.5rem}.nav{gap:var(--space-2);min-height:52px}.icon-btn{width:44px;min-width:44px;min-height:44px}.icon-btn svg{width:18px;height:18px}h1{font-size:clamp(34px,9.5vw,48px);line-height:1.12;letter-spacing:-.018em;text-wrap:pretty;overflow-wrap:break-word}.signal-trace{display:block;margin:10px 0 0}.lead{font-size:clamp(17px,4.6vw,20px);line-height:1.55}section{padding:52px 0}.hero{padding-top:var(--space-12);padding-bottom:36px}.hero-media{margin-bottom:var(--space-8)}.portrait-card{width:100%;max-width:none;aspect-ratio:auto}.hero-proof{flex-direction:column;align-items:flex-start;gap:var(--space-5);margin-top:22px;padding-top:var(--space-9)}.proof-item{max-width:100%}.project-card-wrap.featured .project-card picture{height:clamp(200px,52vw,300px)}.project-card-wrap.featured .fx-layer,.project-card-wrap.featured .fx-sched{height:clamp(200px,52vw,300px)}.video-embed,.pcb-viewer{grid-column:1}.next-links .button{width:100%}.section-head{grid-template-columns:1fr;row-gap:var(--space-8);margin-bottom:28px}.about-head{row-gap:var(--space-7);margin-bottom:0;padding-bottom:var(--space-14)}.section-head:before,.section-head .label,.section-title,.standfirst,.about-head .about-copy,.about-head .about-proof,#about .about-proof{grid-column:1}.section-head:before{grid-row:1}.section-head .label{grid-row:1;padding-left:72px}.section-title{grid-row:2;font-size:clamp(30px,8.5vw,42px);line-height:1.1}.standfirst,.about-head .about-copy{grid-row:3}.about-head .about-proof{grid-row:4}.about-copy{font-size:clamp(19px,5.4vw,26px);line-height:1.42}.role{padding:26px 0}.role-meta{grid-template-columns:44px minmax(0,1fr)}.logo-mark{width:44px;height:44px}.project-attribution{grid-template-columns:minmax(0,1fr)}.project-attribution>div:last-child{grid-column:auto}.project-card{min-height:auto}.project-card picture{height:200px}.fx-layer,.fx-sched{height:200px}.project-copy{padding:var(--space-10)}.project-card h3{font-size:clamp(22px,6vw,28px)}.metric-row{padding-right:0}.project-card .metric-row{padding-right:44px}.metric-row span{font-size:11px;padding:6px 9px}.project-hero h1{font-size:clamp(32px,9vw,44px)}.page-main{padding:48px 0 44px}.project-writeup{margin-top:clamp(24px,5vw,32px)}.writeup-section{padding:var(--space-8) 0}.project-writeup .writeup-section:first-child{padding-top:var(--space-6)}.writeup-section h2{font-size:24px}.writeup-section p,.writeup-section ul{font-size:17px;line-height:1.58}.next-links{flex-direction:column;gap:var(--space-5)}.footer-row{flex-direction:column;align-items:flex-start}.footer-links{justify-content:flex-start}}@media(max-width:420px){.brand span{max-width:7.5rem}}@media print{@page{margin:1.5cm}@page resume{margin:0}*{box-shadow:none!important;text-shadow:none!important}body{font-size:10pt;line-height:1.4;overflow:visible!important;background:#fff!important;color:#000!important}.site-header,.cmdk,.cmdk-overlay,.cmdk-dialog,.nav-tools,.hero-actions,.video-facade,.hardware-demo,.next-links,.halt-log,.instrument-panel,.instrument-toggle,.instrument-controls,.instrument-actions,.footer-row:last-child,.project-card--companion .card-img-hover,.resume-actions,.resume-fallback,.portrait-card:before,.hero-img:before,.visual:before,.site-footer{display:none!important}section,.hero,.project-card,.portrait-card,.hero-img,.visual,.fx-chip,.resume-viewer,.resume-fallback,.role,.signal-trace,footer{background:transparent!important}main{padding-top:0}section{padding:12pt 0!important}.hero{min-height:auto!important;padding:0 0 12pt!important}.section-head{margin-bottom:8pt!important}.project-hero{min-height:auto!important;padding:0!important}.lead,figcaption,.role-time,.role-org{color:#555!important}.project-copy .label,.project-group-label{color:#555!important}h1,h2,h3,h4,p,li,span,a{color:#000!important}h1{font-size:18pt!important}h2{font-size:14pt!important}h3{font-size:11pt!important}.role-meta:before{background:#000!important}.project-group-label:after{background:#ccc!important}.eyebrow{display:none!important}.project-card{border:1px solid #ccc!important;overflow:visible!important;page-break-inside:avoid;break-inside:avoid}.project-card-wrap{page-break-inside:avoid;break-inside:avoid}.project-card:before,.project-card:after{content:none!important}.hero-grid{grid-template-columns:1fr auto!important;gap:12pt!important;align-items:start!important}.hero-media{width:100px;order:2}.portrait-card{padding:0!important;border:none!important;border-radius:0!important;overflow:hidden}.hero-proof{margin-top:6pt!important;padding-top:6pt!important;gap:4pt 8pt!important}.proof-item img{width:16px!important;height:16px!important}.projects-grid{grid-template-columns:1fr 1fr!important;gap:10pt!important}.results-split{flex-direction:column!important}.role{margin-bottom:6pt!important;padding-bottom:6pt!important;page-break-inside:avoid;break-inside:avoid}.timeline{gap:0!important}.video-frame iframe{display:none!important}.video-poster{position:static!important}.video-poster img{max-width:100%!important;height:auto!important}.video-embed figcaption{color:#555!important}img{max-width:100%!important;filter:none!important;page-break-inside:avoid;break-inside:avoid}.visual,.video-embed,.video-frame,.hero-img,.portrait-card,.project-card img,.resume-page-canvas,picture{page-break-inside:avoid;break-inside:avoid}h1,h2,h3{page-break-after:avoid}a[href]:after{content:none!important}.resume-page{min-height:0!important;display:block!important;page:resume}.resume-main{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;display:block!important}.resume-page>noscript{display:none!important}.resume-toolbar,.resume-viewer-status,.resume-summary{display:none!important}.resume-viewer{border:none!important;padding:0!important;margin:0!important;min-height:0!important;display:block!important;border-radius:0!important}.resume-page-canvas{background:#fff!important;margin:0!important;border-radius:0!important}.resume-page-canvas+.resume-page-canvas{page-break-before:always;margin-top:0!important}.resume-page-canvas canvas{width:auto!important;max-width:100%!important;height:min(calc(100vh - 1px),10.98in)!important;max-height:calc(100vh - 1px)!important;aspect-ratio:var(--resume-page-ratio, 8.5 / 11);margin:0 auto!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.writeup-section{grid-template-columns:1fr!important;padding:8pt 0!important}.project-card--companion .card-img-default{position:static!important}.project-card--companion .project-copy{margin-top:0!important}}
