/* Energy in motion: progressive enhancement; the page remains visible without JS. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--energy:#ffb450;--energy-soft:rgba(255,180,80,.15)}
.motion-toggle{display:inline-grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #ffffff36;border-radius:50%;background:transparent;color:#d5e0e6;padding:7px;transition:border-color .2s,color .2s;order:0}.motion-toggle:hover{border-color:var(--orange);color:var(--orange)}.motion-toggle svg{width:20px;height:20px;grid-area:1/1}.motion-toggle .play-icon{display:none}.motion-toggle[data-paused=true] .pause-icon{display:none}.motion-toggle[data-paused=true] .play-icon{display:block}.motion-toggle:disabled{opacity:.5;cursor:default}.reading-progress{position:absolute;inset:auto 0 -1px;height:2px;pointer-events:none;overflow:hidden}.reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#ce750d,#ffe0a6);box-shadow:0 0 12px #ffa83b70}.site-header{transition:box-shadow .25s,background .25s}.site-header.is-scrolled{box-shadow:0 12px 32px #020a121a;background:#071823f5;backdrop-filter:blur(16px)}
.hero{position:relative;isolation:isolate;overflow:clip}.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#e9f7ff08 1px,transparent 1px),linear-gradient(90deg,#e9f7ff08 1px,transparent 1px);background-size:70px 70px;mask-image:radial-gradient(ellipse at 35% 35%,#000,transparent 72%)}.hero::after{content:"";position:absolute;z-index:-1;width:70%;height:90%;left:12%;top:0;pointer-events:none;background:radial-gradient(ellipse at 35% 35%,#0d94b51c,transparent 55%),radial-gradient(ellipse at 80% 60%,#ffa83b12,transparent 52%);opacity:.8;transform:translate3d(0,0,0)}.hero-grid{perspective:1400px}.hero-image{transform:rotateX(var(--hero-rx,0deg)) rotateY(var(--hero-ry,0deg));transition:transform .55s var(--motion-ease),box-shadow .55s;box-shadow:0 25px 70px #00000030}.hero-image>img{transform:scale(1.065) translate3d(0,var(--image-drift,0px),0);transition:transform .55s var(--motion-ease)}.hero-image::before{content:"";position:absolute;z-index:3;inset:0;border:1px solid #ffe4bf40;border-radius:inherit;pointer-events:none}.image-tech-frame{position:absolute;z-index:2;inset:26px;pointer-events:none;opacity:.6;background:linear-gradient(#ffe8c6,#ffe8c6) left bottom/30px 1px no-repeat,linear-gradient(#ffe8c6,#ffe8c6) left bottom/1px 30px no-repeat,linear-gradient(#ffe8c6,#ffe8c6) right top/30px 1px no-repeat,linear-gradient(#ffe8c6,#ffe8c6) right top/1px 30px no-repeat}.image-tech-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,#fff6df18 49%,transparent 60%);opacity:0;transform:translateX(-110%)}.hero h1 em{background:linear-gradient(100deg,#ffa83b 20%,#ffcb82 40%,#fff0d9 50%,#ffa83b 70%);background-size:250% auto;background-position:0 50%;-webkit-background-clip:text;background-clip:text;color:transparent}.image-note{transition:transform .5s var(--motion-ease)}
.button{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--motion-ease),box-shadow .25s,background .25s}.button::before{content:"";position:absolute;inset:-10px;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff75 48%,transparent 76%);transform:translateX(-130%);pointer-events:none}.button>span{transition:transform .25s var(--motion-ease)}.button:hover>span{transform:translate(2px,-2px)}.button:hover{box-shadow:0 9px 25px #f99b2525}.service-card{position:relative;isolation:isolate}.service-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(300px circle at var(--spot-x,50%) var(--spot-y,25%),#ffac3730,transparent 70%);opacity:0;transition:opacity .3s}.service-card::after{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#c77b27,transparent);transform:scaleX(0);transition:transform .4s var(--motion-ease)}.service-card:hover::before,.service-card:focus-visible::before{opacity:1}.service-card:hover::after,.service-card:focus-visible::after{transform:scaleX(1)}.service-card .card-top svg{transition:transform .4s var(--motion-ease),color .3s}.service-card:hover .card-top svg{transform:translateY(-4px) rotate(-5deg);color:#c17614}.service-card .text-link>span{transition:transform .3s var(--motion-ease)}.service-card:hover .text-link>span{transform:translate(3px,-3px)}.choice{transition:background .25s,border-color .25s,box-shadow .25s}.choice:has(input:checked){box-shadow:inset 3px 0 #a9600d,0 4px 18px #b3811c0a}.fit-card{transition:box-shadow .4s,border-color .4s}.fit-card:hover{border-color:#ffa83b66;box-shadow:0 12px 45px #010d1a50}.process-grid li{position:relative}.process-grid li::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:linear-gradient(90deg,#b96b16,#ffba5c);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--motion-ease)}.process-grid li.is-revealed::before{transform:scaleX(1)}
.day-explainer{position:relative;overflow:hidden;isolation:isolate;border-color:#fcb5513b;background:linear-gradient(145deg,#15313e,#0b1f2c);box-shadow:0 25px 80px #00000025;transition:background .5s,border-color .5s}.day-explainer::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 40%,var(--energy-soft),transparent 62%);transition:background .6s}.day-explainer[data-scenario=evening]{--energy:#91baff;--energy-soft:rgba(94,150,241,.13);border-color:#91baff40}.day-explainer[data-scenario=winter]{--energy:#8ee2df;--energy-soft:rgba(89,196,191,.12);border-color:#8ee2df40}.day-controls{margin-bottom:10px}.day-controls button{transition:background .3s,color .3s,box-shadow .3s}.day-controls button[aria-selected=true]{box-shadow:0 3px 18px #f69e3120}.energy-map{position:relative;width:100%;aspect-ratio:400/220;margin:10px 0 25px;min-height:210px;border-bottom:1px solid #ffffff10}.energy-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.connection-tracks{stroke:#9cbdcc2a;stroke-width:1.2}.connection-flows{stroke:var(--energy);stroke-width:2.7;stroke-linecap:round;stroke-dasharray:3 23;filter:drop-shadow(0 0 4px var(--energy));transition:stroke .6s}.connection-flows path{opacity:.13;transition:opacity .6s}.day-explainer[data-scenario=day] .flow-pv-home,.day-explainer[data-scenario=day] .flow-pv-storage,.day-explainer[data-scenario=evening] .flow-storage-home,.day-explainer[data-scenario=winter] .flow-grid-home,.day-explainer[data-scenario=winter] .flow-pv-home{opacity:.9}.energy-node{position:absolute;display:grid;place-items:center;width:27%;min-height:48px;transform:translate(-50%,-50%);border:1px solid #b5d1df36;border-radius:8px;background:#0c202d;box-shadow:0 6px 24px #01090f30;text-align:center;padding:10px 5px;transition:border-color .5s,box-shadow .5s;color:#aec4d1;font-size:.875rem;line-height:1.35}.energy-node-pv{left:17.5%;top:20.45%}.energy-node-storage{left:17.5%;top:79.55%}.energy-node-home{left:67.5%;top:50%;background:#173542;color:#f8fbff;font-size:.94rem;border-color:var(--energy);box-shadow:0 0 30px var(--energy-soft)}.energy-node-grid{left:82.5%;top:13.64%}.day-explainer[data-scenario=day] .energy-node-pv,.day-explainer[data-scenario=day] .energy-node-storage,.day-explainer[data-scenario=evening] .energy-node-storage,.day-explainer[data-scenario=winter] .energy-node-grid,.day-explainer[data-scenario=winter] .energy-node-pv{border-color:var(--energy);color:#eff8fc}.day-number{color:var(--energy);transition:color .5s}.day-explainer h3{font-size:1.65rem}.day-explainer p{min-height:100px}.energy-flow{font-size:.8rem;margin-top:17px;padding-top:18px}.energy-flow>span{padding:9px 12px}.energy-flow b{color:var(--energy)}.energy-node-home::after{content:"";position:absolute;inset:-5px;border:1px solid var(--energy);border-radius:12px;opacity:.12;pointer-events:none}
.motion-enabled .hero.is-in-view::after{animation:ambient-drift 15s ease-in-out infinite alternate}.motion-enabled .hero.is-in-view h1 em{animation:headline-energy 9s ease-in-out infinite}.motion-enabled .hero.is-in-view .image-tech-frame::after{animation:image-scan 10s ease-in-out infinite}.motion-enabled .button:hover::before{animation:button-light .75s var(--motion-ease) both}.motion-enabled .day-explainer.is-in-view .connection-flows path{animation:energy-travel 2.8s linear infinite}.motion-enabled .day-explainer.is-in-view .flow-pv-storage{animation-duration:3.5s}.motion-enabled .day-explainer.is-in-view .flow-storage-home{animation-duration:3.2s}.motion-enabled .day-explainer.is-in-view .energy-node-home::after{animation:home-energy 3.5s ease-in-out infinite}.motion-enabled .grant-banner.is-in-view{background:linear-gradient(115deg,#183746,#1c4052,#17313d);background-size:230% 230%;animation:banner-energy 15s ease-in-out infinite}.page-hidden *,.page-hidden *::before,.page-hidden *::after{animation-play-state:paused!important}
@keyframes ambient-drift{0%{transform:translate3d(-4%,0,0);opacity:.65}100%{transform:translate3d(5%,4%,0);opacity:1}}
@keyframes headline-energy{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes image-scan{0%,55%{transform:translateX(-110%);opacity:0}62%{opacity:.8}82%,100%{transform:translateX(110%);opacity:0}}
@keyframes button-light{to{transform:translateX(130%)}}
@keyframes energy-travel{to{stroke-dashoffset:-104}}
@keyframes home-energy{0%,100%{opacity:.08;transform:scale(1)}50%{opacity:.27;transform:scale(1.025)}}
@keyframes banner-energy{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(min-width:901px){.motion-toggle{margin-left:-8px}.hero-image:hover{box-shadow:0 32px 90px #020c1760,0 0 45px #f6a34210}}
@media(max-width:900px){.motion-toggle{order:3;margin-right:4px}.hero-image,.hero-image>img{transform:none!important}.image-tech-frame{inset:20px}.header-phone{display:none}.motion-enabled .hero.is-in-view .image-tech-frame::after{animation:none}.motion-enabled .hero.is-in-view::after{animation:none}}
@media(max-width:640px){.energy-map{min-height:200px;margin-bottom:22px}.energy-node{font-size:.875rem;width:29%;min-height:47px}.energy-node-home{font-size:.875rem}.day-explainer p{min-height:130px}.energy-flow{font-size:.78rem;gap:8px}.energy-flow>span{padding:9px}.motion-toggle{width:34px;height:34px;flex-basis:34px}.image-tech-frame{inset:19px}.image-tech-frame::after{display:none}.motion-enabled .hero.is-in-view h1 em{animation:none}.motion-enabled .day-explainer.is-in-view .connection-flows path{animation-duration:4s}.motion-enabled .day-explainer.is-in-view .energy-node-home::after{animation:none}.motion-enabled .grant-banner.is-in-view{animation:none}}
html:not(.motion-enabled) .hero-image,html:not(.motion-enabled) .hero-image>img{transform:none!important}html:not(.motion-enabled) .process-grid li::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.hero-image,.hero-image>img{transform:none!important}.hero h1 em{background:none;color:var(--orange)}.process-grid li::before{transform:scaleX(1)}.energy-node-home::after{display:none}}
@media print{.motion-toggle,.reading-progress,.image-tech-frame{display:none!important}.energy-map{break-inside:avoid}.energy-node{color:#000;border-color:#777;background:#fff}.connection-tracks{stroke:#777}.connection-flows{display:none}.hero h1 em{background:none;color:#000}}
.energy-short{display:none}
html:not(.motion-enabled) *,html:not(.motion-enabled) *::before,html:not(.motion-enabled) *::after{transition:none!important}
html:not(.motion-enabled) .button:hover,html:not(.motion-enabled) .button:hover>span,html:not(.motion-enabled) .service-card:hover .card-top svg,html:not(.motion-enabled) .service-card:hover .text-link>span{transform:none}
@media(max-width:420px){.energy-long{display:none}.energy-short{display:inline}}
