/* Portfolio presentation: readable hardware evidence, restrained surfaces. */
:root{--paper:#f5f7f8;--ink:#182a3a;--muted:#4b5e6b;--line:#bdc9cf;--accent:#953c20;--blue:#234b98;--light:#e9eef1;--dark:#142d3b;--sans:'Segoe UI',Arial,Helvetica,sans-serif}
body{background:var(--paper)}html{scroll-padding-top:110px}.wrap{width:min(1200px,calc(100% - 80px))}.top{background:#fff;border-top:4px solid var(--accent);border-bottom:1px solid var(--line);position:sticky;top:0}.nav{min-height:68px}.brand{font-weight:700;font-size:18px;letter-spacing:-.4px}.nav nav{gap:24px;font-size:14px}.nav nav a{display:inline-flex;align-items:center;min-height:44px}.nav nav a:hover{text-decoration:underline}.button{border-radius:3px;background:var(--ink);border-color:var(--ink);box-shadow:none;font-weight:600}.button:hover{background:var(--blue)}a{overflow-wrap:anywhere}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a74522;outline-offset:4px}.actions{gap:18px;margin-top:24px}.actions>a{min-height:44px;display:inline-flex;align-items:center;font-size:14px}.section-label{font:600 13px/1.5 var(--sans);color:var(--accent);margin:0 0 10px;letter-spacing:.1px}.eyebrow,.mono,.number{font-family:var(--sans);letter-spacing:.2px;text-transform:none;font-size:13px}.eyebrow{color:var(--accent)}
.opening{display:grid;grid-template-columns:.85fr 1.15fr;gap:66px;padding:54px 0 56px}.identity{padding-top:8px}.location{font-size:15px;margin:0 0 20px;color:var(--muted)}.identity h1{font-size:clamp(40px,4.6vw,64px);font-weight:650;line-height:1.03;letter-spacing:-2.4px;margin:0 0 20px}.discipline{font-size:clamp(23px,2.2vw,30px);line-height:1.2;margin:0 0 24px;color:var(--ink);font-weight:500}.opening-note{font-size:19px;line-height:1.65;max-width:450px;margin:0 0 18px}.role-fit{font-size:14px;max-width:390px;color:var(--muted)}.jump{display:inline-block;font-size:14px;margin-top:25px}.current-role{border-left:2px solid var(--line);padding-left:35px;scroll-margin-top:110px}.current-role h2{font-size:27px;font-weight:650;line-height:1.2;margin:0 0 9px;letter-spacing:-.5px}.job-title{font-size:15px;font-weight:600;margin:0 0 20px}.job-title span{color:var(--muted);font-weight:400}.current-role>p:not(.section-label):not(.job-title){font-size:15px;line-height:1.65}.accomplishments{padding-left:20px;margin:15px 0}.accomplishments li{padding-left:3px;margin:0 0 12px;font-size:15px;line-height:1.65}.launch-context{border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px!important}.launch-context a{font-weight:600;color:var(--ink)}
.section{padding:60px 0}.selected-work{border-top:2px solid var(--ink)}.section-title{align-items:start;gap:45px;margin-bottom:28px}.section-title h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.1px;font-weight:600;line-height:1.15;margin:6px 0}.section-title>p{max-width:390px;margin:7px 0;font-size:15px;line-height:1.7}.work-row{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;padding:35px 0;border-top:1px solid var(--line);align-items:center}.work-image{display:block;background:#e9eef1;border:1px solid var(--line);padding:12px}.work-image img{width:100%;height:330px;object-fit:contain}.work-row:first-of-type .work-image{background:#fff}.work-copy h3{font-size:31px;font-weight:550;line-height:1.2;letter-spacing:-.7px;margin:8px 0 16px}.work-copy h3 a{text-decoration:none}.work-copy>p{font-size:16px;line-height:1.7}.work-copy .section-label{font-size:13px}.work-copy .contribution{font-size:13px;font-weight:600;margin:18px 0 8px}.work-copy .evidence-line{font-size:13px;color:var(--muted);margin:0 0 12px}.work-copy .text-link{font-size:14px;min-height:40px}.lab-directory{background:#e6edf0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:55px 0}.lab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 50px}.lab-grid article{border-top:1px solid #9baeb8;padding:24px 0}.lab-grid h3{font-size:24px;font-weight:600;margin:0 0 12px}.lab-grid h3 a{text-decoration:none}.lab-grid p{font-size:15px;line-height:1.75;max-width:490px}.lab-grid article>a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;margin-right:20px}.archive-row{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;border-top:1px solid var(--line);padding:21px 0}.archive-row h3{margin:0 0 9px;font-size:21px;font-weight:600}.archive-row h3 a{text-decoration:none}.archive-row p{font-size:14px;margin:0;color:var(--muted)}.archive-context{line-height:1.8}.archive-context span{color:var(--ink)}.background{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;border-top:1px solid var(--line);padding:40px 0 60px}.background h2{font-size:25px;line-height:1.3;font-weight:600;margin:0}.background p{font-size:14px;margin:0 0 17px;max-width:700px}
.contact{background:#142d3b;color:#fff;padding:43px 0 24px;border:0;margin:0}.contact h2{font-size:32px;font-weight:550;letter-spacing:-.7px;margin:0 0 12px}.contact-heading>p{font-size:15px;color:#d8e1e7}.contact .button{background:#fff;color:#142d3b;border-color:#fff}.contact a:hover{color:#f6c4ad}.contact .button:hover{color:#142d3b;background:#e3edf2}.contact :focus-visible{outline-color:#f5ae8d}.footer{font:12px/1.7 var(--sans);color:#d0dbe2;border-color:#718692;margin-top:30px;padding-top:18px}.contact .actions{margin-top:15px}
.case-head{padding:45px 0 25px}.case-head h1{font-size:clamp(40px,5vw,68px);letter-spacing:-2px;line-height:1.08;font-weight:600;margin:18px 0 24px}.case-head .dek{font-size:20px;line-height:1.65;max-width:880px}.case-meta{gap:24px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}.case-meta>div{font-size:14px}.case-meta span{font:600 12px var(--sans);margin-bottom:8px;letter-spacing:.2px;text-transform:none}.case-figure{border:1px solid var(--line);padding:20px}.case-body{grid-template-columns:210px minmax(0,1fr);gap:55px;padding-top:42px}.case-body aside{position:sticky;top:110px;align-self:start;font-size:14px;padding:0 20px 0 0;border-right:1px solid var(--line)}.case-body article{min-width:0}.case-body h2{font-weight:600;font-size:29px;line-height:1.25}.case-body p{font-size:16px;line-height:1.8}.case-body .source-note{font:13px/1.7 var(--sans)!important}figcaption{font:12px/1.7 var(--sans);color:var(--muted)}.historical{border:1px solid var(--line);padding:18px}.finding{background:#e6edf0}.finding p{font-size:16px}.feedback-explanation{background:#e6edf0}.pendulum-clips figure{border-color:var(--line);padding:20px}.case-next{font-size:14px}.source-note:empty{display:none}.dark a{color:#d6e6ff}.dark .lab a{color:var(--ink)}.dark .button{background:#fff;color:var(--ink);border-color:#fff}.dark .lab .button{background:var(--ink);color:#fff}.dark .lab-caption{color:#d0dbe2}.dark .lab .lab-caption{color:var(--muted)}.dark .section-label{color:#f5b895}.controls input[type=range]{min-height:44px}.controls select{min-height:44px}.dark .plot-scroll{background:#fff}.dark .lab{border:1px solid var(--line)}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.opening{gap:35px;grid-template-columns:.8fr 1.2fr}.current-role{padding-left:25px}.nav nav{gap:16px}.work-row{gap:30px}.work-image img{height:290px}.case-body{gap:30px;grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.nav{display:block;padding:12px 0 5px;min-height:0}.brand{font-size:17px}.nav nav{gap:4px 20px;flex-wrap:wrap;font-size:13px}.nav nav a,.nav nav .optional{display:inline-flex;min-height:40px}.opening{grid-template-columns:1fr;padding:28px 0 35px;gap:32px}.location{font-size:14px;margin-bottom:12px}.identity{padding-top:0}.identity h1{font-size:43px;letter-spacing:-1.7px;margin-bottom:14px}.discipline{font-size:25px;margin-bottom:15px}.opening-note{font-size:17px;line-height:1.6;margin-bottom:10px}.role-fit{font-size:13px}.identity .actions{gap:8px 18px;margin-top:16px}.identity .actions>a{font-size:13px}.jump{margin-top:15px}.current-role{padding:25px 0 0;border:0;border-top:2px solid var(--ink);scroll-margin-top:115px}.current-role h2{font-size:26px}.job-title{font-size:14px}.section{padding:35px 0}.section-title{display:block;margin-bottom:22px}.section-title h2{font-size:32px;letter-spacing:-.8px}.section-title>p{font-size:14px;max-width:none}.work-row{grid-template-columns:1fr;gap:22px;padding:25px 0}.work-image img{height:280px}.work-copy h3{font-size:27px}.work-copy>p{font-size:15px}.work-copy .contribution{margin-top:13px}.lab-directory{padding:35px 0}.lab-grid{grid-template-columns:1fr;gap:0}.lab-grid article{padding:20px 0}.lab-grid h3{font-size:23px}.archive-row{grid-template-columns:1fr;gap:12px;padding:20px 0}.archive-row h3{font-size:21px}.archive-context{font-size:13px!important}.background{grid-template-columns:1fr;gap:20px;padding:30px 0 35px}.background h2{font-size:25px}.contact{padding-top:32px}.contact h2{font-size:30px;letter-spacing:-.6px}.contact .actions{gap:8px 18px}.footer{font-size:12px;gap:8px}.case-head{padding:30px 0 22px}.case-head h1{font-size:40px;letter-spacing:-1.4px}.case-head .dek{font-size:18px}.case-meta{grid-template-columns:1fr;gap:18px}.case-body{grid-template-columns:1fr;gap:26px;padding-top:28px}.case-body aside{position:static;display:flex;flex-wrap:wrap;font-size:13px;border-right:0;border-bottom:1px solid var(--line);padding-bottom:16px;gap:12px 20px}.case-body aside a{margin:0}.case-body h2{font-size:27px}.case-body p{font-size:16px}.case-figure{padding:12px}.pendulum-clips figure{padding:16px}.feedback-steps{grid-template-columns:1fr}.feedback-steps li{display:block}.feedback-steps span{margin-top:6px}.advanced-lab{grid-template-columns:1fr}.advanced-lab .controls{display:block}.advanced-lab .controls fieldset{display:block}.lab-intro :is(h1,h2){font-size:36px}.lab-intro p{font-size:16px}.lab{padding:18px}.contact .button{font-size:13px}.case-next{flex-wrap:wrap}}
@media(max-width:360px){.nav nav{gap:2px 15px}.identity h1{font-size:38px}.identity .actions .button{width:100%}.work-image img{height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.opening{display:block}.current-role{border:0;padding:0}.contact{background:white;color:black}.case-body aside{display:none}.lab-directory{background:white}.wrap{width:100%}}
.launch-photo{font-size:12px;padding:8px 0;border:0}.launch-photo summary{min-height:32px;display:list-item}.launch-photo figure{margin-top:12px}.launch-photo img{max-width:320px;width:100%}.launch-photo figcaption{max-width:450px}
.motor-jumps{display:flex;gap:12px 28px;flex-wrap:wrap;margin-top:24px}.motor-jumps a{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
