:root {
  --bg:#060d12; --bg2:#0a1520; --bg3:#0f1e2e;
  --green:#00ff88; --green2:#00cc6a; --green3:#004d29;
  --cyan:#00e5ff; --blue:#0066ff; --orange:#ff8c00; --purple:#9d00ff;
  --white:#f0f4f8; --gray:#4a6070; --gray2:#8aa0b0;
  --red:#ff4444;
  --border:rgba(0,255,136,0.1); --border2:rgba(0,255,136,0.25);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Space Grotesk',sans-serif;background:var(--bg);color:var(--white);overflow-x:hidden;}
::-webkit-scrollbar{width:3px;} ::-webkit-scrollbar-track{background:var(--bg);} ::-webkit-scrollbar-thumb{background:var(--green);}

/* ACCESSIBILITY */
.skip-link{position:absolute;top:-48px;left:0;background:var(--green);color:var(--bg);padding:0.8rem 1.4rem;font-weight:700;text-decoration:none;z-index:2000;transition:top 0.2s;}
.skip-link:focus{top:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:2px;}
@media(prefers-reduced-motion:reduce){*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:66px;background:rgba(6,13,18,0.95);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:all 0.3s;}
.logo{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:3px;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:0.8rem;}
.logo em{color:var(--green);font-style:normal;}
.logo-sub{font-family:'JetBrains Mono',monospace;font-size:0.55rem;color:var(--gray2);letter-spacing:2px;text-transform:uppercase;line-height:1.2;}
.nav-links{display:flex;gap:1.8rem;list-style:none;}
.nav-links a{color:var(--gray2);text-decoration:none;font-size:0.82rem;font-weight:500;letter-spacing:0.5px;transition:color 0.2s;}
.nav-links a:hover{color:var(--green);}
.nav-cta{background:var(--green)!important;color:var(--bg)!important;padding:0.4rem 1.2rem;font-weight:700!important;}
.nav-cta:hover{background:#69ffb2!important;box-shadow:0 0 20px rgba(0,255,136,0.4)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;}
.hamburger span{width:24px;height:2px;background:var(--white);transition:transform 0.25s,opacity 0.25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
@media(max-width:900px){
  .nav-links{position:fixed;top:66px;left:0;right:0;flex-direction:column;background:rgba(6,13,18,0.99);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:1.5rem 5%;gap:1.2rem;transform:translateY(-110%);opacity:0;transition:transform 0.3s ease,opacity 0.3s ease;pointer-events:none;}
  .nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .nav-links a{display:block;padding:0.5rem 0;font-size:1rem;}
  .nav-cta{display:inline-block;}
}

/* HERO */
#home{min-height:100vh;display:flex;align-items:center;padding:84px 5% 40px;position:relative;overflow:hidden;}
#home::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(0,255,136,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,255,136,0.03) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.hero-orb{position:absolute;pointer-events:none;border-radius:50%;filter:blur(80px);}
.orb1{top:-20%;right:-5%;width:600px;height:600px;background:rgba(0,255,136,0.07);}
.orb2{bottom:-20%;left:-10%;width:500px;height:500px;background:rgba(0,229,255,0.05);}
.orb3{top:30%;left:30%;width:300px;height:300px;background:rgba(157,0,255,0.04);}

.hero-inner{display:grid;grid-template-columns:0.85fr 1.3fr;gap:3rem;align-items:center;max-width:1360px;margin:0 auto;width:100%;position:relative;z-index:1;}
.hero-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.hero-tag{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid var(--border2);padding:0.35rem 0.9rem;font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--green);letter-spacing:2px;text-transform:uppercase;}
.hero-tag::before{content:'';width:6px;height:6px;background:var(--green);border-radius:50%;animation:blink 1.5s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}

.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6.5vw,5.5rem);line-height:0.95;letter-spacing:2px;color:var(--white);margin-bottom:1.5rem;}
.hero-title .g{color:var(--green);}
.hero-title .stroke{-webkit-text-stroke:1.5px rgba(255,255,255,0.25);color:transparent;}
.hero-sub{font-size:1rem;color:var(--gray2);line-height:1.8;margin-bottom:2.5rem;max-width:500px;}
.hero-sub strong{color:var(--white);}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;}
.btn-g{background:var(--green);color:var(--bg);padding:0.9rem 2rem;font-weight:700;font-size:0.95rem;text-decoration:none;display:inline-flex;align-items:center;gap:0.5rem;transition:all 0.3s;letter-spacing:0.5px;}
.btn-g:hover{background:#69ffb2;box-shadow:0 0 30px rgba(0,255,136,0.5);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--white);padding:0.9rem 2rem;font-weight:600;font-size:0.95rem;text-decoration:none;border:1px solid rgba(255,255,255,0.2);transition:all 0.3s;}
.btn-outline:hover{border-color:var(--green);color:var(--green);}

/* Hero stats ticker */
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
.hstat{background:var(--bg);padding:1.1rem 0.8rem;text-align:center;transition:background 0.3s;}
.hstat:hover{background:rgba(0,255,136,0.04);}
.hstat-num{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;color:var(--green);letter-spacing:1px;}
.hstat-lbl{font-size:0.68rem;color:var(--gray2);margin-top:0.2rem;letter-spacing:0.5px;font-family:'JetBrains Mono',monospace;}

/* Hero visual: 4 solution icons */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.solutions-grid-hero{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);width:100%;max-width:400px;}
.sol-tile{background:var(--bg2);padding:2rem 1.5rem;text-align:center;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden;}
.sol-tile::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--tile-color,rgba(0,255,136,0.1)),transparent);opacity:0;transition:opacity 0.3s;}
.sol-tile:hover::before{opacity:1;}
.sol-tile:hover{transform:scale(1.02);z-index:2;}

.hero-slider{position:relative;width:100%;max-width:760px;}
.hero-slider-frame{position:relative;border:1px solid var(--border2);background:var(--bg3);overflow:hidden;border-radius:6px;aspect-ratio:3/2;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.6s ease;pointer-events:none;}
.hero-slide.active{opacity:1;pointer-events:auto;}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-slide-cap{position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1.3rem;background:linear-gradient(0deg,rgba(6,13,18,0.95) 0%,rgba(6,13,18,0.55) 65%,transparent 100%);}
.hero-slide-tag{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--green);letter-spacing:2px;text-transform:uppercase;margin-bottom:0.25rem;}
.hero-slide-title{font-family:'Bebas Neue',sans-serif;font-size:1.25rem;letter-spacing:1px;color:var(--white);}
.hero-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(6,13,18,0.75);border:1px solid var(--border2);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;z-index:5;transition:all 0.25s;backdrop-filter:blur(6px);}
.hero-nav-btn:hover{background:var(--green);color:var(--bg);border-color:var(--green);}
.hero-prev{left:10px;}
.hero-next{right:10px;}
.hero-dots{display:flex;justify-content:center;gap:0.6rem;margin-top:1rem;}
.hero-dot{width:9px;height:9px;border-radius:50%;background:var(--gray);border:none;cursor:pointer;padding:0;transition:all 0.25s;}
.hero-dot.active{background:var(--green);width:26px;border-radius:5px;}
@media(max-width:900px){
  .hero-slider{max-width:100%;}
  .hero-slide-title{font-size:1.05rem;}
  .hero-nav-btn{width:32px;height:32px;font-size:0.95rem;}
}
.sol-icon{font-size:2.5rem;margin-bottom:0.8rem;display:block;}
.sol-icon svg{overflow:visible;}

/* BESS — battery filling loop */
.batt-fill{
  transform-box:fill-box;
  transform-origin:center bottom;
  animation:battFill 3.2s ease-in-out infinite;
}
@keyframes battFill{
  0%{transform:scaleY(0);opacity:0.85;}
  70%{transform:scaleY(1);opacity:1;}
  85%{transform:scaleY(1);opacity:1;}
  100%{transform:scaleY(0);opacity:0.85;}
}

/* SOLAR — glowing core + slow ray rotation */
.icon-solar{animation:none;}
.sun-rays{transform-origin:20px 20px;animation:sunSpin 8s linear infinite;}
.sun-core{animation:sunPulse 2.4s ease-in-out infinite;transform-origin:20px 20px;filter:drop-shadow(0 0 3px rgba(255,215,0,0.7));}
@keyframes sunSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
@keyframes sunPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.15);}}

/* INVERTERS — flashing bolt */
.bolt-shape{transform-origin:20px 20px;animation:boltFlash 1.8s ease-in-out infinite;filter:drop-shadow(0 0 2px rgba(0,229,255,0.6));}
@keyframes boltFlash{
  0%,100%{opacity:0.55;filter:drop-shadow(0 0 1px rgba(0,229,255,0.3));}
  50%{opacity:1;filter:drop-shadow(0 0 6px rgba(0,229,255,0.9));}
}

/* AUTOMATION — spinning gear */
.gear-spin{transform-origin:20px 20px;animation:gearSpin 5s linear infinite;}
@keyframes gearSpin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

@media(prefers-reduced-motion:reduce){
  .batt-fill,.sun-rays,.sun-core,.bolt-shape,.gear-spin{animation:none!important;}
}
.sol-name{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1px;color:var(--white);margin-bottom:0.3rem;}
.sol-tag{font-family:'JetBrains Mono',monospace;font-size:0.6rem;letter-spacing:1px;}

/* SECTIONS */
section{padding:44px 5%;}
.sec-tag{font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--green);letter-spacing:3px;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem;}
.sec-tag::before{content:'//';opacity:0.4;}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:2px;line-height:1.05;margin-bottom:1rem;}
.sec-sub{font-size:0.95rem;color:var(--gray2);line-height:1.7;max-width:540px;}

/* SOLUTIONS OVERVIEW */
#solutions{background:var(--bg2);}
.sol-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);max-width:1200px;margin:2rem auto 0;}
.sol-card{background:var(--bg2);padding:2.5rem 2rem;position:relative;overflow:hidden;cursor:pointer;transition:background 0.3s;text-decoration:none;color:inherit;display:block;}
.sol-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--c,var(--green));transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.sol-card:hover::after{transform:scaleX(1);}
.sol-card:hover{background:rgba(255,255,255,0.03);}
.sol-card-icon{font-size:3rem;margin-bottom:1.2rem;display:block;}
.sol-card-num{font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:var(--gray);letter-spacing:2px;margin-bottom:0.5rem;}
.sol-card-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1px;margin-bottom:0.8rem;}
.sol-card-desc{font-size:0.85rem;color:var(--gray2);line-height:1.65;}
.sol-card-arrow{margin-top:1.5rem;font-size:0.8rem;color:var(--gray);transition:color 0.3s;letter-spacing:1px;font-family:'JetBrains Mono',monospace;}
.sol-card:hover .sol-card-arrow{color:var(--green);}

/* SECTION DETAIL CARDS */
.detail-section{padding:44px 5%;}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;align-items:center;}
.detail-grid.reverse{direction:rtl;}
.detail-grid.reverse > *{direction:ltr;}
.detail-text .sec-tag{margin-bottom:1rem;}
.detail-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.5rem,4vw,3.5rem);letter-spacing:2px;line-height:1;margin-bottom:1rem;}
.detail-sub{font-size:0.95rem;color:var(--gray2);line-height:1.8;margin-bottom:2rem;}
.feat-list{list-style:none;display:flex;flex-direction:column;gap:0.7rem;margin-bottom:2rem;}
.feat-list li{display:flex;align-items:flex-start;gap:0.8rem;font-size:0.88rem;color:var(--gray2);padding:0.6rem 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.feat-list li:last-child{border:none;}
.feat-list li::before{content:'›';color:var(--c,var(--green));font-size:1.2rem;flex-shrink:0;margin-top:-1px;}
.products-offered{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem;}
.prod-pill{border:1px solid var(--border2);padding:0.35rem 0.9rem;font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--green);letter-spacing:1px;}

/* Visual panels */
.visual-panel{position:relative;}
.panel-box{border:1px solid var(--border);background:var(--bg2);padding:2rem;position:relative;overflow:hidden;}
.panel-glow{position:absolute;top:-50px;right:-50px;width:200px;height:200px;border-radius:50%;pointer-events:none;filter:blur(60px);}
.panel-img-frame{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--bg);}
.panel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;}
.panel-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-top:1px;}
.pstat{background:var(--bg2);padding:1rem;text-align:center;}
.pstat-num{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--green);}
.pstat-lbl{font-size:0.68rem;color:var(--gray2);margin-top:0.2rem;font-family:'JetBrains Mono',monospace;letter-spacing:0.5px;}

/* Icon grid visual */
.icon-visual{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);}
.iv-cell{background:var(--bg2);padding:2rem;text-align:center;transition:background 0.3s;}
.iv-cell:hover{background:rgba(255,255,255,0.03);}
.iv-icon{font-size:2.5rem;margin-bottom:0.8rem;display:inline-block;animation:ivPulse 3s ease-in-out infinite;}
.iv-cell:nth-child(2) .iv-icon{animation-delay:0.4s;}
.iv-cell:nth-child(3) .iv-icon{animation-delay:0.8s;}
.iv-cell:nth-child(4) .iv-icon{animation-delay:1.2s;}
@keyframes ivPulse{
  0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,255,255,0));}
  50%{transform:scale(1.12);filter:drop-shadow(0 0 6px rgba(255,255,255,0.25));}
}
@media(prefers-reduced-motion:reduce){.iv-icon{animation:none!important;}}
.iv-label{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:1px;color:var(--white);margin-bottom:0.3rem;}
.iv-sub{font-size:0.75rem;color:var(--gray2);font-family:'JetBrains Mono',monospace;}

/* PRODUCTS (Enerpack) */
#products{background:var(--bg);}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);max-width:1100px;margin:2rem auto 0;}
.prod-card{background:var(--bg);position:relative;display:flex;flex-direction:column;transition:background 0.3s;}
.prod-card:hover{background:rgba(0,255,136,0.02);}
.prod-card.hot{border:2px solid var(--green);margin:-1px;}
.prod-badge{position:absolute;top:16px;right:16px;background:var(--green);color:var(--bg);font-family:'JetBrains Mono',monospace;font-size:0.62rem;font-weight:700;letter-spacing:1px;padding:0.25rem 0.6rem;}
.prod-top{padding:2.5rem 2rem 2rem;border-bottom:1px solid var(--border);background:linear-gradient(160deg,rgba(0,255,136,0.05),transparent);}
.prod-icon{font-size:2.5rem;margin-bottom:1rem;}
.prod-model{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--green);letter-spacing:2px;margin-bottom:0.3rem;}
.prod-cap{font-family:'Bebas Neue',sans-serif;font-size:4rem;color:var(--white);line-height:1;}
.prod-cap span{font-size:1.8rem;color:var(--green);}
.prod-use{font-size:0.85rem;color:var(--gray2);margin-top:0.5rem;}
.prod-body{padding:2rem;flex:1;}
.prod-list{list-style:none;margin-bottom:1.5rem;}
.prod-list li{display:flex;align-items:center;gap:0.6rem;padding:0.45rem 0;font-size:0.85rem;color:var(--gray2);border-bottom:1px solid rgba(255,255,255,0.04);}
.prod-list li:last-child{border-bottom:none;}
.prod-list li::before{content:'›';color:var(--green);font-size:1rem;}
.warranty-strip{background:rgba(0,255,136,0.07);border:1px solid var(--border2);padding:0.8rem 1rem;text-align:center;margin-bottom:1rem;font-size:0.85rem;color:var(--green);font-weight:600;}
.price-tag{text-align:center;padding:0.8rem;border:1px solid var(--border2);background:rgba(0,255,136,0.05);margin-bottom:1.5rem;}
.price-tag .ptl{font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--gray2);letter-spacing:1px;}
.price-tag .ptv{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--green);letter-spacing:1px;}
.prod-btn{display:block;text-align:center;background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.15);padding:0.8rem;font-weight:600;font-size:0.9rem;text-decoration:none;letter-spacing:0.5px;transition:all 0.3s;}
.prod-btn:hover{border-color:var(--green);color:var(--green);background:rgba(0,255,136,0.05);}
.prod-card.hot .prod-btn{background:var(--green);color:var(--bg);border-color:var(--green);}
.prod-card.hot .prod-btn:hover{background:#69ffb2;}

/* GALLERY */
#gallery{background:var(--bg2);}
.gallery-hero{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1100px;margin:0 auto 2rem;align-items:center;}
.gallery-photo{border:1px solid var(--border2);background:var(--bg);padding:1.5rem;position:relative;overflow:hidden;aspect-ratio:3/4;max-height:640px;}
.gallery-photo img{position:absolute;inset:1.5rem;width:calc(100% - 3rem);height:calc(100% - 3rem);object-fit:cover;display:block;border-radius:2px;}
.photo-badge{position:absolute;bottom:2rem;left:2rem;background:rgba(6,13,18,0.92);border:1px solid var(--border2);padding:0.6rem 1rem;backdrop-filter:blur(10px);}
.pb-tag{font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--green);letter-spacing:2px;}
.pb-val{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:2px;color:var(--white);}
.dims-row{display:flex;justify-content:center;gap:2rem;margin-top:1rem;}
.dim{text-align:center;}
.dim-l{font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:var(--green);letter-spacing:1px;}
.dim-v{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;color:var(--white);}
.specs-side{display:flex;flex-direction:column;gap:1rem;}
.big-cap{border:1px solid var(--border2);background:rgba(0,255,136,0.05);padding:2rem;text-align:center;}
.cap-label{font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--green);letter-spacing:3px;margin-bottom:0.5rem;}
.cap-num{font-family:'Bebas Neue',sans-serif;font-size:5rem;line-height:1;color:var(--white);}
.cap-num em{font-style:normal;font-size:2rem;color:var(--green);}
.cap-sub{font-size:0.8rem;color:var(--gray2);margin-top:0.3rem;}
.spec-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);}
.smg{background:var(--bg);padding:1.1rem;}
.smg-l{font-family:'JetBrains Mono',monospace;font-size:0.58rem;color:var(--gray2);letter-spacing:1px;margin-bottom:0.3rem;}
.smg-v{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--green);}
.smg-s{font-size:0.7rem;color:var(--gray2);}
.port-row{border:1px solid var(--border);background:var(--bg);padding:1rem 1.2rem;}
.port-label{font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:var(--green);letter-spacing:2px;margin-bottom:0.7rem;}
.port-chips{display:flex;gap:0.4rem;flex-wrap:wrap;}
.chip{border:1px solid var(--border2);padding:0.25rem 0.65rem;font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--green);}
.cert-row{border:1px solid var(--border);background:var(--bg);padding:1rem 1.2rem;}
.gallery-grid{max-width:1100px;margin:0 auto;}
.gg-label{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--green);letter-spacing:3px;text-align:center;margin-bottom:1.5rem;}
.gg-inner{display:grid;grid-template-columns:1fr 2fr;gap:1px;background:var(--border);border:1px solid var(--border);}
.gg-cell{position:relative;overflow:hidden;background:var(--bg2);}
.gg-cell img{width:100%;height:100%;object-fit:cover;display:block;min-height:300px;}
.gg-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(6,13,18,0.95));padding:1.2rem;}
.gg-cap-tag{font-family:'JetBrains Mono',monospace;font-size:0.6rem;color:var(--green);letter-spacing:2px;}
.gg-cap-txt{font-size:0.83rem;color:var(--white);margin-top:0.2rem;}

/* COMPARE */
#compare{background:var(--bg);}
.compare-wrap{max-width:900px;margin:2rem auto 0;}
.compare-head{display:grid;grid-template-columns:2fr 1fr 1fr;background:rgba(0,255,136,0.06);border:1px solid var(--border);border-bottom:none;padding:1rem 1.5rem;}
.compare-head div{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px;}
.ep{color:var(--green);} .ot{color:var(--gray2);}
.compare-row{display:grid;grid-template-columns:2fr 1fr 1fr;border:1px solid var(--border);border-top:none;padding:0.85rem 1.5rem;align-items:center;transition:background 0.2s;}
.compare-row:hover{background:rgba(0,255,136,0.03);}
.compare-feat{font-size:0.87rem;color:var(--gray2);}
.compare-val{font-size:0.87rem;font-weight:600;text-align:center;}
.good{color:var(--green);} .bad{color:var(--red);opacity:0.8;}

/* ROI */
#roi{background:var(--bg2);}
.roi-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;margin:2rem auto 0;}
.roi-card{border:1px solid var(--border);padding:2.5rem;}
.roi-card.r-gen{border-top:3px solid var(--red);}
.roi-card.r-ep{border-top:3px solid var(--green);}
.roi-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1px;margin-bottom:1.5rem;}
.r-gen .roi-title{color:var(--red);} .r-ep .roi-title{color:var(--green);}
.roi-item{display:flex;justify-content:space-between;align-items:center;padding:0.65rem 0;border-bottom:1px solid rgba(255,255,255,0.05);font-size:0.85rem;}
.roi-item:last-child{border-bottom:none;}
.rlbl{color:var(--gray2);} .rval{font-weight:600;color:var(--white);}
.rval.tbad{color:var(--red);} .rval.tgood{color:var(--green);}

/* CALCULATOR */
.calc-wrap{max-width:1000px;margin:2rem auto 0;border:1px solid var(--border);background:var(--bg3);}
.calc-header{padding:2rem;border-bottom:1px solid var(--border);background:rgba(0,255,136,0.04);text-align:center;}
.calc-body{display:grid;grid-template-columns:1fr 1fr;}
.calc-inputs{padding:2rem;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:1.5rem;}
.calc-field label{display:block;font-family:'JetBrains Mono',monospace;font-size:0.67rem;color:var(--green);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0.6rem;}
.input-wrap{display:flex;align-items:center;border:1px solid var(--border);background:rgba(255,255,255,0.03);}
.input-wrap input{flex:1;background:transparent;border:none;padding:0.7rem 1rem;color:var(--white);font-family:'Space Grotesk',sans-serif;font-size:1rem;outline:none;}
.input-tag{padding:0.7rem 0.8rem;font-family:'JetBrains Mono',monospace;font-size:0.67rem;color:var(--green);border-left:1px solid var(--border);white-space:nowrap;}
.input-note{font-size:0.7rem;color:var(--gray);margin-top:0.3rem;font-family:'JetBrains Mono',monospace;}
.slider-wrap{display:flex;align-items:center;gap:1rem;}
.slider-wrap input[type=range]{flex:1;-webkit-appearance:none;height:3px;background:var(--border2);border-radius:2px;outline:none;cursor:pointer;}
.slider-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;background:var(--green);border-radius:50%;cursor:pointer;box-shadow:0 0 8px rgba(0,255,136,0.5);}
.slider-val{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;color:var(--green);min-width:2ch;text-align:right;}
.btn-group{display:flex;gap:0.5rem;flex-wrap:wrap;}
.sz-btn{background:transparent;border:1px solid var(--border);color:var(--gray2);padding:0.4rem 0.8rem;font-family:'JetBrains Mono',monospace;font-size:0.7rem;cursor:pointer;transition:all 0.2s;}
.sz-btn:hover,.sz-btn.active{border-color:var(--green);color:var(--green);background:rgba(0,255,136,0.08);}
.calc-results{padding:2rem;display:flex;flex-direction:column;}
.res-row{display:flex;justify-content:space-between;align-items:center;padding:0.65rem 0;border-bottom:1px solid rgba(255,255,255,0.04);font-size:0.85rem;}
.res-lbl{color:var(--gray2);} .res-val{font-weight:700;font-family:'JetBrains Mono',monospace;font-size:0.88rem;}
.res-val.bad{color:var(--red);} .res-val.good{color:var(--green);}
.highlight-row{background:rgba(255,255,255,0.02);padding-left:0.5rem;padding-right:0.5rem;}
.highlight-row .res-lbl{color:var(--white);font-weight:500;}
.res-divider{border-top:1px solid var(--border2);margin:0.5rem 0;}
.calc-cta{display:block;text-align:center;margin-top:1.5rem;background:var(--green);color:var(--bg);padding:1rem;font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px;text-decoration:none;transition:all 0.3s;}
.calc-cta:hover{background:#69ffb2;box-shadow:0 0 30px rgba(0,255,136,0.4);}

/* WARRANTY */
#warranty{background:var(--bg);}
.warranty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);max-width:900px;margin:2rem auto 0;}
.wcard{background:var(--bg);padding:3rem 2rem;text-align:center;transition:background 0.3s;}
.wcard:hover{background:rgba(0,255,136,0.04);}
.wyears{font-family:'Bebas Neue',sans-serif;font-size:5rem;color:var(--green);line-height:1;text-shadow:0 0 30px rgba(0,255,136,0.25);}
.wtype{font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--white);letter-spacing:2px;margin:0.5rem 0;text-transform:uppercase;}
.wdesc{font-size:0.83rem;color:var(--gray2);line-height:1.65;}

/* ABOUT */
#about{background:var(--bg2);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto;align-items:center;}
.about-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(2rem,4vw,3rem);letter-spacing:2px;line-height:1.05;margin-bottom:1.5rem;}
.about-title em{color:var(--green);font-style:normal;}
.about-text p{font-size:0.9rem;color:var(--gray2);line-height:1.8;margin-bottom:1.2rem;}
.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.4rem;margin-top:2rem;}
.srv{display:flex;align-items:center;gap:0.6rem;font-size:0.82rem;color:var(--gray2);padding:0.5rem 0;border-bottom:1px solid rgba(255,255,255,0.04);}
.srv::before{content:'›';color:var(--green);}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);}
.astat{background:var(--bg2);padding:2rem;text-align:center;transition:background 0.3s;}
.astat:hover{background:rgba(0,255,136,0.04);}
.astat-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:var(--green);letter-spacing:1px;}
.astat-lbl{font-size:0.75rem;color:var(--gray2);margin-top:0.3rem;letter-spacing:0.5px;}
.astat:first-child{grid-column:1/-1;background:rgba(0,255,136,0.05);}
.astat:first-child .astat-num{font-size:3.5rem;}

/* FAQ */
.faq-list{max-width:800px;margin:2rem auto 0;display:flex;flex-direction:column;gap:0.7rem;}
.faq-item{border:1px solid var(--border);background:var(--bg2);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:none;border:none;color:var(--white);text-align:left;padding:1.2rem 1.4rem;font-family:'Space Grotesk',sans-serif;font-size:0.95rem;font-weight:600;cursor:pointer;}
.faq-icon{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;color:var(--green);flex-shrink:0;transition:transform 0.25s;}
.faq-q[aria-expanded="true"] .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}
.faq-item.open .faq-a{max-height:300px;}
.faq-a p{padding:0 1.4rem 1.2rem;font-size:0.88rem;color:var(--gray2);line-height:1.7;}

/* FORM STATES */
.form-msg{display:none;margin-top:1rem;padding:0.9rem 1.1rem;font-size:0.85rem;border:1px solid;}
.form-msg.show{display:block;}
.form-msg.success{background:rgba(0,255,136,0.08);border-color:var(--green);color:var(--green);}
.form-msg.error{background:rgba(255,68,68,0.08);border-color:var(--red);color:var(--red);}
.form-group.invalid input,.form-group.invalid select,.form-group.invalid textarea{border-color:var(--red);}
.form-error-text{display:none;color:var(--red);font-size:0.7rem;margin-top:0.3rem;font-family:'JetBrains Mono',monospace;}
.form-group.invalid .form-error-text{display:block;}

/* CONTACT */
#contact{background:var(--bg);}
.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;max-width:1100px;margin:2rem auto 0;align-items:start;}
.cinfo-title{font-family:'Bebas Neue',sans-serif;font-size:1.5rem;letter-spacing:1px;margin-bottom:1.5rem;}
.citem{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;}
.cicon{width:42px;height:42px;flex-shrink:0;background:rgba(0,255,136,0.08);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.ckey{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--green);letter-spacing:1px;margin-bottom:0.2rem;}
.cval{font-size:0.9rem;color:var(--gray2);}
.clink{color:var(--gray2);text-decoration:none;border-bottom:1px solid transparent;transition:color 0.2s,border-color 0.2s;}
.clink:hover,.clink:focus-visible{color:var(--green);border-color:var(--green);}
.cform{background:var(--bg2);border:1px solid var(--border);padding:2.5rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-size:0.72rem;color:var(--gray2);margin-bottom:0.4rem;font-family:'JetBrains Mono',monospace;letter-spacing:1px;text-transform:uppercase;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,0.04);border:1px solid var(--border);padding:0.8rem 1rem;color:var(--white);font-family:'Space Grotesk',sans-serif;font-size:0.88rem;outline:none;transition:border-color 0.3s;}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--gray);}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--green);}
.form-group select option{background:var(--bg2);}
.form-group textarea{resize:none;}
.form-btn{width:100%;background:var(--green);color:var(--bg);border:none;padding:1rem;font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:1px;font-family:'Bebas Neue',sans-serif;transition:all 0.3s;}
.form-btn:hover{background:#69ffb2;box-shadow:0 0 30px rgba(0,255,136,0.4);}

/* FOOTER */
footer{background:#030709;padding:3rem 5% 2rem;border-top:1px solid var(--border);}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto 1.5rem;}
.flogo{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;letter-spacing:3px;color:var(--white);text-decoration:none;display:block;margin-bottom:1rem;}
.flogo em{color:var(--green);font-style:normal;}
.fbrand p{font-size:0.82rem;color:var(--gray);line-height:1.7;margin-bottom:1.2rem;}
.fsocial{display:flex;gap:0.5rem;}
.fsoc{width:34px;height:34px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--gray);text-decoration:none;font-size:0.8rem;transition:all 0.3s;}
.fsoc:hover{border-color:var(--green);color:var(--green);}
.fcol h4{font-family:'JetBrains Mono',monospace;font-size:0.65rem;color:var(--green);letter-spacing:2px;text-transform:uppercase;margin-bottom:1rem;}
.fcol ul{list-style:none;}
.fcol ul li{margin-bottom:0.5rem;}
.fcol ul li a{color:var(--gray);font-size:0.82rem;text-decoration:none;transition:color 0.2s;}
.fcol ul li a:hover{color:var(--green);}
.footer-bottom{border-top:1px solid var(--border);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;font-size:0.72rem;color:var(--gray);font-family:'JetBrains Mono',monospace;}

/* FADE ANIMATIONS */
.fade-up{opacity:0;transform:translateY(24px);transition:all 0.65s cubic-bezier(.25,.46,.45,.94);}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* TICKER */
.ticker-wrap{background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden;padding:0.6rem 0;}
.ticker{display:flex;gap:0;animation:tick 30s linear infinite;white-space:nowrap;}
.ticker-item{display:inline-flex;align-items:center;gap:0.5rem;padding:0 2rem;font-family:'JetBrains Mono',monospace;font-size:0.7rem;color:var(--gray2);letter-spacing:1px;}
.ticker-item span{color:var(--green);}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* EMS SOFTWARE SLIDESHOW */
.ems-slider{max-width:1100px;margin:0 auto;position:relative;}
.ems-slider-frame{position:relative;border:1px solid var(--border2);background:var(--bg3);overflow:hidden;aspect-ratio:16/9.2;}
.ems-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.6s ease;pointer-events:none;}
.ems-slide.active{opacity:1;pointer-events:auto;}
.ems-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.ems-slide-cap{position:absolute;left:0;right:0;bottom:0;padding:1.4rem 1.6rem;background:linear-gradient(0deg,rgba(6,13,18,0.95) 0%,rgba(6,13,18,0.6) 60%,transparent 100%);}
.ems-slide-tag{font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:#c084fc;letter-spacing:2px;text-transform:uppercase;margin-bottom:0.3rem;}
.ems-slide-title{font-family:'Bebas Neue',sans-serif;font-size:1.4rem;letter-spacing:1px;color:var(--white);margin-bottom:0.2rem;}
.ems-slide-desc{font-size:0.85rem;color:var(--gray2);max-width:640px;}
.ems-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(6,13,18,0.75);border:1px solid var(--border2);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;z-index:5;transition:all 0.25s;backdrop-filter:blur(6px);}
.ems-nav-btn:hover{background:#c084fc;color:#1a0033;border-color:#c084fc;}
.ems-prev{left:16px;} .ems-next{right:16px;}
.ems-dots{display:flex;justify-content:center;gap:0.6rem;margin-top:1.4rem;}
.ems-dot{width:9px;height:9px;border-radius:50%;background:var(--gray);border:none;cursor:pointer;padding:0;transition:all 0.25s;}
.ems-dot.active{background:#c084fc;width:26px;border-radius:5px;}
.ems-thumbs{display:flex;justify-content:center;gap:0.8rem;margin-top:1.2rem;flex-wrap:wrap;}
.ems-thumb{width:100px;height:60px;border:1px solid var(--border);opacity:0.5;cursor:pointer;overflow:hidden;transition:all 0.25s;background:none;padding:0;}
.ems-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.ems-thumb.active{opacity:1;border-color:#c084fc;}

/* MOBILE */
@media(max-width:900px){
  .hero-inner,.detail-grid,.detail-grid.reverse,.about-grid,.contact-grid,.roi-grid,.gallery-hero{grid-template-columns:1fr!important;direction:ltr!important;}
  .hero-visual,.hero-stats{display:none;}
  .sol-cards{grid-template-columns:1fr 1fr;}
  .products-grid,.warranty-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hamburger{display:flex;}
  .gg-inner{grid-template-columns:1fr!important;}
  .calc-body{grid-template-columns:1fr;}
  .calc-inputs{border-right:none;border-bottom:1px solid var(--border);}
  .ems-slide-title{font-size:1.1rem;}
  .ems-slide-desc{display:none;}
  .ems-nav-btn{width:36px;height:36px;font-size:1rem;}
  .ems-thumb{width:70px;height:44px;}
}
@media(max-width:600px){
  .sol-cards{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:0.5rem;text-align:center;}
  .form-row{grid-template-columns:1fr;}
}
/* INVERTER SLIDER */
.inv-slider{position:relative;border:1px solid var(--border2);background:var(--bg3);overflow:hidden;aspect-ratio:1/1;margin-bottom:1px;}
.inv-slider.wide{aspect-ratio:3/2;}
.inv-slider.tall{aspect-ratio:3/4;}
.inv-slides{position:relative;width:100%;height:100%;}
.inv-slide{position:absolute;inset:0;opacity:0;transition:opacity 0.6s ease;pointer-events:none;}
.inv-slide.active{opacity:1;pointer-events:auto;}
.inv-slide img{width:100%;height:100%;object-fit:cover;display:block;}
.inv-slide-label{position:absolute;left:0;right:0;bottom:0;padding:0.9rem 1.2rem;background:linear-gradient(0deg,rgba(6,13,18,0.95) 0%,rgba(6,13,18,0.5) 65%,transparent 100%);font-family:'JetBrains Mono',monospace;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);}
.inv-arrow{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(6,13,18,0.75);border:1px solid var(--border2);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;z-index:5;transition:all 0.25s;backdrop-filter:blur(6px);}
.inv-arrow:hover{background:var(--hc,var(--cyan));color:#001a1f;border-color:var(--hc,var(--cyan));}
.inv-prev{left:0.8rem;}
.inv-next{right:0.8rem;}
.inv-dots{position:absolute;bottom:0.8rem;left:0;right:0;display:flex;justify-content:center;gap:0.5rem;z-index:5;}
.inv-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.35);cursor:pointer;transition:all 0.25s;}
.inv-dot.active{background:var(--hc,var(--cyan));width:20px;border-radius:4px;}

/* ============================
   EMS PRODUCT PAGE (ems.html)
   ============================ */
.ems-hero{min-height:92vh;display:flex;align-items:center;padding:84px 5% 40px;position:relative;overflow:hidden;}
.ems-hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(192,132,252,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(192,132,252,0.035) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;}
.ems-hero-inner{display:grid;grid-template-columns:0.9fr 1.2fr;gap:3rem;align-items:center;max-width:1360px;margin:0 auto;width:100%;position:relative;z-index:1;}
.ems-hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(3rem,6.5vw,5.2rem);line-height:0.95;letter-spacing:2px;color:var(--white);margin-bottom:0.4rem;}
.ems-hero-kicker{font-family:'JetBrains Mono',monospace;font-size:0.85rem;color:var(--cyan);letter-spacing:3px;text-transform:uppercase;margin-bottom:1.4rem;}
.ems-badge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);max-width:560px;margin-top:1.8rem;}
.ems-badge{background:var(--bg2);padding:0.9rem 1rem;}
.ems-badge-lbl{font-family:'JetBrains Mono',monospace;font-size:0.62rem;color:var(--gray2);letter-spacing:1px;text-transform:uppercase;margin-bottom:0.35rem;}
.ems-badge-val{font-family:'Bebas Neue',sans-serif;font-size:1rem;letter-spacing:0.5px;color:#c084fc;}

.ems-hero-visual{position:relative;}
.ems-browser-frame{border:1px solid var(--border2);background:var(--bg3);box-shadow:0 30px 80px rgba(0,0,0,0.5);}
.ems-browser-bar{display:flex;align-items:center;gap:0.5rem;padding:0.6rem 0.9rem;background:var(--bg2);border-bottom:1px solid var(--border);}
.ems-browser-dot{width:9px;height:9px;border-radius:50%;display:inline-block;}
.ems-browser-url{margin-left:0.8rem;font-family:'JetBrains Mono',monospace;font-size:0.68rem;color:var(--gray2);letter-spacing:0.5px;}
.ems-browser-frame img{width:100%;height:auto;display:block;}

/* live pill in browser bar */
.eld-live-pill{margin-left:auto;display:flex;align-items:center;gap:0.35rem;font-family:'JetBrains Mono',monospace;font-size:0.62rem;letter-spacing:1px;color:#3ee88a;background:rgba(62,232,138,0.1);border:1px solid rgba(62,232,138,0.3);padding:0.2rem 0.5rem;border-radius:20px;}
.eld-live-dot{width:6px;height:6px;border-radius:50%;background:#3ee88a;animation:eldPulse 1.4s ease-in-out infinite;}
@keyframes eldPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(62,232,138,0.5);}50%{opacity:0.4;box-shadow:0 0 0 4px rgba(62,232,138,0);}}

/* live EMS dashboard widget */
.eld-wrap{position:relative;background:#05090c;padding:0.9rem 1rem 1rem;font-family:'JetBrains Mono',monospace;}
.eld-topbar{display:flex;align-items:center;justify-content:space-between;gap:0.8rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);margin-bottom:0.7rem;}
.eld-brand{display:flex;flex-direction:column;color:#3ee88a;font-weight:700;letter-spacing:1px;font-size:0.9rem;line-height:1.1;}
.eld-brand small{color:var(--gray2);font-size:0.5rem;letter-spacing:1.2px;font-weight:400;margin-top:0.15rem;}
.eld-company{color:var(--white);font-size:0.72rem;letter-spacing:1px;text-align:center;flex:1;}
.eld-clock{color:#3ee88a;font-size:0.68rem;white-space:nowrap;}

.eld-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;margin-bottom:0.7rem;}
.eld-stat{background:var(--bg2);border:1px solid var(--border);padding:0.5rem 0.6rem;}
.eld-stat-lbl{font-size:0.52rem;color:var(--gray2);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.25rem;}
.eld-stat-val{font-size:0.95rem;color:var(--white);font-weight:600;}
.eld-stat-val span:last-child{font-size:0.55rem;color:var(--gray2);margin-left:0.15rem;font-weight:400;}

.eld-body{display:grid;grid-template-columns:1.5fr 1fr;gap:0.6rem;margin-bottom:0.7rem;}
.eld-flow{position:relative;background:var(--bg2);border:1px solid var(--border);min-height:220px;}
.eld-flow svg{position:absolute;inset:0;width:100%;height:100%;}
.eld-line{fill:none;stroke:#3ee88a;stroke-width:2.5;stroke-dasharray:6 8;opacity:0.85;animation:eldFlow 1.4s linear infinite;}
@keyframes eldFlow{to{stroke-dashoffset:-28;}}
.eld-node{position:absolute;transform:translate(-50%,-50%);text-align:center;}
.eld-node-ico{font-size:1.15rem;line-height:1;}
.eld-node-lbl{font-size:0.5rem;color:var(--gray2);letter-spacing:0.5px;margin-top:0.15rem;}
.eld-node-val{font-size:0.68rem;color:var(--white);font-weight:600;white-space:nowrap;}
.eld-node.plant .eld-node-lbl{color:var(--gray2);}
.eld-node.plant .eld-node-val{font-size:1rem;color:#3ee88a;}

.eld-side{display:flex;flex-direction:column;gap:0.6rem;}
.eld-trend,.eld-donutcard{background:var(--bg2);border:1px solid var(--border);padding:0.55rem 0.6rem;flex:1;}
.eld-panel-title{font-size:0.5rem;color:var(--gray2);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.4rem;}
.eld-trend-svg{width:100%;height:44px;display:block;}

.eld-donut-row{display:flex;align-items:center;gap:0.7rem;}
.eld-donut{width:56px;height:56px;border-radius:50%;flex-shrink:0;position:relative;transition:background 1.4s ease;}
.eld-donut-hole{position:absolute;inset:9px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:0.5rem;color:var(--white);font-weight:600;}
.eld-legend{list-style:none;font-size:0.55rem;color:var(--gray2);display:flex;flex-direction:column;gap:0.25rem;}
.eld-legend li{display:flex;align-items:center;gap:0.35rem;}
.eld-legend i{width:7px;height:7px;border-radius:50%;display:inline-block;flex-shrink:0;}
.eld-legend b{margin-left:auto;color:var(--white);font-weight:600;}

.eld-sources{display:grid;grid-template-columns:repeat(4,1fr);gap:0.5rem;}
.eld-source{background:var(--bg2);border:1px solid var(--border);padding:0.5rem 0.55rem;display:flex;align-items:center;gap:0.5rem;}
.eld-gauge{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;transition:background 0.8s ease;}
.eld-gauge::before{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--bg2);}
.eld-gauge span{position:relative;z-index:1;font-size:0.42rem;color:var(--white);font-weight:600;}
.eld-source-info{font-size:0.48rem;color:var(--gray2);letter-spacing:0.5px;line-height:1.6;}
.eld-source-info b{display:block;color:var(--white);font-size:0.68rem;font-weight:600;letter-spacing:0;}

@media(max-width:900px){
  .eld-stats{grid-template-columns:1fr 1fr;}
  .eld-body{grid-template-columns:1fr;}
  .eld-sources{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .eld-company{display:none;}
  .eld-node-lbl,.eld-node-ico{display:none;}
}


.ems-panel-frame{border:1px solid var(--border2);background:var(--bg3);overflow:hidden;}
.ems-panel-frame img{width:100%;height:auto;display:block;}

.ems-cap-grid{display:grid;grid-template-columns:1.05fr repeat(3,1fr);grid-auto-rows:1fr;gap:1px;background:var(--border);border:1px solid var(--border);max-width:1200px;margin:2rem auto 0;}
.ems-cap-card{background:var(--bg2);padding:1.8rem 1.6rem;transition:background 0.3s;}
.ems-cap-card:hover{background:rgba(255,255,255,0.03);}
.ems-cap-visual{grid-column:1;grid-row:1/3;position:relative;overflow:hidden;background:var(--bg2);min-height:280px;}
.ems-cap-visual img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;}
.ems-cap-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,13,18,0.35) 0%,transparent 55%);pointer-events:none;}
.ems-cap-icon{font-size:1.8rem;margin-bottom:0.7rem;}
.ems-cap-title{font-family:'Bebas Neue',sans-serif;font-size:1.15rem;letter-spacing:0.5px;color:var(--white);margin-bottom:0.6rem;}
.ems-cap-list{list-style:none;font-size:0.8rem;color:var(--gray2);line-height:1.7;}
.ems-cap-list li::before{content:'· ';color:#c084fc;}

.ems-scada-wrap{max-width:1100px;margin:2rem auto 0;padding:0 5%;}
.ems-scada-frame{border:1px solid var(--border2);background:var(--bg3);overflow:hidden;}
.ems-scada-frame img{width:100%;height:auto;display:block;}
.ems-scada-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:1px;}

.ems-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border);max-width:1100px;margin:0 auto;}
.ems-layer-card{background:var(--bg2);padding:2rem;}
.ems-layer-icon{font-size:2rem;margin-bottom:0.8rem;}
.ems-layer-title{font-family:'Bebas Neue',sans-serif;font-size:1.3rem;letter-spacing:0.5px;color:var(--white);margin-bottom:0.8rem;}

.ems-cta-bar{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.3fr 0.9fr;gap:2.5rem;align-items:center;border:1px solid var(--border2);background:var(--bg3);padding:2.5rem;}
.ems-cta-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:1px;line-height:1.05;margin-bottom:1.2rem;color:var(--white);}
.ems-cta-actions{display:flex;flex-direction:column;gap:0.8rem;align-items:flex-start;}

@media(max-width:900px){
  .ems-hero-inner{grid-template-columns:1fr;}
  .ems-badge-row{grid-template-columns:1fr;max-width:100%;}
  .ems-cap-grid{grid-template-columns:1fr 1fr;}
  .ems-cap-visual{grid-column:1/3;grid-row:1;min-height:220px;}
  .ems-scada-tiles{grid-template-columns:1fr 1fr;}
  .ems-layers{grid-template-columns:1fr;}
  .ems-cta-bar{grid-template-columns:1fr;padding:1.8rem;}
  .ems-cta-actions{align-items:stretch;}
  .ems-cta-actions .btn-g{justify-content:center;}
}
@media(max-width:600px){
  .ems-cap-grid{grid-template-columns:1fr;}
  .ems-cap-visual{grid-column:1;grid-row:1;min-height:180px;}
  .ems-scada-tiles{grid-template-columns:1fr 1fr;}
}
