@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root{--paper:#f2f0e8;--ink:#1c1c1a;--muted:#5e5a53;--rule:#c8c4b9;--orange:#ee542b;--yellow:#f1cf4a;--blue:#2c58bd;--dark:#20201d;--mono:"DM Mono", monospace;--sans:"Manrope", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}a{color:inherit}.shell,.site-header{width:min(1230px,100% - 64px);margin:auto}.site-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;height:84px;display:flex}.wordmark{letter-spacing:-.09em;font-size:18px;font-weight:800;text-decoration:none}.wordmark span{color:var(--orange)}nav{font:11px var(--mono);text-transform:uppercase;align-items:center;gap:26px;display:flex}nav a{text-decoration:none}nav a:hover,.plain-link:hover,.case-link:hover{color:var(--orange)}nav .resume{border:1px solid var(--ink);padding:9px 12px}.menu-button{font:11px var(--mono);text-transform:uppercase;background:0 0;border:0;padding:0;display:none}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:54px;padding:84px 0 100px;display:grid}.availability,.section-name,.project-number{font:11px var(--mono);text-transform:uppercase;letter-spacing:.01em;margin:0}.availability{align-items:center;gap:9px;margin-bottom:30px;display:flex}.availability i{background:var(--orange);border-radius:50%;width:8px;height:8px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.085em;max-width:730px;margin-bottom:26px;font-size:clamp(48px,5.55vw,82px);font-weight:700;line-height:.96}h1 em,h3 em,.about h2 em{letter-spacing:-.075em;font-family:Georgia,serif;font-weight:400}.hero-intro{color:#47453f;max-width:570px;margin-bottom:34px;font-size:18px;line-height:1.58}.hero-actions{align-items:center;gap:25px;display:flex}.primary-button{background:var(--ink);color:var(--paper);font:11px var(--mono);text-transform:uppercase;padding:15px 18px;text-decoration:none;display:inline-block}.primary-button span{color:var(--orange);margin-left:17px;font-size:15px}.plain-link,.case-link,.lab-link{font:11px var(--mono);text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px;text-decoration:none}.workbench{border:1px solid var(--rule);background:#dcd8cd radial-gradient(#bdb8ac .75px,#0000 .75px) 0 0/7px 7px;height:484px;position:relative;overflow:visible}.bench-title{font:9px var(--mono);letter-spacing:.09em;margin:0;position:absolute;top:14px;left:17px}.bench-grid{background-image:linear-gradient(#6e685e24 1px,#0000 1px),linear-gradient(90deg,#6e685e24 1px,#0000 1px);background-size:59px 59px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 45%,#000);mask-image:linear-gradient(#0000,#000 45%,#000)}.bench-camera,.bench-map,.bench-note,.bench-console{position:absolute;box-shadow:6px 8px #1e1c1626}.bench-camera{color:#e9eadb;background:#242924;width:276px;padding:9px;top:47px;left:28px;transform:rotate(-3deg)}.camera-top,.visual-bar{font:9px var(--mono);justify-content:space-between;display:flex}.camera-top b{color:var(--orange);font-weight:400}.camera-view{background:repeating-linear-gradient(0deg,#00000017 0 1px,#0000 1px 6px),#75836a;height:186px;margin:8px 0;position:relative;overflow:hidden}.person-shape{background:#394739;border-radius:45% 45% 5px 5px;width:75px;height:142px;position:absolute;bottom:-18px;left:105px}.person-shape:before{content:"";background:#b6a77f;border-radius:48%;width:51px;height:61px;position:absolute;top:-44px;left:12px}.vision-box{border:1px solid #e0f064;width:112px;height:140px;position:absolute;top:18px;left:87px}.camera-plus{color:#e0f064;font:22px var(--mono);position:absolute;bottom:7px;left:14px}.bench-camera small,.bench-map small{font:9px var(--mono)}.bench-note{background:var(--yellow);width:196px;min-height:154px;padding:34px 14px 12px;font:20px/1.05 Georgia,serif;bottom:22px;left:97px;transform:rotate(5deg)}.bench-note .tape{background:#f2e8babf;width:75px;height:17px;position:absolute;top:9px;left:61px;transform:rotate(-4deg)}.bench-note em{color:var(--orange)}.bench-note small{font:9px var(--mono);margin-top:11px;display:block}.bench-map{width:235px;font:9px var(--mono);background:#eee9dc;padding:10px;top:86px;right:14px;transform:rotate(4deg)}.bench-map svg{background-image:linear-gradient(#cec7b8 1px,#0000 1px),linear-gradient(90deg,#cec7b8 1px,#0000 1px);background-size:16px 16px;width:100%;height:122px;margin:8px 0;display:block}.bench-map path{fill:none;stroke:var(--blue);stroke-width:3px}.bench-map circle{fill:var(--orange)}.bench-console{background:var(--dark);color:#ddd8cb;width:256px;font:10px var(--mono);gap:3px;padding:13px;display:grid;bottom:27px;right:82px;transform:rotate(-2deg)}.bench-console b{color:#cce56d;font-weight:400}.bench-caption{font:9px/1.4 var(--mono);margin:0;position:absolute;bottom:13px;left:15px}.statement{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:1fr 2fr;gap:30px;padding:25px 0 29px;display:grid}.statement p{max-width:300px;font:11px/1.5 var(--mono);text-transform:uppercase;margin:0}.statement strong{letter-spacing:-.055em;max-width:760px;font-size:clamp(25px,3vw,42px);line-height:1.1}.work{padding:120px 0}.section-intro{grid-template-columns:1fr 2fr;gap:30px;display:grid}.section-name{color:#5e5b54}.section-intro h2,.lab h2,.about h2{letter-spacing:-.08em;max-width:690px;margin-bottom:15px;font-size:clamp(37px,4.25vw,63px);line-height:.98}.section-intro div>p{max-width:480px;color:var(--muted);line-height:1.55}.project{grid-template-columns:.94fr 1.06fr;align-items:center;gap:9%;margin-top:95px;display:grid}.project-reverse{grid-template-columns:1.06fr .94fr}.project-reverse .project-copy{order:2}.project-number{color:var(--orange);margin-bottom:17px}.project h3{letter-spacing:-.08em;margin-bottom:20px;font-size:clamp(31px,3.55vw,51px);line-height:1.01}.project-summary{color:var(--muted);margin-bottom:25px;font-size:16px;line-height:1.58}.project-challenge{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:#48463f;margin-bottom:22px;padding:13px 0;font-size:13px;line-height:1.5}.project-challenge span{color:var(--orange);font:9px var(--mono);text-transform:uppercase;margin-bottom:5px;display:block}.project ul{font:10px var(--mono);text-transform:uppercase;flex-wrap:wrap;gap:8px 15px;margin:0 0 26px;padding:0;list-style:none;display:flex}.project li:before{content:"+";color:var(--orange);padding-right:5px}.case-link span{color:var(--orange);padding-left:8px;font-size:14px}.project-visual{min-height:386px;position:relative;overflow:hidden}.character-visual{color:#e9ece2;background:#263540;padding:14px}.connected{color:#d7e87f}.character-stage{background:#5d7380;position:absolute;inset:56px 59px 67px;overflow:hidden}.character-stage:before{content:"";background:linear-gradient(125deg,#0000 48%,#edd49240 49% 52%,#0000 53%);position:absolute;inset:0}.character-face{background:#d19b7b;border-radius:50% 45% 40% 43%;width:130px;height:176px;position:absolute;top:33px;left:calc(50% - 65px)}.character-face:before{content:"";background:#282b29;border-radius:50% 43% 20% 20%;width:141px;height:82px;position:absolute;top:-15px;left:-4px}.eye{background:#262521;border-radius:50%;width:7px;height:7px;position:absolute;top:80px}.eye.left{left:42px}.eye.right{right:40px}.mouth{border-bottom:2px solid #764d40;border-radius:50%;width:27px;height:12px;position:absolute;bottom:43px;left:53px}.character-shadow{background:#374b4e;border-radius:50%;width:202px;height:73px;position:absolute;bottom:-33px;left:calc(50% - 101px)}.caption-chip{font:16px Georgia,serif;position:absolute;bottom:26px;left:25px}.signal-line{color:#d8e77e;font:8px var(--mono);align-items:center;gap:4px;display:flex;position:absolute;bottom:16px;right:15px}.signal-line i{background:var(--yellow);width:3px;height:16px;display:block}.signal-line i:nth-of-type(2){height:34px}.signal-line i:nth-of-type(3){height:25px}.signal-line i:nth-of-type(4){height:41px}.signal-line i:nth-of-type(5){height:18px}.signal-line span{margin:0 4px}.object-visual{background:#e1dac9;padding:12px;transform:rotate(-1.5deg);box-shadow:7px 8px #0000001f}.object-stage{background-color:#b9b0a2;background-image:linear-gradient(45deg,#ffffff24 25%,#0000 25% 75%,#ffffff24 75%);background-size:38px 38px;height:314px;margin:10px 0;position:relative;overflow:hidden}.tracking-frame{border:2px solid #f5e97a;width:145px;height:158px;position:absolute;top:65px;left:calc(50% - 72px);transform:rotate(-12deg)}.object-shape{background:#5d5952;border-radius:6px 24px 8px 8px;width:76px;height:106px;position:absolute;top:24px;left:34px}.corner{background:#f5e97a;border-radius:50%;width:7px;height:7px;position:absolute}.corner.a{top:-5px;left:-5px}.corner.b{top:-5px;right:-5px}.corner.c{bottom:-5px;left:-5px}.corner.d{bottom:-5px;right:-5px}.object-label{color:#f2ead9;font:9px var(--mono);background:#1f1f1c;padding:4px;position:absolute}.label-one{top:79px;left:29px}.label-two{color:#d9ed7b;bottom:26px;right:24px}.axis{background:var(--orange);display:block;position:absolute}.axis-x{width:185px;height:1px;top:142px;left:127px}.axis-y{width:1px;height:213px;top:53px;left:219px}.object-visual>p,.sensor-visual>p{font:9px var(--mono);margin:0}.sensor-visual{background:var(--yellow);min-height:353px}.sensor-device{background:#a93727;border-radius:48% 51% 43% 44%;width:172px;height:133px;position:absolute;top:62px;left:84px;transform:rotate(-12deg);box-shadow:17px 17px #84271e}.sensor-device:before{content:"";border:5px solid #e7bf45;border-radius:50%;width:53px;height:69px;position:absolute;top:25px;left:52px}.sensor-device b{color:#501f1a;font:9px var(--mono);position:absolute;top:20px;right:-23px;transform:rotate(12deg)}.sensor-led,.sensor-dial,.sensor-button{border-radius:50%;position:absolute}.sensor-led{background:#ddea69;width:11px;height:11px;top:19px;left:13px;box-shadow:0 0 0 4px #712a22}.sensor-dial{background:#30312d;width:22px;height:22px;bottom:19px;right:22px}.sensor-button{background:#efdfad;width:11px;height:11px;bottom:19px;left:39px}.sensor-data{background:var(--paper);width:64%;height:126px;padding:9px;position:absolute;bottom:18px;right:17px}.sensor-data>span,.sensor-data small{font:8px var(--mono)}.sensor-data svg{width:100%;height:76px;margin-top:8px}.sensor-data path{fill:none;stroke:var(--blue);stroke-width:3px}.sensor-data small{color:var(--orange)}.sensor-visual>p{writing-mode:vertical-rl;position:absolute;bottom:18px;left:20px;transform:rotate(180deg)}.lab{background:var(--dark);color:#e9e5da;padding:98px 0 84px}.lab-header{grid-template-columns:1fr 1fr;align-items:end;gap:30px;display:grid}.lab .section-name{color:#a9a59b}.lab h2{margin:13px 0 0}.lab-header>p{color:#c5c1b7;max-width:440px;margin:0;font-size:14px;line-height:1.55}.experiment-row{background:#656159;border:1px solid #656159;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:48px;display:grid}.experiment-row article{background:var(--dark);min-height:297px;padding:13px}.experiment-row article>span{color:#b7b3a8;font:10px var(--mono)}.experiment-row h3{letter-spacing:-.05em;margin:13px 0 7px;font-size:20px}.experiment-row p{color:#bdb9af;margin:0;font-size:12px}.mini-vision,.mini-motion,.mini-xr{height:132px;margin-top:12px;position:relative;overflow:hidden}.mini-vision{background:#526653}.mini-vision i{background:#293229;border-radius:50% 50% 0 0;width:38px;height:102px;position:absolute;bottom:-14px;left:45%}.mini-vision i:before{content:"";background:#b9a77d;border-radius:45%;width:29px;height:35px;position:absolute;top:-29px;left:5px}.mini-vision b{border:1px solid #d9eb5e;width:83px;height:108px;position:absolute;top:12px;left:calc(45% - 22px)}.mini-motion{background:#b5c0d2}.mini-motion i{transform-origin:0;background:var(--blue);height:1px;position:absolute;left:25px}.mini-motion i:first-child{width:170px;top:101px;transform:rotate(-50deg)}.mini-motion i:nth-child(2){width:113px;top:73px;left:69px;transform:rotate(20deg)}.mini-motion i:nth-child(3){width:91px;top:114px;left:45px;transform:rotate(-73deg)}.mini-motion b{color:var(--orange);font-size:43px;font-weight:400;position:absolute;top:16px;right:18px}.mini-xr{background:#c95e40}.mini-xr:before{content:"";background:#b4c0b0;position:absolute;inset:17px}.mini-xr i{background:var(--blue);width:61px;height:61px;position:absolute;top:36px;left:calc(50% - 30px);transform:skewY(-25deg)rotate(30deg);box-shadow:27px 20px #1c3f90}.lab-link{color:#e9e5da;width:max-content;margin-top:32px;display:block}.about{grid-template-columns:1fr 2fr;gap:30px;padding:105px 0;display:grid}.about h2{max-width:850px}.about-copy{grid-template-columns:1fr 1fr;gap:50px;max-width:700px;margin-top:40px;display:grid}.about-copy p{color:var(--muted);margin:0;font-size:15px;line-height:1.65}.contact{background:var(--orange);padding:31px 0 21px}.contact .shell{grid-template-columns:1fr 2fr;gap:30px;display:grid}.contact-question{font:11px var(--mono);text-transform:uppercase;margin:0 0 11px}.contact .shell>a{letter-spacing:-.09em;font-size:clamp(45px,6vw,89px);font-weight:700;line-height:.98;text-decoration:none;display:inline-block}.contact .shell>a span{font:19px var(--mono)}.contact-bottom{font:9px var(--mono);border-top:1px solid #0000007a;grid-column:1/-1;justify-content:space-between;margin-top:142px;padding-top:14px;display:flex}.contact-bottom a{font:inherit!important;letter-spacing:normal!important}.construction-page{background:#e7d2b8;min-height:100svh;position:relative;overflow:hidden}.construction-page>canvas{width:100%;height:100svh;display:block}.construction-overlay{position:absolute;top:clamp(24px,5vw,72px);left:clamp(24px,5vw,72px)}.construction-overlay p{font:10px var(--mono);letter-spacing:.04em;margin:0 0 11px}.construction-overlay h1{letter-spacing:-.085em;text-shadow:0 2px #fff5e194;max-width:430px;margin:0;font-size:clamp(38px,5vw,72px);line-height:.93}.construction-overlay a{font:10px var(--mono);text-transform:uppercase;border-bottom:1px solid;margin-top:22px;padding-bottom:5px;text-decoration:none;display:inline-block}.construction-overlay a span{color:var(--orange);padding-left:7px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=850px){.shell,.site-header{width:min(690px,100% - 38px)}.site-header{height:67px}.menu-button{display:block}.site-header nav{z-index:10;border:1px solid var(--ink);background:var(--paper);flex-direction:column;align-items:flex-start;padding:20px;display:none;position:absolute;top:67px;left:19px;right:19px}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;gap:61px;padding:59px 0 78px}.workbench{justify-self:end;width:min(100%,530px)}.statement,.section-intro,.lab-header,.about,.contact .shell{grid-template-columns:1fr;gap:17px}.work{padding:82px 0}.project,.project-reverse{grid-template-columns:1fr;gap:35px;margin-top:71px}.project-reverse .project-copy{order:0}.lab{padding:79px 0 72px}.about{padding:80px 0}.contact-bottom{margin-top:95px}}@media (width<=540px){.hero-actions{flex-direction:column;align-items:flex-start;gap:20px}.workbench{width:calc(100% + 8px);height:426px;margin:0 -4px}.bench-camera{width:218px;top:38px;left:13px}.camera-view{height:145px}.person-shape{left:81px}.vision-box{width:91px;height:116px;left:68px}.bench-map{width:194px;top:192px;right:2px}.bench-note{width:168px;min-height:134px;padding-top:31px;font-size:16px;bottom:15px;left:26px}.bench-console{width:196px;padding:9px;font-size:8px;bottom:19px;right:8px}.bench-caption{display:none}.statement strong{font-size:25px}.project-visual{min-height:295px}.character-stage{inset:47px 28px 63px}.object-stage{height:249px}.sensor-device{top:54px;left:39px}.sensor-data{width:67%;height:109px}.experiment-row{grid-template-columns:1fr}.experiment-row article{min-height:278px}.about-copy{grid-template-columns:1fr;gap:17px}.contact-bottom{flex-wrap:wrap;gap:10px;font-size:8px}.contact .shell>a{font-size:42px}.construction-overlay{top:22px;left:19px}.construction-overlay h1{max-width:285px;font-size:43px}}
