.live-showroom{background:#eaece5;padding:32px 3.5% 25px;color:#253124}.showroom-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:28px}.showroom-heading .eyebrow{font-size:8px;letter-spacing:.17em;color:#78816f}.showroom-heading h1{font-size:clamp(30px,3.2vw,48px);letter-spacing:-.05em;margin-top:14px}.showroom-tools{display:flex;gap:8px}.showroom-tools button{background:transparent;border:1px solid #c3cabb;color:#475340;padding:10px 14px;border-radius:3px;font-size:11px}.space-nav{display:flex;justify-content:space-between;gap:6px;padding-bottom:20px;overflow-x:auto;scrollbar-width:thin}.space-nav button{border:1px solid transparent;background:none;white-space:nowrap;font-size:11px;color:#77806e;display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:3px}.space-nav button span{font-size:8px;opacity:.6}.space-nav button.active{background:#29362c;color:#eef0e6;border-color:#29362c}.showroom-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:24px}.world-column{min-width:0}.world-shell{position:relative;height:min(670px,66vw);min-height:510px;border-radius:5px;overflow:hidden;background:#1c241f;box-shadow:0 14px 35px #101c1317}.world-canvas{position:absolute;inset:0}.world-canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.world-canvas canvas:active{cursor:grabbing}.world-topline,.world-bottomline{position:absolute;z-index:3;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.world-topline{top:20px;font-size:11px;color:#e1e4d8}.world-topline>span:last-child{font-size:8px;letter-spacing:.1em;border:1px solid #a5bba333;padding:5px 8px;background:#111b1577;border-radius:2px}.world-bottomline{bottom:17px;color:#b6c1ae;font-size:9px}.world-bottomline>span:last-child{font-size:8px;letter-spacing:.1em}.world-view-controls{position:absolute;right:18px;top:58px;z-index:8;display:flex;flex-direction:column;gap:6px}.world-view-controls button{min-width:30px;height:30px;border:1px solid #99ae9b35;border-radius:3px;background:#19261ed9;color:#e3e8db;font-size:16px;backdrop-filter:blur(10px)}.world-view-controls button:last-child{font-size:8px;padding:0 6px}.world-view-controls button[aria-pressed=false]{opacity:.55}.device-markers{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}.device-marker{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:transparent;border:none;padding:5px;color:white;display:flex;align-items:center;gap:7px;white-space:nowrap}.device-marker i{display:grid;place-items:center;font-style:normal;border-radius:50%;width:25px;height:25px;border:1px solid #dee9d78a;background:#354a3990;box-shadow:0 0 0 4px #d7e9ce0c;backdrop-filter:blur(5px);font-size:16px}.device-marker span{font-size:9px;line-height:1.3;background:#152418d9;border:1px solid #d2dfc325;padding:5px 7px;border-radius:2px;box-shadow:0 4px 10px #0002}.device-marker:hover i{background:#b9cda9;color:#1b301e}.device-marker:hover{z-index:10}.hardware-dock{padding:22px;background:#f3f4ee;border:1px solid #d3d9cb;border-radius:5px;align-self:start;box-shadow:0 9px 25px #20351d05}.dock-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.18em;color:#7b876f;margin:2px 0 18px}.hardware-dot{width:5px;height:5px;background:#9caf85;border-radius:50%}.device-tabs{display:flex;gap:4px;border-bottom:1px solid #d9dfd2;padding-bottom:11px}.device-tabs button{border:0;background:transparent;font-size:10px;color:#849177;padding:8px 10px;border-radius:3px;flex:1}.device-tabs button[aria-selected=true]{background:#283c2d;color:#edf1e4}.keypad-zone{min-height:284px;display:flex;align-items:center;justify-content:center;padding:28px 0 17px}.knx-mount{width:215px;perspective:1000px;padding:2px 10px 4px 4px;position:relative}.knx-mount:after{content:'';position:absolute;inset:15% 6% 4% 8%;box-shadow:15px 14px 20px #28342130;border-radius:13px;z-index:0}.knx-keypad{position:relative;z-index:1;padding:12px 9px 8px;background:linear-gradient(95deg,#b7bab2 0%,#f5f5ef 4%,#dfe2da 9%,#f9faf4 29%,#f5f6f0 74%,#d6dad1 95%,#b5bcaf);border-radius:20px 20px 24px 24px;border:1px solid #a9b1a2;box-shadow:inset 0 1px 2px #fff,inset 0 -2px 3px #868f7c85;transition:box-shadow .4s}.knx-display{height:47px;background:linear-gradient(#151c1b,#263130);border:2px solid #707b6e;box-shadow:inset 0 2px 5px #0007;border-radius:8px 8px 4px 4px;color:#dbbd75;padding:5px 10px;display:grid;grid-template-columns:1fr auto;align-items:center;margin:0 6px 9px}.knx-display>span{font-size:6px;letter-spacing:.05em;color:#9b9e77;grid-column:1/-1}.knx-display strong{font-family:monospace;font-size:19px;font-weight:400;line-height:1.1}.knx-display small{font-size:6px;letter-spacing:.08em;color:#a9aa83}.knx-rocker{display:flex;position:relative;height:50px;border:1px solid #b8c0b0;border-radius:5px 5px 8px 8px;margin-top:3px;overflow:hidden;background:linear-gradient(#fbfcf7 3%,#eef0e7 30%,#d8ded0 90%,#bdc6b6);box-shadow:inset 0 1px 1px white,0 2px 2px #9faa9745;transform:perspective(600px) rotateX(-1deg)}.knx-rocker:after{content:'';position:absolute;top:9px;bottom:10px;left:50%;width:1px;background:#b8c3ae66;pointer-events:none}.knx-key{width:50%;background:transparent;border:0;padding:5px 6px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#44553e;box-shadow:inset 0 0 0 transparent;transition:box-shadow .15s,background .15s,transform .15s;min-height:48px}.knx-key:hover{background:#fff6}.knx-key:active,.knx-key.pressed{background:#c8d1be;box-shadow:inset 0 3px 7px #6474534a;transform:translateY(1px)}.key-icon{font-size:16px;line-height:16px;color:#657559;display:block;margin-bottom:3px}.key-label{font-size:7px;line-height:1.15;max-width:82px;white-space:normal}.key-led{position:absolute;width:3px;height:12px;border-radius:1px;top:18px;background:#70805f77}.knx-key:first-child .key-led{left:6px}.knx-key:last-child .key-led{right:6px}.knx-key.is-on .key-led{background:#7eba51;box-shadow:0 0 5px #8dcc5ca0}.keypad-baseline{display:flex;justify-content:space-between;font-size:5px;letter-spacing:.14em;padding:10px 10px 2px;color:#8a9480}.keypad-caption{text-align:center;margin:0 0 16px}.keypad-caption strong{display:block;font-size:10px;font-weight:500;color:#45543e}.keypad-caption button{font-size:8px;background:none;border:0;color:#8b957f;padding:4px}.hardware-hint{font-size:10px;line-height:1.7;color:#77826d;padding:12px 0 17px;border-bottom:1px solid #d9dfd1;min-height:61px}.device-highlight{box-shadow:0 0 0 7px #becfad,0 0 40px #bccfaa}.selected-circuit{padding:18px 0}.selected-circuit label{display:flex;justify-content:space-between;font-size:10px;color:#5b6c50;gap:10px;margin-bottom:14px}.selected-circuit output{color:#839274;font-size:10px;white-space:nowrap}.selected-circuit input[type=range],.rgb-controller input[type=range]{width:100%;height:3px;accent-color:#5b794d;cursor:pointer}.selected-circuit small{font-size:8px;color:#8b967f;display:block;margin-top:11px}.circuit-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.circuit-meter{position:relative;overflow:hidden;text-align:left;border:1px solid #d1d8c9;background:#f1f3eb;display:flex;align-items:center;gap:9px;padding:11px 9px 14px;min-width:0;border-radius:3px;font-size:9px;color:#86917b}.circuit-meter.on{color:#3c5133}.circuit-meter.chosen{border-color:#849776}.circuit-number{width:21px;height:21px;border-radius:50%;border:1px solid #c9d2c0;display:grid;place-items:center;font-size:8px;flex-shrink:0}.circuit-meter.on .circuit-number{background:#d6e1cc;color:#4c6b3f;border-color:#c0d2b2}.circuit-meter small{display:block;font-size:8px;margin-top:2px;color:#8d9981}.circuit-meter i{position:absolute;left:0;bottom:0;width:var(--level);height:2px;background:#9fb78c;transition:width .35s}.world-story{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:28px;padding-bottom:15px}.story-kicker{font-size:8px;letter-spacing:.18em;color:#909a85}.world-story h2{font-size:25px;letter-spacing:-.04em;margin-top:12px;max-width:310px;line-height:1.3}.world-story p{font-size:11px;line-height:1.8;color:#7b876f;padding:6px 0 0 20px;border-left:1px solid #cdd6c4}.showroom-disclaimer{font-size:9px;color:#959f8b;margin:25px 0 0}.room-next{margin-top:22px;padding:13px 14px;width:100%;background:#2d402f;color:#e2e9db;display:flex;justify-content:space-between;border:0;border-radius:3px;font-size:10px}.extra-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.08em}.rgb-controller{border-top:1px solid #d9dfd1;padding:18px 0 0}.physical-power{background:linear-gradient(#f6f8ee,#d9e2cf);border:1px solid #bdcbae;border-radius:50%;height:27px;width:27px;color:#89967b;font-size:15px;box-shadow:0 2px 2px #71886319}.physical-power.on{color:#476b39;box-shadow:0 0 0 3px #c5d5b76b}.rgb-wheel{display:flex;align-items:center;gap:20px;margin:18px 0}.rgb-picker{position:relative;width:93px;height:93px;border-radius:50%;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);padding:5px;box-shadow:0 2px 10px #26332317;flex-shrink:0;cursor:pointer}.rgb-picker:after{content:'';position:absolute;inset:9px;background:var(--rgb);border:7px solid #e6eade;border-radius:50%;pointer-events:none}.rgb-picker input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;border-radius:50%;z-index:2}.rgb-picker span{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:7px;letter-spacing:.1em;text-shadow:0 1px 4px #000;z-index:1;pointer-events:none}.rgb-presets{display:grid;grid-template-columns:repeat(3,25px);gap:9px}.rgb-presets button{height:25px;width:25px;border-radius:50%;background:var(--swatch);border:3px solid #e4e9dc;box-shadow:0 0 0 1px #b8c3ac}.rgb-presets button[aria-pressed=true]{box-shadow:0 0 0 2px #526c45}.rgb-level-label{font-size:9px;display:flex;justify-content:space-between;color:#78876a;margin-bottom:8px}.fingerprint-device{display:flex;align-items:center;justify-content:space-between;padding:18px 0 10px;border-top:1px solid #d9dfd1;gap:10px}.fingerprint-device>div span,.presence-module span:not(.presence-symbol),.boundary-module div>span{font-size:7px;color:#8c9880;letter-spacing:.1em;display:block}.fingerprint-device strong,.presence-module strong,.boundary-module strong{display:block;font-size:12px;font-weight:400;margin-top:5px}.fingerprint-pad{width:64px;height:80px;border:4px solid #283d36;border-radius:9px;background:linear-gradient(#14221e,#314d42);box-shadow:0 4px 9px #1b2c1725,inset 0 0 0 1px #628671;color:#83b69a;padding:8px;position:relative;overflow:hidden}.fingerprint-pad svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.5}.fingerprint-pad.scanning:after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:#d5be67;box-shadow:0 0 12px #cdb654;animation:finger-scan 1.2s infinite}.fingerprint-pad.accepted{color:#99e2ad;border-color:#709d73}.hardware-subnote{font-size:8px;color:#949c8b;margin-top:4px}.presence-module,.boundary-module{display:flex;align-items:center;gap:15px;border-top:1px solid #d9dfd1;padding:18px 0 12px}.presence-symbol{width:36px;height:20px;background:linear-gradient(#fafaf5,#d7ded0);box-shadow:0 2px 5px #61764f30;border:1px solid #bdcab2;border-radius:50%;display:grid;place-items:center;font-size:10px;color:#9aab8a}.presence-symbol.detected{color:#579345;box-shadow:0 0 0 6px #cfddc480}.presence-module small{display:block;font-size:8px;color:#87957a;margin-top:7px;line-height:1.6}.sensor-actions{display:flex;gap:6px}.sensor-actions button{flex:1;background:#e1e7d8;border:1px solid #c8d3bb;color:#596b4b;padding:10px 7px;font-size:9px;border-radius:3px}.beam-symbol{color:#678659;font-size:22px;letter-spacing:0;white-space:nowrap}.boundary-module.alarm strong{color:#bd6545}.boundary-module.alarm .beam-symbol{color:#cb7957}.climate-summary{text-align:center;margin-top:20px;background:#e7eddf;border:1px solid #d2ddc7;border-radius:5px;padding:19px 15px}.climate-status{font-size:7px;letter-spacing:.13em;color:#97a688}.climate-status.running{color:#639387}.climate-summary strong{display:block;font:400 50px/1.3 var(--title);color:#496146;letter-spacing:-.04em}.climate-summary sup{font-size:18px}.climate-summary>span:last-of-type{font-size:7px;letter-spacing:.07em;color:#8a997c}.airflow-bars{display:flex;justify-content:center;gap:11px;height:25px;margin-top:10px;opacity:.2}.airflow-bars i{height:18px;width:2px;border-radius:50%;background:#77ac9c;transform:skew(-20deg)}.airflow-bars.moving{opacity:.7}.airflow-bars.moving i{animation:air-stream 1.2s infinite}.airflow-bars.moving i:nth-child(2){animation-delay:.2s}.airflow-bars.moving i:nth-child(3){animation-delay:.4s}.graphics-status{position:absolute;left:20px;right:20px;bottom:50px;background:#202f23e6;color:#d6e1ca;border:1px solid #7b956a;padding:14px;font-size:10px;z-index:9}.graphics-status strong,.graphics-status span{display:block}.graphics-status span{margin-top:7px;color:#aabb9b}.circuit-fallback{height:100%;display:grid;place-items:center}.circuit-fallback svg{width:100%;height:auto;max-height:100%}.world-notice{position:absolute;top:50px;left:20px;background:#bc9574e8;color:#222b20;padding:12px;font-size:11px}.tour-strip{display:flex;align-items:center;gap:20px;background:#dbe4d1;border:1px solid #c1d0b4;padding:16px;margin-top:15px}.tour-strip>span{font-size:8px;white-space:nowrap;color:#6d865a}.tour-strip p{font-size:10px;color:#6d7e5d;flex:1}.tour-strip button{border:0;background:#577244;color:white;padding:10px;font-size:10px;white-space:nowrap}.mini-showroom{height:600px;position:relative;border-radius:4px;overflow:hidden;background:#1c241f}.mini-caption{position:absolute;left:25px;top:23px;color:#d0dac3;font-size:9px;letter-spacing:.12em;z-index:3}.mini-scenes{position:absolute;bottom:25px;left:25px;display:flex;gap:4px;background:#16291ccd;padding:5px;border:1px solid #748b6155;border-radius:4px;backdrop-filter:blur(12px)}.mini-scenes button{background:transparent;border:0;color:#b8c6a9;font-size:11px;padding:10px 17px;border-radius:2px}.mini-scenes button.active{background:#d7e0ca;color:#263522}.mini-expand{position:absolute;bottom:31px;right:25px;font-size:11px;color:#d2dfc4;border-bottom:1px solid #cad5bf77;padding-bottom:4px}.doorphone-hardware{height:230px;background:linear-gradient(#23362b,#455443);border:12px solid #252a23;border-radius:12px;color:#d9e1cd;padding:15px;font-size:9px;text-align:center;box-shadow:0 9px 22px #203c2619}.visitor-outline{font-size:95px;line-height:1.5}.doorphone-hardware strong{font-size:12px;display:block}
@keyframes finger-scan{0%{top:0}100%{top:100%}}@keyframes air-stream{0%{transform:translateY(-3px) skew(-20deg);opacity:.2}50%{opacity:1}100%{transform:translateY(5px) skew(-20deg);opacity:.15}}
@media(min-width:1700px){.showroom-layout{grid-template-columns:minmax(0,1fr) 350px}.world-shell{height:760px}.keypad-zone{padding-top:35px;padding-bottom:25px}.knx-mount{width:240px}.knx-rocker{height:55px}.knx-key{min-height:53px}.key-label{font-size:8px}.keypad-zone{min-height:325px}}
@media(max-width:1100px){.showroom-layout{grid-template-columns:minmax(0,1fr) 285px;gap:16px}.hardware-dock{padding:17px}.world-shell{height:580px;min-height:0}.space-nav button{padding:10px;font-size:10px;gap:6px}.circuit-readout{grid-template-columns:repeat(2,1fr)}.world-story{grid-template-columns:1fr;gap:16px}.world-story p{padding:0;border:0}.showroom-heading h1{font-size:37px}.device-marker span{font-size:8px;max-width:100px;white-space:normal}}
@media(max-width:850px){.showroom-layout{grid-template-columns:minmax(0,1fr) 260px;gap:13px}.live-showroom{padding:27px 3%}.hardware-dock{padding:14px}.world-shell{height:570px}.device-marker span{display:none}.device-marker:hover span,.device-marker:focus-visible span{display:block}.knx-mount{width:208px}.hardware-hint{font-size:9px}.device-tabs button{padding:8px 5px}.mini-showroom{height:540px}.tour-strip{flex-wrap:wrap}.tour-strip p{min-width:100%}.circuit-meter{font-size:8px}.circuit-number{width:17px;height:17px;font-size:7px}.world-topline{left:15px;right:15px;font-size:10px}.world-bottomline{left:15px;right:15px;font-size:8px}.world-bottomline span:last-child{display:none}}
@media(max-width:640px){.live-showroom{padding:25px 5%}.showroom-heading{align-items:start;flex-direction:column;gap:17px;margin-bottom:19px}.showroom-heading h1{font-size:35px}.showroom-heading .eyebrow{font-size:6.8px}.showroom-tools button{padding:8px 12px;font-size:10px}.space-nav{margin-right:-5.5%;padding-bottom:15px;justify-content:start}.space-nav button{padding:10px 12px}.showroom-layout{grid-template-columns:1fr;gap:22px}.world-shell{height:485px}.world-view-controls{right:12px;top:53px}.world-view-controls button{height:30px}.device-marker i{width:28px;height:28px}.circuit-readout{grid-template-columns:repeat(3,1fr);gap:6px}.circuit-meter{padding:10px 6px;gap:5px;font-size:8px;line-height:1.3}.circuit-meter small{font-size:7px;margin-top:4px}.circuit-number{width:16px;height:16px;min-width:16px}.world-story{margin-top:21px;gap:10px}.world-story h2{font-size:25px;max-width:100%}.world-story p{font-size:11px}.hardware-dock{padding:23px}.keypad-zone{padding:28px 0 22px}.knx-mount{width:260px}.knx-display{height:52px}.knx-display>span{font-size:7px}.knx-display strong{font-size:22px}.knx-display small{font-size:7px}.knx-rocker{height:59px}.knx-key{min-height:57px}.key-label{font-size:9px;max-width:103px}.key-icon{font-size:19px;margin-bottom:5px}.key-led{height:15px;top:21px;width:3px}.keypad-baseline{font-size:6px}.device-tabs button{padding:10px;font-size:12px}.dock-heading{font-size:9px}.keypad-caption strong{font-size:12px}.keypad-caption button{font-size:10px}.hardware-hint{font-size:11px;min-height:0;padding-bottom:20px}.selected-circuit label{font-size:12px}.selected-circuit small{font-size:10px}.selected-circuit output{font-size:12px}.selected-circuit input[type=range],.rgb-controller input[type=range]{height:5px}.room-next{font-size:12px;padding:16px}.rgb-wheel{gap:30px;justify-content:center}.rgb-picker{width:112px;height:112px}.rgb-presets{grid-template-columns:repeat(3,30px);gap:12px}.rgb-presets button{height:30px;width:30px}.extra-heading{font-size:10px}.rgb-level-label{font-size:11px}.sensor-actions button{font-size:11px;padding:13px}.fingerprint-device>div span,.presence-module span:not(.presence-symbol),.boundary-module div>span{font-size:9px}.fingerprint-device strong,.presence-module strong,.boundary-module strong{font-size:14px}.presence-module small{font-size:10px}.hardware-subnote{font-size:9px}.mini-showroom{height:490px}.mini-scenes{left:15px;right:15px;bottom:54px;justify-content:space-between}.mini-scenes button{font-size:10px;padding:10px 12px;flex:1}.mini-expand{bottom:19px;right:20px;font-size:10px}.mini-caption{font-size:7px;left:18px;top:20px}.climate-summary strong{font-size:57px}.climate-status{font-size:9px}.climate-summary>span:last-of-type{font-size:9px}.showroom-disclaimer{font-size:8px;line-height:1.7}.circuit-fallback svg{height:100%}.graphics-status{left:13px;right:13px;font-size:9px}.tour-strip{gap:10px}.tour-strip p{font-size:11px}.tour-strip button{font-size:11px}.world-canvas canvas{touch-action:none}}
@media(prefers-reduced-motion:reduce){.fingerprint-pad.scanning:after,.airflow-bars.moving i{animation:none}.circuit-meter i,.knx-keypad,.knx-key{transition:none}}



/* Residence edition: architectural framing, warm neutrals and quieter controls. */
.live-showroom{background:#eeeae2;padding:29px 3% 26px;color:#302f28}.showroom-heading{margin-bottom:22px}.showroom-heading .eyebrow{color:#938774;font-size:8px;letter-spacing:.2em}.showroom-heading h1{font-size:clamp(30px,3.05vw,48px);font-weight:400;letter-spacing:-.05em}.showroom-heading h1 em{color:#7c765e}.showroom-tools button{border-color:#d4cbbb;color:#746b59;background:#f5f1e955}.space-nav{padding-bottom:17px;gap:3px}.space-nav button{color:#847a68;font-size:10px;padding:10px 13px;gap:8px}.space-nav button.active{background:#373e33;border-color:#373e33;color:#f5f0e5}.showroom-layout{grid-template-columns:minmax(0,1fr) 294px;gap:19px}.world-shell{height:clamp(540px,43vw,700px);min-height:540px;border-radius:3px;box-shadow:0 16px 40px #40352215;background:#34362f}.world-shell:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#0e171a55,transparent 18%,transparent 82%,#11181580);z-index:2}.world-topline{top:23px;left:25px;right:25px;color:#faf5e9;text-shadow:0 1px 8px #0008;font-size:12px;letter-spacing:.02em}.world-topline>span:last-child{border-color:#eee3c533;background:#25282066;color:#ddd7c9;font-size:7px;letter-spacing:.18em;padding:7px 9px}.world-bottomline{left:25px;right:25px;bottom:21px;color:#e7e1d2;font-size:9px}.camera-views{position:absolute;left:23px;top:58px;z-index:7;display:flex;padding:3px;background:#232a2380;border:1px solid #e6dfcf30;backdrop-filter:blur(14px);border-radius:4px}.camera-views button{border:0;background:transparent;color:#e3ddd0;font-size:9px;padding:8px 13px;border-radius:2px}.camera-views button[aria-pressed=true]{background:#eee6d4;color:#343e32;box-shadow:0 2px 5px #0001}.world-view-controls{top:60px;right:23px;gap:5px}.world-view-controls button{background:#2830288c;border:1px solid #eee3c52e;color:#f7f0df;border-radius:3px;min-width:35px;height:35px;box-shadow:0 2px 9px #0001}.world-view-controls button:nth-last-child(-n+2){font-size:7px;padding:0 5px;letter-spacing:.04em}.world-view-controls button[aria-pressed=false]{opacity:.75}.world-view-controls button[data-ui=daylight][aria-pressed=true]{background:#eee6d4;color:#343e32}.device-marker{gap:7px}.device-marker i{width:23px;height:23px;font-size:13px;background:#292d2488;border:1px solid #f9efd07a;box-shadow:0 0 0 5px #f4e6c50c}.device-marker span{opacity:0;max-width:0;overflow:hidden;padding:0;border:0;transition:opacity .18s;font-size:9px;background:#252c24e8;color:#f4efdf;box-shadow:none}.device-marker:hover span,.device-marker:focus-visible span{opacity:1;max-width:150px;padding:7px 9px;border:1px solid #eee2c530}.device-marker:hover i{background:#e9dec8;color:#3c4434}.hardware-dock{background:#f7f4ed;border-color:#dad2c3;border-radius:3px;padding:21px}.dock-heading{color:#9d9079;font-size:7px;letter-spacing:.19em}.hardware-dot{background:#ac9b75}.device-tabs{border-color:#e0d7c8}.device-tabs button{color:#8d8069}.device-tabs button[aria-selected=true]{background:#3d4638;color:#f4ebd8}.keypad-zone{padding-top:29px;min-height:278px}.keypad-caption strong{color:#5f5d4c}.keypad-caption button{color:#a1967f}.hardware-hint{color:#918775;border-color:#e0d7c8;font-size:9px}.selected-circuit label{color:#6d6656}.selected-circuit output,.selected-circuit small{color:#a0917a}.selected-circuit input[type=range],.rgb-controller input[type=range]{accent-color:#8e825e}.circuit-readout{gap:7px;margin-top:12px;grid-template-columns:repeat(6,1fr)}.circuit-meter{display:block;background:#f5f1e8;border-color:#dcd4c6;color:#aaa08c;font-size:8px;padding:12px 10px;min-height:79px;line-height:1.5}.circuit-number{width:auto;height:auto;display:block;border:0;border-radius:0;margin-bottom:5px;font-size:7px;letter-spacing:.1em;color:#a39780}.circuit-meter.on{color:#68614e}.circuit-meter.on .circuit-number{background:none;border:0;color:#a88c58}.circuit-meter.chosen{border-color:#b29e72;background:#f7f2e5}.circuit-meter small{font-size:7px;color:#b4a286}.circuit-meter i{background:#b79e6a}.world-story{margin-top:26px;gap:30px}.story-kicker{color:#b0a18a;font-size:7px}.world-story h2{font-weight:400;font-size:25px;color:#4d5140}.world-story p{color:#958972;border-color:#d9cebb;font-size:10px}.showroom-disclaimer{color:#ad9f89;font-size:8px;line-height:1.8}.asset-credit{border:0;background:none;color:#8d8068;text-decoration:underline;text-underline-offset:3px;font-size:inherit;margin-left:5px;cursor:pointer}.room-next{background:#3c4738;color:#f0eadb}.rgb-controller,.fingerprint-device,.presence-module,.boundary-module{border-color:#e0d7c8}.mini-showroom .device-markers{display:none}.mini-showroom{background:#34362f}.mini-caption{background:#2630256b;padding:7px 10px;color:#f3e7cf;border:1px solid #d5c2a128;border-radius:2px}
@media(min-width:1700px){.showroom-layout{grid-template-columns:minmax(0,1fr) 320px}.world-shell{height:760px}.space-nav button{font-size:12px}.circuit-meter{font-size:10px}}
@media(max-width:1200px){.showroom-layout{grid-template-columns:minmax(0,1fr) 265px;gap:15px}.hardware-dock{padding:16px}.world-shell{height:580px;min-height:0}.circuit-readout{grid-template-columns:repeat(3,1fr)}.circuit-meter{display:flex;gap:8px;align-items:center;min-height:52px;padding:10px}.circuit-number{margin:0}.space-nav{justify-content:start}.space-nav button{padding:10px 11px}.world-story{grid-template-columns:1fr;gap:12px}.world-story p{padding:0;border:0}}
@media(max-width:850px){.showroom-layout{grid-template-columns:minmax(0,1fr) 240px;gap:12px}.hardware-dock{padding:13px}.knx-mount{width:200px}.world-shell{height:530px}.camera-views{left:15px;top:53px}.camera-views button{font-size:8px;padding:7px 10px}.world-view-controls{right:15px;top:53px}.world-topline,.world-bottomline{left:16px;right:16px}.world-topline{font-size:10px}.device-marker span{display:none}.device-marker:hover span,.device-marker:focus-visible span{display:block}.circuit-meter{font-size:7px}}
@media(max-width:640px){.live-showroom{padding:24px 5%}.showroom-heading{gap:15px}.showroom-heading h1{font-size:33px;line-height:1.13;max-width:310px}.showroom-heading .eyebrow{font-size:6.5px;line-height:1.7}.showroom-layout{grid-template-columns:1fr;gap:22px}.showroom-tools button{font-size:9px}.world-shell{height:480px;border-radius:3px}.world-topline{top:19px}.world-topline>span:last-child{font-size:6px}.world-view-controls button{height:33px;min-width:32px}.world-bottomline{font-size:8px;bottom:16px}.camera-views{top:52px}.world-view-controls{top:52px}.circuit-meter{font-size:8px;padding:11px 7px;gap:7px;min-height:58px}.circuit-number{font-size:7px}.world-story h2{font-size:25px}.world-story p{font-size:11px}.hardware-dock{padding:25px}.keypad-zone{min-height:320px;padding:27px 0}.knx-mount{width:260px}.hardware-hint{font-size:11px}.dock-heading{font-size:9px}.selected-circuit label{font-size:12px}.selected-circuit small{font-size:10px}.showroom-disclaimer{font-size:8px}.mini-showroom{height:450px}}
@media(prefers-reduced-motion:reduce){.device-marker span{transition:none}}

/* Composed room views: more horizontal space and less visual chrome. */
.live-showroom{background:#eeece7;padding:25px 2.6% 24px}.showroom-heading{margin-bottom:18px}.showroom-heading h1{font-size:clamp(28px,2.6vw,41px);margin-top:10px}.showroom-heading .eyebrow{font-size:7px;color:#9b9385}.showroom-tools button{border-color:#d4d0c5;color:#7d776c}.space-nav{padding-bottom:15px}.space-nav button{font-size:10px;padding:9px 12px}.showroom-layout{grid-template-columns:minmax(0,1fr) 269px;gap:18px}.world-shell{height:clamp(490px,39vw,660px);min-height:490px;box-shadow:0 18px 42px #27292212}.world-shell:after{background:linear-gradient(180deg,#10181745,transparent 15%,transparent 88%,#0b15165c)}.world-topline{top:20px;font-size:11px;letter-spacing:.025em}.camera-views{left:24px;top:53px;background:#2027229c;border-color:#ddd9cc2b}.camera-views button{padding:8px 12px;font-size:8px;letter-spacing:.025em}.camera-views button[aria-pressed=true]{background:#f0ede4;color:#3d4036}.world-view-controls{top:54px;right:21px}.world-view-controls button{height:31px;min-width:31px}.world-view-controls button:nth-last-child(-n+2){font-size:6.5px}.device-marker i{width:20px;height:20px;box-shadow:0 0 0 4px #f4e6c50a;font-size:12px}.hardware-dock{padding:18px;background:#f6f4ee;border-color:#d9d4c9}.knx-mount{width:204px}.keypad-zone{padding:24px 0 12px;min-height:264px}.hardware-hint{padding:10px 0 14px;min-height:56px}.keypad-caption{margin-bottom:12px}.selected-circuit{padding:15px 0}.circuit-meter{min-height:64px;padding:10px;font-size:8px}.world-story{margin-top:20px}.world-story h2{font-size:22px}.world-story p{font-size:10px}.room-next{margin-top:17px}.showroom-disclaimer{margin-top:20px}
@media(min-width:1550px){.showroom-layout{grid-template-columns:minmax(0,1fr) 294px}.world-shell{height:710px}.knx-mount{width:222px}.hardware-dock{padding:23px}}
@media(max-width:1050px){.showroom-layout{grid-template-columns:minmax(0,1fr) 243px;gap:12px}.world-shell{height:510px;min-height:0}.hardware-dock{padding:13px}.camera-views{left:17px}.camera-views button{padding:8px 9px;font-size:8px}.world-view-controls{right:16px}.knx-mount{width:195px}}
@media(max-width:760px){.showroom-layout{grid-template-columns:1fr;gap:20px}.live-showroom{padding:24px 4%}.world-shell{height:450px}.hardware-dock{padding:24px}.knx-mount{width:246px}.keypad-zone{min-height:310px}.hardware-hint{font-size:11px}.showroom-heading h1{font-size:32px}.camera-views button{font-size:9px;padding:9px 12px}.circuit-readout{grid-template-columns:repeat(3,1fr)}.circuit-meter{font-size:9px;min-height:55px}.world-story h2{font-size:25px}.world-story p{font-size:11px}.world-topline{left:18px;right:18px}.world-view-controls button{height:33px;min-width:34px}.world-view-controls button:nth-last-child(-n+2){font-size:7px}}
@media(max-width:440px){.world-shell{height:415px}.camera-views{left:14px;top:51px}.camera-views button{font-size:8px;padding:8px 9px}.world-view-controls{right:13px;top:51px}.world-topline{font-size:10px}.world-topline>span:last-child{font-size:6px}.world-story{margin-top:18px}.world-story h2{font-size:23px}.circuit-meter{font-size:8px}}

/* Phone console: one visible room, with its own scrollable control panel.
   Keep this query aligned with setupPhoneLayout in showroom.mjs. */
.mobile-demo-label,.mobile-view-toggle,.mobile-action-status,.mobile-room-details,.mobile-circuit-picker,.mobile-controls-tip{display:none}
@media(max-width:640px),(max-width:960px) and (max-height:500px) and (pointer:coarse){
  body.showroom-open{height:100vh;height:100dvh;overflow:hidden}
  .showroom-open .site-header{height:56px;padding:0 16px;gap:12px}
  .showroom-open .wordmark span{font-size:12px}
  .showroom-open .wordmark small{font-size:5px}
  .showroom-open .wordmark svg{width:28px;height:28px}
  .showroom-open .header-cta,.showroom-open .desktop-nav{display:none}
  .showroom-open .menu-toggle{display:block;width:44px;height:44px;margin-left:auto;padding:9px}
  .showroom-open .mobile-nav{top:56px;max-height:calc(100dvh - 56px);overflow-y:auto;overscroll-behavior:contain;padding:12px 6% 24px}
  .showroom-open .mobile-nav a{font-size:20px;padding:10px 0}
  .showroom-open #main,.showroom-open #live-experience{height:calc(100% - 56px);min-height:0}
  .showroom-open #live-experience{height:100%}
  .live-showroom{height:100%;min-height:0;display:flex;flex-direction:column;padding:0 10px max(8px,env(safe-area-inset-bottom));gap:4px}
  .showroom-heading{flex-direction:row;align-items:center;flex:none;gap:8px;margin:0;min-height:44px}
  .showroom-heading>div:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .mobile-demo-label{display:block;font-size:12px;letter-spacing:.02em;color:#777462;white-space:nowrap}
  .showroom-tools{margin-left:auto;gap:4px}
  .showroom-tools button{min-height:44px;padding:0 9px;font-size:10px;border:0}
  .showroom-tools button:last-child{min-width:44px;font-size:15px;padding:0}
  .space-nav{flex:none;min-height:44px;margin:0;padding:0;gap:4px;scrollbar-width:none;overscroll-behavior-x:contain;justify-content:start}
  .space-nav::-webkit-scrollbar{display:none}
  .space-nav button{min-height:44px;padding:8px 14px;font-size:11px;gap:7px}
  .showroom-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,min(300px,60%));gap:8px}
  .world-column{min-height:0}
  .world-shell{height:100%;min-height:0;box-shadow:none;border-radius:5px}
  .world-canvas canvas{touch-action:none}
  .world-topline{left:12px;right:100px;top:14px;font-size:11px}
  .world-topline>span:last-child{display:none}
  .mobile-view-toggle{display:block;position:absolute;z-index:9;top:2px;right:5px;min-height:44px;min-width:82px;border:0;background:transparent;color:#f3eddf;font-size:10px;border-radius:4px}
  .mobile-view-toggle[aria-expanded=true]{background:#eee9dc;color:#343e32}
  .camera-views{left:9px;top:44px;padding:2px;max-width:calc(100% - 18px)}
  .camera-views button{min-height:44px;padding:5px 11px;font-size:10px}
  .world-view-controls{display:none;top:auto;bottom:8px;left:8px;right:8px;flex-direction:row;gap:4px;padding:5px;border:1px solid #d8d1bf40;border-radius:5px;background:#1f2b24f5;z-index:10}
  .view-tools-open .world-view-controls{display:flex}
  .world-view-controls button{height:44px;min-width:44px;flex:1;font-size:19px}
  .world-view-controls button:nth-last-child(-n+2){font-size:10px;padding:0 6px}
  .world-bottomline{bottom:8px;left:10px;right:10px;font-size:10px;line-height:1.4}
  .desktop-view-hint{display:none}
  .mobile-action-status{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;padding:4px 7px;border-radius:3px;background:#15231bd9;color:#f1ecdf}
  .view-tools-open .world-bottomline{visibility:hidden}
  .device-marker{min-width:44px;min-height:44px;justify-content:center;padding:7px}
  .device-marker i{width:26px;height:26px;font-size:15px}
  .device-marker span{display:none!important}
  .hardware-dock{height:100%;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior-y:contain;scroll-padding-top:56px;scrollbar-width:thin;align-self:stretch;padding:0 10px 14px;border-radius:6px;background:#f6f4ee}
  .dock-heading{display:none}
  .device-tabs{position:sticky;top:0;z-index:12;min-height:49px;padding:2px 0;background:#f6f4ee;border-bottom:1px solid #e0d7c8;gap:4px}
  .device-tabs button{min-width:0;min-height:44px;padding:5px 8px;font-size:12px}
  .keypad-zone{min-height:0;padding:7px 0 4px}
  .knx-mount{width:min(100%,290px);padding:0 5px 0 0}
  .knx-keypad{padding:6px 9px 5px;border-radius:16px 16px 19px 19px}
  .knx-mount:after{box-shadow:9px 7px 12px #28342120}
  .knx-display{height:30px;margin:0 3px 5px;padding:3px 9px;grid-template-columns:1fr auto;border-radius:6px 6px 3px 3px}
  .knx-display>span{font-size:7px;grid-column:auto;grid-row:1}
  .knx-display strong{grid-column:2;grid-row:1 / 3;font-size:17px}
  .knx-display small{grid-column:1;grid-row:2;font-size:7px}
  .knx-rocker{height:46px;margin-top:3px}
  .knx-key{min-height:44px;padding:5px 14px;gap:5px;flex-direction:row}
  .key-icon{font-size:16px;line-height:18px;margin:0}
  .key-label{font-size:10px;line-height:1.2;max-width:102px}
  .key-led{top:16px;width:3px;height:14px}
  .keypad-baseline{padding:4px 8px 0;font-size:6px}
  .keypad-caption{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;min-height:32px}
  .keypad-caption strong{display:none}
  .mobile-controls-tip{display:inline;font-size:10px;color:#8b816d}
  .keypad-caption button{font-size:10px;min-height:32px;padding:3px 8px}
  .hardware-hint{font-size:11px;line-height:1.6;min-height:0;padding:8px 0 10px}
  .selected-circuit{padding:12px 0}
  .selected-circuit label{align-items:center;gap:10px;margin-bottom:8px;font-size:12px}
  .desktop-circuit-name{display:none}
  .mobile-circuit-picker{display:block;min-width:0;max-width:calc(100% - 48px);min-height:44px;border:1px solid #d5cebf;background:#f4f0e6;color:#5c604f;border-radius:4px;padding:8px;font:inherit}
  .selected-circuit input[type=range],.rgb-controller input[type=range]{height:32px;margin:0;touch-action:pan-y}
  .selected-circuit small{font-size:10px;margin-top:2px}
  .room-next{margin-top:14px;padding:12px 14px;font-size:12px;min-height:44px}
  .mobile-room-details{display:block;margin-top:14px;border-top:1px solid #ddd6c8}
  .mobile-room-details summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;cursor:pointer;list-style:none;font-size:12px;color:#716b5b}
  .mobile-room-details summary:after{content:'+';font-size:20px}
  .mobile-room-details[open] summary:after{content:'−'}
  .mobile-room-details summary::-webkit-details-marker{display:none}
  .circuit-readout{margin-top:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .circuit-meter{font-size:10px;min-height:50px}
  .world-story{margin:14px 0 0;gap:8px}
  .world-story h2{font-size:22px}
  .world-story p{font-size:12px}
  .tour-strip{margin-top:14px;gap:8px;padding:12px}
  .tour-strip p{font-size:12px}
  .tour-strip button{min-height:44px;font-size:12px}
  .showroom-disclaimer{margin-top:14px;font-size:10px;line-height:1.6}
  .physical-power{width:44px;height:44px}
  .rgb-wheel{gap:20px;margin:12px 0}
  .rgb-presets{grid-template-columns:repeat(3,44px);gap:6px}
  .rgb-presets button{width:44px;height:44px;border-width:7px}
  .rgb-level-label{font-size:12px}
  .sensor-actions button{min-height:44px;font-size:12px}
  .graphics-status{left:10px;right:10px;bottom:8px;max-height:calc(100% - 100px);overflow:auto;font-size:10px;padding:10px}
}
@media(max-width:960px) and (max-height:500px) and (pointer:coarse){
  .showroom-open .site-header{height:44px}
  .showroom-open .mobile-nav{top:44px;max-height:calc(100dvh - 44px)}
  .showroom-open #main{height:calc(100% - 44px)}
  .live-showroom{display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,38%);grid-template-rows:44px minmax(0,1fr);gap:4px 10px}
  .showroom-heading{grid-column:2;grid-row:1}
  .mobile-demo-label{display:none}
  .space-nav{grid-column:1;grid-row:1}
  .showroom-layout{grid-column:1 / -1;grid-row:2;grid-template-columns:minmax(0,1fr) minmax(245px,38%);grid-template-rows:minmax(0,1fr);gap:10px}
  .hardware-dock{padding-left:8px;padding-right:8px}
  .world-column{height:100%}
}
.cinema-seat-control{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:22px;border-bottom:1px solid var(--line,#d9d5c8)}
.cinema-seat-control>span{font-size:11px;letter-spacing:.14em;color:#828471}
.cinema-seat-control button,.camera-open-button{min-height:44px;padding:11px 16px;border:1px solid #acb19d;background:#e2e7d8;color:#414a3a;font:inherit;border-radius:3px;cursor:pointer}
.camera-open-button{width:100%;margin:15px 0 6px}
.alarm-sound-toggle{display:block;font:inherit;font-size:12px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#67705d;min-height:44px;cursor:pointer;padding:9px 0;text-align:left}
.cctv-console{margin-top:20px;background:#15201e;color:#ecf1e8;border:1px solid #33413b;border-radius:5px;overflow:hidden}
.cctv-console-bar{padding:14px 16px;display:flex;justify-content:space-between;gap:10px;font-size:10px;letter-spacing:.1em;color:#acbcae}
.cctv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px}
.cctv-grid>button{border:1px solid #344a3c;background:#1c2b23;padding:0;text-align:left;color:inherit;cursor:pointer;overflow:hidden;border-radius:2px;font:inherit}
.cctv-grid>button>span{display:flex;justify-content:space-between;padding:9px 11px;font-size:12px}.cctv-grid b{font-weight:400}
.cctv-console canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}
.cctv-focus{padding:0 8px}.cctv-select{display:flex;flex-wrap:wrap;gap:5px;padding:14px 12px 0}
.cctv-select button{border:1px solid #4e5e50;min-height:42px;padding:8px 12px;background:transparent;color:#dbe3d7;font:inherit;font-size:12px;cursor:pointer;border-radius:2px}
.cctv-select button[aria-pressed=true]{background:#dce3cf;color:#28372b;border-color:#dce3cf}
.cctv-console .cctv-caption{margin:0;padding:13px 16px 17px;color:#b0bcac;font-size:12px;line-height:1.6}
.cctv-grid[hidden],.cctv-focus[hidden]{display:none}
.cctv-console button:focus-visible{outline:2px solid #e2d2a0;outline-offset:-3px}
@media(max-width:640px){.cinema-seat-control{margin-bottom:13px;padding-bottom:13px}.cinema-seat-control button{font-size:12px}.cctv-console-bar{font-size:8px;padding:12px 9px}.cctv-grid{gap:5px;padding:0 5px}.cctv-grid>button>span{padding:7px;font-size:11px}.cctv-select{gap:4px;padding:10px 8px 0}.cctv-select button{padding:7px 10px}}

/* Room audio stays on the physical keypad; this panel is a readout only. */
.device-tabs button{white-space:nowrap;padding-left:6px;padding-right:6px}
.music-summary{margin-top:14px;padding:18px 14px;background:#eceee4;border:1px solid #d8dccd;border-radius:5px;text-align:center}
.music-summary>span{font-size:8px;letter-spacing:.14em;color:#8b907a}
.music-summary strong{display:block;font:400 22px/1.35 var(--title);color:#495543;margin:10px 0 4px}
.music-summary p{font-size:10px;color:#808774;margin:0 0 14px}
.music-summary output{display:block;font-size:11px;color:#53634c;line-height:1.5}
.music-summary small{display:block;font-size:9px;color:#8d9481;line-height:1.7;margin-top:12px}
.music-meter{display:flex;justify-content:center;gap:4px;margin:12px 0 14px;height:12px}
.music-meter i{display:block;width:8px;background:#d2d8c7;border-radius:2px}.music-meter i.lit{background:#83966f}
@media(max-width:640px){.device-tabs button{font-size:11px;padding-left:5px;padding-right:5px;min-height:44px}.music-summary{margin-top:8px;padding:13px}.music-summary small{font-size:10px}}
