/* Original nested spatial scene. All content is useful without motion or JavaScript. */
.spatial-section{background:#000;color:#f5f6f7;padding:90px 0 0}.spatial-intro h2{font-weight:300;font-size:clamp(2.5rem,4vw,4.3rem);line-height:1.07;letter-spacing:-.045em;margin:22px 0}.spatial-intro>p:last-child,.spatial-follow p{max-width:610px;color:#aab2b9;font-size:.85rem;line-height:1.8}.spatial-intro{padding-bottom:35px}.spatial-follow{padding-top:28px;padding-bottom:55px}.spatial-follow .text-link{display:inline-block;margin-top:15px}
.spatial-scene{--room:1;--home:1;--sense:1;--control:1;--action:1;--connected:1;--warm:1;--labels:1;background:#0b1218;isolation:isolate;position:relative}
.spatial-pin{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:850px;min-height:640px;overflow:clip;background:radial-gradient(ellipse at 50% 60%,#263a43,#0b1218 75%)}
.spatial-caption{position:relative;z-index:1;padding:28px max(24px,calc((100% - 1100px)/2)) 12px;pointer-events:none}.spatial-caption p{font-size:.62rem;letter-spacing:.16em;color:#bacad1;margin:0 0 15px;line-height:1.5}.spatial-caption h3{font-size:clamp(1.9rem,3.3vw,3.2rem);font-weight:300;line-height:1.13;letter-spacing:-.035em;margin:0;max-width:900px;min-height:1.15em}
.spatial-art{position:relative;min-width:0;min-height:0;overflow:clip;margin:0 20px}.spatial-world{position:absolute;inset:0;display:block;width:100%;height:100%;fill:none;stroke-linecap:round;stroke-linejoin:round;max-width:1300px;margin:auto;overflow:hidden}
.spatial-world .floor{fill:#2e393e;stroke:none}.spatial-room .floor{fill:#3f4240}.spatial-world .walls{stroke:#e7e7de;stroke-width:7;fill:none}.spatial-world .roof{stroke:#b6c1c7;stroke-width:3;fill:none}.spatial-world .furniture{stroke:#c0c8c8;stroke-width:2;fill:#465154}.spatial-world .furniture rect{fill:#536268}.spatial-world .door{stroke:#a0abae;stroke-width:2}.spatial-world .window{stroke:#a1d9e5;stroke-width:4}
.spatial-home{opacity:var(--home)}.spatial-room{opacity:1}.spatial-room>.floor,.spatial-room>.walls,.spatial-room>.door,.spatial-room>.window,.spatial-room>.furniture{opacity:var(--room)}.spatial-person{opacity:1}.spatial-world .shadow{fill:#080e14;opacity:.45;stroke:none}.person-head{fill:#d7c2a7;stroke:#eedfcc;stroke-width:1.5}.person-body{fill:#8faabd;stroke:#c3d5e0;stroke-width:1.4}.person-detail{stroke:#415769;stroke-width:1}.phone{fill:#11242d;stroke:#bcdbe5;stroke-width:1.5}
.spatial-world .device{fill:#152933;stroke:#9dd6e4;stroke-width:2}.spatial-sensor,.sensor-path{opacity:var(--sense)}.spatial-switch,.control-path{opacity:var(--control)}.sensing{stroke:#9bdbdf;stroke-width:2;stroke-dasharray:5 7;fill:none}.spatial-sensor circle{stroke:#b2e2ec;fill:#507480;stroke-width:1.5}.spatial-switch>rect+rect{fill:#a6c6d0;stroke:#d9eff4;stroke-width:1}.spatial-lamp,.action-path,.return-path,.spatial-hub{opacity:var(--action)}.spatial-world .lamp{fill:#e6d3ab;stroke:#ffe8bb;stroke-width:2}.spatial-lamp>path{stroke:#f4d59e;stroke-width:3}.room-light{opacity:var(--warm);stroke:none}.spatial-other-lights .warm{fill:url(#spatial-glow);stroke:none}.spatial-other-lights,.house-path{opacity:var(--connected)}
.signal{stroke:#8ad2e1;stroke-width:3;fill:none;marker-end:url(#spatial-arrow)}.control-path{stroke:#b9e3ef;stroke-dasharray:4 7}.action-path{stroke:#eecb8e}.return-path{stroke:#abcab9;stroke-dasharray:3 7;stroke-width:2}.spatial-hub>circle{stroke:#b6e5ee;stroke-width:1.5}.spatial-hub>path{stroke:#b6e5ee;stroke-width:1.2}
.spatial-annotations{opacity:var(--labels);stroke:none;fill:#eff3ef;font:22px system-ui,sans-serif}.sensor-label{opacity:var(--sense)}.control-label{opacity:var(--control)}.hub-label,.light-label{opacity:var(--action)}
.spatial-footer{padding:18px max(24px,calc((100% - 1100px)/2)) 26px;display:flex;justify-content:space-between;gap:20px;align-items:center;position:relative;z-index:1}.spatial-footer p{margin:0;color:#d1dde3;font-size:.8rem;line-height:1.6;max-width:600px}.spatial-cue{display:none;color:#acbdc6;font-size:.58rem;letter-spacing:.08em;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){.spatial-motion{height:340svh}.spatial-motion .spatial-pin{position:sticky;top:74px;height:calc(100svh - 74px);min-height:0}.spatial-motion .spatial-cue{display:inline}}
@media(max-width:800px){.spatial-section{padding-top:60px}.spatial-intro{padding-bottom:25px}.spatial-caption{padding:23px 20px 10px}.spatial-caption h3{font-size:1.95rem;min-height:2.3em;max-width:380px}.spatial-caption p{font-size:.55rem;letter-spacing:.1em;margin-bottom:12px}.spatial-pin{height:700px;min-height:0}.spatial-art{margin:0 10px}.spatial-footer{padding:15px 20px 22px;flex-wrap:wrap;gap:10px}.spatial-footer p{font-size:.72rem}.spatial-cue{font-size:.5rem}.spatial-annotations{display:none}.spatial-motion .spatial-pin{top:64px;height:calc(100svh - 64px)}.spatial-motion{height:300svh}.spatial-follow p,.spatial-intro>p:last-child{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.spatial-motion{height:auto}.spatial-motion .spatial-pin{position:relative;top:0;height:850px}.spatial-cue{display:none!important}}
@media(max-height:650px),(max-width:800px) and (max-height:700px){.spatial-scene,.spatial-motion{height:auto}.spatial-pin,.spatial-motion .spatial-pin{position:relative;top:0;height:auto;min-height:0;overflow:visible}.spatial-caption{padding-bottom:18px}.spatial-caption h3{min-height:0}.spatial-art{height:440px;flex:none}.spatial-cue{display:none!important}}
/* Preserve the existing homepage figure's available-width correction. */
.engineering-system .system-stage{margin-inline:0}@supports(width:100cqw){.engineering-system{container-type:inline-size}.engineering-system .system-stage{width:100cqw;margin-inline:calc((100% - 100cqw)/2)}}
/* Meaning refinement: visible destinations, direct wall input, confirmed state. */
.spatial-scene{--hub:1;--confirmed:1}
.sensor-output{opacity:var(--hub)}.spatial-hub{opacity:var(--hub)}
.manual-path{opacity:var(--control);stroke:#efd39e;stroke-width:3;stroke-dasharray:none}
.manual-hand{fill:#d7c2a7;stroke:#eedfcc;stroke-width:1.2}.manual-hand>path+path{fill:none;stroke:#9c8165;stroke-width:1}
.spatial-lamp{opacity:var(--control)}.confirmed-state{opacity:var(--confirmed)}.confirmed-state circle{fill:#213e34;stroke:#a7dfbe;stroke-width:2}.confirmed-state path{fill:none;stroke:#bde7cc;stroke-width:2.5}
.spatial-annotations{font-size:18px}.light-label{opacity:var(--control)}.hub-label{opacity:var(--hub)}
.action-path{stroke:#8ad2e1;stroke-width:3;stroke-dasharray:7 4}.return-path{opacity:var(--confirmed);stroke:#a7dfbe}
.spatial-object-key{display:none}
@media(max-width:800px){
 .spatial-pin{grid-template-rows:auto minmax(0,1fr) auto auto}
 .spatial-object-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding:10px 20px 5px;color:#dbe6eb;font-size:.7rem;line-height:1.5;min-height:57px}
 .spatial-object-key span{display:block;position:relative;padding-left:16px}
 .spatial-object-key span:before{content:'';position:absolute;left:0;top:.45em;width:7px;height:7px;border:1px solid #a1d9e5;border-radius:50%}
 .key-sensor{opacity:var(--sense)}.key-control{opacity:var(--control)}.key-hub{opacity:var(--hub)}.key-confirmed{opacity:var(--confirmed);color:#bde7cc}
 .spatial-object-key .key-control:before{border-radius:1px;border-color:#efd39e}.spatial-object-key .key-hub:before{border-radius:2px;background:#47727d}.spatial-object-key .key-confirmed:before{display:none}
 .spatial-art{margin-inline:4px}.spatial-footer{padding-top:12px}
}
