:root{--navy:#0B1220;--navy2:#121B2E;--navy3:#1A2540;--y:#FFC21A;--y2:#FFD65C;--txt:#E8ECF4;--muted:#93A0B8;--line:rgba(255,255,255,.09);--light:#F4F6FA;--ink:#0B1220;--ink2:#56627A;--green:#3DDC84;--red:#FF4D4D;--copper:#D9822B}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:'Inter',sans-serif;background:var(--light);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;font-weight:700;line-height:1.02;letter-spacing:-.025em}
h1 em,h2 em{font-style:normal;color:var(--y)}
.lt h2 em{color:#d99a00}
a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit;color:inherit}button{cursor:pointer}
.wrap{width:min(1200px,90%);margin:0 auto}
.mono{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.grid-bg{background-color:var(--navy);background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;color:var(--txt)}
/* ---- header ---- */
header{position:fixed;top:0;left:0;right:0;z-index:120;transition:.3s;color:var(--txt)}
header.sc{background:rgba(11,18,32,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk';font-weight:700;letter-spacing:.06em;font-size:1.05rem;line-height:1}
.logo small{display:block;font-family:'Inter';font-weight:500;font-size:.55rem;letter-spacing:.24em;color:var(--muted);margin-top:3px}
.logo .bolt{width:36px;height:36px;border-radius:10px;background:var(--y);display:flex;align-items:center;justify-content:center}
.menu{display:flex;gap:24px;font-size:.88rem;font-weight:500;color:#c3cbdb}.menu a:hover,.menu a.on{color:var(--y)}
.tel{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:var(--y);color:var(--ink);font-weight:700;font-size:.86rem}
.burger{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--txt);font-size:1.2rem}
.mnav{display:none}
/* ---- voltage wire ---- */
#wire{position:fixed;left:22px;top:90px;bottom:30px;width:2px;background:rgba(147,160,184,.18);z-index:90;pointer-events:none}
#wire i{position:absolute;left:0;top:0;width:2px;background:linear-gradient(var(--y),var(--y2));box-shadow:0 0 10px var(--y);height:0}
#wire b{position:absolute;left:-4px;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:0 0 12px 4px var(--y);top:0;margin-top:-5px}
#wire span{position:absolute;left:10px;bottom:-4px;font-family:'JetBrains Mono';font-size:.6rem;color:var(--muted);white-space:nowrap}
/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:12px;font-weight:700;font-size:.92rem;border:0;transition:.2s}
.btn-y{background:var(--y);color:var(--ink)}.btn-y:hover{background:var(--y2);box-shadow:0 0 30px -6px var(--y)}
.btn-o{border:1.5px solid currentColor;background:transparent}
.btn-d{background:var(--navy);color:#fff}.btn-d:hover{background:var(--navy3)}
.btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}
/* ---- hero with switch ---- */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:110px 0 70px;transition:background-color 1s}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;position:relative;z-index:2}
.hero .kick{color:var(--muted);margin-bottom:20px;display:flex;gap:10px;align-items:center}
.hero .kick i{width:8px;height:8px;border-radius:50%;background:#3a4560;transition:.4s}
body.on .hero .kick i{background:var(--green);box-shadow:0 0 10px var(--green)}
.hero h1{font-size:clamp(3rem,7.4vw,6.4rem);margin-bottom:24px;color:#4a5570;transition:color .8s .5s,text-shadow .8s .5s}
body.on .hero h1{color:#fff;text-shadow:0 0 40px rgba(255,194,26,.18)}
.hero h1 em{color:#5a5030;transition:color .8s .6s}body.on .hero h1 em{color:var(--y)}
.hero p{color:#6b7790;max-width:470px;font-size:1.1rem;margin-bottom:32px;transition:color .8s .6s}body.on .hero p{color:#b9c3d6}
.hero .btns{display:flex;gap:10px;flex-wrap:wrap;opacity:.35;transition:opacity .8s .7s}body.on .hero .btns{opacity:1}
.cone{position:absolute;left:50%;top:-10%;width:1400px;height:900px;margin-left:-700px;background:radial-gradient(ellipse at 50% 0,rgba(255,214,92,.22),rgba(255,194,26,.05) 40%,transparent 65%);opacity:0;transition:opacity 1.2s .4s;pointer-events:none;z-index:1}
body.on .cone{opacity:1}
#circ{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
#circ path{fill:none;stroke:#26314a;stroke-width:2}
#circ .live{stroke:var(--y);stroke-width:2.5;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);filter:drop-shadow(0 0 6px var(--y));transition:stroke-dashoffset 1.1s cubic-bezier(.6,0,.3,1)}
body.on #circ .live{stroke-dashoffset:0}
.bulbs{position:absolute;top:70px;left:0;right:0;z-index:2;pointer-events:none}
.bulb{position:absolute;top:0;width:34px;margin-left:-17px;display:flex;flex-direction:column;align-items:center}
.bulb .cord{width:2px;height:var(--h,60px);background:#26314a}
.bulb .glass{width:34px;height:40px;border-radius:50% 50% 45% 45%;background:radial-gradient(circle at 40% 35%,#3a4560,#232c40);transition:.5s;position:relative}
.bulb .glass:before{content:"";position:absolute;left:10px;top:-6px;width:14px;height:8px;background:#5a6680;border-radius:2px}
body.on .bulb .glass{background:radial-gradient(circle at 45% 40%,#fff,#ffe9a8 40%,var(--y) 80%);box-shadow:0 0 30px 8px rgba(255,194,26,.55),0 0 90px 20px rgba(255,194,26,.25)}
body.on .bulb:nth-child(1) .glass{transition-delay:1s}body.on .bulb:nth-child(2) .glass{transition-delay:1.15s}body.on .bulb:nth-child(3) .glass{transition-delay:1.3s}
.swwrap{display:flex;flex-direction:column;align-items:center;gap:18px}
.plate{width:190px;height:270px;border-radius:22px;background:linear-gradient(160deg,#f6f7fa,#d9dde6);box-shadow:0 30px 60px -20px rgba(0,0,0,.7),inset 0 2px 0 #fff,inset 0 -3px 6px rgba(0,0,0,.12);display:flex;align-items:center;justify-content:center;position:relative}
.plate:before,.plate:after{content:"";position:absolute;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#c4c9d4;box-shadow:inset 0 1px 2px rgba(0,0,0,.3)}
.plate:before{top:14px}.plate:after{bottom:14px}
.rocker{width:96px;height:160px;border-radius:14px;border:0;background:linear-gradient(180deg,#fff 0%,#eceef3 48%,#d6dae3 52%,#f2f3f7 100%);box-shadow:0 10px 18px -6px rgba(0,0,0,.4),inset 0 -2px 0 rgba(0,0,0,.08);transform:perspective(500px) rotateX(14deg);transition:transform .18s cubic-bezier(.3,1.6,.5,1),background .2s;position:relative}
.rocker:after{content:"";position:absolute;left:50%;bottom:18px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#d23b3b;box-shadow:0 0 0 2px rgba(0,0,0,.08);transition:.3s}
body.on .rocker{transform:perspective(500px) rotateX(-14deg);background:linear-gradient(180deg,#d6dae3 0%,#f2f3f7 48%,#fff 52%,#eceef3 100%)}
body.on .rocker:after{background:var(--green);box-shadow:0 0 10px var(--green)}
.swlbl{font-family:'JetBrains Mono';font-size:.72rem;letter-spacing:.2em;color:var(--y);animation:pulse 1.6s infinite}
body.on .swlbl{animation:none;color:var(--muted)}
@keyframes pulse{50%{opacity:.35}}
/* ---- meters ---- */
.meters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-50px;position:relative;z-index:3}
.meter{background:var(--navy2);border:1px solid var(--line);border-radius:18px;padding:20px 22px;color:var(--txt);display:flex;gap:16px;align-items:center}
.lcd{font-family:'JetBrains Mono';font-weight:700;font-size:2.2rem;color:var(--y);background:#0a0f1a;border-radius:10px;padding:6px 14px;min-width:120px;text-align:right;text-shadow:0 0 12px rgba(255,194,26,.5);box-shadow:inset 0 2px 8px rgba(0,0,0,.6);letter-spacing:.04em}
.meter p{color:var(--muted);font-size:.86rem;line-height:1.4}.meter b{color:#fff;display:block;font-size:.95rem}
/* ---- sections ---- */
section{padding:110px 0;position:relative}
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:46px}
.sh h2{font-size:clamp(2.4rem,5.4vw,4.2rem)}.sh p{max-width:430px;color:var(--ink2)}
.grid-bg .sh p,.dk .sh p{color:var(--muted)}
.tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;color:#d99a00}.grid-bg .tag,.dk .tag{color:var(--y)}
.tag:before{content:"";width:14px;height:14px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFC21A' d='M13 2 3 14h7l-1 8 10-12h-7z'/%3E%3C/svg%3E")}
.dk{background:var(--navy);color:var(--txt)}
/* ---- breaker panel ---- */
.panelw{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start}
.box{background:linear-gradient(180deg,#e9ecf2,#cfd4de);border-radius:20px;padding:22px 22px 26px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 2px 0 #fff;position:relative}
.box .lbl{font-family:'JetBrains Mono';font-size:.62rem;letter-spacing:.16em;color:#55607a;display:flex;justify-content:space-between;margin-bottom:12px}
.rail{background:#1c2436;border-radius:10px;padding:16px 14px 12px;display:flex;gap:6px;position:relative}
.rail:before{content:"";position:absolute;left:8px;right:8px;top:50%;height:16px;margin-top:-8px;background:repeating-linear-gradient(90deg,#9aa3b5 0 8px,#7e889c 8px 10px);border-radius:2px;opacity:.35}
.mcb{position:relative;width:62px;height:150px;background:linear-gradient(180deg,#fafbfc,#e3e6ec);border-radius:6px;border:0;display:flex;flex-direction:column;align-items:center;padding:8px 0;box-shadow:0 2px 0 rgba(0,0,0,.25);z-index:1}
.mcb .led{width:8px;height:8px;border-radius:50%;background:#6b2a2a;transition:.25s}
.mcb.on .led{background:var(--green);box-shadow:0 0 8px var(--green)}
.mcb .slot{width:26px;height:58px;border-radius:5px;background:#2a3246;margin:8px 0 6px;position:relative;box-shadow:inset 0 2px 4px rgba(0,0,0,.5)}
.mcb .lev{position:absolute;left:3px;right:3px;height:26px;border-radius:4px;background:linear-gradient(180deg,#2f6cf6,#1f4fc0);bottom:3px;transition:bottom .16s cubic-bezier(.3,1.6,.5,1)}
.mcb.on .lev{bottom:29px;background:linear-gradient(180deg,#ffd65c,#ffc21a)}
.mcb .no{font-family:'JetBrains Mono';font-size:.6rem;font-weight:700;color:#3b455c}
.mcb .nm{font-size:.55rem;color:#55607a;text-align:center;line-height:1.15;padding:0 3px;margin-top:4px;font-weight:600}
.mcb:focus-visible{outline:3px solid var(--y);outline-offset:3px}
.box .bot{margin-top:12px;font-family:'JetBrains Mono';font-size:.62rem;color:#55607a;display:flex;justify-content:space-between}
.sv{background:#fff;border-radius:20px;padding:34px;display:flex;flex-direction:column;box-shadow:0 20px 50px -40px rgba(0,0,0,.5);position:relative;overflow:hidden}
.sv .st{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono';font-size:.7rem;letter-spacing:.14em;color:#1f9d5a}
.sv .st i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.sv h3{font-size:2.3rem;margin:12px 0 10px}
.sv p{color:var(--ink2);margin-bottom:18px;max-width:520px}
.sv ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-bottom:24px}
.sv li{display:flex;gap:8px;font-size:.92rem}.sv li:before{content:"";flex-shrink:0;width:16px;height:16px;margin-top:3px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23d99a00' d='M13 2 3 14h7l-1 8 10-12h-7z'/%3E%3C/svg%3E")}
.sv .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:20px;border-top:1px dashed #d8dde8}
.sv .pr{font-family:'Space Grotesk';font-weight:700;font-size:1.5rem}.sv .pr small{font-family:'Inter';font-weight:500;font-size:.8rem;color:var(--ink2)}
.sv.flick{animation:flick .35s}
@keyframes flick{0%{opacity:.2}20%{opacity:1}35%{opacity:.4}60%{opacity:1}}
.svoff{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink2);height:100%}
/* ---- components (why us) ---- */
.comps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cp{border:1px solid var(--line);border-radius:20px;padding:28px;background:var(--navy2);position:relative;overflow:hidden}
.cp svg{height:44px;margin-bottom:18px}
.cp svg path,.cp svg rect,.cp svg circle,.cp svg line{stroke:var(--y);stroke-width:2.2;fill:none}
.cp .n{position:absolute;right:22px;top:20px;font-family:'JetBrains Mono';color:#3a4560;font-size:.8rem}
.cp h3{font-size:1.5rem;margin-bottom:8px;color:#fff}.cp p{color:var(--muted);font-size:.95rem}
/* ---- projects ---- */
.prj{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pj{position:relative;border-radius:20px;padding:2px;background:#dfe3ec;overflow:hidden}
.pj:before{content:"";position:absolute;inset:-50%;background:conic-gradient(from 0deg,transparent 0 70%,var(--y) 85%,transparent 100%);animation:spin 3s linear infinite;opacity:0;transition:.3s}
.pj:hover:before{opacity:1}
@keyframes spin{to{transform:rotate(360deg)}}
.pj .in{position:relative;background:#fff;border-radius:18px;padding:24px;height:100%}
.pj .ill{height:150px;border-radius:12px;background:var(--navy);margin-bottom:18px;position:relative;overflow:hidden}
.pj .ill svg{width:100%;height:100%}
.pj h3{font-size:1.35rem;margin-bottom:6px}.pj p{color:var(--ink2);font-size:.9rem}
.pj .kv{display:flex;gap:14px;margin-top:14px;font-family:'JetBrains Mono';font-size:.72rem;color:var(--ink2)}.pj .kv b{color:var(--ink)}
/* ---- cta ---- */
.cta{border-radius:26px;padding:50px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;overflow:hidden;position:relative}
.cta h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:10px}.cta p{color:var(--muted)}
.cta .btns{display:flex;gap:10px;flex-wrap:wrap}
/* ---- page hero ---- */
.phero{padding:150px 0 70px;position:relative;overflow:hidden}
.phero .crumb{font-family:'JetBrains Mono';font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:22px}.phero .crumb a:hover{color:var(--y)}
.phero h1{font-size:clamp(2.8rem,6.6vw,5.2rem);color:#fff;max-width:900px}
.phero p{color:var(--muted);max-width:560px;margin-top:18px;font-size:1.06rem}
.phero .sch{position:absolute;right:-40px;top:60px;width:520px;opacity:.16;pointer-events:none}
.phero .sch *{stroke:var(--y);fill:none;stroke-width:2}
.pbody{padding:70px 0 110px}
/* ---- planner ---- */
.pl{display:grid;grid-template-columns:1.45fr .55fr;gap:26px;align-items:start}
.tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.tool{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1.5px solid #d3d8e3;background:#fff;font-weight:700;font-size:.84rem}
.tool svg{width:20px;height:20px}
.tool.on{border-color:var(--ink);background:var(--ink);color:#fff}
.tool small{font-weight:500;color:var(--ink2);font-size:.72rem}.tool.on small{color:#b9c3d6}
.planbox{background:var(--navy);border-radius:20px;padding:14px;position:relative}
#plan{width:100%;height:auto;display:block;cursor:crosshair;touch-action:manipulation}
#plan .rm{fill:#121b2e;stroke:#2c3a58;stroke-width:1}
#plan .rm:hover{fill:#16223a}
#plan .wl{fill:none;stroke:#c9d2e3;stroke-width:6;stroke-linejoin:square}
#plan .iw{stroke:#c9d2e3;stroke-width:3}
#plan .rl{font-family:'Space Grotesk';font-weight:600;font-size:14px;fill:#5a6888;pointer-events:none}
#plan .cab{fill:none;stroke:var(--y);stroke-width:1.6;stroke-dasharray:6 6;animation:cur .8s linear infinite;opacity:.8;pointer-events:none}
@keyframes cur{to{stroke-dashoffset:-12}}
#plan .pt{cursor:pointer}
#plan .pt circle{stroke-width:2}
#plan .fb rect{fill:var(--y)}
.pinfo{position:absolute;right:24px;top:24px;background:rgba(255,255,255,.95);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:.8rem;font-weight:600;pointer-events:none}
.presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.presets button{padding:9px 14px;border-radius:10px;border:1px solid #2c3a58;background:transparent;color:#c3cbdb;font-size:.82rem;font-weight:600}
.presets button:hover{border-color:var(--y);color:var(--y)}
.bill{background:#fff;border-radius:20px;padding:24px;position:sticky;top:90px;box-shadow:0 20px 50px -40px rgba(0,0,0,.5)}
.bill h3{font-size:1.5rem;margin-bottom:14px}
.bl{display:flex;justify-content:space-between;padding:7px 0;font-size:.9rem;border-bottom:1px dashed #e1e5ee}.bl span{color:var(--ink2)}
.bl b{font-family:'JetBrains Mono';font-weight:500}
.btot{margin:16px 0 4px;font-family:'Space Grotesk';font-weight:700;font-size:2rem;line-height:1}
.bnote{font-size:.78rem;color:var(--ink2);margin-bottom:16px}
/* ---- PV ---- */
.pv{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.ctl{background:#fff;border-radius:20px;padding:28px;display:grid;gap:22px}
.ctl .t{display:flex;justify-content:space-between;font-weight:700;font-size:.88rem;margin-bottom:8px}.ctl .t b{font-family:'JetBrains Mono';font-weight:500;color:#b57f00}
.ctl input[type=range]{width:100%;accent-color:#e0a800}
.seg{display:flex;gap:6px;flex-wrap:wrap}.seg button{flex:1;min-width:max-content;padding:10px 12px;border-radius:10px;border:1.5px solid #d3d8e3;background:transparent;font-weight:700;font-size:.82rem}.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pvv{background:var(--navy);border-radius:22px;padding:26px;color:var(--txt)}
#roof{width:100%;height:auto;display:block}
.ferr{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-top:20px;background:#0a0f1a;border-radius:16px;padding:18px}
.disk{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#2a3246 0 40%,#1a2236 41%);position:relative;border:3px solid #2c3a58}
.disk i{position:absolute;inset:10px;border-radius:50%;border:2px solid #3a4560;animation:rot var(--sp,4s) linear infinite}
.disk i:before{content:"";position:absolute;left:50%;top:-2px;width:14px;height:8px;margin-left:-7px;background:var(--red);border-radius:2px}
@keyframes rot{to{transform:rotate(-360deg)}}
.odo{display:flex;gap:3px}
.odo span{width:30px;height:44px;background:#141a28;border-radius:5px;overflow:hidden;position:relative;font-family:'JetBrains Mono';font-weight:700;font-size:1.5rem;color:var(--y)}
.odo span i{position:absolute;left:0;right:0;top:0;display:flex;flex-direction:column;transition:transform 1.2s cubic-bezier(.2,.8,.2,1);font-style:normal}
.odo span i b{height:44px;display:flex;align-items:center;justify-content:center;font-weight:700}
.odo .c{width:14px;background:none;color:var(--muted);display:flex;align-items:flex-end;justify-content:center}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.kpis div{background:var(--navy2);border-radius:12px;padding:12px}.kpis span{display:block;font-size:.7rem;color:var(--muted)}.kpis b{font-family:'Space Grotesk';font-size:1.3rem;color:#fff}
/* ---- measurements ---- */
.ms{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 20px 50px -40px rgba(0,0,0,.5)}
.card h3{font-size:1.6rem;margin-bottom:16px}
.card select{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid #d3d8e3;background:#fff;font-size:.95rem;font-weight:600;margin-bottom:14px}
.status{display:flex;gap:16px;align-items:center;margin-top:8px;padding:18px;border-radius:16px;background:var(--light)}
.status .ld{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:#999}
.status.ok .ld{background:var(--green);box-shadow:0 0 14px var(--green)}.status.warn .ld{background:var(--y);box-shadow:0 0 14px var(--y)}.status.bad .ld{background:var(--red);box-shadow:0 0 14px var(--red);animation:pulse 1s infinite}
.status b{display:block;font-size:1.05rem}.status small{color:var(--ink2)}
.mm{background:#ffd23f;border-radius:30px 30px 40px 40px;padding:20px 20px 30px;box-shadow:0 30px 50px -24px rgba(0,0,0,.5),inset 0 -6px 0 rgba(0,0,0,.12);position:relative}
.mm .scr{background:#a9b89a;border-radius:12px;padding:16px 18px;box-shadow:inset 0 3px 10px rgba(0,0,0,.35);font-family:'JetBrains Mono';color:#1d2618;min-height:130px}
.mm .scr .v{font-size:2.6rem;font-weight:700;line-height:1;text-align:right}
.mm .scr .u{text-align:right;font-weight:700}
.mm .scr .tn{font-size:.72rem;font-weight:700;letter-spacing:.08em}
.mm .dial{width:110px;height:110px;margin:20px auto 0;border-radius:50%;background:radial-gradient(circle,#2a2f3a 0 46%,#1b1f27 47%);position:relative;box-shadow:0 6px 10px rgba(0,0,0,.3)}
.mm .dial i{position:absolute;left:50%;top:8px;width:6px;height:36px;margin-left:-3px;background:#fff;border-radius:3px;transform-origin:50% 47px;transition:transform .4s}
.mm .probes{display:flex;justify-content:space-between;margin-top:16px}.mm .probes span{width:22px;height:22px;border-radius:50%;background:#222}.mm .probes span:last-child{background:#c62828}
.tests{display:grid;gap:8px;margin:18px 0}
.ts{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--light);font-size:.9rem}
.ts b{font-family:'JetBrains Mono';font-weight:500;font-size:.82rem}
.ts.run{background:#fff7dc}.ts.ok b{color:#1f9d5a}.ts.ok b:after{content:" ✓"}
/* ---- contact circuit ---- */
.ct{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.cform{background:#fff;border-radius:22px;padding:30px;display:grid;gap:14px;box-shadow:0 20px 50px -40px rgba(0,0,0,.5)}
.cform label{font-weight:700;font-size:.82rem;display:flex;justify-content:space-between}
.cform label span{font-family:'JetBrains Mono';font-weight:500;font-size:.7rem;color:#aab3c5}
.cform label.ok span{color:#1f9d5a}
.cform input,.cform textarea,.cform select{width:100%;padding:13px 14px;border-radius:12px;border:1.5px solid #d3d8e3;background:var(--light);font-size:.95rem;margin-top:6px}
.cform textarea{min-height:110px;resize:vertical}
.cform input:focus,.cform textarea:focus{outline:0;border-color:var(--ink)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.chips button{padding:8px 12px;border-radius:999px;border:1.5px solid #d3d8e3;background:transparent;font-size:.8rem;font-weight:600}.chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.cside{display:grid;gap:18px}
.schem{background:var(--navy);border-radius:22px;padding:22px;color:var(--txt)}
#sch{width:100%;height:auto;display:block}
#sch .w{stroke:#2c3a58;stroke-width:3;fill:none;transition:stroke .3s}
#sch .w.on{stroke:var(--y);filter:drop-shadow(0 0 4px var(--y))}
#sch .lv{stroke:#c9d2e3;stroke-width:4;stroke-linecap:round;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
#sch .sw.on .lv{stroke:var(--y)}
#sch text{font-family:'JetBrains Mono';font-size:11px;fill:#93A0B8}
#sch .glass{fill:#1a2236;stroke:#5a6680;stroke-width:2;transition:.4s}
#sch.lit .glass{fill:#fff3c4;stroke:var(--y);filter:drop-shadow(0 0 16px var(--y)) drop-shadow(0 0 40px rgba(255,194,26,.6))}
.sline{font-family:'JetBrains Mono';font-size:.75rem;color:var(--muted);margin-top:10px;text-align:center}
.alarm{border-radius:22px;padding:22px;background:#fff;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.alarm b{display:block}
body.emer .alarm{background:var(--red);color:#fff;animation:emer 1s infinite}
@keyframes emer{50%{box-shadow:0 0 0 10px rgba(255,77,77,.25)}}
.info{background:#fff;border-radius:22px;padding:22px;display:grid;gap:10px;font-size:.95rem}
.info a{font-weight:700}
.done{text-align:center;padding:30px 10px}.done h3{font-size:2rem;margin:10px 0}
footer{background:#070c16;color:var(--muted);padding:56px 0 40px;font-size:.88rem}
footer .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer h4{color:#fff;font-family:'Space Grotesk';margin-bottom:12px}
footer a{display:block;margin-bottom:6px}footer a:hover{color:var(--y)}
footer .cp2{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.8rem}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:12px 22px;border-radius:12px;font-weight:600;font-size:.9rem;opacity:0;transition:.3s;z-index:320;pointer-events:none;max-width:90vw;text-align:center}.toast.on{opacity:1;transform:translate(-50%,0)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1000px){.menu{display:none}.burger{display:inline-flex;align-items:center;justify-content:center}.mnav.open{display:flex;flex-direction:column;gap:4px;padding:10px 5% 18px;background:rgba(11,18,32,.98)}.mnav a{padding:10px 0;border-bottom:1px solid var(--line);font-weight:600}.mnav a.on{color:var(--y)}#wire{display:none}.hero .wrap,.panelw,.pl,.pv,.ms,.ct{grid-template-columns:1fr}.comps,.prj{grid-template-columns:1fr 1fr}.bill{position:static}.cta{grid-template-columns:1fr}}
@media(max-width:640px){section{padding:80px 0}.hero{padding-top:100px;min-height:auto}.hero h1{font-size:2.9rem}.swwrap{flex-direction:row;justify-content:center}.plate{width:130px;height:186px}.rocker{width:66px;height:110px}.meters{grid-template-columns:1fr;margin-top:0}.comps,.prj{grid-template-columns:1fr}.rail{overflow-x:auto;justify-content:flex-start}.mcb{flex-shrink:0;width:54px}.sv{padding:24px}.sv ul{grid-template-columns:1fr}.cta{padding:30px}.kpis{grid-template-columns:1fr 1fr}.ferr{grid-template-columns:1fr;justify-items:center}footer .wrap{grid-template-columns:1fr}.tel span{display:none}.phero{padding:120px 0 50px}.phero .sch{display:none}.lcd{font-size:1.7rem;min-width:96px}.bulbs{display:none}#circ{display:none}}

.logo img{height:48px;width:auto;display:block;transition:filter .6s}
.flogo img{height:48px}
body.on header .logo img,.logo:hover img{filter:drop-shadow(0 0 10px rgba(255,214,92,.45))}
@media(max-width:640px){.logo img{height:34px}}
/* ===== WOW: fx canvas, surge, scope ===== */
#fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:250}
#flash{position:fixed;inset:0;background:#fffbe6;z-index:260;pointer-events:none;opacity:0}
#flash.go{animation:flash .55s ease-out}
@keyframes flash{0%{opacity:0}8%{opacity:.95}20%{opacity:.2}30%{opacity:.7}100%{opacity:0}}
body.surge .hero .wrap,body.surge .bulbs{animation:shake .45s}
@keyframes shake{10%,50%,90%{transform:translate(-4px,2px)}30%,70%{transform:translate(5px,-3px)}}
body.on .hero h1{animation:neon 1.4s .4s both}
@keyframes neon{0%{opacity:.2}8%{opacity:1}12%{opacity:.25}20%{opacity:1}26%{opacity:.5}34%,100%{opacity:1}}
body.on .bulb .glass{animation:boot 1.1s both}
body.on .bulb:nth-child(2) .glass{animation-delay:.15s}body.on .bulb:nth-child(3) .glass{animation-delay:.3s}
@keyframes boot{0%,10%{filter:brightness(.2)}14%{filter:brightness(1.6)}20%{filter:brightness(.3)}30%{filter:brightness(1.3)}36%{filter:brightness(.5)}50%,100%{filter:brightness(1)}}
.zap{box-shadow:0 0 0 2px rgba(255,214,92,.7),0 0 26px rgba(255,194,26,.55)!important}
.osc{padding:110px 0;overflow:hidden}
.osc .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:center}
.osc h2{font-size:clamp(2.6rem,6vw,4.8rem);color:#fff}
.osc p{color:var(--muted);margin:18px 0 22px;max-width:420px}
.crt{position:relative;background:#050a12;border-radius:22px;padding:18px;border:1px solid #1d2a44;box-shadow:inset 0 0 60px rgba(61,220,132,.06),0 40px 80px -40px #000}
.crt:after{content:"";position:absolute;inset:18px;border-radius:12px;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)}
#scope{width:100%;height:340px;display:block;border-radius:12px;cursor:crosshair;touch-action:none;background:#060d18}
.rd{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}
.rd div{background:#0a1220;border:1px solid #1d2a44;border-radius:10px;padding:10px 12px}
.rd span{display:block;font-family:'JetBrains Mono';font-size:.6rem;letter-spacing:.12em;color:#5c6a88}
.rd b{font-family:'JetBrains Mono';font-weight:700;color:var(--y);font-size:1.05rem}
.ph i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.alert{position:absolute;left:50%;top:30px;transform:translateX(-50%) scale(.9);background:var(--red);color:#fff;font-family:'JetBrains Mono';font-weight:700;letter-spacing:.14em;padding:8px 16px;border-radius:8px;font-size:.8rem;opacity:0;transition:.2s;pointer-events:none;box-shadow:0 0 30px rgba(255,77,77,.6);white-space:nowrap}
.crt.over .alert{opacity:1;transform:translateX(-50%) scale(1);animation:pulse .5s infinite}
.crt.over{border-color:var(--red)}
.surgebox{display:none;margin-top:14px;background:rgba(255,77,77,.1);border:1px solid rgba(255,77,77,.4);border-radius:14px;padding:14px 16px;color:#ffd0d0;font-size:.9rem}
.surgebox.on{display:block;animation:mup .3s}
@keyframes mup{from{opacity:0;transform:translateY(8px)}}
.osc .hint2{font-family:'JetBrains Mono';font-size:.7rem;color:var(--muted);letter-spacing:.1em}
@media(max-width:1000px){.osc .wrap{grid-template-columns:1fr}}
@media(max-width:640px){#scope{height:240px}.rd{grid-template-columns:1fr 1fr}.osc{padding:80px 0}}
@media(prefers-reduced-motion:reduce){#fx{display:none}}
/* ===== WOW 2: power-on reveal, storm, plasma ===== */
.reveal{opacity:0;transform:none!important;transition:none!important}
.reveal.in{animation:pwr 1s both}
@keyframes pwr{0%{opacity:0;filter:brightness(3) saturate(0)}5%{opacity:1}9%{opacity:.05}16%{opacity:.85}20%{opacity:.15}30%{opacity:1;filter:brightness(1.7)}38%{opacity:.6}46%,100%{opacity:1;filter:none}}
.trace{position:absolute;inset:-2px;border-radius:inherit;pointer-events:none;border:2px solid var(--y);box-shadow:0 0 16px var(--y),inset 0 0 16px rgba(255,194,26,.4);z-index:5;animation:trace 1.3s cubic-bezier(.6,0,.3,1) forwards}
@keyframes trace{0%{clip-path:inset(0 100% calc(100% - 3px) 0);opacity:1}30%{clip-path:inset(0 0 calc(100% - 3px) 0)}60%{clip-path:inset(0 0 0 0);opacity:1}100%{clip-path:inset(0 0 0 0);opacity:0}}
#storm{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#flash.mini{animation:flashm .35s ease-out}
@keyframes flashm{0%{opacity:0}10%{opacity:.35}25%{opacity:.05}35%{opacity:.25}100%{opacity:0}}
.cta2{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.globe{position:relative;width:340px;height:380px;display:flex;flex-direction:column;align-items:center}
#plasma{width:320px;height:320px;border-radius:50%;cursor:pointer;touch-action:none;display:block;background:radial-gradient(circle at 40% 35%,rgba(110,168,255,.18),rgba(11,18,32,.9) 70%);box-shadow:inset 0 0 40px rgba(110,168,255,.25),0 0 0 2px rgba(201,210,227,.25),0 0 60px -10px rgba(255,194,26,.35)}
.globe .base{width:150px;height:46px;margin-top:-14px;border-radius:12px 12px 20px 20px;background:linear-gradient(180deg,#2a3246,#121a2c);box-shadow:0 18px 30px -12px #000}
.globe small{position:absolute;bottom:-6px;font-family:'JetBrains Mono';font-size:.66rem;letter-spacing:.14em;color:var(--y);animation:pulse 1.6s infinite}
@media(max-width:1000px){.cta2{grid-template-columns:1fr;justify-items:center;text-align:center}.cta2 .btns{justify-content:center}}
@media(max-width:640px){.globe{width:260px;height:300px}#plasma{width:250px;height:250px}}
