@charset "UTF-8";
:root{--bg:#071512;--ink:#f0f0d9;--mint:#9bdfb4;--orange:#ff9b4b;--line:#264d3c;--muted:#97ae9f;--mono:'Courier New',monospace;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:6px}button{color:inherit}::selection{background:var(--orange);color:var(--bg)}.skip-link{position:fixed;top:-80px;left:24px;z-index:100;padding:14px;background:var(--ink);color:var(--bg)}.skip-link:focus{top:12px}
.header{position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;height:94px;padding:0 4.6%;border-bottom:1px solid var(--line)}.brand{font-size:30px;font-weight:700;letter-spacing:-1.5px;display:flex;align-items:center;gap:9px}.brand svg{width:30px;height:36px;fill:none;stroke:var(--orange);stroke-width:2.4;stroke-linejoin:round}.brand-dot{color:var(--orange)}nav{display:flex;gap:37px;align-items:center;font-size:14px}nav a:hover{color:var(--mint)}nav a span{color:var(--orange);padding-left:8px}.nav-contact{border:1px solid var(--orange);background:var(--orange);color:var(--bg);padding:13px 18px;font-weight:700}.nav-contact span{margin-left:28px}
.journey{height:270svh;min-height:1500px}.stage{height:100svh;min-height:700px;position:sticky;top:0;overflow:hidden;isolation:isolate}.hero-copy{position:absolute;top:140px;left:0;width:100%;text-align:center;z-index:3;will-change:transform,opacity;pointer-events:none}.eyebrow{font:11px/1.6 var(--mono);letter-spacing:1.9px;color:var(--mint);margin:0 0 25px}.status-dot{width:5px;height:5px;display:inline-block;background:var(--orange);vertical-align:middle;margin-right:9px}h1{margin:0 auto;max-width:980px;display:grid;gap:20px;padding:0 28px}.pixel-title{display:block;font-family:var(--mono);font-weight:bold;line-height:1;color:var(--mint)}.pixel-title svg{display:block;width:100%;height:auto;overflow:visible}.second-line{width:82%;margin:auto;color:var(--ink)}.intro{font-size:16px;line-height:1.65;color:#c2d0c4;margin:27px auto 0;letter-spacing:.05px}.maze-shell{position:absolute;inset:auto 0 -70px;width:100%;z-index:1;transform:translate3d(var(--px,0px),var(--py,0px),0);will-change:transform}#maze{display:block;width:min(100%,1440px);margin:auto;overflow:visible}.maze-walls{stroke:#367654;stroke-width:1.5;opacity:.69;vector-effect:non-scaling-stroke}.maze-labels{font:10px var(--mono);letter-spacing:1.5px;fill:#78a88a;opacity:.75}.dot-field{opacity:.55}.ghost-body{fill:var(--bg);stroke:var(--orange);stroke-width:3.5;stroke-linejoin:round;filter:url(#glow)}.ghost-eyes{stroke:#ffa34e;stroke-width:7;stroke-linecap:round;filter:url(#softGlow);transform-box:fill-box;transform-origin:center;animation:blink 6s infinite}.sparkles{stroke:var(--orange);stroke-width:1.5;opacity:.8}.chomp-body{fill:#eac878}.bow{fill:#e593a6}.pellet{fill:#8eaf81;transition:opacity .1s}.nobu-note{position:absolute;left:calc(50% + 115px);top:68%;display:flex;align-items:center;gap:15px;font:14px/1.7 var(--mono);color:var(--orange);z-index:4;transform:rotate(-7deg)}.nobu-note small{font-size:11px;color:var(--muted)}.note-arrow{font-size:34px}.stage-footer{position:absolute;bottom:27px;left:4.6%;right:4.6%;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:5;font:10px var(--mono);letter-spacing:1px}.scroll-cue{display:flex;align-items:center;gap:14px}.scroll-icon{font:22px Arial;border:1px solid var(--line);height:44px;width:35px;display:grid;place-items:center;color:var(--orange)}.small-label{display:block;color:var(--muted);font-size:10px;letter-spacing:0;margin-top:7px}.level-meter{display:flex;align-items:center;gap:15px;color:var(--muted)}.meter{width:85px;height:5px;background:var(--line)}.meter i{display:block;height:100%;width:var(--progress,0%);background:var(--orange)}.motion-toggle{background:var(--bg);border:1px solid var(--line);padding:12px;font:10px var(--mono);letter-spacing:0;color:var(--muted)}.motion-toggle span:first-child{color:var(--ink)}.toggle-dot{width:5px;height:5px;background:var(--mint);margin-left:10px;display:inline-block}.motion-toggle[aria-pressed=true] .toggle-dot{background:var(--muted)}.journey-message{position:absolute;top:19%;left:15%;right:15%;text-align:center;opacity:0;z-index:4;pointer-events:none}.journey-message .eyebrow{display:block;margin-bottom:28px}.journey-message .pixel-title{max-width:760px;margin:auto}
.section-wrap{width:min(1260px,90.8%);margin:0 auto}.build-section{padding:115px 0 125px;border-top:1px solid var(--line)}.build-intro{display:flex;justify-content:space-between;gap:60px;align-items:center}.build-intro h2{font-size:clamp(28px,3.8vw,49px);font-weight:500;letter-spacing:-1.7px;line-height:1.13;margin:0}.build-intro>p{max-width:400px;color:var(--muted);font-size:17px;line-height:1.7;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px}.services>div{border-top:1px solid var(--line);padding-top:26px}.service-icon{color:var(--orange);font:30px var(--mono)}.services h3{font-size:19px;font-weight:500;margin:22px 0 12px}.services p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}
.project-section{padding:95px 0 55px;background:#0d1c16;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.arcade-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.arcade-heading>div{width:min(700px,73%)}.arcade-heading h2{margin:0}.arcade-heading>p{font-size:14px;color:var(--muted);line-height:1.5;margin:0}.demo-note{font:10px/1.6 var(--mono);color:var(--muted);margin:28px 0 50px;letter-spacing:.5px}.cabinets{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:end}.cabinet{--accent:var(--orange);--dark:#69422c;background:transparent;border:0;padding:0;text-align:left;position:relative;transition:transform .25s;transform:translateY(0)}.cabinet.mint{--accent:var(--mint);--dark:#3e634c}.cabinet.lavender{--accent:#b7addc;--dark:#534861}.cabinet:hover,.cabinet:focus-visible{transform:translateY(-12px)}.marquee{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:19px 14px;border:2px solid var(--accent);color:var(--accent);font:bold clamp(12px,1.4vw,18px) var(--mono);letter-spacing:1px;background:var(--bg);box-shadow:0 6px 0 var(--dark);position:relative;z-index:2}.marquee>span{font-size:11px;font-weight:400}.cabinet-body{display:block;margin:0 7px;border-left:3px solid var(--dark);border-right:3px solid var(--dark);border-bottom:3px solid var(--dark);background:#13231b}.monitor-bezel{display:block;padding:20px 16px 24px;box-shadow:inset 8px 0 0 #0003,inset -8px 0 0 #0003}.monitor{height:245px;display:block;position:relative;border:1px solid var(--dark);border-radius:15px;background:#06110d;color:var(--accent);overflow:hidden;padding:17px 13px}.monitor:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0,transparent 3px,#0002 3px,#0002 4px)}.monitor-top{font:8px var(--mono);display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--dark);padding-bottom:11px;white-space:nowrap}.monitor-top>span{font-size:7px}.screen-bottom{position:absolute;bottom:17px;left:0;width:100%;text-align:center;font:8px var(--mono);letter-spacing:1px}.workflow-demo{display:flex;align-items:center;flex-direction:column;margin:18px 0;font:9px var(--mono)}.flow-box{display:block;border:1px solid var(--dark);padding:8px 15px}.flow-box.middle{border-color:var(--accent)}.flow-line{height:12px;border-left:1px solid var(--accent)}.flow-split{display:flex;gap:10px;font-size:7px}.flow-split>span{border:1px solid var(--dark);padding:8px 5px}.chart-demo{display:block;margin:23px 5px;font:9px var(--mono)}.chart-title{letter-spacing:1px}.chart-bars{height:100px;display:flex;gap:7px;align-items:end;margin-top:15px;border-bottom:1px solid var(--dark)}.chart-bars i{flex:1;background:var(--accent);height:var(--bar);opacity:.8;transform-origin:bottom;transition:transform .5s}.chart-bars i:nth-child(3n){opacity:.4}.chart-bars i:nth-child(1){--bar:25%}.chart-bars i:nth-child(2){--bar:40%}.chart-bars i:nth-child(3){--bar:33%}.chart-bars i:nth-child(4){--bar:58%}.chart-bars i:nth-child(5){--bar:45%}.chart-bars i:nth-child(6){--bar:65%}.chart-bars i:nth-child(7){--bar:55%}.chart-bars i:nth-child(8){--bar:83%}.chart-bars i:nth-child(9){--bar:94%}.cabinet:hover .chart-bars i{transform:scaleY(.8)}.chart-axis{display:block;margin-top:7px;text-align:center;opacity:.6}.integration-demo{height:150px;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;font:9px var(--mono)}.system{padding:13px 6px;border:1px solid var(--dark)}.center-system{font:bold 23px var(--mono);padding:15px;color:var(--accent);border-color:var(--accent)}.sync-label{position:absolute;bottom:3px;font-size:8px;letter-spacing:1px}.control-deck{display:flex;position:relative;align-items:center;height:62px;margin:0 -10px;padding:10px 28px;border:2px solid var(--dark);border-top:2px solid var(--accent);background:#203128;transform:perspective(150px) rotateX(12deg);box-shadow:0 6px 0 #08130e}.joystick{position:relative;width:38px;height:18px;background:#071512;border:1px solid var(--dark);border-radius:50%;margin-right:auto;margin-top:12px}.joystick:before{content:'';position:absolute;width:6px;height:21px;background:var(--muted);left:15px;bottom:8px}.joystick:after{content:'';position:absolute;width:23px;height:23px;border-radius:50%;background:var(--accent);left:7px;bottom:23px;box-shadow:inset -4px -4px 0 #0004}.arcade-button{height:22px;width:25px;border-radius:50%;background:var(--accent);border-bottom:4px solid var(--dark);margin-left:12px;box-shadow:0 2px 0 #000}.arcade-button.small{width:20px;height:18px;opacity:.6}.cabinet-base{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:35px 20px 27px;font:10px/1.7 var(--mono);color:var(--accent);background:repeating-linear-gradient(90deg,transparent 0,transparent 5px,#0001 5px,#0001 6px)}.coin-slot{font:8px/1.6 var(--mono);border:1px solid var(--dark);padding:7px 10px;color:var(--ink);white-space:nowrap}.arcade-floor{display:flex;justify-content:space-between;gap:20px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line);font:9px var(--mono);letter-spacing:1px;color:var(--muted)}
.contact-section{padding:120px 0;text-align:center}.contact-section h2{font-size:clamp(40px,6vw,75px);font-weight:500;letter-spacing:-3px;line-height:1.07;margin:0 0 32px}.primary-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 20px;background:var(--orange);border:1px solid var(--orange);color:var(--bg);font:700 14px var(--mono);box-shadow:4px 4px 0 #754c2f}.primary-button:hover{background:#ffb576}.contact-section>p:last-child{font-size:14px;color:var(--muted);line-height:1.8;margin:28px 0 0}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:28px 0}.footer>span{font:9px var(--mono);color:var(--muted);letter-spacing:.6px}.footer .brand{font-size:24px;gap:0}
dialog{width:min(620px,calc(100% - 32px));max-height:85svh;overflow:auto;border:1px solid var(--mint);background:var(--bg);color:var(--ink);padding:42px;box-shadow:8px 8px 0 #234533}dialog::backdrop{background:#020a07dc;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:14px;top:12px;border:1px solid var(--line);background:transparent;width:35px;height:35px}dialog h2{font-size:36px;font-weight:500;letter-spacing:-1px;margin:0 0 20px}dialog>p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--muted)}.project-demo{padding:24px;border:1px solid var(--line);margin-top:25px}.demo-label{font:10px var(--mono);letter-spacing:1px;color:var(--mint)}.project-demo ol{padding-left:24px;line-height:2.2;font-size:14px}.project-demo li.done{color:var(--mint)}.project-demo li.done::marker{content:'✓  '}.project-demo .primary-button{font-size:12px}.project-demo p,#contact-status{font:11px/1.7 var(--mono);color:var(--muted);margin-top:20px}.dialog-footnote{font-size:11px!important}dialog label{display:block;font-size:14px;line-height:1.6;margin-top:25px}textarea{width:100%;display:block;padding:14px;margin:12px 0 22px;background:#0e2017;color:var(--ink);border:1px solid var(--line);resize:vertical;line-height:1.7;font-size:14px}textarea::placeholder{color:#7d9685}button:disabled{opacity:.5;cursor:wait}.motion-off .ghost-eyes{animation:none}.motion-off .maze-shell{transform:none!important}.motion-off .cabinet,.motion-off .chart-bars i{transition:none}
@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@media(min-width:1500px){.hero-copy{top:150px}.maze-shell{bottom:-115px}h1{max-width:1050px}}
@media(max-height:780px) and (min-width:761px){.stage{min-height:630px}.hero-copy{top:115px}h1{max-width:800px;gap:15px}.eyebrow{margin-bottom:20px}.intro{margin-top:22px;font-size:14px}.maze-shell{width:1080px;left:50%;margin-left:-540px;bottom:-100px}.nobu-note{top:66%}}
@media(max-width:1000px){.header{height:80px}nav{gap:22px}.hero-copy{top:140px}h1{max-width:850px}.maze-shell{width:1100px;left:50%;margin-left:-550px;bottom:-70px}.build-intro{gap:35px}.build-intro>p{max-width:350px;font-size:15px}.cabinets{gap:20px}.monitor-bezel{padding:17px 10px}.monitor{padding:15px 8px;height:230px}.monitor-top{font-size:7px}.monitor-top>span{display:none}.cabinet-base{padding:27px 12px;font-size:9px}.coin-slot{font-size:7px;padding:6px}.integration-demo{gap:4px}.system{font-size:8px}.center-system{font-size:18px;padding:12px}.flow-split{font-size:6px;gap:4px}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{height:76px;padding:0 6%}.brand{font-size:25px}.brand svg{width:25px}nav{gap:17px;font-size:12px}nav>a:first-child{display:none}.nav-contact{padding:10px 12px;font-size:12px}.nav-contact span{margin-left:10px}.journey{height:225svh;min-height:1300px}.stage{min-height:660px}.hero-copy{top:126px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:29px}h1{padding:0 6%;gap:14px}.intro{font-size:14px;padding:0 7%;margin-top:27px;line-height:1.7}.maze-shell{width:820px;margin-left:-410px;bottom:4px}.maze-labels{opacity:.4}.dot-field{opacity:.4}.nobu-note{left:calc(50% + 80px);top:64%;font-size:12px;gap:7px}.nobu-note small{font-size:9px}.note-arrow{font-size:25px}.stage-footer{bottom:22px;left:6%;right:6%}.level-meter{display:none}.small-label{display:none}.scroll-cue{font-size:9px;gap:9px}.scroll-icon{height:35px;width:28px}.motion-toggle{padding:9px}.journey-message{left:7%;right:7%;top:23%}.journey-message .eyebrow{font-size:9px}.section-wrap{width:88%}.build-section{padding:75px 0}.build-intro{display:block}.build-intro h2{font-size:34px}.build-intro>p{margin-top:25px;max-width:none}.services{grid-template-columns:1fr;margin-top:40px;gap:28px}.services>div{display:grid;grid-template-columns:45px 1fr;padding-top:22px}.service-icon{grid-row:span 2}.services h3{margin:0 0 10px;font-size:18px}.services p{font-size:14px}.project-section{padding:65px 0 35px}.arcade-heading{display:block}.arcade-heading>div{width:100%}.arcade-heading>p{margin-top:22px}.arcade-heading>p br{display:none}.demo-note{font-size:9px;margin:20px 0 38px;max-width:320px}.cabinets{grid-template-columns:1fr;gap:42px;width:min(365px,100%);margin:auto}.marquee{font-size:17px}.monitor{height:255px;padding:18px}.monitor-top{font-size:9px}.monitor-top>span{display:block;font-size:7px}.workflow-demo{font-size:10px}.flow-split{font-size:8px;gap:12px}.cabinet-base{font-size:11px;padding:30px 22px}.coin-slot{font-size:8px;padding:8px 12px}.system{font-size:10px;padding:12px}.center-system{font-size:24px}.integration-demo{gap:8px}.arcade-floor{font-size:8px;line-height:1.6}.contact-section{padding:85px 0}.contact-section h2{font-size:49px;letter-spacing:-2px}.footer{flex-wrap:wrap;gap:20px}.footer>span{font-size:8px}.footer>span:last-child{width:100%}dialog{padding:34px 22px}dialog h2{font-size:29px}.project-demo{padding:17px}}
@media(max-width:480px){nav>a{display:none}.nobu-note{left:calc(50% + 66px);white-space:nowrap}.nobu-note small{font-size:8px}}
/* A single corridor graph drives both the walls and the chase. */
.maze-shell{transform:none!important;will-change:auto}
.maze-walls{stroke:none;stroke-linecap:butt;stroke-linejoin:round;opacity:1}
.maze-walls .wall-outer{stroke:#254b37;stroke-width:112}
.maze-walls .wall-gap{stroke:var(--bg);stroke-width:108}
.maze-walls .wall-inner{stroke:#367654;stroke-width:100}
.maze-walls .wall-floor{stroke:var(--bg);stroke-width:96}
.maze-labels{font-size:9px;letter-spacing:1px}
#chase-layer{position:fixed;inset:0;width:100%;height:100%;z-index:30;pointer-events:none;overflow:hidden}
#dock-route{stroke:#367654;stroke-width:1;stroke-dasharray:2 7;opacity:0}
#chase-scrollbar{position:fixed;top:var(--rail-top,100px);bottom:var(--rail-bottom,105px);left:calc(var(--rail-x,100vw) - 17px);width:34px;z-index:32;touch-action:none;cursor:ns-resize;opacity:0;transition:opacity .25s;outline-offset:0}
#chase-scrollbar.is-visible,#chase-scrollbar:focus-visible{opacity:1}
.scroll-track{position:absolute;width:3px;left:16px;top:0;bottom:0;background:#264d3c80;border-radius:2px}
.scroll-track i{display:block;width:100%;height:var(--page-progress,0%);background:#9bdfb455}
.scroll-track-label{position:absolute;right:30px;top:0;white-space:nowrap;writing-mode:vertical-rl;font:8px var(--mono);letter-spacing:2px;color:var(--muted);opacity:0;transition:opacity .2s}
#chase-scrollbar:hover .scroll-track-label,#chase-scrollbar:focus-visible .scroll-track-label{opacity:1}
.site-motion{position:fixed;right:35px;bottom:20px;z-index:33;box-shadow:0 0 0 6px var(--bg)}
.stage-footer{right:180px}
.footer{padding-bottom:80px}
.scroll-dragging,.scroll-dragging *{user-select:none;cursor:ns-resize!important}

/* Keep the cabinets intact; make their existing controls feel alive. */
.cabinet.is-powered .monitor{border-color:var(--accent);box-shadow:inset 0 0 24px color-mix(in srgb,var(--accent) 7%,transparent)}
.cabinet .monitor{transition:border-color .2s,box-shadow .2s}
.cabinet .joystick{transition:transform .18s;transform:rotate(var(--stick-angle,0deg));transform-origin:50% 85%}
.cabinet .arcade-button{transition:transform .12s,box-shadow .12s}
.cabinet:active .arcade-button{transform:translateY(3px);box-shadow:none}
.cabinet.is-powered .flow-box,.cabinet.is-powered .flow-split>span{animation:workflow-light 2.7s infinite}
.cabinet.is-powered .flow-box.middle{animation-delay:.7s}
.cabinet.is-powered .flow-split>span{animation-delay:1.4s}
.cabinet.is-powered .chart-bars i{animation:bar-live 2s ease-in-out infinite;animation-delay:calc(var(--i,0)*-.17s)}
.cabinet.is-powered .connector{animation:sync-light 1.3s infinite}
.cabinet.is-powered .connector:nth-of-type(4){animation-delay:.45s}
.cabinet.is-powered .coin-slot{border-color:var(--accent);color:var(--accent)}
@keyframes workflow-light{0%,30%,100%{background:transparent}15%{background:#ff9b4b24;border-color:var(--accent)}}
@keyframes bar-live{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.65)}}
@keyframes sync-light{0%,100%{opacity:.35;transform:translateX(-2px)}50%{opacity:1;transform:translateX(2px)}}

.contact-section .contact-joke{font-size:17px;line-height:1.7;color:var(--muted);margin:-10px 0 37px}
.problem-picker{border:0;padding:0;margin:0 auto;max-width:670px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.problem-picker legend{width:100%;font:10px/1.6 var(--mono);letter-spacing:1px;color:var(--mint);margin-bottom:20px}
.problem-picker button{display:flex;align-items:center;gap:23px;justify-content:space-between;padding:13px 16px;border:1px solid var(--line);background:transparent;font:12px var(--mono);text-align:left;transition:background .18s,border-color .18s}
.problem-picker button span{color:var(--orange);font-size:16px}
.problem-picker button:hover{border-color:var(--mint)}
.problem-picker button[aria-pressed=true]{border-color:var(--orange);background:#ff9b4b0d}
.nobu-answer{max-width:640px;min-height:110px;margin:18px auto 26px;display:flex;justify-content:center;align-items:center;gap:18px}
.nobu-answer svg{height:58px;width:50px;flex-shrink:0;overflow:visible;transform:rotate(-9deg)}
.nobu-answer p{font:13px/1.7 var(--mono);color:var(--mint);max-width:485px;text-align:left}
.nobu-answer.is-listening svg{animation:nobu-nod .5s ease}
@keyframes nobu-nod{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(8deg) translateY(-4px)}}
.motion-off .is-powered *,.motion-off .nobu-answer svg{animation:none!important;transition:none!important}
@media(max-width:760px){.stage-footer{right:135px}.site-motion{right:30px;bottom:20px}.contact-section .contact-joke{font-size:15px}.problem-picker{max-width:420px}.problem-picker button{width:100%;font-size:11px}.nobu-answer{min-height:115px}.nobu-answer p{font-size:11px}.contact-section h2{font-size:43px}.scroll-track-label{display:none}}
@media(max-width:480px){#chase-scrollbar{width:26px;left:calc(var(--rail-x) - 13px)}.scroll-track{left:12px}.site-motion{right:26px}.stage-footer{right:132px}}
/* The cast has its own space; the actual scrollbar remains a separate control. */
.section-wrap{width:min(1260px,calc(100% - 112px))}
#chase-scrollbar{left:calc(var(--rail-x) - 9px);width:18px}
.scroll-track{left:8px;width:2px}
.scroll-track-label{right:18px}
.site-motion{right:29px}
.maze-walls{stroke-linecap:round}
.maze-walls .wall-outer{stroke-width:74}
.maze-walls .wall-gap{stroke-width:70}
.maze-walls .wall-inner{stroke-width:62}
.maze-walls .wall-floor{stroke-width:58}
.maze-labels{font-size:8px;fill:var(--mint);opacity:.8}
.project-section{padding:0}
.project-section>.section-wrap{padding-top:95px;padding-bottom:55px;position:sticky}
.cabinet.has-nobu .marquee{box-shadow:0 6px 0 var(--dark),0 0 20px color-mix(in srgb,var(--accent) 20%,transparent)}
.cabinet.has-nobu .monitor{border-color:var(--accent)}
.cabinet.is-visited .marquee>span:last-child{color:var(--orange);text-shadow:0 0 10px #ff9b4b66}
.cabinet.has-nobu .joystick{transform:rotate(-13deg)}
.nobu-answer>svg{display:none}
.nobu-answer p{text-align:center}
.finale-stage{height:165px;width:min(620px,100%);position:relative;margin:0 auto 28px}
.finale-caption{position:absolute;left:0;top:0;font:9px var(--mono);letter-spacing:2px;color:var(--muted)}
.finale-platform{position:absolute;left:5%;right:5%;top:110px;height:6px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
#power-up{position:absolute;left:50%;top:50px;transform:translateX(-50%);padding:0;background:none;border:0;color:var(--orange);width:64px;height:50px}
#power-up>span{display:block;font:30px var(--mono);text-shadow:0 0 15px #ff9b4b55;animation:power-bob 2s ease-in-out infinite}
#power-up small{font:8px var(--mono);letter-spacing:1px;display:block;margin-top:5px;white-space:nowrap}
#power-up:disabled{opacity:.2;cursor:default}
#finale-status{position:absolute;top:130px;left:0;right:0;font:9px/1.6 var(--mono);color:var(--muted);letter-spacing:.6px}
.finale-stage.is-powered #finale-status{color:var(--mint)}
#nobu.is-powered .ghost-body{stroke:#beffc9;filter:url(#glow);fill:#17432b}
#nobu.is-powered .ghost-eyes{stroke:#beffc9}
#nobu.is-powered{--nobu-stroke:#beffc9;--nobu-fill:#17432b}
.ghost-body{stroke:var(--nobu-stroke,var(--orange));fill:var(--nobu-fill,var(--bg))}
.ghost-eyes{stroke:var(--nobu-stroke,#ffa34e)}
#chaser.is-scared .chomp-body{fill:#7fa8d5}
@keyframes power-bob{50%{transform:translateY(-4px)}}

/* A cabinet opens into a small, usable business tool. */
.solution-dialog{--solution-accent:var(--orange);width:min(900px,calc(100% - 36px));padding:38px;border-color:var(--solution-accent);box-shadow:7px 7px 0 color-mix(in srgb,var(--solution-accent) 25%,var(--bg))}
.solution-dialog>.eyebrow{color:var(--solution-accent);padding-right:25px}
.solution-dialog>.close-dialog{position:sticky;top:0;float:right;margin-top:-19px;margin-right:-19px;z-index:5;background:var(--bg)}
.solution-dialog h2{font-size:34px;margin-bottom:15px}
.solution-dialog>#project-description{max-width:710px;font-size:14px;margin-bottom:26px}
#solution-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:28px}
#solution-tabs button{flex:1;background:transparent;border:1px solid transparent;border-bottom:0;padding:14px 10px;color:var(--muted);font:12px var(--mono)}
#solution-tabs button[aria-selected=true]{border-color:var(--line);background:#14281d;color:var(--solution-accent)}
#solution-panel h3{font-size:24px;font-weight:500;letter-spacing:-.5px;margin:0 0 22px}
.workflow-comparison{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:27px}
.workflow-comparison p{font-size:13px;line-height:1.7;color:var(--muted);margin:0}
.workflow-comparison p span{display:block;font:9px var(--mono);letter-spacing:1px;margin-bottom:9px;color:var(--ink)}
.workflow-comparison p:last-child span{color:var(--solution-accent)}
.solution-console{padding:25px;border:1px solid var(--line);background:#091b12}
.console-label{display:block;font:9px var(--mono);letter-spacing:2px;color:var(--solution-accent);margin-bottom:22px}
.demo-table-wrap{overflow-x:auto;margin:17px 0 24px}
.demo-table-wrap table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}
.demo-table-wrap th{font:9px var(--mono);color:var(--muted);padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.demo-table-wrap td{padding:12px 10px;border-bottom:1px solid #264d3c66;line-height:1.5}
.demo-table-wrap th:first-child,.demo-table-wrap td:first-child{padding-left:0}
.sample-event{border-left:2px solid var(--solution-accent);padding:12px 18px;margin:20px 0;background:#ffffff03;display:grid;gap:9px}
.sample-event>span,.sample-product small{font:9px var(--mono);letter-spacing:1px;color:var(--muted)}
.sample-event strong{font-size:19px;font-weight:500}.sample-event small{font-size:12px;color:var(--muted);line-height:1.5}
.demo-field{display:block;font:12px/1.7 var(--mono);margin:22px 0;color:var(--ink)}
.demo-field select,.demo-field input[type=number]{display:block;width:100%;max-width:420px;border:1px solid var(--line);color:var(--ink);background:var(--bg);padding:12px;margin-top:10px;font:13px Arial}
.demo-field input[type=range]{display:block;accent-color:var(--solution-accent);width:100%;margin:18px 0}
.demo-field output{color:var(--solution-accent);font-weight:bold}
.demo-hint{font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0 23px}
.solution-console .primary-button{font-size:12px;background:var(--solution-accent);border-color:var(--solution-accent);box-shadow:3px 3px 0 #ffffff20;margin:5px 0 0;max-width:100%}
.result-heading{font:10px var(--mono);letter-spacing:1px;color:var(--solution-accent);border-top:1px solid var(--line);padding-top:25px;margin-top:30px}
.result-stats{display:flex;flex-wrap:wrap;gap:28px;margin:24px 0}
.result-stats>div{flex:1;min-width:120px;display:grid;gap:9px;align-content:start}
.result-stats strong{font:24px/1.2 var(--mono);color:var(--solution-accent);overflow-wrap:anywhere}
.result-stats span{font-size:11px;color:var(--muted);line-height:1.5}
#solution-result>p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:0}
.forecast-chart{display:flex;align-items:end;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);margin:20px 0}
.forecast-chart>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:10px;font:12px var(--mono)}
.forecast-chart i{display:block;max-width:65px;width:100%;background:var(--solution-accent);opacity:.55}
.forecast-chart i.forecast-bar{background:repeating-linear-gradient(135deg,#9bdfb422 0,#9bdfb422 4px,transparent 4px,transparent 8px);border:1px dashed var(--solution-accent);opacity:1}
.forecast-chart small{font:8px var(--mono);color:var(--muted)}
.sample-product{display:flex;align-items:center;gap:23px;padding:23px 0}
.sample-product>div{display:grid;gap:10px}.sample-product strong{font-size:24px;font-weight:500}.sample-product span{font-size:12px;color:var(--muted)}
.sample-product .product-drawing{font:65px var(--mono);color:var(--solution-accent);width:80px;text-align:center}
.message-preview{border:1px solid var(--line);padding:22px;margin:20px 0}.message-preview>span{font:9px var(--mono);color:var(--muted)}
.message-preview strong{display:block;font-size:23px;font-weight:500;margin-top:18px}.message-preview p{font-size:13px;line-height:1.7;color:var(--muted)}
.connected-flow{display:flex;flex-direction:column;align-items:center;gap:10px;margin:28px 0;font:12px var(--mono);color:var(--solution-accent)}
.connected-flow>span{border:1px solid var(--line);padding:15px 25px;min-width:240px;text-align:center}.connected-flow>b{font-weight:normal}
.motion-off #power-up>span{animation:none}
@media(max-width:760px){
  .section-wrap{width:calc(100% - 84px)}
  .project-section>.section-wrap{position:relative;top:auto!important;padding-top:65px;padding-bottom:35px}
  .arcade-heading>div{width:100%}.arcade-heading .pixel-title{min-height:15px}
  .solution-dialog{padding:28px 19px}.solution-dialog h2{font-size:27px;padding-right:12px}
  #solution-tabs button{padding:12px 5px;font-size:10px}
  #solution-panel h3{font-size:21px}.solution-console{padding:19px 14px}
  .workflow-comparison{grid-template-columns:1fr;gap:16px}.workflow-comparison p{font-size:12px}
  .result-stats{gap:22px}.result-stats strong{font-size:22px}.demo-table-wrap th{font-size:8px}.demo-table-wrap td{font-size:11px;padding:10px 7px}
  .forecast-chart{gap:10px}.forecast-chart small{font-size:7px}.sample-product .product-drawing{width:50px;font-size:48px}
  .finale-stage{height:165px}.finale-caption{font-size:8px}.nobu-answer{min-height:100px}
}
html:has(body.motion-off){scroll-behavior:auto}
/* One page, one chase: scene geometry follows the actual document layout. */
.project-section>.section-wrap{position:relative}
#arcade-route{stroke:var(--mint);stroke-width:1.5;stroke-dasharray:1 12;stroke-linecap:round;pointer-events:none}
.services>div{transition:border-color .2s}
.services>div.chase-active{border-color:var(--orange)}
.services>div.chase-active .service-icon{color:var(--mint);text-shadow:0 0 12px #9bdfb455}
.problem-picker.chase-active button{border-color:#6c977d}
.cabinet:hover,.cabinet:focus-visible{transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
