/* All movement is progressive enhancement and respects the motion control. */
a,button,summary{transition:color .25s,background .25s,border-color .25s,box-shadow .3s,transform .35s}a:hover,summary:hover{color:var(--lime)}.desktop-nav a,.drawer-contact a,.phones a{position:relative}.desktop-nav a:after,.drawer-contact a:after,.phones a:after{content:'';position:absolute;bottom:-5px;left:0;right:100%;height:1px;background:var(--lime);transition:right .3s}.desktop-nav a:hover:after,.drawer-contact a:hover:after,.phones a:hover:after{right:0}.header-cta:hover,.menu-toggle:hover,.icon-button:hover{border-color:#c7ee9a90;background:#c7ee9a0c;color:var(--lime)}button:active,.button:active{scale:.98}.button:before{content:'';position:absolute;inset:0;background:#e1ffc0;transform:translateY(102%);transition:transform .4s cubic-bezier(.16,1,.3,1);z-index:-1}.button:hover:before{transform:none}.button:hover{color:var(--ink);box-shadow:0 0 35px #c7ee9a15}.button>span,.text-link>span,.contact-email>span,.header-cta>span,.price-arrow{transition:transform .3s}a:hover>.price-arrow,a:hover>span:last-child,.button:hover>span{transform:translate(3px,-3px)}.text-link:hover{border-color:var(--lime)}.round-link:hover b{color:var(--ink);background:var(--lime);border-color:var(--lime)}.contact-email:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform .45s}.contact-email:hover:after{transform:scaleX(1);transform-origin:left}.nav-drawer[open] .drawer-inner{animation:drawer-in .45s cubic-bezier(.16,1,.3,1) both}.nav-drawer[open] .drawer-links>a{animation:content-in .55s ease-out backwards;animation-delay:calc(var(--menu-index,0)*.045s)}.drawer-links>a:hover{padding-left:7px}.energy-field{position:absolute;inset:-25px -5%;width:110%;height:calc(100% + 50px);z-index:-1;pointer-events:none;opacity:.9}.headline-line{display:block;overflow:clip;padding:0 .06em .09em 0;margin-bottom:-.09em}.headline-first,.headline-second{display:inline-block;transform:translate3d(var(--title-x,0px),var(--title-y,0px),0);will-change:transform}.headline-char{display:inline-block;transform-origin:center 85%;transition:color .3s,translate .5s,rotate .5s}.headline-char:hover{color:var(--lime);translate:0 -.05em;rotate:-5deg}.headline-space{width:.21em}.entrance .headline-char{animation:letter-arrive 1.1s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*.04s)}.orbit-mark .sun-mark{animation:sun-breathe 3.8s ease-in-out infinite}.orbit-ring{position:absolute;inset:0;border:1px solid #ff895d65;border-radius:50%;pointer-events:none}.ring-a{transform:rotateX(65deg) rotate(-20deg);animation:orbit-a 13s linear infinite}.ring-b{transform:rotateY(65deg) rotate(20deg);animation:orbit-b 17s linear infinite}.orbit-ring:after{content:'';position:absolute;top:calc(50% - 3px);left:-3px;width:6px;height:6px;border-radius:50%;background:#ffd38a;box-shadow:0 0 16px #ff9a5f}.scroll-indicator:after{animation:scroll-hint 1.8s ease-in-out infinite}.photo-drift{animation:photo-breathe 18s ease-in-out infinite alternate}.hero-visual img{transform:scale(calc(var(--photo-zoom,1.08) + var(--image-hover,0))) translateY(var(--photo-y,0px));transition:transform 1s cubic-bezier(.16,1,.3,1);will-change:transform}.hero-visual:hover{--image-hover:.065}.zoom-frame img{transition:transform 1.1s cubic-bezier(.16,1,.3,1)}.service-image:hover img,.ground-image:hover img{transform:scale(1.07)}.photo-glow{position:absolute;inset:-20%;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse at 65% 10%,#ff9f4740,transparent 55%);animation:light-drift 9s ease-in-out infinite alternate}.light-switch:hover{background:#1a291acf;border-color:var(--lime);color:var(--lime)}.light-switch>span{animation:rotate 20s linear infinite}.light-switch:disabled{opacity:.5}.hero-visual.energized .photo-glow{animation:solar-burst 1.3s ease-out both}.hero-visual.energized .scene-type{animation:type-impact 1.3s ease-out both}.scene-type>span{transform:translateX(calc(var(--scene-text-x,0px)*.12));transition:transform .3s}.scene-type>span:last-child{transform:translateX(calc(var(--scene-text-x,0px)*-.12))}.hero-price:hover{border-color:#c7ee9a75;box-shadow:0 20px 50px #0005}.ticker>div{animation:marquee 30s linear infinite}.reveal{transition:opacity .8s,transform .9s cubic-bezier(.16,1,.3,1)}.motion .reveal:not(.visible){opacity:0;transform:translateY(45px)}.motion .reveal.visible{opacity:1;transform:none}.word-lit{display:inline-block;opacity:var(--word-opacity,1);transition:opacity .15s}.service-card,.principles>div,.scheme-lead{transition:border-color .4s,box-shadow .4s,translate .5s}.service-card:hover,.principles>div:hover{border-color:#c7ee9a55;box-shadow:0 20px 60px #0004}.principles>div:hover{translate:0 -6px}.service-detail summary b,.faq summary span,.assumptions summary span{transition:transform .35s}.service-detail[open] summary b,.faq[open] summary span,.assumptions[open] summary span{transform:rotate(45deg)}.service-detail[open] p,.faq[open] p,.assumptions[open] p{animation:content-in .4s ease-out}.service-detail>summary:hover{color:var(--lime)}.business-card .energy-symbol{animation:arrow-float 4s ease-in-out infinite}.journey-energy>span{animation:rotate 30s linear infinite}.journey-energy>i:after{animation:energy-travel 2.4s ease-in-out infinite}.journey-energy>i:nth-of-type(2):after{animation-delay:.5s}.journey-energy>i:nth-of-type(3):after{animation-delay:1s}.journey-track>i{transition:width .7s cubic-bezier(.16,1,.3,1)}.journey-console.changed h3,.journey-console.changed>p{animation:content-in .5s ease-out}.journey-step{transition:opacity .5s,border-color .5s}.journey-stages>a:hover{background:#c7ee9a15;color:var(--lime)}.scheme-amount>span{animation:arrow-float 4s ease-in-out infinite}.subsidy-tiers>div{transition:padding .3s,background .3s}.subsidy-tiers>div:hover{padding-left:10px;padding-right:10px;background:#c7ee9a06}.switch:after{transition:transform .3s,background .3s}.property-choice span{transition:background .25s,border-color .25s,color .25s}.property-choice label:hover>span{border-color:var(--lime)}input[type=range]::-webkit-slider-thumb{transition:box-shadow .2s,scale .2s}input[type=range]:hover::-webkit-slider-thumb{box-shadow:0 0 24px #c7ee9a55;scale:1.07}.calc-result{transform:perspective(1300px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transition:transform .2s ease-out,box-shadow .4s}.calc-result:hover{box-shadow:0 35px 70px #0004}.big-result .amount{display:block}.calc-result.changed .amount{animation:amount-in .4s cubic-bezier(.16,1,.3,1)}.chart-bar.solar:after{content:'';position:absolute;inset:0;width:45%;background:linear-gradient(90deg,transparent,#fff8,transparent);translate:-200% 0;animation:energy-sweep 4s ease-in-out infinite;z-index:-1}.result-metrics>div{transition:translate .3s}.result-metrics>div:hover{translate:0 -3px}.subsidy-result:not([hidden]){animation:content-in .4s ease-out}.contact h2>span{transform:translate3d(var(--arrow-x,0px),var(--arrow-y,0px),0);transition:transform .4s ease-out}form input,form textarea,form select{transition:border-color .3s,background .3s}form input:focus,form textarea:focus,form select:focus{border-color:var(--lime)}.motion-bars i{animation:equalize .8s ease-in-out infinite alternate}.motion-bars i:nth-child(2){animation-delay:-.4s}.motion-bars i:nth-child(3){animation-delay:-.2s}.motion-control:hover{border-color:var(--lime)}.cursor-halo{transition:width .25s,height .25s,background .25s,opacity .3s}.cursor-halo>span{transition:opacity .25s}.energy-host{position:relative;isolation:isolate}header.energy-host{z-index:10}.section-energy{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.9;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}
.motion-off .cursor-halo,.motion-off .energy-field,.motion-off .section-energy{opacity:0!important}.motion-off *,.motion-off *:before,.motion-off *:after,.tab-inactive *,.tab-inactive *:before,.tab-inactive *:after{animation-play-state:paused!important}.motion-off *,.motion-off *:before,.motion-off *:after{transition:none!important}.motion-off .headline-char,.motion-off .amount{animation:none!important;opacity:1!important;transform:none!important}.motion-off .headline-first,.motion-off .headline-second,.motion-off .hero-visual img,.motion-off .photo-drift,.motion-off .scene-type span,.motion-off .calc-result,.motion-off .contact h2>span{transform:none!important}.motion-off .word-lit,.motion-off .reveal{opacity:1!important}.motion-off .reveal{transform:none!important}.motion-off .motion-bars i{height:4px}.motion-off .photo-glow{animation:none!important}html:has(.motion-off){scroll-behavior:auto}
@keyframes sun-breathe{0%,100%{transform:scale(.94);filter:drop-shadow(0 0 5px rgba(255,135,91,.38))}50%{transform:scale(1.06);filter:drop-shadow(0 0 11px rgba(255,135,91,.7))}}@keyframes drawer-in{from{transform:translateX(45px);opacity:0}to{transform:none;opacity:1}}@keyframes letter-arrive{from{transform:translateY(118%) rotate(9deg);opacity:0}to{transform:none;opacity:1}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes orbit-a{to{transform:rotateX(65deg) rotate(340deg)}}@keyframes orbit-b{to{transform:rotateY(65deg) rotate(-340deg)}}@keyframes scroll-hint{0%,100%{translate:0 0;opacity:.5}50%{translate:0 7px;opacity:1}}@keyframes photo-breathe{from{transform:scale(1.02) translateX(-.7%)}to{transform:scale(1.075) translateX(.7%)}}@keyframes light-drift{from{transform:translate(-8%,4%) scale(.9);opacity:.5}to{transform:translate(8%,-4%) scale(1.2);opacity:1}}@keyframes solar-burst{0%{opacity:.4;transform:scale(.4)}35%{opacity:1;background:radial-gradient(ellipse at 65% 10%,#ffa460bb,transparent 68%)}100%{opacity:.7;transform:scale(1.4)}}@keyframes type-impact{0%{scale:.98}40%{scale:1.03}100%{scale:1}}@keyframes content-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes amount-in{from{transform:translateY(70%);opacity:.2}to{transform:none;opacity:1}}@keyframes energy-sweep{0%,30%{translate:-200% 0}80%,100%{translate:320% 0}}@keyframes equalize{from{transform:scaleY(.3)}to{transform:scaleY(1)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes energy-travel{0%{left:0;opacity:0}15%,85%{opacity:1}100%{left:100%;opacity:0}}@keyframes arrow-float{0%,100%{translate:0 0}50%{translate:3px -3px}}
@media(max-width:800px){.calc-result{transform:none!important}.hero-visual img{--photo-zoom:1.08}.cursor-halo{display:none}}@media(pointer:coarse){.cursor-halo{display:none}.headline-char:hover{translate:none;rotate:none}.principles>div:hover{translate:none}}@media(prefers-reduced-motion:reduce){.energy-field,.section-energy,.cursor-halo{display:none}.headline-char,.headline-first,.headline-second,.photo-drift,.hero-visual img,.scene-type span,.calc-result,.reveal{transform:none!important}.reveal,.word-lit{opacity:1!important}}
.motion-off .drawer-inner,.motion-off .drawer-links>a,.motion-off details p,.motion-off .subsidy-result,.motion-off .journey-console h3,.motion-off .journey-console>p{animation:none!important;opacity:1!important;transform:none!important}
