:root{--obsidian:#070908;--surface:#0d110f;--surface-2:#141a17;--ink:#f4f7f3;--muted:#9ba59f;--line:rgba(255,255,255,.13);--green:#baff3c;--green-2:#62dc84;--amber:#ffb85c;--blue:#72a8ff;--font:"Space Grotesk",sans-serif;--body:"IBM Plex Sans",sans-serif;--cycle:0;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--obsidian);color:var(--ink);font-family:var(--body);overflow-x:hidden}body,button,input,select{font-family:var(--body)}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--font);font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(58px,8vw,120px);line-height:.93}canvas{position:fixed;inset:0;z-index:-1;pointer-events:none}.skip-link{position:fixed;z-index:9999;left:20px;top:10px;transform:translateY(-180%);padding:10px 14px;background:var(--green);color:#071008}.skip-link:focus{transform:none}.eyebrow{font:600 10px var(--font);letter-spacing:.18em;color:var(--green)}.section{padding:150px clamp(24px,7vw,118px)}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;height:80px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(22px,5vw,78px);border-bottom:1px solid transparent;transition:.4s}.site-header.scrolled{height:66px;background:rgba(7,9,8,.78);border-color:var(--line);backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:11px;font:700 10px var(--font);letter-spacing:.16em}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--green);border-radius:9px;color:var(--green);box-shadow:inset 0 0 14px rgba(186,255,60,.1)}nav{display:flex;gap:32px;font-size:11px;color:var(--muted)}nav a:hover{color:var(--green)}.nav-cta{justify-self:end;border:1px solid var(--line);background:rgba(255,255,255,.03);padding:11px 16px;border-radius:99px;font:600 10px var(--font);letter-spacing:.07em;cursor:pointer}.nav-cta:hover{border-color:var(--green);color:var(--green)}.menu-button{display:none;justify-self:end;width:44px;height:44px;background:transparent;border:0}.menu-button span{display:block;height:1px;background:white;margin:7px}.mobile-menu{display:none}
.hero{position:relative;min-height:100vh;overflow:hidden;padding:130px clamp(24px,7vw,118px) 65px;isolation:isolate}.hero-image,.hero-sky{position:absolute;inset:0}.hero-image{z-index:-3;background:url('assets/solar-home.jpg') 58% center/cover;filter:saturate(.65) contrast(1.12) brightness(.52);transform:scale(1.04);animation:heroDrift 14s ease-in-out infinite alternate}.hero-sky{z-index:-2;background:linear-gradient(90deg,rgba(4,6,5,.94) 0%,rgba(4,6,5,.65) 42%,rgba(4,6,5,.18) 78%),linear-gradient(0deg,rgba(5,8,6,.72),transparent 58%)}@keyframes heroDrift{to{transform:scale(1.09)}}.hero-grid{max-width:1500px;margin:auto;min-height:calc(100vh - 195px);display:grid;grid-template-columns:1fr .7fr;align-items:center;gap:8vw}.hero-copy{max-width:850px}.hero .eyebrow{display:flex;align-items:center;gap:10px}.hero .eyebrow span{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 18px var(--green);animation:blink 1.7s infinite}@keyframes blink{50%{opacity:.35}}.hero h1{font-size:clamp(68px,8.5vw,148px);line-height:.88;margin:22px 0 30px;text-shadow:0 15px 45px rgba(0,0,0,.35)}.hero-lead{max-width:610px;color:rgba(244,247,243,.7);font-size:17px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:35px}.button{border:0;border-radius:99px;padding:15px 22px;font-weight:700;font-size:11px;letter-spacing:.05em;cursor:pointer;transition:.25s}.button:hover{transform:translateY(-2px)}.button-green{background:var(--green);color:#0a1208;box-shadow:0 12px 34px rgba(186,255,60,.17)}.button-green:hover{box-shadow:0 15px 42px rgba(186,255,60,.3)}.button-ghost{border:1px solid var(--line);background:transparent}.text-link{font-size:11px;border-bottom:1px solid rgba(255,255,255,.35);padding:11px 0}.text-link span{margin-left:10px}.hero-proof{display:flex;gap:28px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);max-width:650px}.hero-proof span{font-size:10px;color:var(--muted)}.hero-proof b{display:block;color:var(--ink);font:500 20px var(--font);margin-bottom:3px}.hero-hud{justify-self:end;width:min(440px,100%);padding:24px;background:rgba(9,13,11,.68);border:1px solid rgba(255,255,255,.18);border-radius:20px;backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.35)}.hud-top{display:flex;justify-content:space-between;font:600 8px var(--font);letter-spacing:.14em;color:var(--muted)}.hud-top i{font-style:normal;color:var(--green)}.energy-orbit{height:270px;position:relative;display:grid;place-items:center}.orbit-core{position:relative;z-index:3;width:128px;height:128px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,rgba(186,255,60,.2),rgba(8,14,10,.95) 68%);border:1px solid rgba(186,255,60,.5);box-shadow:0 0 55px rgba(186,255,60,.15)}.orbit-core span{font:500 48px var(--font);letter-spacing:-.08em}.orbit-core small{font:700 7px var(--font);letter-spacing:.14em;color:var(--green)}.orbit-line{position:absolute;border:1px solid rgba(186,255,60,.24);border-radius:50%;animation:spin 10s linear infinite}.orbit-line:after{content:"";position:absolute;left:50%;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green)}.orbit-line.one{width:185px;height:185px}.orbit-line.two{width:230px;height:110px;transform:rotate(32deg);animation-duration:14s}.orbit-line.three{width:260px;height:75px;transform:rotate(-28deg);animation-duration:18s}@keyframes spin{to{rotate:360deg}}.flow-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.flow-list div{background:rgba(6,9,7,.9);padding:13px 10px}.flow-list span{display:block;color:var(--muted);font-size:8px}.flow-list strong{display:block;margin-top:5px;font:600 13px var(--font)}.hero-hud>p{text-align:right;font-size:8px;color:var(--muted);margin:13px 0 0}.scroll-signal{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);font:600 8px var(--font);letter-spacing:.15em;color:var(--muted)}.scroll-signal i{display:block;width:1px;height:34px;margin:10px auto -24px;background:var(--green)}
.cycle{height:300vh;position:relative}.cycle-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#111}.cycle-home,.cycle-night{position:absolute;inset:-2%;background:url('assets/solar-home.jpg') 58% center/cover;transform:scale(calc(1.03 + var(--cycle)*.05));will-change:transform,filter}.cycle-home{filter:saturate(calc(.82 - var(--cycle)*.35)) brightness(calc(.95 - var(--cycle)*.62))}.cycle-night{background-color:#071129;background-blend-mode:multiply;opacity:calc(var(--cycle)*.78);filter:contrast(1.2) saturate(.8)}.cycle-sticky:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,6,5,.86),transparent 62%),linear-gradient(0deg,rgba(4,6,5,.52),transparent 60%);pointer-events:none}.window-glow{position:absolute;z-index:2;left:24%;top:57%;display:flex;gap:20px;opacity:calc((var(--cycle) - .55)*2.2)}.window-glow i{width:68px;height:54px;background:#ffd287;box-shadow:0 0 35px #ff9d4d;border:5px solid rgba(16,15,12,.8)}.sun-path{position:absolute;z-index:2;left:48%;top:8%;width:45vw;height:36vh;border-top:1px dashed rgba(255,255,255,.3);border-radius:50%}.sun-path i{position:absolute;left:calc(var(--cycle)*92%);top:calc(40% - sin(var(--cycle)*3.14)*35%);width:70px;height:70px;border-radius:50%;background:color-mix(in srgb,var(--amber) calc((1 - var(--cycle))*100%),#b9c9ff);box-shadow:0 0 70px currentColor}.cycle-copy{position:absolute;z-index:4;left:clamp(24px,8vw,140px);top:50%;transform:translateY(-50%);max-width:690px}.cycle-copy h2{font-size:clamp(60px,8vw,120px);margin:18px 0 28px}.cycle-copy>p:last-child{max-width:500px;color:rgba(244,247,243,.7);line-height:1.7}.cycle-meter{position:absolute;z-index:4;right:clamp(24px,7vw,110px);bottom:90px;width:min(340px,35vw);padding:20px;background:rgba(5,8,6,.72);border:1px solid var(--line);backdrop-filter:blur(15px)}.cycle-meter>div{display:flex;justify-content:space-between;align-items:end}.cycle-meter span{font:600 8px var(--font);letter-spacing:.14em;color:var(--muted)}.cycle-meter strong{font:500 24px var(--font)}.cycle-meter>i{display:block;height:3px;background:rgba(255,255,255,.13);margin:14px 0}.cycle-meter b{display:block;width:calc((1 - var(--cycle))*100%);height:100%;background:var(--green);box-shadow:0 0 12px var(--green)}.cycle-meter small{color:var(--muted);font-size:8px}.cycle-phases{position:absolute;z-index:4;right:40px;top:50%;display:grid;gap:40px;font:600 8px var(--font);letter-spacing:.15em;color:rgba(255,255,255,.45)}
.hardware{background:var(--obsidian)}.section-head{display:grid;grid-template-columns:.55fr 1.2fr .6fr;gap:5vw;align-items:end;max-width:1500px;margin:0 auto 75px}.section-head h2{margin:0}.section-head>p:last-child{color:var(--muted);line-height:1.7}.hardware-shell{max-width:1500px;margin:auto;min-height:690px;display:grid;grid-template-columns:1.2fr .65fr;border:1px solid var(--line);background:var(--surface)}.hardware-stage{position:relative;overflow:hidden;min-height:690px;background:radial-gradient(circle at 48% 47%,rgba(186,255,60,.1),transparent 27%),linear-gradient(135deg,#121815,#080a09);perspective:1200px}.hardware-stage:before{content:"";position:absolute;inset:0;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:42px 42px;mask-image:radial-gradient(circle,#000,transparent 74%)}.halo{position:absolute;left:50%;top:50%;width:550px;height:220px;border:1px solid rgba(186,255,60,.18);border-radius:50%;transform:translate(-50%,-50%) rotateX(65deg);box-shadow:0 0 60px rgba(186,255,60,.08)}.hardware-object{position:absolute;border:0;cursor:pointer;transition:.45s;filter:grayscale(.6) brightness(.7);opacity:.64}.hardware-object.active,.hardware-object:hover{filter:none;opacity:1;transform:scale(1.05);z-index:5}.panels{left:11%;top:22%;width:340px;height:250px;display:grid;grid-template-columns:1fr 1fr;gap:7px;background:transparent;transform:rotateX(58deg) rotateZ(-25deg);transform-style:preserve-3d}.panels.active,.panels:hover{transform:rotateX(54deg) rotateZ(-25deg) scale(1.08)}.panels span{background:linear-gradient(135deg,#172e38,#0b151a);border:1px solid #466773;box-shadow:inset 0 0 0 8px #12191b,0 18px 20px rgba(0,0,0,.4)}.inverter{left:48%;top:39%;width:130px;height:190px;border-radius:18px;background:linear-gradient(145deg,#f2f5f2,#8e9993);box-shadow:inset -15px -15px 25px rgba(0,0,0,.18),20px 30px 45px rgba(0,0,0,.4)}.inverter b{color:#182019;font:700 23px var(--font)}.pulse-ring{position:absolute;inset:-22px;border:1px solid rgba(186,255,60,.4);border-radius:28px;animation:pulseRing 2s infinite}@keyframes pulseRing{70%,100%{transform:scale(1.12);opacity:0}}.battery{right:8%;bottom:12%;width:175px;height:300px;border-radius:30px;background:linear-gradient(100deg,#252d29,#080b0a 70%);border:1px solid rgba(255,255,255,.2);box-shadow:inset 15px 0 25px rgba(255,255,255,.05),25px 40px 55px rgba(0,0,0,.45)}.battery span{font:500 28px var(--font);color:var(--green)}.battery i{display:block;width:48%;height:3px;background:var(--green);margin:8px auto}.hardware-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hardware-lines path{fill:none;stroke:rgba(186,255,60,.4);stroke-width:1.5;stroke-dasharray:6 8;animation:dash 2s linear infinite}@keyframes dash{to{stroke-dashoffset:-28}}.hardware-panel{padding:clamp(28px,4vw,60px);display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line)}.hardware-panel>span{font:500 52px var(--font);color:rgba(255,255,255,.16)}.hardware-panel h3{font-size:clamp(44px,4vw,72px);line-height:1;margin:18px 0 20px}.hardware-panel>p:not(.eyebrow){color:var(--muted);line-height:1.75}.hardware-panel dl{margin:30px 0;border-top:1px solid var(--line)}.hardware-panel dl div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.hardware-panel dt{color:var(--muted);font-size:11px}.hardware-panel dd{margin:0;font:600 12px var(--font);color:var(--green)}.hardware-tabs{display:flex;gap:7px;margin-top:12px}.hardware-tabs button{flex:1;border:1px solid var(--line);background:transparent;padding:11px;color:var(--muted);font-size:10px;cursor:pointer}.hardware-tabs button.active{background:var(--green);border-color:var(--green);color:#071008}
.forecast{background:#eef1ed;color:#111512}.forecast .eyebrow{color:#477a0d}.forecast-intro{display:grid;grid-template-columns:1.2fr .6fr;gap:8vw;align-items:end;max-width:1500px;margin:0 auto 70px}.forecast-intro h2{margin:10px 0 0}.forecast-intro>p{color:#5c665f;line-height:1.7}.forecast-shell{max-width:1500px;margin:auto;display:grid;grid-template-columns:.38fr .62fr;border:1px solid rgba(10,20,12,.16);background:#fff}.forecast-control{padding:45px;border-right:1px solid rgba(10,20,12,.13)}.forecast-control label{font-size:12px;color:#5f695f}.forecast-control label strong{display:block;font:500 65px var(--font);color:#111512;margin:13px 0 28px;letter-spacing:-.07em}.forecast-control input{width:100%;accent-color:#83b817}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:#748074}.forecast-stat{margin-top:70px;padding-top:30px;border-top:1px solid rgba(10,20,12,.15)}.forecast-stat small{font-size:9px;letter-spacing:.1em;color:#637064}.forecast-stat strong{display:block;font:500 clamp(46px,5vw,78px) var(--font);color:#477a0d;margin:12px 0}.forecast-stat p{color:#7a847c;font-size:10px;line-height:1.5}.chart-wrap{padding:35px;min-width:0}.chart-head{display:flex;justify-content:space-between;font:600 8px var(--font);letter-spacing:.1em;color:#68736b}.chart-head>div{display:flex;align-items:center;gap:8px}.chart-head i{width:14px;height:3px}.utility-key{background:#111512}.solar-key{background:#83b817;margin-left:10px}.chart-wrap svg{width:100%;height:auto;margin-top:25px}.grid-lines line{stroke:rgba(10,20,12,.1)}.chart-area{fill:rgba(22,31,25,.06)}.utility-line{fill:none;stroke:#111512;stroke-width:4;stroke-linecap:round}.solar-line{fill:none;stroke:#83b817;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 4px 5px rgba(131,184,23,.2))}.axis-labels text{font:600 9px var(--font);fill:#7a847c}
.assessment{display:grid;grid-template-columns:.75fr 1fr;gap:10vw;align-items:center;max-width:1700px;margin:auto}.assessment-copy h2{font-size:clamp(60px,7vw,106px);margin:18px 0 28px}.assessment-copy>p:not(.eyebrow){color:var(--muted);font-size:16px;line-height:1.7}.assessment-points{display:grid;gap:10px;margin-top:30px}.assessment-points span{font-size:11px;padding-left:18px;position:relative}.assessment-points span:before{content:"";position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;background:var(--green)}.assessment-card{position:relative;min-height:610px;padding:42px;background:var(--surface-2);border:1px solid var(--line);border-radius:24px;box-shadow:0 35px 85px rgba(0,0,0,.34)}.form-head{display:flex;justify-content:space-between;font:600 9px var(--font);letter-spacing:.14em;color:var(--muted);padding-bottom:22px;border-bottom:1px solid var(--line)}.form-head b{color:var(--green)}.form-stage{display:none;padding-top:36px}.form-stage.active{display:grid;gap:15px}.form-stage label{font-size:10px;color:var(--muted);margin-top:6px}.form-stage input,.form-stage select{width:100%;border:1px solid var(--line);background:#0a0d0b;color:var(--ink);padding:17px;border-radius:8px;outline:0}.form-stage input:focus,.form-stage select:focus{border-color:var(--green)}.form-stage>.button{margin-top:22px}.money-input{position:relative}.money-input span{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--green)}.money-input input{padding-left:34px}.form-buttons{display:grid;grid-template-columns:.4fr .6fr;gap:10px;margin-top:20px}.form-result{display:none;padding-top:36px}.form-result.show{display:block}.form-result>span{font:600 9px var(--font);letter-spacing:.14em;color:var(--green)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:25px 0}.result-grid div{background:#0b0f0d;padding:18px 12px}.result-grid small{display:block;color:var(--muted);font-size:8px}.result-grid strong{display:block;font:500 23px var(--font);margin-top:7px}.form-result p{color:var(--muted);line-height:1.7;margin:28px 0}.form-note{position:absolute;left:42px;bottom:20px;color:#67716a;font-size:8px}.toast{position:fixed;z-index:1400;left:50%;bottom:30px;transform:translate(-50%,30px);opacity:0;background:var(--green);color:#091008;padding:13px 18px;border-radius:99px;font-size:10px;transition:.3s}.toast.show{opacity:1;transform:translate(-50%,0)}footer{border-top:1px solid var(--line);padding:60px clamp(24px,7vw,118px);display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center}footer p{color:var(--muted);font-size:11px;margin:0}footer>div{display:flex;gap:22px;font-size:10px;color:var(--muted)}footer small{grid-column:1/-1;color:#657069;font-size:8px}.reveal{opacity:0;transform:translateY(35px);transition:.8s}.reveal.in{opacity:1;transform:none}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav,.nav-cta{display:none}.menu-button{display:block}.mobile-menu{position:fixed;z-index:900;inset:0;background:#070908;padding:120px 25px 40px;flex-direction:column;gap:25px;font:500 34px var(--font)}.mobile-menu.open{display:flex}.hero-grid,.section-head,.forecast-intro,.assessment{grid-template-columns:1fr}.hero-hud{display:none}.hero-copy{padding-top:70px}.section-head{gap:20px}.hardware-shell{grid-template-columns:1fr}.hardware-panel{border-left:0;border-top:1px solid var(--line)}.forecast-shell{grid-template-columns:1fr}.forecast-control{border-right:0;border-bottom:1px solid rgba(10,20,12,.13)}.assessment{padding-left:24px;padding-right:24px}.cycle-meter{width:320px}.cycle-phases{display:none}}
@media(max-width:640px){.section{padding:100px 20px}h2{font-size:55px}.hero{padding:100px 20px 55px}.hero-image{background-position:65% center}.hero-grid{min-height:calc(100vh - 150px)}.hero h1{font-size:63px}.hero-lead{font-size:14px}.hero-actions{align-items:stretch;flex-direction:column;gap:8px}.text-link{text-align:center}.hero-proof{gap:12px}.hero-proof span{flex:1}.hero-proof b{font-size:16px}.cycle{height:220vh}.cycle-home,.cycle-night{background-position:62% center}.cycle-copy{left:20px;right:20px;top:46%}.cycle-copy h2{font-size:58px}.cycle-copy>p:last-child{font-size:13px}.cycle-meter{left:20px;right:20px;bottom:28px;width:auto}.sun-path{left:30%;width:62vw}.window-glow{left:16%;top:55%}.window-glow i{width:40px;height:34px}.hardware-shell,.hardware-stage{min-height:560px}.panels{left:4%;top:16%;width:240px;height:190px}.inverter{left:49%;top:40%;width:90px;height:135px}.battery{width:115px;height:205px;right:5%;bottom:8%}.hardware-lines{display:none}.hardware-panel{padding:30px 22px}.hardware-tabs{overflow-x:auto}.forecast-control,.chart-wrap{padding:25px 20px}.forecast-stat{margin-top:45px}.chart-head{align-items:flex-start;gap:15px;flex-direction:column}.assessment{padding:100px 20px}.assessment-card{padding:28px 20px;min-height:590px}.form-note{left:20px}.result-grid{grid-template-columns:1fr}.form-buttons{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center;justify-items:center}footer>div{flex-wrap:wrap;justify-content:center}.scroll-signal{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.cycle-home,.cycle-night{transform:none!important}}

/* Readability pass: precise energy technology typography */
body{font-size:17px}.brand{font-size:13px;letter-spacing:.12em}nav{font-size:14px}.nav-cta{font-size:12px}.eyebrow{font-size:13px;letter-spacing:.14em}.button,.text-link{font-size:13px}.hero-lead,.section-head>p:last-child,.forecast-intro>p{font-size:17px}.hero-proof span{font-size:12px}.hud-top,.flow-list span,.hero-hud>p,.scroll-signal,.cycle-meter span,.cycle-meter small,.cycle-phases{font-size:11px}.orbit-core small{font-size:11px}.hardware-tabs button,.assessment-points span{font-size:12px}.form-head,.form-result>span{font-size:11px}.form-stage label{font-size:12px}.result-grid small{font-size:11px}footer{font-size:12px}small{font-size:11px!important}.forecast-stat span,.chart-head>span,.range-labels span,.chart-scale span,.forecast-stat p,.form-note,footer a,#roiChart text{font-size:11px}
@media(max-width:640px){.hero h1{font-size:70px}.hero-lead{font-size:16px}h2,.cycle-copy h2{font-size:62px}.cycle-copy>p:last-child{font-size:15px}.assessment-copy>p:not(.eyebrow){font-size:16px}}
