:root{
  --bg:#03080c;--bg2:#071319;--panel:#0a1c24;--panel2:#0d2731;--text:#f4fbfc;--muted:#9db5bc;
  --line:rgba(86,220,239,.22);--cyan:#4ee3ff;--blue:#657eff;--violet:#b16cff;--green:#67e879;
  --red:#ef343b;--amber:#f4bd4b;--max:1220px;--shadow:0 32px 90px rgba(0,0,0,.5)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:
radial-gradient(circle at 82% 8%,rgba(78,227,255,.14),transparent 30%),
radial-gradient(circle at 12% 28%,rgba(177,108,255,.10),transparent 26%),
linear-gradient(180deg,#061117 0%,#020609 55%,#071218 100%);
color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:
linear-gradient(rgba(78,227,255,.035) 1px,transparent 1px),
linear-gradient(90deg,rgba(78,227,255,.035) 1px,transparent 1px);background-size:52px 52px;
mask-image:linear-gradient(to bottom,#000,transparent 88%)}
a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 34px));margin:auto}
.nav{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(3,8,12,.72);backdrop-filter:blur(22px) saturate(145%)}
.nav:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),var(--violet),transparent);opacity:.48}
.nav-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:950;font-size:23px;letter-spacing:.2px}.brand-feigin{color:var(--red);text-shadow:0 0 22px rgba(239,52,59,.35)}
.brand-electric{color:var(--green);text-shadow:0 0 22px rgba(103,232,121,.3)}
.nav-links{display:flex;gap:24px;color:#bed0d5;font-size:14px}.nav-links a:hover{color:#fff}
.language{display:flex;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(7,20,27,.78)}
.language button{border:0;background:transparent;border-radius:8px;padding:6px 9px;font-size:20px;line-height:1;cursor:pointer;filter:saturate(.72);transition:.2s}
.language button:hover,.language button.active{background:linear-gradient(135deg,rgba(78,227,255,.23),rgba(177,108,255,.2));filter:none;transform:scale(1.06)}
.hero{min-height:760px;padding:98px 0 76px;display:grid;grid-template-columns:minmax(0,.94fr) minmax(500px,1.06fr);gap:54px;align-items:center}
.eyebrow{color:#83df90;text-transform:uppercase;font-size:12px;font-weight:850;letter-spacing:.13em}
.hero h1,.section-head h2,.contact h2{letter-spacing:-.045em;line-height:1.02}
.hero h1{margin:16px 0 22px;font-size:clamp(48px,6.4vw,86px);background:linear-gradient(115deg,#fff 8%,#dffeff 42%,#8fe9ff 70%,#c59cff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:20px;color:#bad0d5;max-width:680px}.hero-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0 0;padding:0;list-style:none}
.hero-points li{padding:12px 14px;border:1px solid rgba(86,220,239,.17);border-radius:12px;background:rgba(8,25,34,.67);font-size:14px;color:#cfe0e4}
.hero-points li:before{content:"✓";margin-right:9px;color:var(--green);font-weight:950}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:1px solid var(--line);border-radius:11px;font-weight:850;transition:.2s}
.btn:hover{transform:translateY(-2px)}.btn.primary{background:linear-gradient(135deg,#e93139,#bd1d2a);border-color:#f14a51;box-shadow:0 12px 34px rgba(239,52,59,.22)}
.btn.secondary{background:rgba(15,40,49,.8)}.hero-screen,.showcase-visual{position:relative;overflow:hidden;border:1px solid rgba(86,220,239,.32);border-radius:24px;background:linear-gradient(145deg,rgba(11,34,44,.92),rgba(3,12,17,.96));box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.05)}
.hero-screen{padding:34px 14px 14px;transform:perspective(1200px) rotateY(-4deg) rotateX(2deg);transition:.35s}
.hero-screen:hover{transform:perspective(1200px) rotateY(-1deg) rotateX(0) translateY(-4px)}.hero-screen img,.ems-visual img{display:block;width:100%;height:auto;border-radius:14px}
.visual-label{position:absolute;top:10px;left:14px;right:14px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.08em}
.visual-label span{font-weight:900;color:#eaffff}.visual-label b{padding:4px 7px;border:1px solid rgba(103,232,121,.25);border-radius:99px;background:rgba(103,232,121,.07);color:#aaf4b4}
.section{padding:82px 0}.section-head{max-width:820px;margin-bottom:34px}.section-head h2,.contact h2{font-size:clamp(36px,4.6vw,58px);margin:10px 0 16px}.section-head p{margin:0;color:var(--muted);font-size:18px}
.showcase{display:grid;grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);gap:34px;align-items:center;margin:0 0 34px;padding:24px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(150deg,rgba(12,34,44,.82),rgba(4,14,19,.94));box-shadow:inset 0 1px rgba(255,255,255,.035)}
.showcase.reverse .showcase-copy{order:2}.showcase.reverse .showcase-visual{order:1}.showcase-copy{padding:12px}.showcase h3{font-size:32px;line-height:1.08;margin:11px 0 14px}
.showcase-copy>p{color:var(--muted);font-size:17px}.demo-tag{display:inline-flex;padding:5px 9px;border:1px solid rgba(78,227,255,.24);border-radius:99px;background:rgba(78,227,255,.055);color:#bdf5ff;font-size:11px;font-weight:850;letter-spacing:.08em}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.detail-grid h4{margin:0 0 9px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#eaffff}
.detail-grid ul{margin:0;padding-left:18px;color:#a9bbc0;font-size:14px}.detail-grid li+li{margin-top:6px}.showcase-visual{min-height:430px;padding:42px 18px 18px}
.ems-visual{display:grid;align-items:center}.vpp-visual,.twin-visual{position:relative;min-height:460px}
.vpp-lines{position:absolute;inset:48px 20px 52px;width:calc(100% - 40px);height:calc(100% - 100px)}.flow-path{fill:none;stroke:url(#flowGradient);stroke-width:4;stroke-linecap:round;stroke-dasharray:4 18;filter:drop-shadow(0 0 8px rgba(78,227,255,.75));animation:dash 2.5s linear infinite}
.flow-path.p2{animation-delay:-.7s}.flow-path.p3{animation-delay:-1.2s}.flow-path.p4{animation-delay:-1.8s}.vpp-node,.vpp-core{position:absolute;display:grid;place-items:center;text-align:center;border:1px solid rgba(86,220,239,.31);background:rgba(7,24,31,.92);box-shadow:0 14px 32px rgba(0,0,0,.32),0 0 20px rgba(78,227,255,.09)}
.vpp-node{width:112px;height:86px;border-radius:16px}.vpp-node span{font-size:25px;color:var(--cyan)}.vpp-node strong{font-size:12px}.vpp-node small{color:#9fc3ca;font-size:10px}
.vpp-node.pv{left:7%;top:17%}.vpp-node.battery{right:7%;top:17%}.vpp-node.loads{left:7%;bottom:16%}.vpp-node.grid{right:7%;bottom:16%}
.vpp-core{left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 36% 28%,#d7fdff 0 4%,#4ee3ff 11%,#244fc9 44%,#080d1b 73%);box-shadow:0 0 22px #4ee3ff,0 0 80px rgba(78,227,255,.42)}
.vpp-core span{font-size:11px}.vpp-core strong{font-size:25px;letter-spacing:.08em}.vpp-core small{font-size:10px}.vpp-state{position:absolute;left:50%;bottom:19px;transform:translateX(-50%);width:max-content;max-width:82%;padding:7px 11px;border-radius:99px;background:rgba(103,232,121,.08);color:#aaf4b4;font-size:11px}
.twin-scene{position:absolute;inset:48px 18px 18px;perspective:1000px;overflow:hidden;border-radius:14px;background:radial-gradient(circle at 50% 44%,rgba(177,108,255,.14),transparent 34%),linear-gradient(180deg,#06151c,#03090d)}
.twin-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(78,227,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(78,227,255,.055) 1px,transparent 1px);background-size:34px 34px;transform:perspective(700px) rotateX(66deg) scale(1.4);transform-origin:center bottom}
.building{position:absolute;left:50%;top:49%;width:300px;height:180px;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-34deg);transform-style:preserve-3d}
.floor{position:absolute;inset:0;border:2px solid rgba(78,227,255,.55);background:linear-gradient(135deg,rgba(78,227,255,.08),rgba(177,108,255,.1));box-shadow:0 0 25px rgba(78,227,255,.13)}
.floor-b{transform:translateZ(45px)}.floor-c{transform:translateZ(90px)}.energy-route{position:absolute;height:5px;background:linear-gradient(90deg,var(--green),var(--cyan),var(--violet));background-size:200% 100%;box-shadow:0 0 13px var(--cyan);animation:twinFlow 2.6s linear infinite}
.route-a{left:13%;right:17%;top:43%;transform:translateZ(95px)}.route-b{width:48%;right:18%;top:64%;transform:translateZ(52px) rotate(90deg);transform-origin:right}
.asset{position:absolute;width:62px;height:48px;display:grid;place-items:center;border:1px solid rgba(86,220,239,.37);border-radius:8px;background:rgba(5,25,32,.95);box-shadow:0 8px 20px rgba(0,0,0,.4);transform:translateZ(99px);font-size:9px}
.asset span{position:absolute;right:5px;top:5px;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green);animation:pulse 1.8s ease-in-out infinite}.asset small{color:#8edfe9;font-size:8px}
.asset-main{left:9%;top:34%}.asset-pv{right:9%;top:20%}.asset-ems{left:42%;bottom:9%}.asset-load{right:15%;bottom:12%}.twin-caption{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);width:max-content;max-width:88%;padding:7px 11px;border-radius:99px;background:rgba(78,227,255,.07);color:#bdf5ff;font-size:10px}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process-step{position:relative;padding:21px;border:1px solid var(--line);border-radius:13px;background:rgba(10,28,36,.78)}
.process-step:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--green),var(--cyan),var(--violet))}.process-step span{color:#6d8c95;font-size:11px}.process-step strong{display:block;margin-top:5px;font-size:20px}.process-step small{color:var(--muted)}
.ecosystem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ecosystem-card{padding:24px;border:1px solid var(--line);border-radius:17px;background:linear-gradient(155deg,rgba(12,34,44,.84),rgba(4,14,19,.92));transition:.25s}
.ecosystem-card:hover{transform:translateY(-6px);border-color:rgba(86,220,239,.48)}.ecosystem-card h3{font-size:23px;margin:0 0 9px}.ecosystem-card p{min-height:52px;color:var(--muted)}.ecosystem-card span{color:#8fe9ff;font-weight:850}
.notice{margin-top:18px;margin-bottom:52px;padding:21px;border-left:4px solid var(--amber);border-radius:9px;background:#211b0d;color:#efddb4}.notice strong{font-size:12px;letter-spacing:.08em}.notice p{margin:7px 0 0}
.contact{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:80px;padding:38px;border:1px solid rgba(86,220,239,.29);border-radius:23px;background:radial-gradient(circle at 92% 18%,rgba(177,108,255,.17),transparent 28%),linear-gradient(120deg,rgba(11,54,66,.94),rgba(35,14,32,.92));box-shadow:var(--shadow)}
.contact h2{margin:8px 0 10px}.contact p{margin:0;color:#bfd2d6;max-width:720px}.footer{border-top:1px solid var(--line);padding:30px 0;color:#89a2a9}.footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@keyframes dash{to{stroke-dashoffset:-44}}@keyframes twinFlow{to{background-position:-200% 0}}@keyframes pulse{50%{transform:scale(1.45);opacity:.55}}
@media(max-width:1020px){.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-screen{transform:none}.showcase,.showcase.reverse{grid-template-columns:1fr}.showcase.reverse .showcase-copy,.showcase.reverse .showcase-visual{order:initial}.showcase-visual{min-height:410px}.nav-links{display:none}}
@media(max-width:720px){.hero h1{font-size:clamp(42px,13vw,62px)}.hero-points,.detail-grid,.process,.ecosystem-grid{grid-template-columns:1fr}.showcase{padding:14px}.showcase-visual{min-height:390px;padding-left:10px;padding-right:10px}.vpp-node{width:88px;height:72px}.vpp-node.pv,.vpp-node.loads{left:3%}.vpp-node.battery,.vpp-node.grid{right:3%}.vpp-core{width:104px;height:104px}.contact{align-items:flex-start;flex-direction:column}.visual-label{font-size:8px}.language button{padding:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
