/* Scene direction: movement follows input and native scroll. */
.project.reveal{opacity:1;transform:none}
.hero-lab{perspective:1100px}.system-map{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s ease-out;transform-style:preserve-3d}.hero-orbit-caption{display:block;position:absolute;right:0;top:-29px;font-size:7px;letter-spacing:.11em;color:#a3a690}.hero-lab .map-node{animation:node-arrive .9s var(--ease) both}.node-product{animation-delay:.05s!important}.node-system{animation-delay:.18s!important}.node-impact{animation-delay:.3s!important}.node-device{animation-delay:.42s!important}.map-core{animation:core-arrive 1s var(--ease) both}.map-node.selected{background:#fffdf8;box-shadow:7px 9px 0 #e5c1ac}.map-node.selected .node-label{color:var(--accent)}.hero-lab[data-focus=system] .mini-server i:before{background:var(--accent)}.hero-lab[data-focus=impact] .mini-chart i{background:#ce7858}.hero-lab[data-focus=device] .mini-chip i{border-color:#c76b47;background:#f1d3bd}@keyframes node-arrive{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}@keyframes core-arrive{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
.scene-track{min-width:0}.scene-scrubber{height:3px;position:absolute;top:0;left:0;right:0;z-index:8;background:#d6ddcc}.scene-scrubber>i{display:block;background:var(--accent);height:100%;width:100%;transform-origin:left;transform:scaleX(var(--scene-progress,0));transition:transform .12s linear}.has-scroll-scenes .afterchapter .scene-track{height:1100px}.has-scroll-scenes .after-demo{position:sticky;top:118px}.has-scroll-scenes .afterchapter .project-grid{align-items:start}.has-scroll-scenes .afterchapter .project-copy{position:sticky;top:150px}.after-demo{box-shadow:0 22px 60px -40px #52614570}.after-demo .phone-shell{transition:transform .85s var(--ease),left .85s var(--ease),top .85s var(--ease),width .85s var(--ease)}.after-demo[data-view=system] .phone-shell{transform:translateX(-50%) rotate(-9deg) scale(.83)}.after-demo[data-view=widget] .phone-shell{transform:translateX(-50%) rotate(5deg)}.after-demo[data-view=system] .arch-node{box-shadow:5px 7px 0 #cbd6bd55}.after-demo[data-view=system] .arch-node:nth-of-type(2){translate:5px 0}.after-demo[data-view=system] .arch-node:nth-of-type(3){translate:10px 0}.handoff{height:170px}.handoff svg{max-width:440px;width:40%;height:100px}.handoff path{stroke-width:1.5}.handoff circle{r:5}.handoff span{font-size:9px;color:#777f6d}
.race-demo{background:#eee6d9}.race-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 28px 23px}.race-heading h3{font-size:25px;line-height:1.2;letter-spacing:-.7px}.race-heading h3 .serif{font-size:1.3em;color:#977b5b}.race-reduction{font-family:var(--serif);font-size:55px;color:var(--accent);line-height:1;white-space:nowrap}.race-reduction small{display:block;font-family:var(--mono);font-size:6px;letter-spacing:.05em;margin-top:9px;text-align:right;color:#947f67}.race-lanes{padding:0 28px}.race-lane{padding:20px 0;border-top:1px solid #dacdbb}.race-lane-label{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;color:#7f7769}.race-lane-label b{font-size:18px;font-weight:500;color:#655f51}.race-lane-label small{font-family:var(--mono);font-size:7px;font-weight:400;color:#9c8b75}.lane-after .race-lane-label{color:#a45433}.lane-after .race-lane-label b{color:var(--accent)}.race-track{height:2px;background:#d2c3ae;position:relative;margin:22px 5px 15px}.race-traveller{position:absolute;inset:0}.race-traveller i{position:absolute;left:0;top:-5px;display:block;width:12px;height:12px;border-radius:50%;background:#9a8c77;box-shadow:0 0 0 4px #dfd4c555}.lane-after .race-traveller i{background:var(--accent);box-shadow:0 0 0 4px #c84e2c14}.race-finish{position:absolute;right:-5px;top:-9px;background:#eee6d9;border:1px solid #b5a286;display:grid;place-items:center;font-size:11px;line-height:1;width:20px;height:20px;border-radius:50%;color:#8c806c;opacity:.3}.lane-after .race-finish{border-color:#c77a55;color:var(--accent)}.race-lane-note{display:flex;justify-content:space-between;font-family:var(--mono);font-size:6px;letter-spacing:.02em;color:#a49580;gap:15px}.race-note-after{color:#b27853}.race-time-bars{display:grid;grid-template-columns:23px 1fr;gap:6px 8px;align-items:center;padding:0 28px 23px;color:#96856e;font-family:var(--mono);font-size:7px}.time-bar{height:5px;background:#b8a58b;display:block;transform-origin:left}.time-after{background:var(--accent);width:20%}.race-demo .payment-controls{align-items:center;padding:0 28px 28px}.race-demo .payment-controls>p{font-size:9px;color:#9b856c;text-align:right;line-height:1.8}.race-demo .payment-controls>p strong{font-weight:500;color:#876e52}.race-running .race-traveller{animation:race-travel 2.5s linear both}.race-running .lane-after .race-traveller{animation-duration:.5s}.race-running .race-finish{animation:race-finished .2s 2.5s both}.race-running .lane-after .race-finish{animation-delay:.5s}.race-running .time-bar{animation:bar-arrive .7s var(--ease) both}.race-running .time-after{animation-delay:.15s}@keyframes race-travel{from{transform:translateX(0)}to{transform:translateX(calc(100% - 12px))}}@keyframes race-finished{from{opacity:.3;scale:.7}to{opacity:1;scale:1}}@keyframes bar-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hardware-demo[data-weight-state=detected] .light-amber{fill:#d6a255}.hardware-demo[data-weight-state=detected] .signal-wire{stroke-dashoffset:0;stroke:#bda369}.hardware-demo[data-weight-state=detected] .board-led{fill:#d6bd80}.hardware-demo[data-weight-state=detected] .device-state{color:#a3854e}.hardware-demo[data-weight-state=active] .device-state{color:#587944}.hardware-demo[data-weight-state=limit] .light-green{fill:#b5c2ac}.activation-label{display:flex;gap:6px;align-items:center;font-size:9px;color:#829071;margin-top:7px}.activation-label .signal-dot{width:4px;height:4px;background:#8aa56b}.output-rule{margin-top:16px;padding:10px 11px;border:1px solid #ccd6c3;border-radius:3px;font-size:7px;color:#87937e;background:#e2e9df;transition:background .25s,color .25s}.hardware-demo[data-weight-state=active] .output-rule{background:#d7e3cb;color:#5f7949;border-color:#aebf9b}.hardware-demo[data-weight-state=limit] .output-rule{background:#e9d9cc;color:#a0724b;border-color:#d6bda5}.weight-control{position:relative}.weight-control input{background:linear-gradient(90deg,transparent calc(50% - 1px),#82986a calc(50% - 1px),#82986a calc(50% + 1px),transparent calc(50% + 1px))}.hardware-demo .demo-footer{align-items:start}.hardware-demo .demo-footer>span:first-child{max-width:80%}
.motion-off .hero-lab .map-node,.motion-off .map-core{opacity:1;translate:0 0;scale:1}.motion-off .system-map{transform:none!important}.motion-off .race-finish{opacity:1}.motion-off .race-traveller{transform:translateX(calc(100% - 12px))}.motion-off .scene-scrubber{display:none}
@media(min-width:1181px){.project-grid{grid-template-columns:.7fr 1.3fr}.hero-lab{margin-top:15px}.map-core{box-shadow:9px 10px 0 #e3d3be,12px 13px 0 #c4c7b4}.project-demo{border-radius:7px}.after-stage{height:min(500px,calc(100svh - 240px))}.after-demo .phone-shell{width:201px;height:437px;top:24px}}
@media(max-width:1180px){.race-heading{padding:26px 23px 20px}.race-heading h3{font-size:22px}.race-reduction{font-size:48px}.race-lanes{padding-inline:23px}.race-lane-label{font-size:10px}.race-lane-label b{font-size:16px}.race-lane-label small{font-size:6px}.race-time-bars{padding-inline:23px}.race-demo .payment-controls{padding-inline:23px}.race-demo .payment-controls>p{font-size:8px}.race-demo .demo-footer{font-size:6px}.activation-label{font-size:8px}.output-rule{font-size:6px}.has-scroll-scenes .afterchapter .scene-track{height:1020px}.handoff span{font-size:8px}}
@media(max-width:950px) and (min-width:721px){.race-heading{padding:22px 18px 17px;gap:10px}.race-heading h3{font-size:19px}.race-reduction{font-size:42px}.race-reduction small{font-size:5px}.race-lanes{padding-inline:18px}.race-lane-label{font-size:8px;gap:8px}.race-lane-label b{font-size:15px}.race-lane-label small{font-size:5px}.race-lane-note{font-size:5px}.race-time-bars{padding-inline:18px}.race-demo .payment-controls{padding-inline:18px;flex-wrap:wrap}.race-demo .payment-controls>p{text-align:left}.has-scroll-scenes .afterchapter .project-copy{top:130px}.output-rule{font-size:5px}.activation-label{font-size:7px}.hero-orbit-caption{font-size:5px}}
@media(max-width:720px){.hero-orbit-caption{display:none}.has-scroll-scenes .afterchapter .project-grid{display:block}.has-scroll-scenes .afterchapter .project-copy{position:static}.has-scroll-scenes .afterchapter .scene-track{height:1000px;margin-top:30px}.has-scroll-scenes .after-demo{top:94px}.after-demo[data-view=widget] .phone-shell{transform:translateX(-50%) rotate(5deg) scale(.9)}.handoff{height:130px;gap:12px}.handoff svg{width:30%;height:70px}.handoff span{font-size:6px}.race-heading{padding:27px 23px 22px}.race-heading h3{font-size:23px}.race-reduction{font-size:49px}.race-lanes{padding-inline:23px}.race-lane-label{font-size:10px}.race-lane-label b{font-size:17px}.race-lane-label small{font-size:6px}.race-lane-note{font-size:6px}.race-demo .payment-controls{padding-inline:23px}.race-demo .payment-controls>p{font-size:8px}.race-demo .demo-footer{font-size:6px}.output-rule{font-size:6px}.activation-label{font-size:8px}}
@media(max-width:390px){.race-heading{padding-inline:18px;gap:12px}.race-heading h3{font-size:21px}.race-reduction{font-size:43px}.race-reduction small{font-size:5px}.race-lanes{padding-inline:18px}.race-lane-label{font-size:9px}.race-lane-label b{font-size:16px}.race-lane-label small{font-size:5px}.race-lane-note{font-size:5px}.race-time-bars{padding-inline:18px}.race-demo .payment-controls{padding-inline:18px;gap:12px}.race-demo .payment-controls>.button{font-size:9px;gap:12px}.race-demo .payment-controls>p{font-size:7px}.output-rule{font-size:5px}.activation-label{font-size:7px}.has-scroll-scenes .afterchapter .scene-track{height:950px}}
.has-scroll-scenes .afterchapter .scene-track{height:1500px}
@media(max-width:720px){.has-scroll-scenes .afterchapter .scene-track{height:1350px}}
@media(max-height:649px){.scene-track{height:auto!important}.after-demo,.afterchapter .project-copy{position:static!important}.scene-scrubber{display:none}}
@media(prefers-reduced-motion:reduce){.hero-lab .map-node,.map-core{opacity:1;translate:0 0;scale:1}.system-map{transform:none}.race-finish{opacity:1}.race-traveller{transform:translateX(calc(100% - 12px))}.scene-scrubber{display:none}}

/* Replace the two decorative handoffs with a compact chapter break. */
#cobee + #welltech,#welltech + #hardware{margin-top:54px}
@media(max-width:720px){#cobee + #welltech,#welltech + #hardware{margin-top:38px}}
