/* CodeIgniter content bridge: preserves the original Tari visual language without generic CSS collisions. */
body{background:#020508;color:#eef6ff} .site-header .navbar{display:flex!important;width:100%}.site-header .navbar-collapse{flex-grow:1}.site-header .navbar-nav{margin-left:auto!important}.brand-logo{display:block;width:126px;height:auto}.site-header .nav-link{white-space:nowrap}.site-header .dropdown-menu{min-width:235px}
.smart-home-demo{grid-template-columns:54px minmax(0,1.4fr) minmax(270px,.75fr)!important}.smart-home-demo.security-mode,.smart-home-demo.camera-mode{grid-template-columns:54px minmax(0,1fr)!important}.home-plan{position:relative!important;min-height:510px!important}.ci-floorplan{position:absolute!important;z-index:1!important;inset:48px 0 0!important;width:100%!important;height:calc(100% - 48px)!important;max-width:none!important;object-fit:fill!important;object-position:center!important}.home-plan-header{position:relative;z-index:4}.home-controls{border-radius:16px!important;background:#050a10!important}.switch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.2rem .25rem .7rem}.room-button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.35rem;padding:.62rem;border:1px solid #31516b;border-radius:11px;color:#99aec1;background:#08121d;font-size:.72rem;font-weight:750}.room-button small{font-size:.65rem;color:#8297aa}.room-button.is-on{border-color:#147ea8;color:#63ddff;background:#0a2132}.room-button.is-on small{color:#35cdff}.home-control{color:#edf6ff!important}.home-control small{color:#9eb6ca!important}.scene-button{color:#55d9ff!important;background:#102b42!important;border-color:#1b9bd1!important}.control-heading{color:#edf6ff!important}.control-heading small{color:#9eb6ca!important}
.about-reference-hero,.solution-hero-reference{margin-top:0}.solution-feature-art img,.about-full-art img{width:100%;height:100%;object-fit:cover}.solution-feature{background:#050b12}.solution-reference-pages{background:#020508}.story{background:#07131f}@media(max-width:991px){.smart-home-demo{grid-template-columns:1fr!important}.site-header .navbar-collapse{background:rgba(3,8,14,.94);padding:1rem;border-radius:0 0 14px 14px}.ci-floorplan{object-position:center}}
.ci-room-map{position:absolute;z-index:3;inset:48px 0 0}.ci-room{position:absolute;border:0;background:transparent!important;cursor:pointer}.ci-room:focus-visible{outline:1px solid rgba(255,255,255,.6);outline-offset:-4px}.ci-room.is-lit{background:transparent!important;mix-blend-mode:normal}.ci-bedroom{left:10%;top:14%;width:22%;height:29%}.ci-kitchen{left:30%;top:12%;width:28%;height:25%}.ci-dining{left:56%;top:10%;width:22%;height:24%}.ci-living{left:31%;top:39%;width:30%;height:28%}.ci-sitting{left:12%;top:63%;width:22%;height:22%}.ci-bathroom{left:13%;top:42%;width:18%;height:20%}.ci-garage{left:66%;top:28%;width:28%;height:41%}.ci-outdoor{left:6%;top:69%;width:62%;height:24%}
.room-render-stage{z-index:2!important}.render-sitting{left:6.5%;top:61%;width:28%}.render-living{left:27%;top:35%;width:43%}.render-kitchen{left:27%;top:8.5%;width:30%}.render-bedroom{left:6.5%;top:10.5%;width:25%}.render-dining{left:55%;top:8%;width:29%}.render-garage{left:64%;top:23%;width:34%}.render-bathroom{left:10%;top:42%;width:25%}.render-outdoor{left:3%;top:66%;width:74%}
.ci-light-stage{position:absolute;z-index:2;inset:48px 0 0;overflow:hidden;pointer-events:none}.ci-light-scene{position:absolute;inset:0;opacity:0;background-image:url('images/smart-home-floorplan.png');background-size:100% 100%;background-position:center;transition:opacity .18s ease}.ci-light-scene.is-active{opacity:1}.scene-bedroom{clip-path:polygon(7% 14%,27% 10%,32% 38%,28% 44%,14% 43%,7% 34%)}.scene-kitchen{clip-path:polygon(29% 14%,54% 7%,61% 29%,57% 34%,32% 38%,29% 27%)}.scene-dining{clip-path:polygon(55% 6%,73% 4%,82% 30%,61% 35%,55% 22%)}.scene-garage{clip-path:polygon(66% 31%,84% 25%,96% 59%,75% 69%,64% 50%)}.scene-living{clip-path:polygon(31% 37%,60% 31%,68% 52%,67% 66%,57% 70%,36% 72%,31% 57%)}.scene-sitting{clip-path:polygon(7% 64%,29% 60%,35% 86%,25% 94%,12% 89%)}.scene-bathroom{clip-path:polygon(12% 38%,30% 36%,35% 62%,13% 65%)}.scene-outdoor{clip-path:polygon(5% 68%,18% 66%,27% 87%,40% 91%,57% 82%,66% 79%,69% 88%,50% 98%,16% 98%,6% 88%)}
.site-footer{padding:60px 0 20px!important;background:#030609!important;border-top:1px solid rgba(115,206,255,.16)!important;color:#a9c0d6!important}.footer-grid{display:grid;grid-template-columns:minmax(260px,1.5fr) 1fr 1fr;gap:48px}.footer-logo{display:block!important;width:145px!important;height:auto!important;max-width:145px!important;margin:0 0 18px!important}.site-footer p{max-width:390px;margin:0;line-height:1.65}.site-footer strong{display:block;color:#f2f8ff;margin:7px 0 14px}.site-footer a{display:block;color:#9fc8ee;margin:9px 0;text-decoration:none}.site-footer a:hover{color:#38d9ff}.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid rgba(115,206,255,.12);font-size:13px}@media(max-width:767px){.footer-grid{grid-template-columns:1fr;gap:20px}.site-footer{padding:42px 0 18px!important}.smart-home-demo,.smart-home-demo.security-mode,.smart-home-demo.camera-mode{grid-template-columns:1fr!important}.floor-nav{flex-direction:row!important;border-right:0!important;border-bottom:1px solid #1d3b4d}}
.home-control.is-on .toggle{background:#fff!important}.home-control.is-on .toggle::after{background:#0a1b2b!important}.room-button.is-on{color:#fff!important;border-color:rgba(255,255,255,.66)!important;background:rgba(255,255,255,.1)!important}.room-button.is-on small{color:#fff!important}
.ci-room-render-stage{position:absolute!important;z-index:2!important;inset:48px 0 0!important;overflow:hidden!important;pointer-events:none!important}.ci-room-render-stage .room-render{position:absolute!important;display:block!important;max-width:none!important;height:auto!important;object-fit:contain!important;pointer-events:none!important;opacity:0!important;transition:opacity .28s ease!important}.ci-room-render-stage .room-render.is-active{opacity:1!important}
/* Registered to the 1536 × 1024 master plan.  Do not set a height: these transparent
   cut-outs retain their original ratio, so the furniture, walls and floor align exactly. */
.ci-room-render-stage .render-bedroom{left:10.02%!important;top:17.10%!important;width:25.23%!important}.ci-room-render-stage .render-bathroom{left:13.22%!important;top:41.61%!important;width:18.28%!important}.ci-room-render-stage .render-kitchen{left:32.48%!important;top:13%!important;width:29.84%!important}.ci-room-render-stage .render-dining{left:56.79%!important;top:7.24%!important;width:22.89%!important}.ci-room-render-stage .render-living{left:28.57%!important;top:33.14%!important;width:38%!important}.ci-room-render-stage .render-garage{left:60.31%!important;top:30.10%!important;width:36.05%!important}.ci-room-render-stage .render-outdoor{left:8.37%!important;top:68.07%!important;width:60.60%!important}.ci-room-render-stage .render-sitting{left:6.5%!important;top:61%!important;width:28%!important}
/* The master image is 1536 × 1024.  The plan area below the 48px toolbar must
   remain 3:2; otherwise its vertical scale differs from every supplied overlay. */
.smart-home-demo:not(.security-mode):not(.camera-mode) .home-plan{min-height:0!important;height:auto!important;aspect-ratio:1.354!important}.smart-home-demo:not(.security-mode):not(.camera-mode) .home-plan-header{height:60px!important;padding:0 1.3rem!important;align-items:center!important}.smart-home-demo:not(.security-mode):not(.camera-mode) .ci-floorplan,.smart-home-demo:not(.security-mode):not(.camera-mode) .ci-room-map,.smart-home-demo:not(.security-mode):not(.camera-mode) .ci-room-render-stage{inset:60px 0 0!important}.smart-home-demo:not(.security-mode):not(.camera-mode) .ci-floorplan{object-fit:fill!important}
/* Latest supplied overlays are already full 6400 × 4267 master canvases.
   Stack each one across the entire plan instead of applying room-by-room offsets. */
.ci-room-render-stage .room-render{left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:fill!important;transform:translate(.13%,.2%) scale(.996,.995)!important;transform-origin:top left!important}.smart-home-demo:not(.security-mode):not(.camera-mode) .ci-floorplan{filter:none!important}
/* Per-file affine registration measured against dark-floorplan.png (1536 × 1024).
   Keeping these transformations separate avoids seams when multiple rooms are on. */
.ci-room-render-stage .render-bathroom{left:-.0253%!important;top:.287%!important;transform:matrix(.99660,-.00427,.00093,.99555,0,0)!important}.ci-room-render-stage .render-bedroom{left:-.0031%!important;top:.148%!important;transform:matrix(.99822,-.01190,.00085,1.00060,0,0)!important}.ci-room-render-stage .render-dining{left:-.0260%!important;top:-.333%!important;transform:matrix(.99901,.00513,.00487,.99402,0,0)!important}.ci-room-render-stage .render-garage{left:.1658%!important;top:-.0783%!important;transform:matrix(.99776,-.00090,.00130,1.00023,0,0)!important}.ci-room-render-stage .render-kitchen{left:.1288%!important;top:-.2810%!important;transform:matrix(.99758,.00110,-.00462,1.00591,0,0)!important}.ci-room-render-stage .render-living{left:-.0101%!important;top:.6250%!important;transform:matrix(1.00123,-.00355,-.00040,.99334,0,0)!important}.ci-room-render-stage .render-outdoor{left:.0061%!important;top:1.3197%!important;transform:matrix(1.00014,-.00151,-.00069,.98502,0,0)!important}.ci-room-render-stage .render-sitting{left:.3565%!important;top:-.5366%!important;transform:matrix(1.00165,.00041,-.00545,1.00606,0,0)!important}
/* The plan, base and overlays must have the exact same visible rectangle.
   The old 48px height calculation left the base 12px taller than the overlays. */
.smart-home-demo:not(.security-mode):not(.camera-mode) .home-plan{aspect-ratio:1.317!important}.smart-home-demo:not(.security-mode):not(.camera-mode) .ci-floorplan{height:calc(100% - 60px)!important}.ci-room-render-stage .room-render,.ci-room-render-stage .render-bathroom,.ci-room-render-stage .render-bedroom,.ci-room-render-stage .render-dining,.ci-room-render-stage .render-garage,.ci-room-render-stage .render-kitchen,.ci-room-render-stage .render-living,.ci-room-render-stage .render-outdoor,.ci-room-render-stage .render-sitting{left:0!important;top:0!important;transform:none!important}
/* Fixed security frame: six square tiles on the first row and five on the second.
   This avoids a third row overflowing into the two rows above. */
@media(min-width:901px){.security-status-view.is-visible{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:auto repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-content:start!important}.security-status-card{width:100%!important;min-height:0!important;overflow:hidden!important}}
.security-status-view.is-visible{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:1.1rem!important;padding:1.5rem!important}.security-status-card{aspect-ratio:1/1!important;min-width:0!important;padding:1rem!important}.security-status-card em{top:.8rem!important;right:.8rem!important}.camera-status-view.is-visible{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.85rem!important}@media(max-width:900px){.security-status-view.is-visible{grid-template-columns:repeat(3,minmax(0,1fr))!important}.camera-status-view.is-visible{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.security-status-view.is-visible{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:.8rem!important}.camera-status-view.is-visible{grid-template-columns:1fr!important}}
