
/* Immersive TEC home automation redesign: visual demo, not hardware connection */
:root{--tec-deep:#10252b;--tec-spark:#b2f5d6}
.hero{background:radial-gradient(ellipse at 70% 34%,#cae6d7 0,transparent 54%),linear-gradient(142deg,#eff4ed 0%,#e5f0e8 52%,#edf0e9 100%)}
.hero .shell.hero-grid{width:min(1480px,calc(100% - 70px));grid-template-columns:minmax(335px,.7fr) minmax(0,1.3fr);gap:16px;align-items:center;min-height:760px}
.hero-copy{padding:65px 0 95px;position:relative;z-index:1}
.hero h1{font-size:clamp(54px,5vw,82px);line-height:1.025;letter-spacing:-.082em;text-wrap:balance}
.hero-intro{font-size:16px;max-width:430px}
.hero-visual.tec-hero-world{position:relative;width:100%;min-width:0;min-height:650px;display:flex;align-items:center;justify-content:center;filter:none!important;overflow:visible;padding:22px 0 10px}
.tec-hero-glow{position:absolute;border-radius:50%;pointer-events:none;filter:blur(6px);border:1px solid #65b59e55;opacity:.65}
.tec-orbit-a{width:690px;height:690px;top:-20px;left:8%;box-shadow:0 0 0 51px #49a9870b,0 0 0 121px #49a98708}
.tec-orbit-b{width:450px;height:450px;top:92px;right:-95px;border:1px dashed #488c7b63;animation:tec-orbit-spin 50s linear infinite}
.tec-hero-stage{position:relative;z-index:1;width:min(100%,890px);padding:11px;border-radius:25px;background:linear-gradient(135deg,#ffffffcc,#afc4b8aa);border:1px solid #ffffffeb;box-shadow:0 40px 80px #11342d35,0 10px 30px #15332e17,inset 0 1px #fff;backdrop-filter:blur(18px)}
.tec-hero-stage:before{content:"";pointer-events:none;position:absolute;inset:-6px;border-radius:29px;border:1px solid #ffffff91;z-index:-1}
.tec-hero-stage-top{height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#2a5b4e;font-size:10px;letter-spacing:.12em;font-weight:850;padding:3px 11px}
.tec-hero-stage-top>span{display:inline-flex;align-items:center;gap:8px}.tec-online-dot{display:inline-block;width:7px;height:7px;flex:none;background:#8df5c9;border-radius:50%;box-shadow:0 0 0 4px #70e3ab22,0 0 14px #61dca5}
.tec-hero-stage-top .tec-online-dot{background:#419c78}.tec-hero-stage-live{color:#377e68;white-space:nowrap}
.tec-hero-house-viewport{position:relative;overflow:hidden;height:395px;border-radius:16px;background:radial-gradient(ellipse at 47% 29%,#496875,#142d37 66%,#0b2029);box-shadow:inset 0 0 0 1px #ffffff24,0 8px 30px #12333f43}
.tec-hero-house-viewport canvas{display:block;position:relative;z-index:1;width:100%;height:100%;touch-action:none;cursor:grab}
.tec-hero-house-viewport canvas:active{cursor:grabbing}
.tec-hero-house-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#e3f7ec;background:radial-gradient(ellipse at center,#426961,#162f37);z-index:0}
.tec-hero-house-placeholder>span{font-size:95px;font-weight:200;line-height:1;text-shadow:0 8px 22px #0d2320aa}
.tec-hero-house-placeholder strong{font-size:12px;letter-spacing:.18em}.tec-hero-house-placeholder small{font-size:9px;letter-spacing:.17em;color:#c0dace}
.tec-hero-world.has-webgl .tec-hero-house-placeholder{display:none}
.tec-hero-room-pill{position:absolute;z-index:3;pointer-events:none;display:flex;flex-direction:column;gap:3px;padding:9px 11px;min-width:104px;background:#122d35bf;color:#dff8ed;border:1px solid #a9e7d35d;border-radius:10px;backdrop-filter:blur(12px);box-shadow:0 12px 30px #071b2070;letter-spacing:.09em}
.tec-hero-room-pill span{font-size:9px;color:#afd8c9}.tec-hero-room-pill strong{font-size:11px;font-weight:800}
.tec-hero-bedroom{left:15px;top:22px}.tec-hero-door{right:15px;top:22px}.tec-hero-movie{right:15px;bottom:43px}
.tec-hero-stage[data-bedroom=on] .tec-hero-bedroom{border-color:#e1d495;background:#775a348c;box-shadow:0 0 20px #ffd28a28}
.tec-hero-stage[data-door=open] .tec-hero-door{border-color:#aadbc6;background:#24665fae}
.tec-hero-stage[data-cinema=on] .tec-hero-movie{border-color:#82c9f8;background:#205682c7;box-shadow:0 0 24px #74b8ff48}
.tec-hero-view-caption{position:absolute;bottom:11px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.1em;color:#d3e9e0;background:#0e2a30a9;padding:5px 10px;border-radius:20px;z-index:3;white-space:nowrap;pointer-events:none}
.tec-voice-console{display:flex;align-items:center;gap:12px;padding:13px 11px 9px;position:relative}
.tec-smart-speaker{position:relative;width:74px;height:72px;flex:none;display:grid;place-items:center;border:0;background:transparent;padding:0;cursor:pointer}
.tec-speaker-body{position:absolute;width:48px;height:52px;left:12px;top:12px;border-radius:21px 21px 15px 15px;background:linear-gradient(110deg,#223638,#111d29 60%,#304a4f);box-shadow:8px 10px 20px #10211e63,inset -3px 0 8px #ffffff13;border:1px solid #6d817e60}
.tec-speaker-top{position:absolute;z-index:2;top:8px;left:12px;width:48px;height:17px;border-radius:50%;background:radial-gradient(ellipse,#2f4750,#0e2029 70%);border:2px solid #2bc9d9;box-shadow:0 0 10px #35d8e9ad;transform:perspective(50px) rotateX(12deg)}
.tec-speaker-light{position:absolute;z-index:2;left:20px;top:27px;width:32px;height:3px;border-radius:50%;background:#35d8e9;box-shadow:0 0 12px #34e4f5}
.tec-hero-stage.is-speaking .tec-speaker-top,.tec-hero-stage.is-speaking .tec-speaker-light{animation:tec-speaker-reply .32s ease-in-out infinite alternate}
.tec-assistant-text{display:flex;flex-direction:column;flex:1;min-width:0;gap:6px;color:#24473e}
.tec-assistant-text>span{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.15em;font-weight:850}
.tec-assistant-text>span small{font-size:8px;color:#7f988c}
.tec-assistant-text strong{font-size:clamp(12px,1.1vw,15px);color:#1d3935;line-height:1.3;font-weight:680;min-height:20px}
.tec-voice-mic{border:1px solid #b8dacc;background:#e3f5eb;border-radius:12px;color:#20684c;width:39px;height:39px;font-size:19px}
.tec-voice-mic[aria-pressed=true]{background:#b0f0d5;box-shadow:0 0 0 5px #7ce4bc36}
.tec-hero-commands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 10px}
.tec-hero-commands button{border:1px solid #aec9bb;background:linear-gradient(170deg,#ffffffef,#e0eee5ce);color:#315e51;border-radius:10px;padding:11px 7px;font-size:10px;font-weight:800;min-height:42px;transition:transform .22s,background .22s}
.tec-hero-commands button:hover{transform:translateY(-3px);background:#d3f4e4;box-shadow:0 8px 18px #1d5a3d25}
.tec-hero-commands button[aria-pressed=true]{background:#246953;color:#f2fff8;border-color:#246953;box-shadow:0 5px 18px #206e4d4e}
.tec-command-transcript{display:flex;align-items:center;gap:9px;padding:11px 12px 0;flex-wrap:wrap;font-size:10px;color:#416557}
.tec-command-transcript span{font-size:9px;color:#578673;font-weight:850;letter-spacing:.12em}
.tec-command-transcript strong{font-weight:660;color:#245444}
.tec-demo-disclosure{font-size:9px;color:#628278;padding:9px 12px 2px}
.tec-orchestration{height:510px;position:relative;isolation:isolate;overflow:hidden;border-radius:27px;background:radial-gradient(circle at 50% 43%,#266661ba,transparent 47%),radial-gradient(circle at 20% 80%,#3d8b8552,transparent 44%),linear-gradient(145deg,#173940,#0b1b29 80%);border:1px solid #ffffff52;box-shadow:0 27px 70px #173a3d40,inset 0 1px 0 #fff3;perspective:900px}
.tec-orch-stars{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(#e2fff018 1px,transparent 1px),linear-gradient(90deg,#e2fff018 1px,transparent 1px);background-size:38px 38px;transform:perspective(600px) rotateX(26deg) scale(1.5);pointer-events:none}
.tec-orch-head{position:absolute;z-index:3;left:25px;right:25px;top:22px;display:flex;align-items:center;justify-content:space-between;color:#bbded4;letter-spacing:.15em;font-weight:850;font-size:10px}
.tec-orch-head span:last-child{display:inline-flex;align-items:center;gap:9px;color:#b1edcf}
.tec-orch-ring{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:330px;height:330px;border:1px solid #8bdec284;border-radius:50%;pointer-events:none;box-shadow:0 0 0 33px #b2eed910,0 0 0 70px #b2eed906}
.tec-orch-ring.ring-two{width:245px;height:245px;border-style:dashed;animation:tec-orbit-spin 50s linear infinite reverse}
.tec-orch-axis{position:absolute;left:50%;top:43%;width:75%;height:1px;transform:translate(-50%,-50%) rotate(-35deg);background:linear-gradient(90deg,transparent,#8ddeb373,transparent)}
.tec-orch-core{position:absolute;left:50%;top:43%;width:144px;height:144px;transform:translate(-50%,-50%);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:linear-gradient(145deg,#d9f8ed33,#22574fdd);border:1px solid #c9f7dfb8;backdrop-filter:blur(15px);box-shadow:0 0 35px #73dcb67d,inset 0 1px #ffffff9c;color:#edfff8}
.tec-orch-core>span{font-size:44px;line-height:1.15}
.tec-orch-core strong{font-size:12px;letter-spacing:.1em}.tec-orch-core small{font-size:8px;letter-spacing:.13em;color:#c2e6d8}
.tec-orch-core-halo{position:absolute;inset:-13px;border:1px solid #b7ebc992;border-radius:50%;animation:tec-core-breathe 4s ease-in-out infinite;pointer-events:none}
.tec-orch-node{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:111px;min-height:78px;padding:8px;border:1px solid #d0f7e26b;background:linear-gradient(145deg,#dbfae42b,#c5ecda15);box-shadow:0 12px 28px #02121c6e,inset 0 1px #fff4;color:#eafcf3;border-radius:15px;backdrop-filter:blur(18px);transform:perspective(600px) rotateY(-7deg);transition:transform .3s,background .3s,border-color .3s}
.tec-orch-node span{font-size:23px;color:#a4f5d0;line-height:1}.tec-orch-node strong{font-size:9px;letter-spacing:.11em}
.tec-orch-node:hover,.tec-orch-node.selected{transform:perspective(600px) rotateY(0) translateY(-6px) scale(1.05);background:#39796988;border-color:#acffdd}
.node-light{left:8%;top:19%}.node-access{right:8%;top:18%}.node-shade{left:4%;top:49%}.node-comfort{right:5%;top:49%}.node-cinema{left:25%;bottom:17%}.node-voice{right:25%;bottom:17%}
.tec-orch-status{position:absolute;bottom:17px;left:20px;right:20px;z-index:3;border:1px solid #bfead054;border-radius:12px;background:#0b2935b8;padding:12px 16px;color:#ddf5e8;display:flex;flex-direction:column;gap:2px;backdrop-filter:blur(18px)}
.tec-orch-status>span{font-size:9px;letter-spacing:.16em;color:#9be3c0;font-weight:850}
.tec-orch-status strong{font-size:13px;font-weight:660}.tec-orch-status small{font-size:9px;color:#b0c9be}
.story-section .story-grid{align-items:center}
.approach-grid article{position:relative;overflow:hidden;background:linear-gradient(145deg,#ffffffd9,#dfede5a8)!important;backdrop-filter:blur(11px);box-shadow:0 18px 42px #124d3619,inset 0 1px #ffffffed;border-radius:19px!important;transform-style:preserve-3d;transition:transform .32s cubic-bezier(.22,.8,.27,1),box-shadow .32s}
.approach-grid article:hover{transform:perspective(850px) rotateX(3deg) rotateY(-4deg) translateY(-9px);box-shadow:0 29px 50px #124d3633}
.approach-grid article:after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;border:1px solid #6fb59554;top:-90px;right:-60px;box-shadow:0 0 0 32px #6fb59512}
.solution-card,.tec-card,.bento-link{backdrop-filter:blur(9px);transform-style:preserve-3d}
.solution-card:hover,.tec-card:hover{transform:perspective(900px) rotateX(2deg) rotateY(-3deg) translateY(-8px)}
.tec-mini-area{isolation:isolate}
.simulator-section .shell{width:min(1490px,calc(100% - 66px))}
#simulator .sim-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.73fr)}
#simulator .floor-panel{min-width:0}
#simulator .room-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
#simulator .tec-mini-area{height:490px!important;max-width:none!important;border-radius:18px;margin:23px auto 18px;box-shadow:0 25px 60px #0518229c}
.tec-preview-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tec-fullscreen-launch{background:linear-gradient(130deg,#bbf1d4,#78c7aa);border:1px solid #c7f5db;color:#164f3c;padding:10px 13px;font-weight:850;font-size:10px;letter-spacing:.06em;border-radius:8px;box-shadow:0 8px 19px #0c332537}
.tec-fullscreen-launch:hover{filter:brightness(1.07);transform:translateY(-2px)}
.tec-panel-float-toggle{display:none;background:#a3e9ce;color:#144f3c;border:0;padding:9px 12px;border-radius:9px;font-size:11px;font-weight:850}
#home-simulation .tec-fullscreen-advanced{margin-right:5px}
#simulator:fullscreen,#home-simulation:fullscreen{width:100vw!important;height:100dvh!important;max-width:none!important;border:0;border-radius:0;margin:0;padding:0;overflow:hidden;background:#0b2028;color:#ebfff6}
#simulator:fullscreen{display:flex;flex-direction:column}
#simulator:fullscreen .sim-topbar{flex:none;min-height:57px}
#simulator:fullscreen .sim-layout{position:relative;flex:1;display:block;min-height:0;overflow:hidden}
#simulator:fullscreen .floor-panel{height:100%;min-height:0;display:flex;flex-direction:column;padding:18px 21px 12px;border:0}
#simulator:fullscreen .floor-panel>.room-head{flex:none;margin-bottom:4px}
#simulator:fullscreen .floor-panel>.tec-mini-area{flex:1;min-height:0;height:auto!important;width:100%;max-width:none;margin:10px 0!important;border-radius:15px}
#simulator:fullscreen .floor-panel>.sim-note{flex:none;margin:5px 0 0}
#simulator:fullscreen .tec-panel-float-toggle{display:block;position:relative;z-index:12}
#simulator:fullscreen .control-panel{position:absolute;z-index:11;right:21px;top:98px;bottom:22px;width:min(342px,calc(100vw - 38px));overflow-y:auto;border:1px solid #a2dec366;border-radius:17px;background:#16383bdf;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 26px 54px #031820a6;transition:transform .27s,opacity .27s}
#simulator:fullscreen.tec-controls-hidden .control-panel{transform:translateX(calc(100% + 48px));opacity:0;pointer-events:none}
#simulator:fullscreen .sim-caption{display:none}
#home-simulation:fullscreen{display:flex;flex-direction:column}
#home-simulation:fullscreen .simulation-top{flex:none}
#home-simulation:fullscreen .simulation-core{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:0;overflow:hidden}
#home-simulation:fullscreen .simulation-house{height:100%;min-height:0;display:flex;flex-direction:column}
#home-simulation:fullscreen .architectural-stage{height:auto;flex:1;min-height:0}
#home-simulation:fullscreen .simulation-console{overflow-y:auto}
#home-simulation:fullscreen .simulation-disclaimer{font-size:9px;flex:none}
.tec-fullscreen-advanced{white-space:nowrap}
@keyframes tec-speaker-reply{to{box-shadow:0 0 25px #2eebfa,inset 0 0 12px #93ffff}}
@keyframes tec-orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes tec-core-breathe{50%{transform:scale(1.1);opacity:.5}}
@media(max-width:1150px){.hero .shell.hero-grid{grid-template-columns:1fr;gap:5px;min-height:0}.hero-copy{padding:60px 0 0}.hero-visual.tec-hero-world{min-height:590px;margin:0 auto;max-width:890px}.hero h1{max-width:950px}.tec-hero-stage{width:min(100%,770px)}#simulator .sim-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.78fr)}}
@media(max-width:900px){.hero .shell.hero-grid{width:min(100% - 44px,1320px)}.tec-hero-house-viewport{height:405px}.tec-hero-world{padding-bottom:0}#simulator .sim-layout{grid-template-columns:1fr}#simulator .floor-panel .tec-mini-area{height:480px!important}.story-grid{grid-template-columns:1fr!important}.tec-orchestration{height:500px;max-width:670px;width:100%;margin:auto}#home-simulation:fullscreen .simulation-core{grid-template-columns:1fr}#home-simulation:fullscreen .simulation-console{max-height:39%;border-top:1px solid #8bbeb468}}
@media(max-width:650px){.hero .shell.hero-grid{width:calc(100% - 30px)}.hero-copy{padding:42px 4px 10px}.hero h1{font-size:clamp(48px,12vw,67px)}.hero-intro{font-size:14px}.hero-visual.tec-hero-world{padding:11px 0 28px;min-height:0}.tec-hero-stage{padding:7px;border-radius:18px}.tec-hero-stage-top{font-size:8px;padding:0 7px}.tec-hero-stage-live{font-size:8px}.tec-hero-house-viewport{height:310px}.tec-hero-room-pill{min-width:85px;padding:6px 7px;border-radius:7px}.tec-hero-room-pill span{font-size:7px}.tec-hero-room-pill strong{font-size:9px}.tec-hero-bedroom{left:7px;top:9px}.tec-hero-door{right:7px;top:9px}.tec-hero-movie{right:8px;bottom:32px}.tec-hero-view-caption{font-size:7px;bottom:6px}.tec-voice-console{padding:8px 5px 9px;gap:8px}.tec-assistant-text strong{font-size:11px}.tec-assistant-text>span{font-size:8px}.tec-assistant-text>span small{display:none}.tec-hero-commands{gap:5px;padding:0 5px}.tec-hero-commands button{font-size:9px;min-height:38px;padding:9px 4px}.tec-command-transcript{padding-left:7px}.tec-demo-disclosure{font-size:8px;padding:8px 7px 2px}.tec-orchestration{height:480px}.tec-orch-core{width:125px;height:125px}.tec-orch-ring{width:260px;height:260px}.tec-orch-ring.ring-two{width:200px;height:200px}.tec-orch-node{width:91px;min-height:65px}.tec-orch-node span{font-size:19px}.tec-orch-node strong{font-size:7px}.node-light{left:4%;top:19%}.node-access{right:4%;top:19%}.node-shade{left:1%;top:48%}.node-comfort{right:1%;top:48%}.node-cinema{left:17%;bottom:17%}.node-voice{right:17%;bottom:17%}#simulator .tec-mini-area{height:350px!important}#simulator:fullscreen .floor-panel{padding:10px}#simulator:fullscreen .floor-panel .tec-mini-area{min-height:0;height:auto!important}#simulator:fullscreen .room-head h3{font-size:15px}#simulator:fullscreen .room-head p{display:none}#simulator:fullscreen .control-panel{top:84px;right:10px;bottom:12px}.tec-fullscreen-launch{font-size:9px;padding:8px 10px}.tec-preview-actions{gap:5px}}
@media(max-width:430px){.tec-hero-house-viewport{height:265px}.tec-smart-speaker{width:57px;height:64px;transform:scale(.82);transform-origin:center}.tec-hero-commands button{font-size:8px}.tec-orch-head{font-size:8px;left:14px;right:14px}.tec-orchestration{height:455px}.tec-orch-status{left:10px;right:10px}}
@media(prefers-reduced-motion:reduce){.tec-orch-ring,.tec-orch-core-halo,.tec-orbit-b{animation:none!important}.tec-hero-commands button,.tec-orch-node{transition:none}}
