@font-face{font-family:Instrument;src:url(./InstrumentSerif-Regular-DXer19By.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Instrument;src:url(./InstrumentSerif-Italic-DvH-EfPC.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:NB;src:url(./NBInternationalPro-D8T4wf2v.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:NBMono;src:url(./NBInternationalPro-Mono-Dqde8mSu.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--paper:#f4f1e9;--ink:#282c25;--muted:#686a60;--line:#cfcfc1;--accent:#b54e32;--green:#526647;--serif:Instrument, Georgia, serif;--sans:NB, Arial, sans-serif;--mono:NBMono, "Courier New", monospace;--intro:0;--open:0;--reading:0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:34px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.55}body,button,input{font-family:var(--sans)}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{font-size:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:#252820;background:#d5b68a}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:400}h2{font-family:var(--serif);letter-spacing:-.036em;font-size:clamp(54px,6.4vw,96px);line-height:1.02}h2 em{color:var(--green)}img,svg{max-width:100%;display:block}button{background:0 0;border:0;padding:0}em{font-weight:400}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.mono,.eyebrow{font-family:var(--mono);letter-spacing:1.1px;font-size:12px;font-weight:400;line-height:1.7}.eyebrow{color:var(--muted)}.handwritten{font-family:var(--serif);letter-spacing:.2px;font-size:23px;font-style:italic;line-height:1.2}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:20px}.reading-progress{background:var(--accent);height:2px;transform:scaleX(var(--reading));transform-origin:0;z-index:30;pointer-events:none;position:fixed;top:0;left:0;right:0}.site-header{border-bottom:1px solid var(--line);z-index:3;align-items:center;gap:28px;height:91px;display:flex;position:relative}.wordmark{font-family:var(--serif);letter-spacing:-4px;min-width:44px;padding-bottom:8px;font-size:48px;line-height:1}.mark-dot{color:var(--accent)}.header-caption{color:var(--muted);letter-spacing:1px;font-size:11px}.site-header nav{align-items:center;gap:34px;margin-left:auto;display:flex}.site-header nav a{padding-block:12px;font-size:14px;position:relative}.site-header nav a:after{content:"";border-bottom:1px solid;width:0;transition:width .2s;position:absolute;bottom:7px;left:0}.site-header nav a:hover:after{width:100%}.site-header nav a span{font-family:var(--mono);color:var(--muted);vertical-align:super;margin-left:5px;font-size:10px}.site-header nav .contact-nav span{vertical-align:baseline;color:var(--accent);font-size:16px}.intro{height:185svh;min-height:1250px;position:relative}.intro-sticky{height:100svh;min-height:670px;position:sticky;top:0;overflow:clip}.code-fringe{opacity:.32;pointer-events:none;justify-content:space-around;gap:9px;height:100px;padding-inline:4%;display:flex;position:absolute;inset:0 0 auto;overflow:hidden;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.code-fringe span{font-family:var(--mono);writing-mode:vertical-rl;letter-spacing:3px;white-space:nowrap;transform:translateY(calc(var(--intro) * -35px));color:var(--green);font-size:11px;line-height:1.5}.intro-grid{grid-template-columns:1fr 1fr;align-items:center;gap:10px;height:calc(100% - 76px);min-height:590px;padding-top:46px;display:grid}.intro-copy{z-index:2;align-items:center;min-height:440px;display:flex;position:relative}.hero-copy{width:110%;opacity:clamp(0, calc(1 - var(--intro) * 3.6), 1);transform:translateY(calc(var(--intro) * -95px))}.status-dot{background:var(--green);vertical-align:1px;border-radius:50%;width:6px;height:6px;margin-right:10px;display:inline-block}.hero-copy h1{font-family:var(--serif);letter-spacing:-.055em;margin:24px 0 22px -6px;font-size:clamp(112px,13.8vw,205px);line-height:.97}.name-period{color:var(--accent)}.hero-tagline{font-family:var(--serif);letter-spacing:-.022em;font-size:clamp(33px,3.35vw,51px);line-height:1.08}.hero-tagline em{color:var(--green)}.hero-description{color:var(--muted);margin-top:24px;font-size:16px;line-height:1.65}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:23px;padding-bottom:7px;font-size:14px;transition:color .2s,gap .2s;display:inline-flex}.text-link:hover{color:var(--accent);gap:31px}.text-link span{font-size:19px}.hero-link{margin-top:26px}.perception-copy{opacity:clamp(0, calc((var(--intro) - .29) * 3), 1);transform:translateY(calc((1 - var(--intro)) * 40px));pointer-events:none;max-width:535px;position:absolute;inset:auto 0}.perception-copy h2{margin-block:27px}.perception-copy>p:not(.eyebrow){max-width:370px;color:var(--muted);font-size:16px;line-height:1.8}.model-sequence{color:var(--green);align-items:center;gap:18px;margin-top:35px;font-size:11px;display:flex}.model-sequence i{color:var(--accent);font-style:normal}.robot-study{transform:translateY(calc(var(--intro) * -12px));align-self:center;padding-top:0;position:relative}.drawing-index{color:var(--muted);letter-spacing:1.4px;z-index:2;font-size:10px;position:absolute;top:-6px;right:0}.robot-image-wrap{width:110%;transform:rotate(calc(var(--intro) * -3deg)) scale(calc(1 - var(--intro) * .065));transform-origin:65% 75%;margin-left:-7%;position:relative}.robot-image{mix-blend-mode:multiply;width:100%;opacity:calc(1 - var(--intro) * .94)}.robot-points{width:100%;height:100%;opacity:var(--intro);pointer-events:none;position:absolute;inset:0}.robot-annotations{width:100%;height:100%;color:var(--accent);opacity:calc(var(--intro) * .8);pointer-events:none;position:absolute;inset:0}.robot-study figcaption{opacity:calc(1 - var(--intro));justify-content:flex-end;align-items:center;margin-top:-28px;padding-right:20px;display:flex;position:relative;transform:rotate(-5deg)}.robot-study figcaption svg{width:70px;height:40px;margin-left:10px}.robot-study .handwritten{color:var(--muted);font-size:22px}.intro-footer{border-top:1px solid var(--line);height:76px;color:var(--muted);letter-spacing:1.2px;justify-content:space-between;align-items:center;font-size:10px;display:flex}.intro-footer a{align-items:center;gap:26px;padding-block:12px;display:flex}.intro-footer a>span{color:var(--ink);font-size:18px}.view-dots{color:var(--accent);letter-spacing:4px;margin-left:10px;font-size:11px}.intro-coordinates{font-size:10px}.section-space{padding-block:130px}.section-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.section-heading .handwritten{color:var(--muted);font-size:21px;transform:rotate(-3deg)}.work-intro,.interests-intro{justify-content:space-between;align-items:flex-end;gap:40px;margin:48px 0 65px;display:flex}.work-intro>p,.interests-intro>p{color:var(--muted);padding-bottom:7px;font-size:16px;line-height:1.8}.work-list{border-top:1px solid var(--ink)}.work-row{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr .75fr 100px;align-items:center;gap:22px;padding:43px 0;transition:background .25s,padding .25s;display:grid}.work-row:hover{background:#eae8dc;padding-inline:16px}.work-number{color:var(--muted);align-self:start;padding-top:4px}.work-category{color:var(--muted);letter-spacing:1px;margin-bottom:14px;font-size:10px;display:block}.work-main h3{font-family:var(--serif);letter-spacing:-.02em;font-size:43px;line-height:1.04}.work-description{color:var(--muted);margin-top:15px;font-size:14px;line-height:1.7;display:block}.work-end{flex-direction:column;align-items:flex-end;gap:20px;display:flex}.work-end .mono{letter-spacing:.7px;white-space:nowrap;font-size:10px}.round-arrow{border:1px solid var(--line);border-radius:50%;place-items:center;width:41px;height:41px;font-size:24px;transition:background .2s,color .2s,transform .2s;display:grid}.work-row:hover .round-arrow{background:var(--ink);color:var(--paper);transform:rotate(8deg)}.paper-visual{width:100%;max-width:265px;color:var(--green);margin:auto;display:block;position:relative}.paper-visual .mono{font-size:12px;position:absolute;bottom:0;right:10px}.paper-visual .math-notation{letter-spacing:0;font-family:Times New Roman,Liberation Serif,serif;font-size:16px;bottom:-14px}.wave-study{width:100%}.action-visual{font-family:var(--serif);color:var(--green);justify-content:center;align-items:center;gap:9px;font-size:22px;display:flex}.action-visual i{font-family:var(--mono);color:var(--muted);font-size:15px;font-style:normal}.action-node{border:1px solid #aeb5a3;border-radius:50%;place-items:center;width:56px;height:56px;display:grid}.game-visual{width:210px;color:var(--green);margin:auto;display:block}.research-links{flex-wrap:wrap;align-items:center;gap:24px;padding-top:25px;display:flex}.research-links>.mono{color:var(--muted);margin-right:auto;font-size:10px}.research-links a{font-size:13px}.research-links a span{color:var(--accent);margin-left:5px}.research-links a:hover{text-underline-offset:4px;text-decoration:underline}.computer-section{--case-bg:#e8e6db;background:#e8e6db;height:230svh;min-height:1600px;position:relative}.computer-sticky{background-color:var(--case-bg);background-image:linear-gradient(#66705808 1px,#0000 1px),linear-gradient(90deg,#66705808 1px,#0000 1px);background-size:36px 36px;height:100svh;min-height:720px;transition:background-color .4s,color .4s;position:sticky;top:0;overflow:clip}.computer-inner{flex-direction:column;height:100%;padding-top:37px;display:flex}.computer-topline{justify-content:space-between;align-items:center;gap:20px;display:flex}.blueprint-toggle{align-items:center;gap:12px;min-height:36px;font-size:11px;display:flex}.toggle-square{border:1px solid;place-items:center;width:21px;height:21px;font-size:19px;line-height:1;display:grid}.computer-layout{flex:1;grid-template-columns:.8fr 1.2fr;align-items:center;gap:0;display:grid}.computer-copy{z-index:2;padding-block:36px;position:relative}.computer-copy h2{font-size:clamp(51px,5.7vw,86px)}.computer-description{color:var(--muted);max-width:310px;margin-top:28px;font-size:15px;line-height:1.8}.computer-note{color:var(--accent);margin-top:25px;font-size:21px;transform:rotate(-5deg)}.computer-step{border-top:1px solid #b8bdad;max-width:285px;min-height:140px;margin-top:50px;padding-top:23px}.step-number{color:var(--muted);font-size:10px}.computer-step h3{font-family:var(--serif);margin-top:9px;font-size:26px;line-height:1.15}.step-description{color:var(--muted);min-height:38px;margin-top:10px;font-size:13px;line-height:1.7}.computer-controls{max-width:285px;margin-top:24px}.computer-controls label{cursor:pointer;justify-content:space-between;align-items:center;font-size:10px;display:flex}.computer-controls label span{font-size:16px}input[type=range]{appearance:none;cursor:ew-resize;width:100%;height:22px;accent-color:var(--accent);background:0 0;margin:8px 0}input[type=range]::-webkit-slider-runnable-track{background:#a8ad9b;height:2px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--case-bg);width:12px;height:12px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:-5px}input[type=range]::-moz-range-track{background:#a8ad9b;height:2px}input[type=range]::-moz-range-thumb{background:var(--accent);border:2px solid var(--case-bg);border-radius:50%;width:10px;height:10px}.range-labels{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.computer-figure{align-self:center;width:118%;margin-left:-10%}.computer-svg{width:100%;overflow:visible}.computer-figure figcaption{letter-spacing:.8px;color:var(--muted);justify-content:space-between;margin-top:-20px;padding-inline:60px;font-size:10px;display:flex}.pc-layer{transform-box:view-box;will-change:transform}.pc-shell{transform:translate(calc(var(--open) * 122px), calc(var(--open) * -92px))}.pc-front{transform:translate(calc(var(--open) * -146px), calc(var(--open) * -18px))}.pc-board{transform:translate(calc(var(--open) * 36px), calc(var(--open) * 83px))}.pc-tube{transform:translate(calc(var(--open) * 40px), calc(var(--open) * -12px))}.pc-keyboard{transform:translate(calc(var(--open) * -27px), calc(var(--open) * 39px))}.internal-labels{opacity:clamp(0, calc((var(--open) - .4) * 1.8), 1)}.computer-bottom{letter-spacing:.8px;min-height:65px;color:var(--muted);border-top:1px solid #b8bdad;justify-content:space-between;align-items:center;gap:20px;font-size:10px;display:flex}.computer-bottom>span:first-child>span{color:var(--ink);margin-left:22px;font-size:18px}.computer-mode{color:var(--accent)}.blueprint{--case-bg:#153e5e;--ink:#e0e7d5;--muted:#bfcdc5;--accent:#e3b477;--green:#e0e7d5;color:var(--ink)}.blueprint .computer-sticky{background-image:linear-gradient(#adcfe40c 1px,#0000 1px),linear-gradient(90deg,#adcfe40c 1px,#0000 1px)}.blueprint .computer-svg [fill]:not([fill=none]){fill:var(--case-bg)}.blueprint .computer-svg .crt-content{fill:var(--ink)}.blueprint .computer-svg .computer-shadow{opacity:0}.blueprint .computer-figure .computer-guides{opacity:.3}.blueprint .computer-figure .internal-labels,.blueprint .computer-svg text{fill:var(--ink)}.blueprint .computer-step,.blueprint .computer-bottom{border-color:#78929766}.interests-section{padding-bottom:95px}.interests-intro{margin-bottom:45px}.interest-tabs{grid-template-columns:repeat(6,1fr);gap:16px;display:grid}.interest-tab{border-bottom:1px solid var(--line);flex-direction:column;justify-content:flex-end;align-items:stretch;min-width:0;padding-block:20px 18px;transition:color .2s,border-color .2s;display:flex;position:relative}.interest-tab .mono{letter-spacing:.6px;text-align:left;margin-top:13px;font-size:10px}.interest-tab>span:first-child{color:var(--muted);transition:transform .3s}.interest-tab svg{width:100%;height:auto}.interest-tab:hover>span:first-child{transform:translateY(-7px)}.interest-tab[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.interest-tab[aria-selected=true]>span:first-child{color:var(--ink);transform:translateY(-5px)}.interest-tab[aria-selected=true]:after{content:"+";font-family:var(--mono);font-size:16px;position:absolute;bottom:15px;right:0}.interest-panel{grid-template-columns:1fr 1fr;column-gap:30px;min-height:140px;padding:34px 0 0;display:grid}.interest-title{font-family:var(--serif);font-size:31px;line-height:1.2}.interest-body{max-width:455px;color:var(--muted);font-size:15px;line-height:1.7}.interest-note{color:var(--green);grid-column:2;margin-top:15px;font-size:19px;transform:rotate(-2deg)}.personal-links{gap:40px;margin-top:20px;display:flex}.personal-links .text-link{font-size:13px}.about-section{border-top:1px solid var(--line);padding-bottom:115px}.about-intro{grid-template-columns:1fr 1fr;align-items:center;gap:65px;margin-top:50px;display:grid}.about-intro>div p{max-width:470px;font-size:16px;line-height:1.8}.about-intro>div p+p{color:var(--muted);margin-top:18px;font-size:15px}.places{grid-template-columns:repeat(3,1fr);gap:65px;margin-top:58px;display:grid}.place>[data-city]{height:160px;color:var(--green);align-items:center;display:flex}.place svg{width:100%;height:100%;transition:transform .5s;overflow:visible}.place:hover svg{transform:translateY(-4px)}.place-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:18px;display:flex}.place h3{font-family:var(--serif);font-size:34px;line-height:1.2}.place h3 span{opacity:.6;margin-left:14px;font-size:19px}.place-heading>.mono{color:var(--muted);font-size:10px}.place>p{color:var(--muted);margin-top:14px;font-size:14px;line-height:1.7}.contact-section{color:#f0eddf;--muted:#b2bbac;--line:#65705c;--ink:#f0eddf;--paper:#252e25;--accent:#e3ae76;background:#252e25;padding-top:64px}.contact-top{justify-content:space-between;align-items:center;gap:20px;display:flex}.contact-top .eyebrow{font-size:10px}.back-top{align-items:center;gap:18px;font-size:10px;display:flex}.back-top span{font-size:20px}.contact-title{font-family:var(--serif);letter-spacing:-.025em;margin:54px 0 37px;font-size:clamp(66px,9vw,135px);line-height:1;display:block;position:relative}.contact-title em{color:#b3bfa5}.contact-arrow{font-size:110px;font-family:var(--sans);transition:transform .25s;position:absolute;top:20px;right:4%}.contact-title:hover .contact-arrow{transform:translate(8px,-8px)}.contact-details{flex-wrap:wrap;align-items:center;gap:23px;margin-bottom:68px;display:flex}.contact-details>a{font-size:16px}.copy-email{letter-spacing:.9px;border:1px solid #65705c;min-height:36px;padding:10px 12px;font-size:10px}.copy-email:hover{background:#394435}.copy-email span{margin-left:9px}.contact-details .handwritten{color:#b3bfa5;margin-left:auto;font-size:23px;transform:rotate(-4deg)}.footer-bottom{border-top:1px solid #65705c;align-items:center;gap:23px;padding:32px 0;display:flex}.footer-signature{font-family:var(--serif);letter-spacing:-4px;padding-bottom:9px;font-size:50px;line-height:1}.footer-signature>span{color:var(--accent)}.footer-bottom>.mono{letter-spacing:.8px;font-size:10px;line-height:1.9}.footer-motto{color:var(--muted);font-size:10px}.social-links{gap:25px;margin-left:auto;font-size:13px;display:flex}.social-links a:hover{text-underline-offset:4px;text-decoration:underline}.motion-toggle{letter-spacing:.7px;white-space:nowrap;border-left:1px solid #65705c;min-height:44px;margin-left:15px;padding:12px 0 12px 25px;font-size:10px}.motion-toggle span{color:#b3bfa5;margin-left:7px}.noscript-note{text-align:center;background:var(--paper);padding:15px;font-size:15px}@media (width>=1600px){.intro{height:180svh}.intro-grid{padding-top:60px}.robot-study{max-width:640px}.intro-copy{min-height:560px}.hero-copy h1{font-size:210px}.hero-tagline{font-size:52px}}@media (width<=1100px){.wrap{width:calc(100% - 64px)}.header-caption{display:none}.site-header nav{gap:27px}.intro-coordinates{display:none}.hero-description{font-size:15px}.hero-copy h1{font-size:14vw}.hero-tagline{font-size:37px}.perception-copy h2{font-size:66px}.perception-copy>p:not(.eyebrow){font-size:16px}.robot-study figcaption .handwritten{font-size:18px}.drawing-index{font-size:10px}.work-row{grid-template-columns:25px 1fr .65fr 85px;gap:15px}.work-main h3{font-size:37px}.work-category{font-size:10px}.action-node{width:44px;height:44px;font-size:19px}.action-visual{gap:5px}.computer-copy h2{font-size:61px}.computer-layout{grid-template-columns:.82fr 1.18fr}.computer-description{max-width:260px;font-size:14px}.computer-figure{width:122%;margin-left:-11%}.computer-bottom{font-size:10px}.computer-bottom>span:last-child{display:none}.computer-figure figcaption{padding-inline:25px;font-size:10px}.computer-figure figcaption span{display:none}.interest-tabs{gap:11px}.interest-tab .mono{letter-spacing:0;font-size:10px}.about-intro{gap:40px}.places{gap:35px}.contact-details .handwritten{font-size:19px}.social-links,.footer-bottom{gap:17px}.motion-toggle{margin-left:0;padding-left:15px}}@media (width<=760px){html{scroll-padding-top:15px}.wrap{width:calc(100% - 40px)}.site-header{gap:15px;height:72px}.wordmark{font-size:42px}.site-header nav{gap:22px}.site-header nav a{font-size:13px}.site-header nav a span,.site-header nav .contact-nav{display:none}.mono,.eyebrow{letter-spacing:.7px;font-size:10px}.intro{height:165svh;min-height:1200px}.intro-sticky{height:100svh;min-height:720px}.intro-grid{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-items:start;gap:0;height:calc(100% - 53px);min-height:660px;padding-top:63px}.intro-copy{align-items:flex-start;min-height:255px}.hero-copy{width:100%;padding-left:0}.hero-copy h1{margin:14px 0 11px -3px;font-size:clamp(87px,19.5vw,147px)}.hero-tagline{font-size:30px;line-height:1.08}.hero-tagline br{display:none}.hero-tagline br:after{content:" "}.hero-description{max-width:290px;margin-top:16px;font-size:14px;line-height:1.6}.hero-description .desktop-break{display:none}.hero-link{gap:15px;margin-top:16px;padding-bottom:3px;font-size:12px}.hero-link>span{font-size:16px}.robot-study{align-self:center;width:76%;max-width:360px;margin-top:-15px;margin-left:auto;margin-right:0}.robot-image-wrap{width:100%;margin-left:0}.drawing-index{writing-mode:vertical-rl;letter-spacing:.8px;font-size:10px;top:14px;left:-22%;right:auto}.robot-study figcaption{margin-top:-7px;padding-right:0;transform:rotate(-5deg)}.robot-study figcaption .handwritten{font-size:16px}.robot-study figcaption svg{width:40px;height:22px;margin-left:3px}.intro-footer{gap:15px;height:53px;font-size:10px}.intro-footer a{letter-spacing:.6px;gap:12px}.intro-footer a>span{font-size:16px}.view-label{letter-spacing:.3px;font-size:10px}.view-dots{letter-spacing:1px;margin-left:5px;font-size:10px}.code-fringe{height:70px;padding-inline:20px}.code-fringe span{font-size:10px}.perception-copy{padding-top:8px;inset:0 0 auto}.perception-copy h2{margin-block:18px;font-size:50px;line-height:1.02}.perception-copy>p:not(.eyebrow){max-width:345px;font-size:14px;line-height:1.7}.model-sequence{gap:13px;margin-top:15px;font-size:10px}.section-space{padding-block:75px}.section-heading{align-items:flex-start;gap:20px}.section-heading .handwritten{text-align:right;max-width:160px;font-size:17px}h2{font-size:57px}.work-intro,.interests-intro{margin:34px 0 36px;display:block}.work-intro>p,.interests-intro>p{margin-top:24px;font-size:14px;line-height:1.7}.work-row{grid-template-columns:20px 1fr 48px;gap:9px;padding:28px 0;position:relative}.work-row:hover{padding-inline:5px}.work-category{letter-spacing:.65px;max-width:250px;font-size:10px}.work-main h3{font-size:33px}.work-description{max-width:245px;margin-top:12px;font-size:13px;line-height:1.6}.paper-visual,.action-visual,.game-visual{display:none}.work-end .mono{white-space:normal;text-align:right;font-size:10px}.work-end>.mono:last-child{display:none}.work-end{align-self:start;gap:20px;padding-top:3px}.round-arrow{width:32px;height:32px;font-size:19px}.work-number{font-size:10px}.research-links{gap:15px 23px;padding-top:23px}.research-links>.mono{width:100%;font-size:10px}.research-links a{font-size:12px}.computer-section{height:190svh;min-height:1450px}.computer-sticky{height:100svh;min-height:740px}.computer-inner{padding-top:23px}.computer-topline .eyebrow{font-size:10px}.blueprint-toggle{gap:7px;font-size:10px}.toggle-square{width:17px;height:17px;font-size:16px}.computer-layout{grid-template-rows:auto 1fr;grid-template-columns:1fr;align-items:start;gap:0;position:relative}.computer-copy{padding-top:25px;padding-bottom:0}.computer-copy h2{font-size:52px}.computer-description{max-width:285px;margin-top:15px;font-size:13px;line-height:1.7}.computer-note{display:none}.computer-step{z-index:3;border:0;max-width:155px;min-height:0;margin:0;padding:0;position:absolute;top:275px;left:0}.step-number{font-size:10px}.computer-step h3{margin-top:8px;font-size:22px}.step-description{display:none}.computer-controls{z-index:3;width:35%;max-width:125px;margin-top:0;position:absolute;top:389px;left:0}.computer-controls label{letter-spacing:.5px;font-size:10px}.computer-controls label span{font-size:13px}.range-labels{letter-spacing:0;font-size:10px}.computer-figure{align-self:center;width:105%;margin-top:18px;margin-left:4%;position:relative}.computer-figure figcaption{text-align:right;margin-top:-12px;padding-inline:25px;font-size:10px;display:block}.computer-svg{overflow:visible}.computer-bottom{min-height:47px;font-size:10px}.computer-bottom>span:first-child>span{margin-left:10px;font-size:16px}.computer-mode{font-size:10px}.internal-labels{font-size:11px}.interests-section{padding-bottom:65px}.interest-tabs{grid-template-columns:repeat(3,1fr);gap:10px 16px}.interest-tab{padding-top:6px;padding-bottom:13px}.interest-tab .mono{letter-spacing:.3px;margin-top:7px;font-size:10px}.interest-tab[aria-selected=true]:after{font-size:14px;bottom:10px}.interest-panel{min-height:155px;padding-top:28px;display:block}.interest-title{font-size:28px}.interest-body{margin-top:12px;font-size:14px}.interest-note{margin-top:14px;font-size:18px;display:block}.personal-links{flex-wrap:wrap;gap:28px;margin-top:28px}.personal-links .text-link{gap:15px;font-size:12px}.about-intro{margin-top:34px;display:block}.about-intro>div{margin-top:28px}.about-intro>div p{font-size:15px}.about-intro>div p+p{margin-top:14px;font-size:14px}.places{gap:18px;margin-top:30px}.place>[data-city]{height:102px}.place-heading{align-items:baseline;padding-top:13px}.place h3{font-size:23px}.place h3 span{margin-top:3px;margin-left:0;font-size:15px;display:block}.place-heading>.mono{font-size:10px}.place>p{margin-top:10px;font-size:12px;line-height:1.6}.contact-section{padding-top:33px}.contact-top{align-items:flex-start}.contact-top .eyebrow{max-width:190px;font-size:10px}.back-top{white-space:nowrap;gap:10px;font-size:10px}.back-top span{font-size:16px}.contact-title{margin:38px 0 27px;padding-right:12px;font-size:clamp(51px,10.6vw,80px);line-height:1.05}.contact-arrow{font-size:43px;top:3px;right:0}.contact-details{gap:16px 12px;margin-bottom:32px}.contact-details>a{font-size:14px}.copy-email{padding:7px;font-size:10px}.contact-details .handwritten{width:100%;margin:5px 0 0;font-size:19px}.footer-bottom{grid-template-columns:32px 1fr auto;gap:20px 15px;padding:24px 0;display:grid}.footer-signature{font-size:42px}.footer-bottom>.mono,.footer-motto{font-size:10px}.social-links{grid-area:2/1/auto/-1;justify-content:space-between;gap:18px;width:100%;font-size:12px}.motion-toggle{grid-area:1/3;min-height:40px;padding-left:12px;font-size:10px}}@media (width<=380px){.wrap{width:calc(100% - 32px)}.site-header nav{gap:19px}.hero-tagline{font-size:26px}.hero-copy h1{font-size:19vw}.intro-footer{font-size:10px}.intro-footer .view-label{display:none}.places{gap:12px}.place h3{font-size:21px}.computer-copy h2{font-size:46px}.computer-controls{top:365px}.computer-step{top:255px}}@media (width>=761px) and (height<=760px){.intro-sticky{min-height:630px}.intro-grid{min-height:540px;padding-top:25px}.intro-copy{min-height:390px}.hero-copy h1{margin-top:18px;font-size:145px}.hero-tagline{font-size:39px}.hero-description{margin-top:18px;font-size:15px}.robot-study{width:88%;margin-left:7%}.computer-sticky{min-height:650px}.computer-copy{padding-block:20px}.computer-copy h2{font-size:65px}.computer-step{min-height:125px;margin-top:25px;padding-top:17px}.computer-note{margin-top:15px}.computer-controls{margin-top:12px}.computer-description{margin-top:18px}.computer-inner{padding-top:20px}}html.motion-reduced{scroll-behavior:auto}.motion-reduced *,.motion-reduced :before,.motion-reduced :after{transition:none!important;animation:none!important}.motion-reduced .intro{height:auto;min-height:0}.motion-reduced .intro-sticky{height:auto;min-height:0;position:relative;overflow:visible}.motion-reduced .intro-grid{height:auto;min-height:720px}.motion-reduced .hero-copy{opacity:1;transform:none}.motion-reduced .perception-copy{display:none}.motion-reduced .robot-image{opacity:1}.motion-reduced .robot-points,.motion-reduced .robot-annotations{display:none}.motion-reduced .robot-image-wrap,.motion-reduced .robot-study{transform:none}.motion-reduced .robot-study figcaption{opacity:1}.motion-reduced .computer-section{height:auto;min-height:0}.motion-reduced .computer-sticky{height:auto;min-height:760px;position:relative}.motion-reduced .computer-inner{min-height:760px}.motion-reduced .code-fringe span{transform:none}.motion-reduced .reading-progress{display:none}@media (prefers-reduced-motion:reduce){html:not(.motion-enabled){scroll-behavior:auto}html:not(.motion-enabled) *,html:not(.motion-enabled) :before,html:not(.motion-enabled) :after{transition:none!important;animation:none!important}html:not(.motion-enabled) .intro{height:auto;min-height:0}html:not(.motion-enabled) .intro-sticky{height:auto;min-height:0;position:relative}html:not(.motion-enabled) .intro-grid{height:auto;min-height:720px}html:not(.motion-enabled) .computer-section{height:auto;min-height:0}html:not(.motion-enabled) .computer-sticky{height:auto;min-height:760px;position:relative}html:not(.motion-enabled) .computer-inner{min-height:760px}}@media print{.site-header,.code-fringe,.reading-progress,.intro-footer,.robot-points,.robot-annotations,.computer-controls,.blueprint-toggle,.motion-toggle,.back-top{display:none}.intro,.computer-section{height:auto;min-height:0}.intro-sticky,.computer-sticky{height:auto;min-height:0;position:static;overflow:visible}.hero-copy,.robot-image{opacity:1!important;transform:none!important}.perception-copy{display:none}.section-space{padding-block:35px}.computer-inner{height:auto}.wrap{width:92%}.contact-section{color:#000;background:#fff}.contact-title em{color:#000}.work-row,.place{break-inside:avoid}}.no-particles .robot-image{opacity:1}.no-particles .robot-points{display:none}.robot-image{height:auto}.pc-tube,.pc-board{opacity:clamp(0, calc(var(--open) * 5), 1)}.robot-study{mix-blend-mode:normal}.robot-image-wrap{background:var(--paper)}.intro-sticky{height:calc(100svh - 91px)}@media (width<=760px){.intro-sticky{height:calc(100svh - 72px)}.hero-tagline br{display:block}.hero-copy{padding-bottom:8px}.computer-sticky{min-height:820px}.computer-layout{flex-direction:column;gap:0;padding-top:24px;display:flex}.computer-copy{display:contents}.computer-copy h2{order:1;font-size:49px}.computer-description{order:2;max-width:315px;margin-top:14px;font-size:14px}.computer-figure{flex-direction:column;flex:1;order:3;justify-content:center;align-self:stretch;width:100%;min-height:230px;margin:0;display:flex}.computer-svg{max-height:300px;overflow:visible}.computer-figure figcaption{margin-top:-14px;padding-inline:0;font-size:10px}.computer-step{border-top:1px solid #b8bdad;order:4;align-items:center;gap:20px;width:100%;max-width:none;min-height:42px;padding-top:12px;display:flex;position:static}.step-number{white-space:nowrap;font-size:10px}.computer-step h3{margin:0;font-size:21px}.computer-controls{order:5;width:100%;max-width:none;margin:11px 0 14px;position:static}.computer-controls label{letter-spacing:.5px;font-size:10px}.computer-controls label span{font-size:16px}.range-labels{letter-spacing:.6px;font-size:10px}}@media (width<=760px) and (height<=740px){.computer-section{height:auto;min-height:0}.computer-sticky{height:auto;min-height:830px;position:relative}.computer-inner{min-height:830px}}.no-js .intro,.no-js .computer-section{height:auto;min-height:0}.no-js .intro-sticky,.no-js .computer-sticky{height:auto;min-height:0;position:relative}.no-js .intro-grid{height:auto;min-height:720px}.no-js .computer-inner{padding-bottom:40px}.no-js .computer-layout,.no-js .computer-copy{display:block}.no-js .computer-figure,.no-js .computer-controls,.no-js .blueprint-toggle,.no-js .interest-tabs,.no-js .interest-panel,.no-js .motion-toggle,.no-js .copy-email,.no-js .computer-bottom,.no-js .computer-step{display:none}:root{--muted:#61665b}.place h3 span{opacity:1;color:var(--muted)}.code-fringe canvas{width:100%;height:100px;transform:translateY(calc(var(--intro) * -20px));position:absolute;inset:0}.computer-section{background:var(--case-bg)}.work-row{grid-template-columns:32px minmax(0,1fr) minmax(170px,.65fr) 105px;gap:25px;padding-block:39px}.work-main{min-width:0}.work-main h3{overflow-wrap:break-word}.work-featured{padding-block:49px}.work-featured h3 em{color:var(--green)}.work-role{margin-top:15px;font-size:15px;line-height:1.6;display:block}.work-location{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.6;display:block}.work-description{max-width:440px;margin-top:15px;font-size:15px;line-height:1.75}.work-category{letter-spacing:.7px;line-height:1.7}.work-end .mono{white-space:normal;text-align:right}.project-visual{width:100%;max-width:245px;color:var(--green);justify-self:center;display:block}.project-visual svg{width:100%;height:auto}.project-visual .diagram-detail{transition:transform .25s}.work-row:hover .diagram-detail{transform:translateY(-3px)}.place h3 span{margin:5px 0 0;font-size:19px;line-height:1.4;display:block}.place-heading{align-items:flex-start}.place-heading>.mono{padding-top:8px}.place>p{font-size:14px;line-height:1.75}.social-links{flex-wrap:wrap;gap:12px 21px}.footer-bottom{flex-wrap:wrap}.motion-toggle{margin-left:auto}.hero-copy .eyebrow{letter-spacing:.8px}.intro-footer{gap:20px}.intro-footer a{gap:18px}.intro-coordinates{letter-spacing:.6px}.interest-tabs{gap:16px}.interest-tab .mono{letter-spacing:.3px}.interest-tab,.blueprint-toggle,.copy-email{min-height:44px}.personal-links{flex-wrap:wrap}@media (width>=761px) and (width<=1100px){.header-caption{display:none}.work-row{grid-template-columns:24px minmax(0,1fr) 170px 70px;gap:17px}.work-end .mono,.work-category{font-size:10px}.action-node{width:43px;height:43px}.action-visual{gap:3px}.about-intro{gap:35px}.footer-bottom>.mono{max-width:230px}.social-links{margin-left:auto}.motion-toggle{margin-left:0}.interest-tabs{grid-template-columns:repeat(3,1fr);gap:15px 25px}.interest-tab>span:first-child{align-self:center;width:100%;max-width:200px}}@media (width<=760px){.header-caption{display:none}.site-header nav{gap:22px}.site-header nav a{font-size:13px}.hero-copy .eyebrow{letter-spacing:.4px;font-size:10px}.intro-sticky{min-height:0}.intro-grid{min-height:0;padding-top:48px}.intro-copy{min-height:290px}.hero-description{font-size:14px}.hero-link{font-size:12px}.robot-study{width:min(72%,100svh - 500px);min-width:180px}.intro-footer{gap:10px;font-size:10px}.intro-footer a{letter-spacing:.3px;gap:12px;max-width:70%;font-size:9px}.view-label{white-space:nowrap;font-size:9px}.view-dots{margin-left:4px;font-size:8px}.drawing-index{font-size:9px}.perception-copy>p:not(.eyebrow){font-size:14px}.perception-copy h2{font-size:48px}.model-sequence{gap:10px;font-size:10px}.section-heading .eyebrow{font-size:10px;line-height:1.8}.section-heading .handwritten{max-width:145px}.work-row{grid-template-columns:20px minmax(0,1fr) 38px;gap:13px;padding-block:30px}.work-featured{padding-block:35px}.work-category{max-width:none;font-size:10px}.work-main h3{font-size:35px}.work-role{margin-top:13px;font-size:14px}.work-location{font-size:12px}.work-description{max-width:none;font-size:14px;line-height:1.75}.work-end{grid-area:1/3;align-self:start}.work-end .mono{display:none}.work-number{font-size:10px}.round-arrow{width:34px;height:34px}.work-row>.paper-visual,.work-row>.action-visual,.work-row>.game-visual,.work-row>.project-visual{grid-area:2/2/auto/-1;justify-self:end;width:185px;max-width:100%;margin:4px 0 0;display:block}.work-row>.action-visual{width:210px;min-height:90px;display:flex}.work-row>.paper-visual{height:118px}.work-row>.game-visual{height:120px}.work-row>.project-visual{height:128px}.project-visual svg,.game-visual svg,.paper-visual svg{height:100%}.research-links{gap:12px 22px}.research-links a{font-size:13px}.computer-copy h2{font-size:46px}.computer-description{max-width:340px;font-size:14px}.computer-step{align-items:flex-start;gap:14px}.step-number{white-space:normal;max-width:110px;font-size:10px}.computer-step h3{font-size:23px}.computer-controls label,.range-labels,.computer-bottom,.computer-mode{font-size:10px}.computer-figure figcaption{font-size:9px;line-height:1.6}.computer-topline .eyebrow,.blueprint-toggle{font-size:10px}.computer-inner{padding-top:18px}.computer-sticky{min-height:880px}.computer-layout{padding-top:18px}.computer-figure{min-height:235px}.computer-bottom{gap:15px}.computer-bottom>span:first-child>span{margin-left:8px}.internal-labels{display:none}.interest-tab .mono{font-size:10px}.interest-tabs{gap:10px 13px}.interest-panel{min-height:190px}.interest-body{font-size:14px}.personal-links .text-link{font-size:13px}.about-intro>div p,.about-intro>div p+p{font-size:14px}.places{gap:18px}.place-heading>.mono{display:none}.place h3 span{font-size:17px}.place>p{font-size:13px}.contact-top .eyebrow{max-width:220px;font-size:10px}.back-top{gap:8px;font-size:10px}.contact-details>a{font-size:14px}.contact-details{gap:13px}.contact-details .handwritten{font-size:21px}.footer-bottom{grid-template-columns:30px minmax(0,1fr);gap:20px 14px;display:grid}.footer-bottom>.mono{letter-spacing:.5px;font-size:10px}.footer-motto{font-size:9px}.social-links{grid-area:2/1/auto/-1;justify-content:flex-start;gap:12px 22px;margin-left:0;font-size:13px}.motion-toggle{border-left:0;grid-area:3/1/auto/-1;justify-self:start;margin:0;padding:8px 0;font-size:10px}.copy-email{font-size:10px}.contact-title{padding-right:30px}}@media (width<=380px){.hero-copy .eyebrow{font-size:9px}.view-label{display:none}.intro-footer a{max-width:none}.places{grid-template-columns:1fr;gap:25px}.place{grid-template-columns:105px 1fr;gap:0 20px;display:grid}.place>[data-city]{grid-row:1/3;height:120px}.place-heading{border-top:0;padding-top:13px}.place h3{font-size:29px}.place h3 span{font-size:17px}.place>p{grid-column:2;margin-top:10px}.computer-topline{gap:10px}.computer-topline .eyebrow,.blueprint-toggle,.computer-controls label,.range-labels,.computer-mode,.computer-bottom{font-size:9px}}@media (height<=820px){.intro,.computer-section{height:auto;min-height:0}.intro-sticky,.computer-sticky{height:auto;min-height:0;position:relative;overflow:visible}.intro-grid{height:auto;min-height:640px;padding-bottom:35px}.intro-copy{min-height:350px}.computer-inner{height:auto;min-height:780px;padding-bottom:10px}.computer-layout{flex:1}.robot-study{width:85%;min-width:0;max-width:500px}.intro-footer{height:auto;min-height:65px}}@media (width<=760px) and (height<=900px){.computer-section{height:auto;min-height:0}.computer-sticky{height:auto;min-height:0;position:relative}.computer-inner{min-height:890px}.computer-figure{min-height:250px}}@media (width>=761px){.robot-image-wrap{max-width:max(280px,100svh - 245px)}}@media (width>=761px) and (width<=1100px){.computer-figure{width:100%;margin-left:0}}@media screen{.motion-enabled .intro{height:calc(var(--intro-scene-height,100svh) + var(--intro-travel,80svh));min-height:0}.motion-enabled .intro-sticky{top:var(--intro-pin-top,0px);position:sticky}.motion-enabled .computer-section{height:calc(var(--computer-scene-height,100svh) + var(--computer-travel,130svh));min-height:0}.motion-enabled .computer-sticky{top:var(--computer-pin-top,0px);height:auto;min-height:100svh;position:sticky;overflow:clip}.motion-enabled .computer-inner{height:auto;min-height:100svh}.motion-enabled .computer-topline{z-index:4;background:var(--case-bg);color:var(--ink);position:sticky;top:0}}@media screen and (width<=760px){.motion-enabled .intro-sticky{height:auto;min-height:calc(100svh - 72px)}.motion-enabled .intro-grid{grid-template-rows:auto auto;height:auto;min-height:calc(100svh - 137px);padding-bottom:25px}.motion-enabled .intro-copy{min-height:320px}.motion-enabled .robot-study{width:min(72%,max(170px,100svh - 485px))}.drawing-index{white-space:nowrap}.motion-enabled .computer-inner{min-height:max(820px,100svh)}}@media screen and (width>=761px) and (height<=500px){.motion-enabled .computer-figure{align-self:end;margin-bottom:25px}.motion-enabled .computer-svg{max-height:calc(100svh - 145px)}}.arrow-icon{vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:1em;height:1em;display:inline-block}.desk-explorer{--desk-open:0;border-top:1px solid var(--line);margin-top:72px;padding-top:42px}.desk-heading-row{grid-template-columns:1.2fr 1fr;align-items:end;gap:45px;display:grid}.desk-heading-row .eyebrow{margin-bottom:20px;font-size:11px}.desk-heading-row h3{font:52px/1.05 var(--serif);letter-spacing:-1px}.desk-heading-row h3 em{color:var(--green)}.desk-intro{color:var(--muted);max-width:370px;font-size:15px;line-height:1.8}.desk-stage{--case-bg:#eae7dc;background:#eae7dc;border:1px solid #d1d0c2;margin-top:34px;padding:20px 28px 24px}.desk-stage-top{color:var(--muted);letter-spacing:1px;justify-content:space-between;gap:16px;font-size:10px;display:flex}.desk-figure{margin:0}.desk-svg{color:#46513e;width:100%;height:auto;max-height:590px;display:block}.desk-object{transform:translate(calc(var(--desk-open) * var(--desk-dx)), calc(var(--desk-open) * var(--desk-dy)));cursor:pointer;transition:opacity .2s}.desk-object>*{pointer-events:visiblePainted}.desk-illustration.has-selection .desk-object:not(.is-selected){opacity:.34}.desk-object.is-selected{color:var(--accent)}.desk-object.is-selected .desk-badge{opacity:1}.desk-object.is-selected .desk-badge circle{fill:var(--accent);stroke:var(--accent)}.desk-object.is-selected .desk-badge text{fill:var(--paper)}.desk-badge{opacity:clamp(0, calc(var(--desk-open) * 2 - .2), 1)}.desk-badge circle{fill:#eae7dc;stroke-width:1px}.desk-badge text{text-anchor:middle;font:10px var(--mono);fill:currentColor;stroke:none}.desk-construction{opacity:calc(.06 + var(--desk-open) * .2)}.desk-cables{opacity:calc(1 - var(--desk-open) * .65)}.desk-annotation{opacity:calc(.25 + var(--desk-open) * .65);color:var(--green)}.desk-light-beam{opacity:calc(1 - var(--desk-open));pointer-events:none}.desk-figure figcaption{text-align:center;color:var(--muted);max-width:560px;margin:0 auto 25px;font-size:12px;line-height:1.6}.desk-controls{max-width:430px;margin:0 auto}.desk-controls label{letter-spacing:1px;justify-content:space-between;align-items:center;font-size:11px;display:flex}.desk-controls input{height:32px;margin:8px 0}.desk-controls .range-labels{font-size:10px}.desk-items{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px 19px;padding:21px 0;display:flex}.desk-items button{border-bottom:1px solid #0000;min-height:44px;padding:5px 0;font-size:13px}.desk-items button .mono{color:var(--muted);margin-right:4px;font-size:10px}.desk-items button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.desk-detail{grid-template-columns:1.2fr 1fr;gap:35px;min-height:155px;padding:25px 0 10px;display:grid}.desk-selection-number{color:var(--muted);letter-spacing:1px;margin-bottom:10px;font-size:10px}.desk-item-title{font:30px/1.15 var(--serif);margin:0;font-weight:400}.desk-item-note{color:var(--muted);max-width:460px;font-size:14px;line-height:1.8}.desk-detail-preview{display:none}.desk-item-selected .desk-detail{grid-template-columns:145px 1fr 1.1fr}.desk-item-selected .desk-detail-preview{align-items:center;display:flex}.desk-detail-preview svg{fill:none;stroke:#46513e;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:115px}.desk-fallback{color:var(--muted);margin-top:24px}.no-js .desk-stage,.no-js .desk-items,.no-js .desk-detail{display:none}@media (width<=760px){.desk-explorer{margin-top:40px;padding-top:30px}.desk-heading-row{grid-template-columns:1fr;gap:18px}.desk-heading-row h3{font-size:42px}.desk-heading-row .eyebrow{margin-bottom:15px;font-size:10px}.desk-intro{font-size:14px}.desk-stage{margin:24px -8px 0;padding:17px 12px 20px}.desk-stage-top{letter-spacing:.2px;font-size:8px}.desk-view-label{text-align:right}.desk-svg{width:calc(100% + 10px);margin:12px -5px 0}.desk-figure figcaption{max-width:280px;margin-bottom:20px;font-size:11px}.desk-controls label{font-size:10px}.desk-items{gap:2px 16px}.desk-items button{font-size:12px}.desk-detail{grid-template-columns:1fr;gap:12px;min-height:205px;padding-top:23px}.desk-item-title{font-size:28px}.desk-item-note{font-size:13px}.desk-item-selected .desk-detail{grid-template-columns:95px 1fr;column-gap:18px}.desk-item-selected .desk-item-note{grid-column:1/-1}.desk-detail-preview svg{height:90px}}:root{--surface:#eae7dc;--switch-track:#dcdcd0;--switch-knob:#f4f1e9;--sketch-ink:#46513e}:root[data-theme=graphite]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#292b29;--ink:#e8e4da;--muted:#b5b7ad;--line:#565b52;--accent:#de9679;--green:#b0be9d;--surface:#343733;--switch-track:#20231f;--switch-knob:#b0be9d;--sketch-ink:#bac5af}.theme-switch{flex-shrink:0;align-items:center;gap:7px;min-height:44px;padding:5px 0;display:flex}.theme-label{font:9px/1 var(--mono);letter-spacing:.6px;color:var(--muted)}.theme-label-paper{color:var(--ink)}.theme-track{border:1px solid var(--muted);background:var(--switch-track);border-radius:4px;width:42px;height:22px;position:relative;box-shadow:inset 0 2px 3px #00000018}.theme-knob{border:1px solid var(--muted);background:var(--switch-knob);border-radius:2px;width:16px;height:14px;transition:transform .25s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000026}.theme-knob:after{content:"";border-inline:1px solid #697060;position:absolute;inset:3px 4px}.theme-switch[aria-checked=true] .theme-knob{transform:translate(18px)}.theme-switch[aria-checked=true] .theme-label-paper{color:var(--muted)}.theme-switch[aria-checked=true] .theme-label-graphite{color:var(--ink)}.theme-switch:hover .theme-track{border-color:var(--accent)}.no-js .theme-switch{display:none}.theme-changing body,.theme-changing :is(.computer-section,.computer-sticky,.contact-section,.desk-stage,.work-row,.theme-track,.theme-label,.desk-svg,.computer-svg){transition:background-color .25s,color .25s,border-color .25s}:root[data-theme=graphite] ::selection{color:#20231f;background:#b0be9d}:root[data-theme=graphite] .work-row:hover{background:var(--surface)}:root[data-theme=graphite] .computer-section:not(.blueprint){--case-bg:#343733}:root[data-theme=graphite] .computer-sticky{background-image:linear-gradient(#b0be9d08 1px,#0000 1px),linear-gradient(90deg,#b0be9d08 1px,#0000 1px)}:root[data-theme=graphite] :is(.computer-step,.computer-bottom){border-color:var(--line)}:root[data-theme=graphite] .computer-svg{color:var(--sketch-ink)}:root[data-theme=graphite] .computer-svg .crt-content{fill:#d3d8ae}:root[data-theme=graphite] .internal-labels{fill:var(--ink)}:root[data-theme=graphite] .robot-image{filter:invert()grayscale()contrast(1.25)sepia(.22);mix-blend-mode:screen}:root[data-theme=graphite] .desk-stage{background:var(--surface);border-color:var(--line);--case-bg:var(--surface)}:root[data-theme=graphite] .desk-svg{color:var(--sketch-ink)}:root[data-theme=graphite] .desk-detail-preview svg{stroke:var(--sketch-ink)}:root[data-theme=graphite] .desk-badge circle{fill:var(--surface)}:root[data-theme=graphite] .desk-object.is-selected{color:var(--accent)}:root[data-theme=graphite] .desk-object.is-selected .desk-badge circle{fill:var(--accent)}:root[data-theme=graphite] .desk-object.is-selected .desk-badge text{fill:var(--paper)}:root[data-theme=graphite] .desk-cables{stroke:#a9b29f}:root[data-theme=graphite] .contact-section{--paper:#222522;--ink:#e8e4da;--muted:#b5b7ad;--accent:#de9679;--line:#565b52;background:#222522}:root[data-theme=graphite] .blueprint .computer-svg{color:var(--ink)}:root[data-theme=graphite] .blueprint .computer-svg .crt-content{fill:var(--ink)}@media (width<=1250px){.header-caption{display:none}}@media (width<=760px){.site-header{gap:12px}.site-header nav{gap:17px}.theme-switch{justify-content:center;width:44px}.theme-label{display:none}}@media (width<=360px){.site-header{gap:8px}.site-header nav{gap:13px}.site-header nav a{font-size:12px}}@media (prefers-reduced-motion:reduce){.theme-knob,.theme-changing body,.theme-changing *{transition:none!important}}.motion-reduced .theme-knob,.motion-reduced.theme-changing body,.motion-reduced.theme-changing *{transition:none!important}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) :is([fill=\#445a44],[fill=\#45574f],[fill=\#485045],[fill=\#4c594a],[fill=\#525b4e],[fill=\#546b52],[fill=\#566259],[fill=\#586251],[fill=\#5a6552],[fill=\#5c6558],[fill=\#5c7357],[fill=\#616d59],[fill=\#646d5d],[fill=\#667661],[fill=\#676e61],[fill=\#718769],[fill=\#737b6e],[fill=\#74846a],[fill=\#75806b],[fill=\#777f70],[fill=\#838978],[fill=\#858f80],[fill=\#8a9a88],[fill=\#8e9c83],[fill=\#91998e],[fill=\#929c8e],[fill=\#929d8d],[fill=\#9ca596],[fill=\#9da391],[fill=\#a3af92]){fill:#586852}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) :is([fill=\#706e60],[fill=\#715143],[fill=\#766744]){fill:#575b50}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) :is([fill=\#8e543a],[fill=\#ae704e],[fill=\#b36247],[fill=\#b67b50],[fill=\#b9824d],[fill=\#ba5638],[fill=\#bc9b6d]){fill:#a76e52}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) :is([fill=\#95c5c4],[fill=\#a1ab9d],[fill=\#a4af9c],[fill=\#a4af9f],[fill=\#a4c9b4],[fill=\#a5ad9f],[fill=\#a9b0a1],[fill=\#b0b8a7],[fill=\#b3b5a6],[fill=\#b4b7aa],[fill=\#b7bbb0],[fill=\#b8b09d],[fill=\#b8c1b0],[fill=\#bac5a5],[fill=\#bac7bb],[fill=\#bbc3a4],[fill=\#bcb39f],[fill=\#c2bc9c],[fill=\#c3baa4],[fill=\#c4c8bc],[fill=\#c4c8bd],[fill=\#cbc1a9],[fill=\#cbd4ac],[fill=\#ccc2a8],[fill=\#d1c9a3],[fill=\#d7cbae],[fill=\#d7d3c4],[fill=\#d8d8bc],[fill=\#d9d1b9],[fill=\#dad1bd],[fill=\#e1c7a7]){fill:#53594f}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#d2b66c]{fill:#b39658}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) :is([fill=\#d6d9cf],[fill=\#d6dbd4],[fill=\#d9dbd1],[fill=\#deded1],[fill=\#e2e5d6],[fill=\#e4ddca],[fill=\#e4e1d6],[fill=\#e5ddc8],[fill=\#e7dbc0],[fill=\#e7ddbc],[fill=\#e8e1d1],[fill=\#e9e9df],[fill=\#ebe3d2],[fill=\#eeeae0],[fill=\#f0eadc]){fill:#62665b}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#c8b9a4]{fill:#746755}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#a69680]{fill:#615643}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#b76046]{fill:#a86c55}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#d6af5b]{fill:#b79b60}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#728d90]{fill:#5b777a}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#e5d7b3]{fill:#c4b88d}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#e7cf8e]{fill:#e7cf8e}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#d3d8ae]{fill:#d3d8ae}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#e6e3ce]{fill:#e6e3ce}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#d8ddce]{fill:#d8ddce}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#e3dbb8]{fill:#e3dbb8}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#cc7650]{fill:#cc7650}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#b95c3b]{fill:#b95c3b}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#83b6a1]{fill:#83b6a1}:root[data-theme=graphite] :is(.computer-section:not(.blueprint) .computer-svg,.desk-svg,.desk-detail-preview svg) [fill=\#d7bd62]{fill:#d7bd62}:root[data-theme=graphite] :is(.desk-svg,.desk-detail-preview svg) [stroke^=\#]:not([stroke=none]){stroke:#a3af99}:root[data-theme=graphite] #case-shade stop:first-child{stop-color:#62665b}:root[data-theme=graphite] #case-shade stop:last-child{stop-color:#41483e}:root[data-theme=graphite] :is(#desk-silver,#detail-desk-silver) stop:first-child{stop-color:#646c60}:root[data-theme=graphite] :is(#desk-silver,#detail-desk-silver) stop:last-child{stop-color:#41483e}:root[data-theme=graphite] :is(#desk-screen,#detail-desk-screen) stop:first-child{stop-color:#69755c}:root[data-theme=graphite] :is(#desk-screen,#detail-desk-screen) stop:last-child{stop-color:#404e3d}
