/* AI smart home iPad concept. All chrome lives inside the device, in normal page flow. */
.shx{--ink:#0f2740;--mut:#4a6480;--acc:#0071e3;background:#f5f8fc;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;padding:40px 20px 64px}
.shx *{box-sizing:border-box}
.shx-wrap{max-width:1240px;margin:0 auto}
.shx h1{font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.02em;margin:0 0 12px;color:var(--ink);font-weight:650}
.shx-lede{font-size:18px;line-height:1.55;color:var(--mut);max-width:68ch;margin:0 0 28px}
.shx h2{font-size:30px;letter-spacing:-.015em;margin:56px 0 16px;color:var(--ink);font-weight:650}
.shx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;margin:0;padding:0}
.shx-grid>div{background:#fff;border:1px solid #dfe7f0;border-radius:12px;padding:18px 20px}
.shx-grid h3{font-size:17px;margin:0 0 6px;color:var(--ink)}
.shx-grid p{margin:0;font-size:15px;line-height:1.5;color:var(--mut)}
.shx details{background:#fff;border:1px solid #dfe7f0;border-radius:12px;padding:15px 20px;margin-bottom:12px}
.shx summary{font-weight:600;cursor:pointer;color:var(--ink)}
.shx details p{margin:10px 0 0;line-height:1.55;color:var(--mut)}
.shx-note{font-size:14px;color:var(--mut);margin:14px 0 0}
.shx-cta{display:inline-block;margin-top:18px;background:var(--acc);color:#fff!important;padding:12px 22px;border-radius:8px;font-weight:600;text-decoration:none}

/* Device */
.ipad{position:relative;width:100%;aspect-ratio:1212/852;background:#17191d;border-radius:clamp(14px,3vw,38px);padding:1.34%;box-shadow:0 0 0 1px #3a3e45,0 30px 70px rgba(15,39,64,.28)}
.ipad-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:clamp(8px,2vw,24px);background:#0b0d10;container-type:inline-size}
.st{position:absolute;left:0;top:0;width:1180px;height:820px;transform-origin:0 0;color:#f2f6fa;font-size:14px;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

.sc{position:absolute;inset:0;opacity:0;transition:opacity .7s ease;background:#0b0d10}
.sc.on{opacity:1}
.sc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:none}
.sc.on img{animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.02)}to{transform:scale(1.07)}}
.veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,9,13,.5),transparent 18%,transparent 62%,rgba(6,9,13,.42)),linear-gradient(180deg,rgba(6,9,13,.45),transparent 16%,transparent 74%,rgba(6,9,13,.6))}
#air{position:absolute;inset:0;width:1180px;height:820px;pointer-events:none}

.ba{position:absolute;inset:0;opacity:0;pointer-events:none}
.ba.on{opacity:1;pointer-events:auto;cursor:ew-resize}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-h{position:absolute;top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 14px rgba(255,255,255,.7)}
.ba-h i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:rgba(255,255,255,.92);color:#0f2740;display:grid;place-items:center}
.ba-t{position:absolute;top:66px;padding:5px 12px;border-radius:8px;background:rgba(10,14,20,.6);font-size:13px;font-weight:600}

.gl{background:rgba(14,18,24,.52);backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%);border:1px solid rgba(255,255,255,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 16px 44px rgba(0,0,0,.3)}
.top{position:absolute;left:96px;right:18px;top:16px;display:flex;align-items:center;gap:18px;font-size:13.5px}
.top b{font-size:17px;font-weight:600;letter-spacing:-.01em}
.top .sp{flex:1}
.top span{display:inline-flex;gap:6px;align-items:center;color:#dfe8f0}
.top .ic{width:16px;height:16px}

.rail{position:absolute;left:14px;top:14px;bottom:14px;width:66px;border-radius:22px;padding:8px;display:flex;flex-direction:column;justify-content:space-between}
.rail button{width:50px;height:38px;border:0;border-radius:15px;background:transparent;color:#cfdae5;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .1s}
.rail button:active{transform:scale(.93)}
.rail button.on{background:#f2f6fa;color:#0f2740}

.pn{position:absolute;right:14px;top:62px;bottom:128px;width:326px;border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.shx .pn h3{margin:0;font-size:22px;font-weight:600;letter-spacing:-.015em;color:#fff!important}
.pn .sub{margin:-8px 0 0;color:#c8d4df;font-size:13.5px;line-height:1.4}
.pn-b{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px}
.pn.swap .pn-b>*{animation:rise .42s cubic-bezier(.16,1,.3,1) both}
.pn.swap .pn-b>*:nth-child(2){animation-delay:.05s}.pn.swap .pn-b>*:nth-child(3){animation-delay:.1s}.pn.swap .pn-b>*:nth-child(4){animation-delay:.15s}
@keyframes rise{from{opacity:0;transform:translateY(12px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
.lb{display:flex;justify-content:space-between;font-size:13.5px;color:#dde6ee;margin-bottom:7px}
.lb b{font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.sl{position:relative;height:46px;border-radius:14px;background:rgba(255,255,255,.13);overflow:hidden;cursor:ew-resize;touch-action:none}
.sl i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,rgba(255,255,255,.7),#fff);border-radius:14px 0 0 14px}
.sl:focus-visible,.rail button:focus-visible,.tg:focus-visible,.ch:focus-visible{outline:2px solid #7fe3ff;outline-offset:2px}
.tg{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:0 14px;border:0;border-radius:14px;background:rgba(255,255,255,.13);color:#f2f6fa;font:inherit;cursor:pointer;transition:background .25s,color .25s}
.tg span{display:flex;gap:9px;align-items:center}
.tg em{font-style:normal;font-size:13px}
.tg.on{background:#f2f6fa;color:#0f2740}
.chs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ch{min-height:42px;border:0;border-radius:12px;background:rgba(255,255,255,.13);color:#f2f6fa;font:inherit;font-size:13.5px;cursor:pointer}
.ch.on{background:#7fe3ff;color:#06222c;font-weight:600}
.rd{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rd div{background:rgba(255,255,255,.1);border-radius:12px;padding:9px 12px;font-size:12.5px;color:#cfdae5}
.rd b{display:block;font-size:20px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.hue{height:46px;border-radius:14px;background:linear-gradient(90deg,#27d6c7,#2f7bff,#a24bff,#ff3d9a,#ff7a2f,#27d6c7);position:relative;cursor:ew-resize;touch-action:none}
.hue i{position:absolute;top:4px;bottom:4px;width:8px;margin-left:-4px;border-radius:4px;background:#fff}
.cams{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cam{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#222}
.cam img{width:100%;height:100%;object-fit:cover;display:block}
.cam u{position:absolute;left:30%;top:28%;width:34%;height:48%;border:1.5px solid #7fe3ff;border-radius:4px;animation:scan 2.6s ease-in-out infinite alternate}
@keyframes scan{to{transform:translate(18px,6px) scale(1.08)}}
.flow{width:100%;height:auto}
.flow path{fill:none;stroke:rgba(255,255,255,.3);stroke-width:2}
.flow .run{stroke:#7fe3ff;stroke-dasharray:6 14;animation:dash 1s linear infinite}
@keyframes dash{to{stroke-dashoffset:-20}}
.flow text{fill:#f2f6fa;font-size:12px;font-family:inherit}
.fd{display:flex;flex-direction:column;gap:8px}
.fd div{background:rgba(255,255,255,.1);border-radius:12px;padding:10px 12px;font-size:13px;line-height:1.4;animation:rise .4s both}
.fd b{display:block;font-weight:600;margin-bottom:1px}

.vb{position:absolute;left:96px;right:14px;bottom:50px;height:66px;border-radius:22px;display:flex;align-items:center;gap:12px;padding:0 10px}
.orb{position:relative;width:48px;height:48px;border:0;border-radius:50%;padding:0;background:conic-gradient(from 0deg,#7fe3ff,#fff,#4b8dff,#7fe3ff);cursor:pointer;flex:none;animation:spin 7s linear infinite;box-shadow:0 0 calc(10px + var(--lv,0)*26px) rgba(127,227,255,.65)}
.orb::after{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2b4259,#0a1119)}
@keyframes spin{to{transform:rotate(360deg)}}
.st[data-ai=listen] .orb{animation-duration:2.2s}.st[data-ai=think] .orb{animation-duration:1s}
.tx{flex:1;min-width:0}
.tx p{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#you{font-size:13px;color:#cdd9e3;min-height:18px}
#ai{font-size:16px;font-weight:500;min-height:22px;background:linear-gradient(100deg,#fff 42%,#7fe3ff 50%,#fff 58%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.st[data-ai=speak] #ai{animation:shine 1.8s linear}
@keyframes shine{from{background-position:120% 0}to{background-position:-60% 0}}
.wv{display:flex;gap:3px;align-items:center;height:34px}
.wv i{width:3px;height:6px;border-radius:2px;background:#7fe3ff;transition:height .12s}
#cmd{width:236px;height:42px;border-radius:13px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;padding:0 13px;font:inherit;font-size:14px;user-select:text;-webkit-user-select:text}
#cmd::placeholder{color:#c5d1dc}
.vb button.ib{width:42px;height:42px;border:0;border-radius:13px;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.vb button.ib.on{background:#f2f6fa;color:#0f2740}

.tl{position:absolute;left:96px;right:14px;bottom:14px;height:26px;display:flex;align-items:center;gap:8px}
.tl .seg{flex:1;height:4px;border:0;padding:0;border-radius:2px;background:rgba(255,255,255,.28);overflow:hidden;cursor:pointer}
.tl .seg i{display:block;height:100%;width:0;background:#fff}
.tl .seg.done i{width:100%}
#tog{height:26px;border:0;border-radius:8px;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-size:12.5px;padding:0 10px;display:flex;gap:5px;align-items:center;cursor:pointer;flex:none}
#tog .ic{width:13px;height:13px}
.lk{position:absolute;inset:0;background:radial-gradient(circle at 75px 760px,rgba(127,227,255,.26),transparent 42%);pointer-events:none;opacity:0;transition:opacity .4s}
.st[data-ai=listen] .lk,.st[data-ai=think] .lk{opacity:1}

@media (prefers-reduced-motion:reduce){.sc.on img,.orb,.cam u,.flow .run,.pn.swap .pn-b>*,.fd div{animation:none}.sc{transition:opacity .2s}}
@media (prefers-reduced-transparency:reduce){.gl{background:#12171e;backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Guards against site-wide theme rules */
.shx,.shx .st{text-align:left}
.lb::before,.lb::after,.top::before,.top::after,.vb::before,.vb::after{content:none!important;display:none!important}
.tl .seg{min-height:0!important;min-width:0!important;height:4px!important}
#tog,.vb button.ib,.rail button{min-height:0!important;min-width:0!important}
.ipad{scroll-margin-top:120px}
.shx{padding-top:170px}
@media (max-width:768px){.shx{padding-top:110px}}

/* AI vision reticle and safety alert */
.fr{position:absolute;left:330px;top:210px;width:220px;height:280px;opacity:0;transition:opacity .4s;pointer-events:none;border-radius:18px;background:linear-gradient(#7fe3ff,#7fe3ff) 0 0/34px 2px no-repeat,linear-gradient(#7fe3ff,#7fe3ff) 0 0/2px 34px no-repeat,linear-gradient(#7fe3ff,#7fe3ff) 100% 100%/34px 2px no-repeat,linear-gradient(#7fe3ff,#7fe3ff) 100% 100%/2px 34px no-repeat}
.fr.on{opacity:1}
.fr i{position:absolute;left:8px;right:8px;top:0;height:2px;background:#7fe3ff;box-shadow:0 0 16px 3px rgba(127,227,255,.6);animation:fscan 2.4s ease-in-out infinite alternate}
@keyframes fscan{to{top:100%}}
.fr span{position:absolute;left:0;right:0;bottom:-34px;text-align:center;font-size:14px;font-weight:600}
.alarm{position:absolute;inset:0;pointer-events:none;opacity:0;box-shadow:inset 0 0 130px 26px rgba(255,150,40,.75);transition:opacity .4s}
.alarm.on{opacity:1;animation:alm 1.4s ease-in-out infinite alternate}
@keyframes alm{from{opacity:.45}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.fr i,.alarm.on{animation:none}}

/* Wide command view for cameras, sensors, security and safety */
.pn.wide{width:640px}
.gd{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.gd div{background:rgba(255,255,255,.09);border-radius:10px;padding:8px 10px;min-width:0}
.gd span{display:block;font-size:12px;color:#c8d4df}
.gd b{display:block;font-size:13.5px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}
.gd b span{display:inline;font-size:inherit;color:inherit}
.pn.wide .cams{grid-template-columns:repeat(3,1fr)}
.pn.wide .cam{aspect-ratio:16/9}
.cam s{position:absolute;left:6px;bottom:5px;font-size:11.5px;font-weight:600;text-decoration:none;background:rgba(8,12,18,.65);padding:2px 6px;border-radius:5px}
.pn.wide~.fr,.fr{z-index:0}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.sg .sl{height:30px;border-radius:10px}
.sg .lb{margin-bottom:4px}

/* Signature instrument for each screen */
.sig{position:absolute;left:100px;top:66px;width:440px;height:600px;pointer-events:none;display:flex;align-items:center;justify-content:center}
.sig.wd{width:420px}
.sig svg{width:100%;height:100%;filter:drop-shadow(0 4px 14px rgba(0,0,0,.45))}
.wall{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.wall .cam{aspect-ratio:4/3}
.wall.care{grid-template-columns:1fr}
.wall.care .cam{aspect-ratio:16/8}
.wall .cam s{font-size:13px}
.wall.care .cam{aspect-ratio:5/2}
.pn-b{gap:11px}
