:root{
  --ecker-orange:#FCB723;
  --ecker-blue:#3572B7;
  --ecker-ink:#1C1C1A;
  --ecker-gray-900:#2A2A28;
  --ecker-gray-700:#555550;
  --ecker-gray-500:#8A8A84;
  --ecker-gray-300:#D8D8D2;
  --ecker-gray-200:#E9E9E5;
  --ecker-gray-100:#F5F5F2;
  --white:#FFFFFF;
  --radius-chip:6px;
  --radius-control:8px;
  --radius-card:12px;
  --radius-panel:16px;
  --shadow:0 14px 40px rgba(28,28,26,.08);
  --content:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ecker-ink);background:var(--white);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit}
:focus-visible{outline:3px solid var(--ecker-orange);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:auto}.skip:focus{left:16px;top:16px;background:#fff;padding:12px 16px;z-index:1000;border-radius:8px}
.container{width:min(calc(100% - 32px),var(--content));margin:auto}
.topbar{background:var(--ecker-ink);color:#fff;font-size:14px}
.topbar .container{display:flex;justify-content:flex-end;gap:24px;padding:8px 0}.topbar a:hover{color:var(--ecker-orange)}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--ecker-gray-200);backdrop-filter:blur(10px)}
.nav{min-height:84px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;margin-right:auto}.brand img{width:205px;height:auto}
.navlinks{display:flex;align-items:center;gap:8px}.navlinks a{padding:12px 14px;border-radius:8px;font-weight:700;font-size:15px}.navlinks a:hover,.navlinks a.active{background:var(--ecker-gray-100)}
.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 18px;border-radius:8px;border:1px solid transparent;font-weight:700;cursor:pointer;transition:.2s ease}.btn-primary{background:var(--ecker-orange);color:var(--ecker-ink)}.btn-primary:hover{filter:brightness(.95);transform:translateY(-1px)}.btn-secondary{border-color:var(--ecker-gray-300);background:#fff}.btn-secondary:hover{background:var(--ecker-gray-100)}
.menu{display:none;border:1px solid var(--ecker-gray-300);background:#fff;width:46px;height:46px;border-radius:8px;font-size:24px}
.hero{padding:76px 0 56px;background:linear-gradient(180deg,#fff 0%,#FAFAF7 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ecker-gray-700);margin-bottom:18px}.eyebrow:before{content:"";width:30px;height:4px;background:var(--ecker-orange);border-radius:6px}
h1{font-size:clamp(42px,6vw,72px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px;max-width:900px}.hero p{font-size:20px;color:var(--ecker-gray-700);max-width:700px;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-note{margin-top:22px;font-size:14px;color:var(--ecker-gray-700)}
.energy-visual{position:relative;min-height:460px;border-radius:16px;background:var(--ecker-ink);overflow:hidden;box-shadow:var(--shadow)}.energy-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}.sun{position:absolute;width:130px;height:130px;background:var(--ecker-orange);border-radius:50%;right:38px;top:38px;box-shadow:0 0 0 22px rgba(252,183,35,.14)}.battery{position:absolute;left:48px;bottom:58px;width:68%;height:210px;border:6px solid #fff;border-radius:12px;padding:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.battery:after{content:"";position:absolute;right:-24px;top:70px;width:20px;height:58px;border-radius:0 8px 8px 0;background:#fff}.cell{background:var(--ecker-orange);border-radius:6px;position:relative;overflow:hidden}.cell:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent)}.flow{position:absolute;height:4px;background:var(--ecker-orange);left:44%;right:130px;top:190px}.flow:after{content:"";position:absolute;right:-1px;top:-6px;border-left:12px solid var(--ecker-orange);border-top:8px solid transparent;border-bottom:8px solid transparent}.visual-label{position:absolute;left:48px;top:48px;color:#fff;font-size:15px;font-weight:700;max-width:210px}
.section{padding:80px 0}.section.soft{background:var(--ecker-gray-100)}.section.dark{background:var(--ecker-ink);color:#fff}.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:40px;align-items:end;margin-bottom:40px}.section-head h2{margin:0;font-size:clamp(32px,4vw,48px);line-height:1.04;letter-spacing:-.03em}.section-head p{margin:0;color:var(--ecker-gray-700);font-size:18px;max-width:720px}.dark .section-head p{color:#d0d0ca}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--ecker-gray-200);border-radius:12px;padding:28px;background:#fff}.card h3{font-size:22px;margin:16px 0 10px}.card p{color:var(--ecker-gray-700);margin:0}.icon{width:46px;height:46px;border-radius:8px;background:var(--ecker-orange);display:grid;place-items:center;font-weight:900;font-size:20px}.card-link{display:inline-flex;margin-top:20px;font-weight:700;color:var(--ecker-blue)}
.usp{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.stack{display:grid;gap:12px}.stack-item{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px;border:1px solid var(--ecker-gray-200);border-radius:12px;background:#fff}.stack-item strong{display:block;margin-bottom:4px}.num{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:var(--ecker-orange);font-weight:800}
.usecases{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.usecase{padding:20px 16px;border-radius:12px;background:#fff;border:1px solid var(--ecker-gray-200);min-height:145px}.usecase strong{display:block;margin-bottom:8px}.usecase span{font-size:14px;color:var(--ecker-gray-700)}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.step{padding:22px;border-top:4px solid var(--ecker-gray-300);position:relative}.step.active{border-top-color:var(--ecker-orange)}.step small{color:var(--ecker-gray-500);font-weight:700}.step h3{font-size:18px;margin:8px 0}.step p{font-size:14px;color:var(--ecker-gray-700);margin:0}
.quote{padding:40px;border-radius:16px;background:#fff;border:1px solid var(--ecker-gray-200);box-shadow:var(--shadow)}.quote p{font-size:24px;margin:0 0 18px;line-height:1.35}.quote small{color:var(--ecker-gray-700)}
.faq{display:grid;gap:10px}.faq details{border:1px solid var(--ecker-gray-200);border-radius:12px;background:#fff;padding:0 20px}.faq summary{list-style:none;cursor:pointer;font-weight:700;padding:20px 36px 20px 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:0;top:15px;font-size:26px;color:var(--ecker-orange)}.faq details[open] summary:after{content:"-"}.faq details p{color:var(--ecker-gray-700);margin:0 0 20px}
.cta{background:var(--ecker-orange);padding:48px;border-radius:16px;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.cta h2{font-size:38px;line-height:1.05;margin:0 0 10px}.cta p{margin:0;max-width:700px}.cta .btn{background:var(--ecker-ink);color:#fff;justify-self:end}
.subhero{padding:60px 0 44px;background:var(--ecker-gray-100);border-bottom:1px solid var(--ecker-gray-200)}.subhero h1{font-size:clamp(38px,5vw,60px);margin-bottom:16px}.subhero p{max-width:760px;font-size:18px;color:var(--ecker-gray-700)}.breadcrumb{font-size:14px;color:var(--ecker-gray-700);margin-bottom:18px}.breadcrumb a{color:var(--ecker-blue)}
.content{max-width:860px}.content h2{font-size:32px;margin:48px 0 14px}.content h3{font-size:22px;margin:28px 0 10px}.content p,.content li{color:var(--ecker-gray-700)}.content ul{padding-left:20px}.notice{border-left:5px solid var(--ecker-orange);background:var(--ecker-gray-100);padding:18px 20px;border-radius:0 8px 8px 0;margin:24px 0}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.contact-card{padding:28px;border:1px solid var(--ecker-gray-200);border-radius:12px;background:#fff}.contact-card h3{margin-top:0}.contact-card a{color:var(--ecker-blue)}.form{display:grid;gap:16px}.field label{display:block;font-weight:700;margin-bottom:6px}.field input,.field textarea{width:100%;border:1px solid var(--ecker-gray-300);border-radius:8px;padding:12px 14px;min-height:46px}.field textarea{min-height:150px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ecker-gray-700)}.check input{width:20px;height:20px;margin-top:1px}
footer{background:var(--ecker-ink);color:#fff;padding:52px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:36px}.footer-brand img{width:210px;background:#fff;padding:10px;border-radius:8px}.footer-grid h3{font-size:16px;margin:0 0 12px}.footer-grid p,.footer-grid a{color:#d7d7d2;font-size:14px}.footer-grid a{display:block;margin:7px 0}.footer-grid a:hover{color:var(--ecker-orange)}.footer-bottom{border-top:1px solid #41413e;margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#bfbfb8;font-size:13px}
@media(max-width:980px){.navlinks{display:none;position:absolute;left:16px;right:16px;top:90px;background:#fff;border:1px solid var(--ecker-gray-200);border-radius:12px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.menu{display:block}.nav>.btn{display:none}.hero-grid,.usp,.section-head,.contact-grid,.cta{grid-template-columns:1fr}.energy-visual{min-height:380px}.grid-3{grid-template-columns:1fr 1fr}.usecases{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.cta .btn{justify-self:start}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.topbar{display:none}.nav{min-height:74px}.brand img{width:170px}.hero{padding-top:48px}.hero-grid{gap:34px}.energy-visual{min-height:330px}.battery{left:28px;bottom:38px;width:72%;height:170px}.visual-label{left:28px;top:28px}.sun{width:90px;height:90px;right:24px;top:24px}.grid-3,.usecases,.process,.footer-grid{grid-template-columns:1fr}.section{padding:58px 0}.section-head{gap:14px;margin-bottom:28px}.cta{padding:30px}.footer-bottom{flex-direction:column}.hero p{font-size:18px}}
