.ai-layer{position:absolute;inset:0;z-index:4;pointer-events:none}
.ai-source,.ai-hub{position:absolute;transform:translate(-50%,-50%);pointer-events:auto}
.ai-source{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 17px;border:1px solid #f7ffe043;border-radius:12px;background:#153a31eb;box-shadow:0 8px 35px #09271f38;backdrop-filter:blur(16px);width:max-content;max-width:230px;color:#f2f8e9;animation:ai-arrive .65s var(--arrival) both}
.ai-source-icon{font-size:25px;color:var(--source-color);width:27px;text-align:center}
.ai-source strong{font-size:16px;font-weight:600;display:block}
.ai-source small{display:block;font-size:12px;line-height:1.5;color:#dae6d8b8;margin-top:3px}
.ai-source:hover,.ai-source:focus-visible,.ai-source.active{border-color:var(--source-color);background:#164638}
.ai-hub{isolation:isolate;min-width:118px;min-height:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 21px;border-radius:20px;border:1px solid #eaffd7;background:#d9f6c9;color:#183e31;box-shadow:0 0 0 8px #d9f6c91c,0 15px 40px #15332966;animation:ai-arrive .65s .6s both}
.ai-hub:before{content:"";position:absolute;inset:-12px;border:1px solid #d8f6c966;border-radius:29px;animation:ai-signal 3s 1s infinite;pointer-events:none}
.ai-hub strong{font-size:21px;letter-spacing:-.6px;font-weight:800;white-space:nowrap}
.ai-hub small{font-size:12px;font-weight:600;line-height:1.4}
.ai-hub:hover,.ai-hub[aria-expanded=true]{background:#efffdd;box-shadow:0 0 0 10px #d9f6c933,0 15px 40px #15332966}
.connections .ai-route-base{stroke:var(--source-color);stroke-width:1.5;stroke-dasharray:none;opacity:.38;animation:none;filter:none}
.connections .ai-route-pulse{stroke:var(--source-color);stroke-width:2.5;stroke-dasharray:3 17;animation:ai-flow 3.8s var(--arrival) linear infinite;filter:drop-shadow(0 0 4px var(--source-color))}
.connections .ai-room-leader{stroke:#e1ffc9;stroke-width:1.5;stroke-dasharray:none;animation:none;filter:none;opacity:.85}
.connections .ai-room-flow{stroke:#e1ffc9;stroke-width:3;stroke-dasharray:3 17;animation:ai-flow 3.8s linear infinite;filter:drop-shadow(0 0 3px #ddffc355)}
.ai-room-ring{fill:#c8f6a913;stroke:#ddffc3;stroke-width:1.5;vector-effect:non-scaling-stroke}
.ai-room-point{fill:#e6ffd2;stroke:#224d37;stroke-width:1.5}
.data-on .power-flow{opacity:.4}
.data-on .headline{width:33%;max-width:440px}
.data-on .headline h1{font-size:clamp(40px,4.65vw,74px)}
.data-on.interior .headline{opacity:.65}
.ai-demo-note{position:absolute;bottom:86px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:13px;font-size:14px;color:#f3f7e8;white-space:nowrap;border-radius:30px;background:#163e30e8;backdrop-filter:blur(12px);padding:11px 20px;border:1px solid #e4f3d628;pointer-events:none}
.ai-demo-note span:first-child{font-size:12px;background:#e5f6ce22;border:1px solid #e5f6ce33;padding:4px 9px;border-radius:20px}
.ai-panel-open .ai-demo-note{visibility:hidden}
.ai-panel-open .headline{opacity:.1}
.ai-dashboard{position:absolute;left:5%;right:auto;top:125px;bottom:80px;max-height:690px;width:440px;max-width:calc(100% - 44px);z-index:8;display:flex;flex-direction:column;background:#f3f6eefa;color:#234236;border:1px solid #f6ffe3bd;border-radius:18px;box-shadow:0 24px 70px #0a291d55;backdrop-filter:blur(22px);overflow:hidden;animation:ai-panel-in .32s ease-out}
.ai-dashboard-heading{padding:22px 24px 18px;background:#163e32;color:#f2f8e9;position:relative;flex-shrink:0}
.ai-dashboard-heading>span{display:block;font-size:12px;letter-spacing:1.5px;opacity:.72}
.ai-dashboard-heading h2{font-size:27px;font-weight:600;letter-spacing:-1px;margin:7px 0 12px;line-height:1.2}
.ai-location-copy{font-size:14px;line-height:1.6;color:#dbe8d8;margin:0 0 15px;max-width:340px}
.ai-dashboard-heading>span{padding-right:30px;font-size:11px;letter-spacing:1px}
.ai-sample{display:flex;gap:9px;align-items:center;font-size:12px;color:#dce8d6;line-height:1.4}
.ai-sample b{font-size:12px;background:#e4f6ce1a;border:1px solid #e5f6ce35;font-weight:500;padding:3px 8px;border-radius:20px;white-space:nowrap}
.ai-close{position:absolute;right:13px;top:12px;width:44px;height:44px;border-radius:50%;background:#ffffff0e;font-size:27px;line-height:1}
.ai-close:hover{background:#ffffff24}
.ai-tabs{display:flex;border-bottom:1px solid #23423620;padding:0 18px;flex-shrink:0}
.ai-tabs button{flex:1;padding:15px 4px 12px;background:none;color:#527063;border-bottom:3px solid transparent;font-size:14px}
.ai-tabs button[aria-selected=true]{border-color:#285c43;color:#214533;font-weight:700}
.ai-tab-panel{padding:21px 24px 26px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0;scrollbar-color:#9eb7a2 transparent}
.ai-tab-panel h3{font-size:19px;font-weight:600;letter-spacing:-.4px;line-height:1.4;margin:0 0 20px}
.ai-metric>span{font-size:14px;color:#536b5a}
.ai-metric>p{font-size:42px;line-height:1.12;font-weight:500;letter-spacing:-2px;margin:9px 0 17px}
.ai-metric small{font-size:15px;letter-spacing:0;color:#627666;font-weight:400}
.ai-target{display:flex;align-items:center;justify-content:space-between;font-size:13px;gap:10px}
.ai-target>span{color:#5d7160}
.ai-meter{height:5px;background:#dce5d6;border-radius:3px;margin:9px 0 18px;overflow:hidden}
.ai-meter>i{display:block;background:#477459;height:100%;border-radius:3px}
.ai-metric-pair{display:grid;grid-template-columns:1fr 1fr;margin:0 0 20px;border-top:1px solid #24473420;border-bottom:1px solid #24473420;padding:14px 0}
.ai-metric-pair>div+div{border-left:1px solid #24473420;padding-left:20px}
.ai-metric-pair dt{font-size:13px;color:#617561}.ai-metric-pair dd{font-size:24px;letter-spacing:-.6px;margin:6px 0 0}.ai-metric-pair small{font-size:14px}
.ai-insight{background:#e4eddd;border-left:3px solid #729160;padding:14px 15px;border-radius:0 9px 9px 0}
.ai-insight>span{font-size:12px;color:#527146;font-weight:700}
.ai-insight p{font-size:16px;line-height:1.65;margin:8px 0 0}
.ai-provenance{font-size:12px;color:#667a66;line-height:1.6;margin:18px 0 0}
.ai-provenance strong{font-size:12px;font-weight:500;display:block;color:#425e48;margin-top:4px}
.ai-costs{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin:0 0 20px;padding:15px 0;border-top:1px solid #24473420;border-bottom:1px solid #24473420}
.ai-costs>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}.ai-costs dt{color:#60755f}.ai-costs dd{margin:0}
.ai-energy-summary{border-top:0;padding-top:0}.ai-energy-summary dd{font-size:22px}
.ai-comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #24473420;font-size:12px}
.ai-comparison b{display:block;font-size:22px;font-weight:500;margin-top:3px}.ai-comparison small{grid-column:1/-1;color:#64745d;font-size:12px}
.ai-priorities{padding:0;margin:0;list-style:none}
.ai-priorities li{display:flex;align-items:flex-start;gap:12px;padding:17px 0;border-top:1px solid #24473420}
.ai-priority-number{border:1px solid #91a67e;border-radius:5px;font-size:12px;padding:4px 5px;color:#506445}
.ai-priorities h4{font-size:16px;font-weight:600;line-height:1.45;margin:0 0 7px}
.ai-priorities p{font-size:15px;line-height:1.65;margin:0;color:#4b634e}
.ai-priorities div>span{display:block;font-size:12px;color:#66815d;margin-top:10px}
@keyframes ai-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes ai-signal{0%{scale:.97;opacity:.7}100%{scale:1.16;opacity:0}}
@keyframes ai-flow{to{stroke-dashoffset:-100}}
@keyframes ai-panel-in{from{opacity:0;translate:16px 0}to{opacity:1;translate:0 0}}
@media(max-width:1100px){.ai-source{padding:10px 12px;gap:8px;max-width:190px}.ai-source small{font-size:12px}.ai-source-icon{font-size:21px;width:21px}.ai-dashboard{left:5%;right:auto;width:410px}.ai-panel-open .headline{opacity:.1}}
@media(max-width:800px){.ai-dashboard{top:115px;bottom:65px}.data-on .headline{width:45%}.data-on .headline h1{font-size:40px}.ai-source small{display:none}.ai-source{min-width:96px;justify-content:center}.ai-hub{min-width:106px;min-height:76px;padding:13px 16px}.ai-hub strong{font-size:19px}.ai-demo-note{font-size:12px;gap:9px;bottom:77px}}
@media(max-width:600px){.data-on .headline{top:19%;width:80%;left:25px}.data-on .headline h1{font-size:32px;margin:15px 0 12px}.data-on .headline p{font-size:13px;max-width:245px}.ai-source{gap:6px;padding:11px 9px;border-radius:9px;min-width:90px;max-width:30vw}.ai-source strong{font-size:14px}.ai-source-icon{font-size:19px;width:19px}.ai-hub{min-width:104px;min-height:74px}.ai-hub small{font-size:12px}.ai-demo-note{bottom:77px;padding:9px 12px;max-width:95%;white-space:normal;text-align:center;font-size:12px}.ai-demo-note span:first-child{white-space:nowrap;padding:3px 7px}.ai-dashboard{top:118px;bottom:65px;left:12px;right:12px;width:auto;max-width:none;max-height:none;border-radius:15px}.ai-dashboard-heading{padding:17px 20px 15px}.ai-dashboard-heading h2{font-size:25px}.ai-tab-panel{padding:18px 20px 23px}.ai-sample{font-size:12px;gap:7px}.ai-metric>p{font-size:38px}.ai-panel-open .ai-layer{visibility:hidden}.ai-panel-open .connections{opacity:.15}}
@media(prefers-reduced-motion:reduce){.ai-source,.ai-hub,.ai-hub:before,.ai-dashboard,.connections .ai-route-pulse,.connections .ai-room-flow{animation:none!important}.connections .ai-route-pulse{stroke-dasharray:2 8}.ai-hub:before{opacity:.5}}

@media(max-width:600px) and (max-height:700px){
 .ai-dashboard-heading{padding:13px 16px}
 .ai-dashboard-heading>span{font-size:9px;line-height:1.5;max-width:235px}
 .ai-dashboard-heading h2{font-size:22px;margin:8px 0}
 .ai-location-copy{font-size:12px;line-height:1.45;margin-bottom:10px}
 .ai-sample{font-size:11px}.ai-sample b{font-size:10px}
 .ai-tab-panel{padding:16px}.ai-tabs button{padding:12px 4px}
}
@media(max-height:500px) and (min-width:601px){
 .ai-dashboard{top:12px;bottom:12px;right:85px;left:auto;width:480px;z-index:20}
 .ai-dashboard-heading{padding:12px 18px}.ai-dashboard-heading h2{font-size:23px;margin:5px 0}
 .ai-location-copy{font-size:12px;line-height:1.4;margin-bottom:8px;max-width:370px}
 .ai-tabs button{padding:10px 4px}.ai-tab-panel{padding:15px 18px}
}
