@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/manrope-latin-wght-normal-DHIcAJRg.woff2)format("woff2-variations")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2")}:root{color:#0b0d0c;font-synthesis:none;text-rendering:optimizelegibility;--ink:#0b0d0c;--paper:#f2f0e9;--orange:#d94825;--orange-text:#c93618;--sage:#a9b7a8;--line:#0b0d0c2e;--mono:"DM Mono", "SFMono-Regular", Consolas, monospace;--shell:min(92vw, 1440px);background:#f2f0e9;font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}body.menu-open{overflow:hidden}::selection{color:var(--paper);background:var(--orange)}button,a{color:inherit}a{text-decoration:none}button{font:inherit}img,svg{max-width:100%;display:block}.skip-link{z-index:1000;color:var(--paper);background:var(--ink);padding:12px 16px;transition:transform .18s;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:2px solid var(--orange-text);outline-offset:4px}.section-shell{width:var(--shell);margin-inline:auto}.arrow-icon{flex:none;width:20px;height:20px}.arrow-icon path{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.eyebrow,.section-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;line-height:1.2}.eyebrow{align-items:center;gap:10px;display:flex}.eyebrow>span{background:var(--orange);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #f25b371f}.section-label{align-items:center;gap:18px;display:flex}.section-label>span{color:#0b0d0ca6}.section-label--light{color:var(--paper)}.section-label--light>span{color:#f2f0e9a6}.site-header{z-index:100;width:100%;padding-top:8px;transition:padding .25s;position:fixed;top:0;left:0}.nav-shell{border:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;width:min(96vw,1500px);min-height:72px;margin-inline:auto;padding:0 24px;transition:background .25s,border-color .25s,min-height .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;display:grid}.site-header--scrolled .nav-shell{-webkit-backdrop-filter:blur(16px)saturate(130%);backdrop-filter:blur(16px)saturate(130%);background:#f2f0e9db;border-color:#0b0d0c1a;min-height:62px}.brand{align-items:center;gap:12px;width:max-content;display:inline-flex}.brand-mark{width:26px;height:26px;color:var(--paper);background:var(--ink);place-items:center;display:grid;position:relative;overflow:hidden}.brand-mark i{transform-origin:50%;background:currentColor;width:13px;height:2px;position:absolute}.brand-mark i:first-child{transform:translateY(-5px)}.brand-mark i:nth-child(2){transform:rotate(-45deg)}.brand-mark i:nth-child(3){transform:translateY(5px)}.brand-name{letter-spacing:-.03em;font-size:13px;font-weight:600}.brand-name b{color:#0b0d0c85;font-weight:400}.brand--inverse{color:var(--paper)}.brand--inverse .brand-mark{color:var(--ink);background:var(--paper)}.brand--inverse .brand-name b{color:#f2f0e980}.desktop-nav{align-items:center;gap:clamp(24px,3vw,54px);display:flex}.desktop-nav a{padding:10px 2px;font-size:12px;font-weight:600;position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .25s;position:absolute;bottom:4px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.nav-cta{min-height:40px;color:var(--paper);background:var(--ink);justify-self:end;align-items:center;gap:10px;padding:0 4px 0 16px;font-size:11px;font-weight:600;display:inline-flex}.nav-cta .arrow-icon{width:34px;height:34px;color:var(--ink);background:var(--orange);padding:8px;transition:transform .2s}.nav-cta:hover .arrow-icon{transform:rotate(45deg)}.menu-toggle,.mobile-menu{display:none}.hero{background:linear-gradient(#0b0d0c0b 1px, transparent 1px), linear-gradient(90deg, #0b0d0c0b 1px, transparent 1px), var(--paper);background-size:64px 64px;flex-direction:column;min-height:100svh;padding:clamp(132px,15vh,190px) 0 30px;display:flex;position:relative}.hero:before{content:"";pointer-events:none;background:linear-gradient(90deg, var(--paper) 0%, transparent 18%, transparent 82%, var(--paper) 100%);position:absolute;inset:0}.hero-shell{z-index:1;width:var(--shell);grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr);align-items:center;gap:clamp(40px,6vw,110px);margin:auto;display:grid;position:relative}.hero-copy{align-self:center}.hero-eyebrow{opacity:0;margin-bottom:clamp(30px,5vh,62px);animation:.6s 80ms forwards fade-up}.hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(60px,7.3vw,124px);font-weight:500;line-height:.9}.hero-line{padding-bottom:.08em;display:block;overflow:hidden}.hero-line i{font-style:normal;animation:.9s cubic-bezier(.16,1,.3,1) forwards line-up;display:block;transform:translateY(110%)}.hero-line:nth-child(2) i{animation-delay:90ms}.hero-line:nth-child(3) i{animation-delay:.18s}.hero-line--accent i{color:var(--orange)}.hero-bottom{opacity:0;grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:40px;max-width:660px;margin-top:clamp(34px,5vh,58px);animation:.7s .46s forwards fade-up;display:grid}.hero-bottom>p{letter-spacing:-.02em;color:#0b0d0cad;max-width:430px;margin:0;font-size:clamp(15px,1.2vw,18px);line-height:1.62}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.button{align-items:center;gap:25px;min-height:54px;padding:0 22px;font-size:12px;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.button--primary{color:var(--paper);background:var(--ink)}.button--primary:hover{color:var(--ink);background:var(--orange)}.button .arrow-icon,.text-link .arrow-icon{transition:transform .2s}.button:hover .arrow-icon,.text-link:hover .arrow-icon{transform:translate(4px)}.text-link{align-items:center;gap:10px;font-size:11px;font-weight:600;display:inline-flex;position:relative}.text-link:after{content:"";background:var(--line);height:1px;position:absolute;bottom:-5px;left:0;right:0}.hero-instrument{--pointer-x:0px;--pointer-y:0px;aspect-ratio:.93;isolation:isolate;opacity:0;justify-self:end;width:100%;max-width:580px;animation:1s cubic-bezier(.16,1,.3,1) .25s forwards instrument-in;position:relative}.instrument-grid{clip-path:polygon(14% 0,100% 0,100% 86%,86% 100%,0 100%,0 14%);background-color:#f2f0e9b3;background-image:linear-gradient(#0b0d0c12 1px,#0000 1px),linear-gradient(90deg,#0b0d0c12 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:52px 52px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #0b0d0c21;position:absolute;inset:0}.instrument-grid:before,.instrument-grid:after{content:"";border:1px solid #0b0d0c1c;border-radius:50%;position:absolute}.instrument-grid:before{aspect-ratio:1;width:68%;top:15%;left:18%}.instrument-grid:after{aspect-ratio:1;width:42%;top:28%;left:31%}.calibration{z-index:2;font-family:var(--mono);letter-spacing:.1em;color:#0b0d0c73;font-size:8px;position:absolute}.calibration--top{top:13px;right:22px}.calibration--side{bottom:92px;right:-76px;transform:rotate(90deg)}.route-map{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-map path,.route-map circle{vector-effect:non-scaling-stroke}.route-track{stroke:#0b0d0c33;stroke-width:1px;stroke-dasharray:3 5}.route-progress{stroke:var(--orange);stroke-width:2px;stroke-dasharray:660;stroke-dashoffset:660px;animation:2.2s cubic-bezier(.16,1,.3,1) .9s forwards draw-route}.route-map circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.2px}.route-map .route-end{fill:var(--orange);stroke:var(--paper);stroke-width:4px;filter:drop-shadow(0 0 .35rem #f25b3773)}.instrument-card{z-index:4;transition:transform .5s cubic-bezier(.16,1,.3,1);position:absolute;box-shadow:0 20px 55px #0b0d0c24}.instrument-card--theory{width:47%;color:var(--ink);transform:translate(calc(var(--pointer-x) * -.55), calc(var(--pointer-y) * -.55)) rotate(-2deg);background:#fbfaf5;padding:17px;bottom:8%;left:3%}.mini-card-top{border-bottom:1px solid #0b0d0c1f;align-items:center;gap:8px;padding-bottom:15px;font-size:8px;font-weight:700;display:flex}.mini-card-top>i{background:#65a66c;border-radius:50%;width:5px;height:5px;margin-left:auto;box-shadow:0 0 0 3px #65a66c24}.mini-logo{width:23px;height:23px;color:var(--paper);background:var(--ink);font-family:var(--mono);place-items:center;font-size:8px;display:grid}.instrument-card--theory>p{color:#0b0d0c80;margin:17px 0 2px;font-size:8px}.instrument-card--theory>strong{letter-spacing:-.06em;font-size:34px;font-weight:500}.instrument-card--theory>small{font-family:var(--mono);color:#0b0d0c73;font-size:7px}.mini-progress{background:#0b0d0c1a;height:3px;margin:12px 0 10px;overflow:hidden}.mini-progress i{background:var(--orange);width:72%;height:100%;display:block}.instrument-card--signal{width:48%;color:var(--paper);background:var(--ink);transform:translate(var(--pointer-x), var(--pointer-y)) rotate(1.5deg);padding:8px;top:11%;right:2%}.signal-preview{background:linear-gradient(160deg,#0000 43%,#f2f0e914 44% 46%,#0000 47%),linear-gradient(18deg,#202828 0 40%,#131717 41% 100%);place-items:center;height:154px;display:grid;position:relative;overflow:hidden}.signal-preview:before,.signal-preview:after{content:"";transform-origin:bottom;background:#f2f0e973;width:1px;height:120px;position:absolute;bottom:-20px}.signal-preview:before{transform:rotate(28deg)}.signal-preview:after{transform:rotate(-28deg)}.sign-mini{z-index:2;border:5px solid var(--orange);width:43px;height:43px;color:var(--ink);background:var(--paper);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid;position:relative}.detection-frame{z-index:3;border:1px solid #f25b37cc;width:78px;height:78px;position:absolute}.scan-line{z-index:4;background:var(--orange);height:1px;box-shadow:0 0 8px var(--orange);animation:3.4s ease-in-out infinite scan;position:absolute;top:0;left:0;right:0}.signal-meta{grid-template-columns:1fr auto;align-items:end;gap:4px;padding:12px 8px 8px;display:grid}.signal-meta>span{font-family:var(--mono);color:var(--orange);text-transform:uppercase;grid-column:1/-1;font-size:7px}.signal-meta strong{font-size:12px;font-weight:500}.signal-meta small{font-family:var(--mono);color:#f2f0e96b;font-size:6px}.instrument-node{z-index:3;font-family:var(--mono);align-items:center;gap:6px;font-size:7px;display:flex;position:absolute}.instrument-node i{background:var(--ink);border-radius:50%;width:5px;height:5px}.instrument-node--a{bottom:16%;left:5%}.instrument-node--b{top:52%;left:34%}.instrument-node--c{top:31%;right:15%}.instrument-caption{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:14px;font-size:7px;display:flex;position:absolute;bottom:8%;right:8%}.instrument-caption span:not(:last-child):after{content:"/";color:var(--orange);margin-left:14px}.hero-foot{z-index:1;width:var(--shell);border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(16px,2.3vw,38px);margin:clamp(40px,6vh,72px) auto 0;padding-top:19px;font-size:8px;display:flex;position:relative}.hero-foot>span:before{content:"•";color:var(--orange);margin-right:10px}.hero-foot>i{flex:1}.hero-foot small{font:inherit;color:#0b0d0ca6}.manifesto{padding:clamp(120px,16vw,240px) 0 clamp(110px,13vw,190px)}.manifesto-grid{grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);align-items:end;gap:clamp(80px,11vw,180px);margin-top:clamp(70px,9vw,130px);display:grid}.manifesto h2,.work-heading h2,.approach-intro h2,.capability-grid h2,.contact h2{letter-spacing:-.065em;margin:0;font-size:clamp(48px,6.8vw,104px);font-weight:500;line-height:.98}.manifesto h2 em,.approach-intro h2 em,.contact h2 em{color:var(--orange);font-style:normal;font-weight:400}.manifesto-grid>div{border-top:1px solid var(--ink);padding-top:28px}.manifesto-grid p{color:#0b0d0cad;margin:0 0 22px;font-size:15px;line-height:1.75}.work{background:#dfdfd6;padding:140px 0}.work-heading{margin-bottom:80px}.work-heading>div{grid-template-columns:1.2fr .8fr;align-items:end;gap:10vw;margin-top:70px;display:grid}.work-heading>div>p{color:#0b0d0ca3;max-width:520px;margin:0 0 8px;font-size:16px;line-height:1.7}.projects-shell{width:min(96vw,1540px);margin-inline:auto}.project{grid-template-columns:minmax(340px,.37fr) minmax(0,.63fr);min-height:760px;margin-bottom:24px;display:grid;overflow:hidden}.project--light{background:#f3f1ea}.project--dark{color:var(--paper);background:var(--ink)}.project--reversed{grid-template-columns:minmax(0,.63fr) minmax(340px,.37fr)}.project--reversed .project-copy{order:2}.project--reversed .project-media{order:1}.project-copy{flex-direction:column;padding:clamp(36px,4vw,64px);display:flex}.project-index{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.72;border-bottom:1px solid;justify-content:space-between;gap:20px;padding-bottom:20px;font-size:8px;display:flex}.project-copy-main{margin:auto 0}.project-copy h3,.lab-card-copy h3{letter-spacing:-.06em;margin:0;font-size:clamp(46px,5vw,78px);font-weight:500;line-height:1}.project-copy-main>p{opacity:.68;max-width:500px;margin:30px 0;font-size:14px;line-height:1.75}.project-copy ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-copy li{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;opacity:.7;border:1px solid;padding:8px 11px;font-size:7px}.project-link{border-top:1px solid;justify-content:space-between;align-items:center;padding-top:20px;font-size:11px;font-weight:600;display:flex}.project-link .arrow-icon{transition:transform .22s}.project-link:hover .arrow-icon{transform:translate(6px)}.project-media{min-width:0;min-height:650px}.product-visual{width:100%;height:100%;position:relative;overflow:hidden}.theory-visual{background-color:#bbc9b7;background-image:linear-gradient(#0b0d0c0e 1px,#0000 1px),linear-gradient(90deg,#0b0d0c0e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:10% 0 7% 7%}.visual-coordinate{font-family:var(--mono);color:#0b0d0c73;font-size:7px;position:absolute;top:24px;right:28px}.device-window{z-index:2;background:#fcfbf7;width:108%;height:84%;min-height:560px;transition:transform .7s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:rotate(-1deg);box-shadow:0 35px 80px #2a372a33}.project:hover .theory-window{transform:rotate(0)translate(-1.2%)}.window-bar{height:42px;font-family:var(--mono);color:#0b0d0c73;border-bottom:1px solid #0b0d0c1a;justify-content:space-between;align-items:center;padding:0 16px;font-size:7px;display:flex}.window-dots{gap:5px;display:flex}.window-dots i{background:#0b0d0c2e;border-radius:50%;width:6px;height:6px}.theory-app{grid-template-columns:125px minmax(400px,1fr);height:calc(100% - 42px);display:grid;position:relative}.theory-sidebar{border-right:1px solid #0b0d0c14;flex-direction:column;gap:9px;padding:24px 15px;display:flex}.pt-mark{width:34px;height:34px;color:var(--paper);background:var(--ink);font-family:var(--mono);place-items:center;margin-bottom:25px;font-size:9px;display:grid}.side-link{white-space:nowrap;color:#0b0d0c7a;align-items:center;gap:9px;padding:10px;font-size:8px;display:flex}.side-link i{border:1px solid;border-radius:50%;width:7px;height:7px}.side-link.is-active{color:var(--ink);background:#e5ecdf}.side-link.is-active i{border-color:var(--orange);background:var(--orange)}.side-avatar{width:30px;height:30px;color:var(--paper);background:var(--orange);font-family:var(--mono);border-radius:50%;place-items:center;margin-top:auto;font-size:7px;display:grid}.question-panel{padding:clamp(35px,4vw,65px)}.question-top{justify-content:space-between;align-items:center;display:flex}.question-top div:first-child{flex-direction:column;gap:7px;display:flex}.question-top small,.question-top span{font-family:var(--mono);color:#0b0d0c6b;font-size:7px;font-weight:400}.question-top strong{font-size:14px}.question-timer{font-family:var(--mono);background:#f0efe9;padding:10px 12px;font-size:9px}.question-progress{background:#0b0d0c17;height:3px;margin:20px 0 48px}.question-progress i{background:var(--orange);width:28%;height:100%;display:block}.question-panel h3{letter-spacing:-.04em;max-width:480px;margin:0 0 28px;font-size:clamp(20px,2vw,30px);line-height:1.25}.answer-grid{grid-template-columns:1fr 1fr;gap:8px;max-width:520px;display:grid}.answer-grid div{border:1px solid #0b0d0c1f;align-items:center;gap:10px;min-height:66px;padding:12px;font-size:8px;line-height:1.4;display:flex}.answer-grid span{width:24px;height:24px;font-family:var(--mono);border:1px solid #0b0d0c29;border-radius:50%;flex:none;place-items:center;font-size:7px;display:grid}.answer-grid .is-selected{border-color:var(--orange);background:#f25b370f}.answer-grid .is-selected span{color:#fff;border-color:var(--orange);background:var(--orange)}.question-actions{justify-content:space-between;align-items:center;max-width:520px;margin-top:26px;font-size:8px;display:flex}.question-actions>span{text-decoration:underline}.question-actions button{color:#fff;background:var(--ink);border:0;align-items:center;gap:15px;height:40px;padding:0 12px;font-size:8px;display:flex}.road-sign-card{background:#fff;flex-direction:column;width:122px;padding:15px;display:flex;position:absolute;bottom:20px;right:22px;box-shadow:0 14px 32px #0b0d0c21}.road-sign-card svg{width:62px;margin:0 auto 10px}.road-sign-card strong{font-size:9px}.road-sign-card span{color:#0b0d0c73;margin-top:3px;font-size:7px}.floating-stat{z-index:4;width:118px;color:var(--paper);background:var(--ink);padding:16px;display:grid;position:absolute;top:6%;left:3.5%;box-shadow:0 18px 40px #2a372a38}.floating-stat small,.floating-stat span{font-family:var(--mono);font-size:7px}.floating-stat small{opacity:.52}.floating-stat strong{margin:8px 0;font-size:27px;font-weight:500}.floating-stat span{color:#9fe096}.licence-switcher{z-index:4;color:var(--paper);background:var(--ink);font-family:var(--mono);gap:2px;padding:5px;font-size:7px;display:flex;position:absolute;bottom:3%;right:3%;box-shadow:0 14px 35px #2a372a38}.licence-switcher span{padding:9px 11px}.licence-switcher .is-active{color:var(--ink);background:var(--orange)}.signal-visual{background-color:#161b1b;background-image:linear-gradient(#f2f0e909 1px,#0000 1px),linear-gradient(90deg,#f2f0e909 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:48px 48px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;padding:7%}.signal-hud{background:#0d1111;border:1px solid #f2f0e929;width:100%;height:100%;min-height:590px;position:relative;overflow:hidden;box-shadow:0 30px 80px #00000059}.hud-top{z-index:5;color:#f2f0e98c;height:48px;font-family:var(--mono);letter-spacing:.06em;background:#0b0d0cd9;border-bottom:1px solid #f2f0e91a;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 17px;font-size:7px;display:grid;position:absolute;top:0;left:0;right:0}.hud-top span:last-child{justify-self:end}.hud-top i{background:var(--orange);width:5px;height:5px;box-shadow:0 0 7px var(--orange);border-radius:50%;margin-right:7px;display:inline-block}.road-scene{filter:saturate(.7);width:100%;height:100%;transition:transform 1.2s cubic-bezier(.16,1,.3,1);transform:scale(1.015)}.project:hover .road-scene{transform:scale(1.035)}.signal-hud:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0b0d0c40,#0000 25% 75%,#0b0d0c40);position:absolute;inset:0}.detection-box{z-index:4;aspect-ratio:1;width:23%;position:absolute;top:22%;right:7.2%}.detection-box>small{font-family:var(--mono);color:var(--orange);font-size:7px;position:absolute;top:-15px;left:0}.corner{border-color:var(--orange);border-style:solid;width:24px;height:24px;position:absolute}.corner--tl{border-width:2px 0 0 2px;top:0;left:0}.corner--tr{border-width:2px 2px 0 0;top:0;right:0}.corner--bl{border-width:0 0 2px 2px;bottom:0;left:0}.corner--br{border-width:0 2px 2px 0;bottom:0;right:0}.hud-readout{z-index:5;width:min(310px,41%);color:var(--paper);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0b0d0ce6;border:1px solid #f2f0e929;padding:20px;position:absolute;bottom:22px;right:22px}.hud-readout>small{font-family:var(--mono);color:var(--orange);font-size:7px}.hud-readout>strong{letter-spacing:-.04em;margin:12px 0 7px;font-size:clamp(18px,1.8vw,27px);font-weight:500;display:block}.hud-readout>p{color:#f2f0e994;margin:0 0 17px;font-size:8px;line-height:1.55}.hud-readout>div:not(.confidence-bar){font-family:var(--mono);justify-content:space-between;font-size:7px;display:flex}.confidence-bar{background:#f2f0e91f;height:2px;margin-top:8px}.confidence-bar i{background:var(--orange);width:98.4%;height:100%;display:block}.hud-scanner{z-index:3;background:linear-gradient(90deg, transparent, var(--orange), transparent);height:1px;animation:5s ease-in-out infinite hud-scan;position:absolute;top:48px;left:0;right:0;box-shadow:0 0 12px #f25b3780}.focus-dot{z-index:4;border:1px solid #f2f0e9a6;border-radius:50%;width:6px;height:6px;position:absolute}.focus-dot--one{top:44%;left:22%}.focus-dot--two{top:55%;left:48%}.focus-dot--three{top:31%;left:58%}.lab-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.lab-card{flex-direction:column;min-width:0;min-height:770px;padding:clamp(28px,3vw,46px);display:flex;overflow:hidden}.lab-card--tempo{background:#c7cdc1}.lab-card--fieldnote{color:var(--paper);background:#252b29}.lab-card-head{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.72;border-bottom:1px solid;justify-content:space-between;padding-bottom:16px;font-size:7px;display:flex}.lab-visual{height:430px;margin:38px 0;position:relative}.tempo-visual{background-color:#0000;background-image:linear-gradient(#0b0d0c0f 1px,#0000 1px),linear-gradient(90deg,#0b0d0c0f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:35px 35px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;justify-content:center;align-items:center;display:flex}.phone{border:5px solid var(--ink);border-radius:30px;width:205px;height:405px;padding:30px 17px 17px;position:absolute;overflow:hidden;box-shadow:0 28px 45px #0b0d0c2e}.phone-island{background:var(--ink);border-radius:999px;width:62px;height:14px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.phone--back{color:var(--paper);background:var(--ink);transition:transform .6s cubic-bezier(.16,1,.3,1);transform:translate(-100px,10px)rotate(-7deg)}.phone--front{z-index:2;background:#f4f1ea;transition:transform .6s cubic-bezier(.16,1,.3,1);transform:translate(90px,-8px)rotate(7deg)}.lab-card:hover .phone--back{transform:translate(-108px,7px)rotate(-9deg)}.lab-card:hover .phone--front{transform:translate(98px,-12px)rotate(5deg)}.phone--back small{font-family:var(--mono);color:#f2f0e980;margin-top:14px;font-size:6px;display:block}.phone--back strong{margin:8px 0 35px;font-size:27px;font-weight:500;display:block}.wave-chart{align-items:end;gap:7px;height:205px;display:flex}.wave-chart i{width:8px;height:var(--bar-height);background:var(--orange);opacity:.75;border-radius:5px 5px 0 0}.tempo-top{font-family:var(--mono);justify-content:space-between;align-items:center;margin-top:9px;font-size:7px;font-weight:600;display:flex}.tempo-top i{color:#fff;background:var(--orange);border-radius:50%;place-items:center;width:23px;height:23px;font-size:6px;font-style:normal;display:grid}.phone--front>p{color:#0b0d0c80;margin:45px 0 2px;font-size:9px}.phone--front>strong{letter-spacing:-.04em;font-size:18px;line-height:1.1}.spend-ring{background:conic-gradient(var(--orange) 0 64%, #0b0d0c14 64% 100%);border-radius:50%;place-items:center;width:120px;height:120px;margin:25px auto;padding:10px;display:grid}.spend-ring:before{content:"";background:#f4f1ea;border-radius:50%;grid-area:1/1;width:92px;height:92px}.spend-ring span{z-index:2;grid-area:1/1;font-size:20px;font-weight:600}.spend-row{border-top:1px solid #0b0d0c1a;justify-content:space-between;padding-top:14px;font-size:7px;display:flex}.fieldnote-visual{background-color:#0000;background-image:linear-gradient(#f2f0e90b 1px,#0000 1px),linear-gradient(90deg,#f2f0e90b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:35px 35px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;display:grid}.fieldnote-window{width:108%;min-width:620px;color:var(--ink);background:#f2f0e9;transition:transform .6s cubic-bezier(.16,1,.3,1);transform:translate(7%)rotate(2deg);box-shadow:0 30px 55px #00000040}.lab-card:hover .fieldnote-window{transform:translate(5%)rotate(1deg)}.fieldnote-top{border-bottom:1px solid #0b0d0c1a;grid-template-columns:1fr auto 1fr;align-items:center;height:44px;padding:0 18px;font-size:8px;display:grid}.fieldnote-top b{font-size:10px}.fieldnote-top i{color:#fff;background:var(--ink);width:26px;height:26px;font-family:var(--mono);border-radius:50%;justify-self:end;place-items:center;font-size:6px;font-style:normal;display:grid}.fieldnote-body{grid-template-columns:145px 1fr;min-height:320px;display:grid}.fieldnote-body aside{border-right:1px solid #0b0d0c1a;padding:28px 16px}.fieldnote-body aside small,.fieldnote-body .fieldnote-main>small{font-family:var(--mono);color:#0b0d0c6b;margin-bottom:25px;font-size:6px;display:block}.fieldnote-body aside b{justify-content:space-between;margin-bottom:15px;font-size:8px;display:flex}.fieldnote-body aside b:first-of-type{color:var(--orange)}.fieldnote-body aside span{font-family:var(--mono);opacity:.5;font-size:6px}.fieldnote-main{padding:42px}.fieldnote-main>small{color:var(--orange-text);margin-bottom:15px}.fieldnote-body h4{letter-spacing:-.05em;max-width:330px;margin:0 0 35px;font-size:26px;font-weight:500;line-height:1.12}.note-columns{grid-template-columns:1fr 120px;gap:25px;display:grid}.note-columns p{color:#0b0d0c94;margin:0;font-size:8px;line-height:1.7}.note-columns div{align-items:end;gap:7px;display:flex}.note-columns i{background:var(--sage);width:22px}.note-columns i:first-child{height:45px}.note-columns i:nth-child(2){background:var(--orange);height:72px}.note-columns i:nth-child(3){height:58px}.note-tag{border:1px solid var(--orange);color:var(--orange-text);font-family:var(--mono);margin-top:28px;padding:7px 9px;font-size:6px;display:inline-block}.lab-card-copy{border-top:1px solid;margin-top:auto;padding-top:30px;position:relative}.lab-card-copy h3{font-size:clamp(42px,4.5vw,68px)}.lab-card-copy p{opacity:.6;max-width:390px;margin:18px 0 0;font-size:12px;line-height:1.6}.lab-card-copy>a{width:48px;height:48px;color:var(--paper);background:var(--ink);place-items:center;display:grid;position:absolute;bottom:0;right:0}.lab-card--fieldnote .lab-card-copy>a{color:var(--ink);background:var(--orange)}.lab-card-copy>a .arrow-icon{transition:transform .22s}.lab-card-copy>a:hover .arrow-icon{transform:rotate(45deg)}.approach{color:var(--paper);background:var(--ink);padding:clamp(120px,14vw,210px) 0}.approach-intro{grid-template-columns:1.2fr .8fr;align-items:end;gap:10vw;margin:clamp(70px,9vw,130px) 0 clamp(90px,11vw,160px);display:grid}.approach-intro>p{color:#f2f0e994;max-width:480px;margin:0 0 10px;font-size:15px;line-height:1.7}.approach-list{border-top:1px solid #f2f0e947}.approach-row{border-bottom:1px solid #f2f0e938;grid-template-columns:70px .8fr 1.1fr 44px;align-items:center;gap:30px;min-height:120px;padding:28px 0;transition:padding .3s,color .3s;display:grid}.approach-row:hover,.approach-row:focus-visible{color:var(--orange);padding-inline:20px}.approach-row>span{font-family:var(--mono);color:var(--orange);font-size:9px}.approach-row h3{letter-spacing:-.04em;margin:0;font-size:clamp(24px,2.4vw,37px);font-weight:500}.approach-row p{color:#f2f0e980;margin:0;font-size:12px;line-height:1.65;transition:color .3s}.approach-row:hover p,.approach-row:focus-visible p{color:#f2f0e9cc}.approach-row>i{border:1px solid #f2f0e94d;border-radius:50%;place-items:center;width:38px;height:38px;transition:transform .3s,background .3s;display:grid}.approach-row>i svg{width:15px}.approach-row>i path{stroke:currentColor;stroke-width:1.2px}.approach-row:hover>i,.approach-row:focus-visible>i{color:var(--ink);background:var(--orange);transform:rotate(45deg)}.capabilities{padding:clamp(120px,14vw,210px) 0}.capability-grid{grid-template-columns:.9fr 1.1fr;gap:10vw;margin-top:clamp(70px,9vw,130px);display:grid}.capability-grid h2{font-size:clamp(44px,5vw,77px)}.capability-grid ol{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.capability-grid li{border-bottom:1px solid var(--line);grid-template-columns:50px 1fr auto;align-items:center;gap:20px;min-height:93px;display:grid}.capability-grid li>span,.capability-grid li>small{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;font-size:7px}.capability-grid li>span{color:var(--orange-text)}.capability-grid li>small{color:#0b0d0ca8}.capability-grid li>strong{letter-spacing:-.04em;font-size:clamp(18px,2vw,27px);font-weight:500}.principles{border-top:1px solid var(--line);background:#e8e6de;padding:90px 0}.principles-grid{grid-template-columns:repeat(3,1fr);display:grid}.principles article{border-left:1px solid var(--line);flex-direction:column;min-height:300px;padding:10px clamp(30px,4vw,65px) 20px;display:flex}.principles article:last-child{border-right:1px solid var(--line)}.principles article>span{font-family:var(--mono);color:var(--orange-text);font-size:8px}.principles h3{letter-spacing:-.05em;max-width:330px;margin:auto 0 22px;font-size:clamp(25px,2.5vw,38px);font-weight:500;line-height:1.1}.principles p{color:#0b0d0cad;max-width:320px;margin:0;font-size:11px;line-height:1.6}.contact{background:var(--orange);padding:clamp(120px,14vw,210px) 0 110px;position:relative;overflow:hidden}.contact-route{opacity:.23;height:420px;position:absolute;inset:0 0 auto}.contact-route svg{width:100%;height:100%;overflow:visible}.contact-route path{stroke:var(--ink);stroke-width:1px;stroke-dasharray:5 6;vector-effect:non-scaling-stroke}.contact-route circle{fill:var(--orange);stroke:var(--ink);vector-effect:non-scaling-stroke}.contact-inner{z-index:2;position:relative}.contact .eyebrow>span{background:var(--ink);box-shadow:0 0 0 5px #0b0d0c1a}.contact h2{margin-top:clamp(70px,9vw,125px);font-size:clamp(56px,8.3vw,130px)}.contact h2 em{color:var(--paper)}.contact-bottom{border-top:1px solid #0b0d0c66;grid-template-columns:1fr 1fr;align-items:center;gap:50px;margin-top:80px;padding-top:24px;display:grid}.contact-bottom>p{max-width:400px;margin:0;font-size:14px;line-height:1.6}.contact-button{max-width:430px;color:var(--paper);background:var(--ink);grid-template-columns:1fr 64px;justify-self:end;align-items:center;font-size:13px;font-weight:600;display:grid}.contact-button>span{padding:0 26px}.contact-button>i{height:64px;color:var(--ink);background:var(--paper);place-items:center;display:grid}.contact-button .arrow-icon{transition:transform .24s}.contact-button:hover .arrow-icon{transform:rotate(45deg)}.site-footer{color:var(--paper);background:var(--ink);padding:58px 0 25px}.footer-top{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.footer-links{gap:38px;display:flex}.footer-links a,.back-top{color:#f2f0e9ad;padding:8px 0;font-size:10px;position:relative}.footer-links a:after{content:"";background:var(--orange);transform-origin:100%;height:1px;transition:transform .22s;position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.footer-links a:hover:after{transform-origin:0;transform:scaleX(1)}.back-top{justify-self:end;align-items:center;gap:15px;display:flex}.back-top span{border:1px solid #f2f0e94d;place-items:center;width:30px;height:30px;display:grid}.footer-wordmark{letter-spacing:-.095em;white-space:nowrap;margin-top:100px;font-size:clamp(120px,22.5vw,350px);font-weight:600;line-height:.72;overflow:hidden}.footer-wordmark span{color:var(--orange);font-family:var(--mono);letter-spacing:0;margin-left:.05em;font-size:.08em;position:relative;top:-.48em}.footer-bottom{border-top:1px solid #f2f0e92e;justify-content:space-between;margin-top:70px;padding-top:18px;display:flex}.footer-bottom p{font-family:var(--mono);letter-spacing:.04em;color:#f2f0e9ad;text-transform:uppercase;margin:0;font-size:7px}.js [data-reveal]{opacity:0;transition:opacity .8s,transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(36px)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}@keyframes line-up{to{transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes instrument-in{0%{opacity:0;transform:translateY(26px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes draw-route{to{stroke-dashoffset:0}}@keyframes scan{0%,to{opacity:0;transform:translateY(10px)}15%,85%{opacity:1}50%{transform:translateY(140px)}}@keyframes hud-scan{0%,to{opacity:0;transform:translateY(20px)}12%,88%{opacity:.75}50%{transform:translateY(500px)}}@media (width<=1100px){:root{--shell:min(90vw, 920px)}.hero{min-height:auto}.hero-shell{grid-template-columns:1fr}.hero-copy{max-width:850px}.hero h1{font-size:clamp(70px,11.5vw,112px)}.hero-instrument{justify-self:center;width:min(80vw,620px);margin-top:70px}.hero-bottom{max-width:700px}.hero-foot span:nth-child(3),.hero-foot span:nth-child(4){display:none}.manifesto-grid,.work-heading>div,.approach-intro,.capability-grid{grid-template-columns:1fr;gap:65px}.manifesto-grid>div{max-width:620px;margin-left:auto}.work-heading>div>p,.approach-intro>p{max-width:600px;margin-left:auto}.project,.project--reversed{grid-template-columns:1fr;min-height:auto}.project--reversed .project-copy,.project--reversed .project-media{order:initial}.project-copy{min-height:520px}.project-media{min-height:720px}.theory-visual{padding-left:9%}.signal-visual{padding:6%}.lab-grid{grid-template-columns:1fr;width:min(96vw,1540px)}.lab-card{min-height:760px}.fieldnote-window{width:82%;min-width:650px;transform:rotate(2deg)}.lab-card:hover .fieldnote-window{transform:rotate(1deg)}.capability-grid ol{width:100%;max-width:760px;margin-left:auto}}@media (width<=720px){:root{--shell:calc(100vw - 36px)}html{scroll-padding-top:75px}.site-header{padding-top:0}.nav-shell{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f2f0e9eb;border-bottom:1px solid #0b0d0c1a;grid-template-columns:1fr auto;width:100%;min-height:66px;padding:0 18px}.site-header--scrolled .nav-shell{border-width:0 0 1px;min-height:62px}.desktop-nav,.nav-cta{display:none}.menu-toggle{z-index:102;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:relative}.menu-toggle span{background:var(--ink);width:20px;height:1px;transition:transform .25s;position:absolute}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}.menu-toggle.is-open span:first-child{transform:rotate(45deg)}.menu-toggle.is-open span:last-child{transform:rotate(-45deg)}.mobile-menu{z-index:99;visibility:hidden;opacity:0;color:var(--paper);background:var(--ink);flex-direction:column;justify-content:space-between;padding:110px 18px 30px;transition:opacity .28s,visibility .28s;display:flex;position:fixed;inset:0}.mobile-menu.is-open{visibility:visible;opacity:1}.mobile-menu nav{border-top:1px solid #f2f0e933}.mobile-menu nav a{letter-spacing:-.04em;border-bottom:1px solid #f2f0e933;grid-template-columns:45px 1fr auto;align-items:center;min-height:80px;font-size:28px;display:grid}.mobile-menu nav a>span{font-family:var(--mono);color:var(--orange);font-size:8px}.mobile-menu>p{font-family:var(--mono);color:#f2f0e980;text-transform:uppercase;margin:0;font-size:8px}.site-header:has(.mobile-menu.is-open) .brand{z-index:101;color:var(--paper);position:relative}.site-header:has(.mobile-menu.is-open) .nav-shell{z-index:101;background:var(--ink);border-color:#0000;position:relative}.site-header:has(.mobile-menu.is-open) .brand-mark{color:var(--ink);background:var(--paper)}.site-header:has(.mobile-menu.is-open) .brand-name b{color:#f2f0e980}.site-header:has(.mobile-menu.is-open) .menu-toggle span{background:var(--paper)}.hero{background-size:42px 42px;padding:116px 0 22px}.hero:before{display:none}.hero-shell{gap:15px}.hero-eyebrow{margin-bottom:32px}.hero h1{font-size:clamp(52px,17.5vw,78px);line-height:.92}.hero-bottom{grid-template-columns:1fr;gap:30px;margin-top:35px}.hero-bottom>p{font-size:14px}.hero-actions{flex-direction:row;align-items:center;gap:22px}.button{gap:16px;min-height:50px;padding:0 16px;font-size:10px}.text-link{font-size:9px}.hero-instrument{width:100%;margin-top:50px}.instrument-card--theory{width:51%;padding:11px}.instrument-card--signal{width:52%}.signal-preview{height:105px}.instrument-caption,.calibration--side{display:none}.hero-foot{gap:15px;margin-top:40px}.hero-foot span:nth-child(2){display:none}.hero-foot>i{display:block}.manifesto{padding:100px 0 110px}.manifesto-grid{gap:50px;margin-top:65px}.manifesto h2,.work-heading h2,.approach-intro h2,.contact h2{font-size:clamp(46px,14vw,70px)}.manifesto-grid p{font-size:13px}.work{padding:95px 0 85px}.work-heading{margin-bottom:55px}.work-heading>div{gap:35px;margin-top:55px}.work-heading>div>p{font-size:13px}.projects-shell{width:100%}.project{margin-bottom:12px}.project-copy{min-height:500px;padding:30px 18px}.project-copy h3{font-size:50px}.project-copy-main>p{font-size:12px}.project-copy li{font-size:6px}.project-media{min-height:490px}.theory-visual{min-height:490px;padding:70px 0 35px 35px}.device-window{width:170%;height:390px;min-height:390px}.window-bar{height:34px}.theory-app{grid-template-columns:82px minmax(350px,1fr);height:calc(100% - 34px)}.theory-sidebar{padding:15px 9px}.pt-mark{margin-bottom:12px}.side-link{padding:7px;font-size:6px}.question-panel{padding:28px}.question-progress{margin-bottom:28px}.question-panel h3{font-size:20px}.floating-stat{top:4%;left:18px}.licence-switcher{bottom:15px;right:12px}.road-sign-card{display:none}.signal-visual{min-height:490px;padding:36px 18px}.signal-hud{min-height:418px}.hud-top{grid-template-columns:1fr auto}.hud-top span:nth-child(2){display:none}.road-scene{width:650px;min-width:650px;transform:translate(-150px)scale(1.02)}.project:hover .road-scene{transform:translate(-150px)scale(1.03)}.detection-box{width:31%;top:22%;right:10%}.hud-readout{width:72%;padding:15px;bottom:12px;right:12px}.hud-readout>strong{font-size:20px}.lab-grid{gap:12px;width:100%;margin-top:12px}.lab-card{min-height:650px;padding:28px 18px}.lab-visual{height:365px;margin:28px 0}.phone{border-radius:24px;width:158px;height:325px;padding:24px 12px 12px}.phone--back{transform:translate(-71px,10px)rotate(-7deg)}.phone--front{transform:translate(68px,-6px)rotate(7deg)}.lab-card:hover .phone--back{transform:translate(-76px,7px)rotate(-9deg)}.lab-card:hover .phone--front{transform:translate(72px,-9px)rotate(5deg)}.phone--back strong{font-size:21px}.wave-chart{height:155px}.spend-ring{width:95px;height:95px;margin:18px auto}.spend-ring:before{width:73px;height:73px}.fieldnote-window{width:590px;min-width:590px;transform:translate(115px)rotate(2deg)}.lab-card:hover .fieldnote-window{transform:translate(110px)rotate(1deg)}.lab-card-copy h3{font-size:48px}.lab-card-copy p{max-width:280px;font-size:11px}.approach{padding:100px 0}.approach-intro{gap:35px;margin:65px 0 90px}.approach-intro>p{font-size:13px}.approach-row{grid-template-columns:34px 1fr 36px;gap:14px;min-height:0;padding:28px 0}.approach-row:hover,.approach-row:focus-visible{padding-inline:8px}.approach-row h3{font-size:24px}.approach-row p{grid-column:2/4;margin-top:5px}.approach-row>i{grid-area:1/3;width:34px;height:34px}.capabilities{padding:100px 0}.capability-grid{gap:60px;margin-top:65px}.capability-grid h2{font-size:46px}.capability-grid li{grid-template-columns:33px 1fr;gap:10px;min-height:104px}.capability-grid li>small{grid-column:2;margin-top:-28px}.capability-grid li>strong{font-size:20px}.principles{padding:35px 0}.principles-grid{grid-template-columns:1fr}.principles article{border-left:0;border-bottom:1px solid var(--line);min-height:260px;padding:28px 10px}.principles article:last-child{border-bottom:0;border-right:0}.principles h3{font-size:32px}.contact{padding:100px 0 80px}.contact h2{margin-top:70px}.contact-bottom{grid-template-columns:1fr;gap:35px;margin-top:70px}.contact-button{justify-self:stretch;width:100%;max-width:none}.site-footer{padding-top:45px}.footer-top{grid-template-columns:1fr auto}.footer-links{display:none}.footer-wordmark{margin-top:80px;font-size:28vw}.footer-bottom{flex-direction:column;gap:9px;margin-top:50px}}@media (width<=480px){.road-scene{transform:translate(-280px)scale(1.02)}.project:hover .road-scene{transform:translate(-280px)scale(1.03)}}@media (width<=360px){.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}}@media (hover:none) and (pointer:coarse){.project:hover .theory-window{transform:rotate(-1deg)}.project:hover .road-scene{transform:scale(1.015)}.lab-card:hover .fieldnote-window{transform:translate(7%)rotate(2deg)}}@media (hover:none) and (pointer:coarse) and (width<=720px){.project:hover .road-scene{transform:translate(-150px)scale(1.02)}.lab-card:hover .phone--back{transform:translate(-71px,10px)rotate(-7deg)}.lab-card:hover .phone--front{transform:translate(68px,-6px)rotate(7deg)}.lab-card:hover .fieldnote-window{transform:translate(115px)rotate(2deg)}}@media (hover:none) and (pointer:coarse) and (width<=480px){.project:hover .road-scene{transform:translate(-280px)scale(1.02)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal],.hero-eyebrow,.hero-line i,.hero-bottom,.hero-instrument{opacity:1;transform:none}.route-progress{stroke-dashoffset:0}}@media (prefers-contrast:more){:root{--line:#0b0d0c73}.hero-bottom>p,.manifesto-grid p,.work-heading>div>p,.project-copy-main>p,.approach-intro>p{color:currentColor;opacity:.85}}
