:root{--paper:#f5f4ef;--ink:#172b34;--muted:#586667;--blue:#2e52dc;--line:#d6d9cf;--mono:'Courier New',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;height:108px;border-bottom:1px solid var(--line)}.wordmark{font-size:44px;letter-spacing:-6px;font-weight:800;line-height:1}.wordmark span{color:var(--blue);font-size:30px;vertical-align:top;letter-spacing:-1px}nav{display:flex;align-items:center;gap:38px;font-size:14px}nav a:hover{color:var(--blue)}.nav-contact{padding:12px 0 12px 22px;border-left:1px solid var(--line)}.nav-contact span{margin-left:18px}.hero{padding-top:88px;padding-bottom:78px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}.eyebrow{font:11px var(--mono);font-weight:bold;letter-spacing:1.35px;margin:0 0 26px;line-height:1.6}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:8px}h1{font-size:clamp(58px,6.6vw,92px);letter-spacing:-5px;line-height:1.04;margin:0 0 29px;font-weight:500}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:var(--blue);letter-spacing:-4px}.intro{font-size:16px;line-height:1.75;color:var(--muted);max-width:420px;margin:0 0 30px}.button{display:inline-flex;gap:44px;padding:16px 19px;background:var(--blue);color:white;font-size:13px;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#213db0;transform:translateY(-2px)}.hero-note{display:block;font:10px var(--mono);color:var(--muted);margin-top:18px}.hero-art{background:#e9ede4;border:1px solid #cbd4c8;border-radius:4px;transform:rotate(-2deg);position:relative;margin-top:18px;overflow:hidden}.art-top,.art-bottom{font:9px var(--mono);letter-spacing:.8px;padding:20px;display:flex;justify-content:space-between;color:#526751}.art-top{border-bottom:1px solid #d4ddcf}.hero-art svg{display:block;width:100%;height:auto}.art-bottom{padding:15px 20px;border-top:1px solid #d4ddcf}.disciplines{padding:26px 0;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px}.disciplines>span{font:9px var(--mono);letter-spacing:1px;color:var(--muted)}.disciplines>div{display:flex;gap:24px;font-size:13px}.disciplines i{font-style:normal;color:#879786}.work{padding-block:85px 88px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:37px}.section-heading .eyebrow{margin-bottom:12px}h2{font-size:clamp(32px,3.4vw,46px);line-height:1.13;letter-spacing:-1.8px;font-weight:500;margin:0}.section-heading>p{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 3px}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-visual{height:275px;border-radius:3px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.visual-label,.visual-foot{position:absolute;font:9px var(--mono);letter-spacing:.7px;left:20px}.visual-label{top:20px}.visual-foot{bottom:18px;font-size:8px}.hardware{background:#e1e6dc;color:#4a6146}.board{width:211px;height:151px;background:#304d40;border:2px solid #66816a;border-radius:9px;transform:rotate(-14deg);position:relative;box-shadow:6px 12px 0 #c1ccba}.board-name{position:absolute;top:20px;left:18px;font:9px var(--mono);color:#d9e3cf;line-height:1.6;letter-spacing:2px}.board-name small{font-size:6px;letter-spacing:1px}.chip{position:absolute;right:36px;bottom:30px;width:51px;height:51px;display:grid;place-items:center;background:#192c2b;color:#aab8a3;font:9px var(--mono);outline:5px dashed #9baf8c;z-index:1}.pins{position:absolute;right:10px;top:16px;height:105px;width:10px;background:repeating-linear-gradient(#b9bf91 0 5px,transparent 5px 11px)}.trace{position:absolute;border:1px solid #89a47e;border-right:0}.t1{width:70px;height:34px;bottom:42px;left:17px}.t2{width:95px;height:18px;bottom:27px;left:17px}.hole{width:6px;height:6px;background:#d3d7b7;border-radius:50%;position:absolute}.h1{left:7px;top:7px}.h2{right:7px;top:7px}.h3{bottom:7px;left:7px}.h4{right:7px;bottom:7px}.components{font-size:22px;line-height:.8;position:absolute;left:26px;bottom:28px;color:#a6b69a}.transport{background:#2d4e42;color:#dbe5d2}.transport svg{width:100%;max-width:380px}.research{background:#e6eafa;color:#435a9d}.workflow{width:72%;font:10px var(--mono);letter-spacing:1px;transform:rotate(-5deg);padding-top:10px}.wf-node{background:#f7f7fc;border:1px solid #afbde2;padding:16px 12px;display:flex;justify-content:space-between;box-shadow:3px 3px 0 #c7cfe6}.wf-line{height:24px;width:1px;background:#9fadd0;margin:auto}.wf-pair{display:flex;align-items:center;justify-content:space-between;gap:8px}.wf-pair div{background:#d4ddf6;border:1px solid #aebee1;padding:12px 9px;font-size:9px;flex:1;text-align:center}.result{background:var(--blue);color:white;border-color:var(--blue)}.project-meta{display:flex;justify-content:space-between;gap:8px;font:8px var(--mono);letter-spacing:.5px;margin-top:23px;color:var(--muted)}h3{font-size:22px;letter-spacing:-.65px;font-weight:500;margin:12px 0}.project>p{font-size:14px;line-height:1.75;color:var(--muted);margin:0 0 22px}.project-link{display:inline-flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;border-bottom:1px solid #a4ada3;padding-bottom:9px}.project-link:hover{color:var(--blue);border-color:var(--blue)}.about{border-top:1px solid var(--line);padding-block:80px 88px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.about h2{font-size:49px}.about-stamp{margin-top:35px;width:210px;font:13px var(--mono);color:#65806a;line-height:1.6;letter-spacing:2px;display:flex;align-items:center;justify-content:space-between}.about-stamp span{font-size:40px}.about-copy>p{color:var(--muted);font-size:14px;line-height:1.8;margin:0 0 18px}.about-copy .large-copy{font-size:23px;line-height:1.5;letter-spacing:-.5px;color:var(--ink);margin-bottom:24px}.toolbox{margin-top:28px;padding-top:23px;border-top:1px solid var(--line)}.toolbox>.eyebrow{font-size:9px}.toolbox>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.toolbox>div span{border:1px solid #ccd2c6;padding:7px 10px;border-radius:2px;font:10px var(--mono)}.contact{background:#192e36;color:var(--paper)}.contact-inner{padding-block:68px;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact .eyebrow{color:#b5c7ae;margin-bottom:20px}.contact h2{font-size:45px}.contact p:not(.eyebrow){font-size:13px;color:#bac7c9;line-height:1.6;margin-top:22px}.contact-link{font-size:24px;padding-bottom:15px;border-bottom:1px solid #74878d;min-width:230px}.contact-link>span{float:right;margin-left:35px}.contact-link small{display:block;font:12px var(--mono);color:#bac7c9;margin-top:18px}.contact-link:hover{color:#bacbff}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:26px;font:9px var(--mono);color:var(--muted)}.skip{position:fixed;top:-100px;left:20px;z-index:10;padding:14px;background:var(--ink);color:white}.skip:focus{top:15px}.project-detail{padding:50px 0;border-top:1px solid var(--line);max-width:760px}.project-detail h2{margin-bottom:20px}.project-detail h3{margin-top:28px;font-size:18px}.project-detail p{font-size:15px;line-height:1.8;color:var(--muted)}.project-detail .detail-intro{font-size:20px;color:var(--ink)}.project-detail .detail-note{font:11px/1.7 var(--mono);margin-block:30px}.js .project-detail{display:none}dialog{background:var(--paper);color:var(--ink);border:0;border-radius:6px;padding:28px 40px 40px;width:min(760px,calc(100% - 32px));max-height:88vh;box-shadow:0 30px 100px #0003}dialog::backdrop{background:#10252caa;backdrop-filter:blur(4px)}.close-dialog{background:transparent;border:1px solid var(--line);padding:9px 12px;display:block;margin-left:auto;cursor:pointer;font-size:12px}.close-dialog span{margin-left:15px}#dialog-content .project-detail{display:block;width:100%;border:0;margin:0;padding:25px 0 0}#dialog-content .project-detail h2{font-size:36px}
@media(min-width:1500px){.hero{padding-block:100px}.project-visual{height:300px}}@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:28px;padding-top:65px}h1{font-size:68px}.projects{gap:20px}.project-visual{height:240px}.project-meta{flex-direction:column;font-size:8px;gap:7px}.disciplines>div{gap:14px;font-size:11px}.about{gap:60px}.workflow{width:82%}.visual-foot{font-size:7px;left:14px}.board{transform:rotate(-14deg) scale(.88)}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{height:82px}nav{gap:22px;font-size:12px}.nav-contact{padding-left:0;border:0}.nav-contact span{margin-left:6px}.hero{grid-template-columns:1fr;padding-block:52px 45px;gap:35px}h1{font-size:clamp(58px,12vw,84px);letter-spacing:-3.5px}h1 em{letter-spacing:-3px}.intro{font-size:15px;max-width:480px}.hero-art{max-width:520px;width:96%;margin:0 auto}.art-top,.art-bottom{font-size:8px;padding:15px}.disciplines{display:block}.disciplines>div{margin-top:15px;justify-content:space-between;gap:6px;font-size:10px}.work{padding-block:55px}.section-heading{display:block}.section-heading>p{margin-top:20px}.projects{grid-template-columns:1fr;gap:42px}.project-visual{height:300px}.project-meta{flex-direction:row;font-size:9px}.visual-foot{font-size:8px}.workflow{max-width:300px}.project>p{max-width:550px}.board{transform:rotate(-14deg) scale(1.15)}.about{grid-template-columns:1fr;gap:30px;padding-block:50px}.about h2{font-size:42px}.about-stamp{display:none}.about-copy .large-copy{font-size:22px}.contact-inner{display:block;padding-block:50px}.contact h2{font-size:35px}.contact-link{display:block;max-width:300px;margin-top:40px;font-size:22px}footer{flex-wrap:wrap;line-height:1.7}footer>span:nth-child(2){order:3;width:100%}dialog{padding:20px 24px 30px}.coordinate{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
