@charset "UTF-8";
:root{--paper:#eeede6;--ink:#252a27;--muted:#6c7067;--line:#cccec2;--red:#b84732;--green:#739579;--mono:"Cascadia Code","SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--red);outline-offset:5px}::selection{background:#b84732;color:#fff}.page-shell{max-width:1440px;margin:auto;padding:0 64px}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;gap:13px;align-items:center}.brand-mark{width:47px;height:43px;position:relative;overflow:hidden;mix-blend-mode:multiply}.brand-mark img{position:absolute;width:65px;height:65px;max-width:none;left:-9px;top:-7px}.brand-name{font-size:24px;letter-spacing:-1.1px;font-weight:750}.brand-name>span{display:block;font:10px var(--mono);letter-spacing:3.3px;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}.site-header nav a:hover,.text-link:hover,.media-links a:hover{color:var(--red)}.nav-dot{color:var(--red);font-size:20px}.nav-contact{border:1px solid var(--ink);padding:12px 17px}.nav-contact span{margin-left:16px}.announcement{font:12px var(--mono);padding:14px 0;border-bottom:1px solid var(--line);color:var(--red)}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:50px;align-items:center;padding:70px 0 64px}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.6px;margin:0 0 26px;display:flex;gap:10px;align-items:center}.square-dot{width:6px;height:6px;background:var(--red);flex-shrink:0}.hero h1{font-size:clamp(46px,5.1vw,74px);letter-spacing:-3.7px;line-height:1.045;margin:0 0 26px;font-weight:600}.hero h1 span{display:block}.accent{color:var(--red)}.hero-intro{font-size:15px;line-height:1.8;max-width:402px;color:#666c62;margin:0 0 29px}.primary-link{display:inline-flex;background:var(--ink);color:var(--paper);gap:48px;align-items:center;padding:17px 20px;font-size:12px;font-weight:600}.primary-link span{font-size:21px;line-height:1}.primary-link:hover{background:var(--red)}.workbench{align-self:center;padding-top:2px}.bench-top{display:flex;justify-content:space-between;font:9px var(--mono);letter-spacing:1.1px;color:var(--muted);margin-bottom:15px}.bench-top>span:last-child{display:flex;align-items:center;gap:6px}.power-dot{height:5px;width:5px;border-radius:50%;background:#6e8867;display:inline-block}.computer{background:#deddd1;border:1px solid #b6b7a9;border-radius:12px 12px 6px 6px;padding:0 19px;box-shadow:3px 5px 0 #c7c9bc,0 9px 0 -3px #d8d9cc}.computer-top{display:flex;justify-content:space-between;padding:15px 1px 10px;font:8px var(--mono);color:#73776b;letter-spacing:1px}.screw{font-size:12px}.screen-surround{padding:10px;background:#c4c6b7;border-radius:7px;border:1px solid #b8baac;box-shadow:inset 1px 2px 2px #a6aa9c}.screen{background:#202b25;border-radius:4px;overflow:hidden;position:relative;color:#b5c2a8;padding:12px 13px 10px;border:1px solid #1e2820;box-shadow:inset 0 0 25px #142019}.screen:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(transparent 0,transparent 3px,#00000010 3px,#00000010 4px);pointer-events:none}.screen-bar,.screen-bottom{display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:.7px;gap:8px;position:relative;z-index:1}.screen-bar{border-bottom:1px solid #596c523d;padding-bottom:9px}.screen-bottom{border-top:1px solid #596c523d;padding-top:8px;color:#8d9e7f}canvas{width:100%;height:auto;display:block;aspect-ratio:640/430;touch-action:pan-y;position:relative;z-index:1;cursor:grab}canvas.dragging{cursor:grabbing;touch-action:none}.computer-bottom{display:flex;align-items:center;gap:10px;padding:14px 2px 15px}.vent{width:84px;height:14px;background:repeating-linear-gradient(90deg,#a9ad9c 0,#a9ad9c 2px,transparent 2px,transparent 5px)}.machine-name{margin-left:auto;font:11px var(--mono);letter-spacing:1px;color:#777e6c}.machine-led{height:5px;width:5px;background:#b74832;box-shadow:0 0 0 2px #c7c6b6;margin-left:12px}.bench-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px}.mono{font:8px var(--mono);letter-spacing:1.1px;color:var(--muted)}.mode-buttons{display:flex;gap:7px}.mode-buttons button{border:1px solid #bfc2b5;border-radius:2px;background:transparent;padding:9px 11px;font:8px var(--mono);color:var(--muted);box-shadow:0 2px #c6c8bb}.mode-buttons strong{margin-left:8px;font-weight:500;font-size:9px;color:var(--ink)}.mode-buttons button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#9caa97;box-shadow:0 2px #757c6c}.mode-buttons button[aria-pressed=true] strong{color:var(--paper)}.bench-caption{margin:17px 0 0;font:9px/1.5 var(--mono);color:var(--muted);letter-spacing:-.1px}.bench-caption>span{color:var(--red);margin-right:7px}.discipline-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font:9px var(--mono);letter-spacing:1px;color:#5e6559}.strip-plus{color:#8b9281;font-size:16px}.strip-end{color:var(--red);font-size:20px;line-height:.6}.work-section{padding:66px 0 68px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:14px}.section-heading h2,.about-section h2,.elsewhere-section h2{font-size:40px;line-height:1.1;letter-spacing:-1.6px;font-weight:500;margin:0}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.6;max-width:250px;margin:0 0 3px}.work-filters{display:flex;gap:18px;margin:0 0 24px;flex-wrap:wrap}.work-filters button{border:0;padding:9px 0;background:transparent;color:var(--muted);font:11px var(--mono);border-bottom:2px solid transparent}.work-filters button[aria-pressed=true]{color:var(--red);border-bottom-color:var(--red)}.work-filters button span{margin-left:7px;font-size:9px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project[hidden]{display:none}.project-image{height:245px;background:#e3e5dc;border:1px solid #d4d7c9;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-coordinate{position:absolute;left:15px;right:15px;top:14px;display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:.8px;color:#767e6f;z-index:1}.project-drawing{width:210px;height:203px;stroke:currentColor;stroke-width:1.2;color:#697b64;margin-top:20px}.project-drawing .drawing-faint{opacity:.23;stroke-dasharray:3 4;stroke-width:.8}.project-drawing text{fill:currentColor;stroke:none;font:9px var(--mono)}.visual-cad{background:#e7e1d7;border-color:#dad1c5}.visual-cad .project-drawing{color:#967853}.visual-pcb{background:#dee5da;border-color:#cdd5c8}.visual-pcb .project-drawing{color:#5d785f}.visual-game{background:#e6dfd7}.visual-game .project-drawing{color:#a16b57}.project-image>img{object-fit:cover;width:100%;height:100%}.project-image:has(>img) .project-coordinate{background:var(--paper);padding:7px;left:8px;right:8px;top:8px}.drawing-corner{position:absolute;right:12px;bottom:10px;color:#89927b;font:17px var(--mono)}.project-details{padding-top:20px}.project-tags{font:8px var(--mono);letter-spacing:1px;color:var(--muted);margin:0 0 10px}.project-details h3{font-size:29px;letter-spacing:-.9px;font-weight:500;margin:0 0 10px}.project-details h3 a{display:flex;justify-content:space-between;align-items:center}.project-details h3 a:hover{color:var(--red)}.project-details h3 a span{font-size:22px}.project-details>p:not(.project-tags){font-size:13px;line-height:1.65;color:var(--muted);margin:0}.project-visit{display:inline-flex;gap:20px;font:10px var(--mono);margin-top:19px;border-bottom:1px solid var(--line);padding-bottom:5px}.project-visit:hover{color:var(--red);border-color:var(--red)}.about-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:85px;padding:62px 0 65px}.about-heading .eyebrow{margin-bottom:19px}.about-section h2{font-size:43px;line-height:1.13}.about-copy{padding-top:30px}.about-copy>p{font-size:15px;line-height:1.85;color:#5e655b;margin:0 0 28px}.about-note{display:flex;gap:14px;align-items:center;font:10px/1.6 var(--mono);color:var(--muted)}.mini-chip{display:block;width:24px;height:24px;border:3px double #7a8471;position:relative}.mini-chip:before,.mini-chip:after{content:"";position:absolute;left:-6px;right:-6px;height:2px;background:repeating-linear-gradient(90deg,#7a8471 0,#7a8471 2px,transparent 2px,transparent 5px)}.mini-chip:before{top:3px}.mini-chip:after{bottom:3px}.mini-chip i{width:4px;height:4px;display:block;background:var(--red);margin:3px}.text-link{font-size:12px;display:inline-block;margin-top:27px;border-bottom:1px solid var(--ink);padding:0 0 7px}.text-link span{margin-left:24px}.elsewhere-section{padding:48px 0 62px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:85px}.elsewhere-section .eyebrow{margin-bottom:16px}.elsewhere-section h2{font-size:32px}.media-links a{display:flex;justify-content:space-between;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:18px}.media-links small{display:block;margin-top:7px;font:10px var(--mono);color:var(--muted)}.site-footer{padding:30px 0 35px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.footer-brand{font-size:22px;letter-spacing:-1px;font-weight:600}.site-footer p{font-size:11px;color:var(--muted);margin:9px 0 0}.footer-end{display:flex;align-items:flex-end;flex-direction:column;gap:13px;font:8px var(--mono);letter-spacing:.3px;color:var(--muted)}.footer-end a{color:var(--ink)}.empty-work{font-size:14px;color:var(--muted)}.skip-link{position:fixed;top:-60px;left:15px;padding:15px;background:var(--ink);color:white;z-index:99}.skip-link:focus{top:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1440px){.hero h1{font-size:76px}.hero{gap:80px;padding-top:82px;padding-bottom:78px}.page-shell{padding:0 80px}.workbench{max-width:535px}}
@media(max-width:1050px){.page-shell{padding:0 36px}.hero{gap:32px;padding-top:54px;padding-bottom:52px}.hero h1{font-size:54px;letter-spacing:-2.7px}.hero-intro{font-size:13px}.bench-controls>.mono{display:none}.bench-controls{justify-content:flex-end}.computer{padding:0 12px}.screen-surround{padding:7px}.screen{padding:9px}.screen-bar,.screen-bottom{font-size:6px}.bench-caption{font-size:8px}.project-image{height:214px}.project-drawing{width:185px;height:180px}.about-section,.elsewhere-section{gap:50px}.discipline-strip{font-size:8px;letter-spacing:.4px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.project-grid{gap:18px}}
@media(max-width:760px){.page-shell{padding:0 24px}.site-header{height:92px}.brand-mark{width:37px;height:35px}.brand-mark img{width:51px;height:51px;left:-7px;top:-5px}.brand-name{font-size:20px}.brand-name>span{font-size:8px;letter-spacing:2.8px}.site-header nav{gap:20px;font-size:12px}.nav-contact{display:none}.hero{grid-template-columns:1fr;gap:43px;padding:46px 0 36px}.hero h1{font-size:clamp(47px,9.3vw,70px);letter-spacing:-2.6px}.hero-intro{font-size:14px;max-width:410px;line-height:1.75}.hero .eyebrow{font-size:9px;margin-bottom:23px}.primary-link{padding:16px 19px}.workbench{width:100%;max-width:490px;margin:auto}.computer{padding:0 17px}.screen{padding:12px}.screen-bar,.screen-bottom{font-size:7px}.bench-controls>.mono{display:block}.bench-controls{justify-content:space-between}.bench-caption{font-size:9px}.discipline-strip{flex-wrap:wrap;justify-content:center;gap:13px;padding:17px 0;font-size:7px;letter-spacing:.4px}.strip-end{display:none}.work-section{padding:42px 0}.section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:27px}.section-heading h2{font-size:35px}.section-heading>p{max-width:none;font-size:12px}.section-heading .eyebrow{font-size:9px}.project-grid{gap:28px;grid-template-columns:1fr}.project-image{height:260px}.project-drawing{width:230px;height:224px}.project-details{padding-top:16px}.project-details h3{font-size:29px}.project-details>p:not(.project-tags){font-size:13px}.about-section{grid-template-columns:1fr;gap:24px;padding:39px 0}.about-section h2{font-size:38px}.about-copy{padding-top:0}.about-copy>p{font-size:14px}.about-note{font-size:9px}.elsewhere-section{grid-template-columns:1fr;gap:23px;padding:37px 0}.site-footer{align-items:flex-start;flex-direction:column;padding:26px 0;gap:26px}.footer-end{width:100%;flex-direction:row;justify-content:space-between}.eyebrow{font-size:9px}}
.hero-copy,.workbench{min-width:0}
.brand-mark{clip-path:inset(0 0 8px 0)}
@media(max-width:760px){.hero{grid-template-columns:minmax(0,1fr)}.site-header{height:auto;min-height:92px;padding:22px 0;flex-wrap:wrap;row-gap:17px}.site-header nav{flex-wrap:wrap}.brand-name{overflow-wrap:anywhere;max-width:210px}}
@media(max-width:760px){.brand-mark{clip-path:inset(0 0 6px 0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
