/* Shared Shaka finish: luminous navy, generous spacing, deliberate motion. */
.page-intro{position:relative;isolation:isolate;padding-block:85px 60px}.page-intro:before{content:'';position:absolute;inset:0 -3vw;z-index:-1;background:radial-gradient(ellipse at 80% 20%,#cbe4f17a,transparent 65%);pointer-events:none}.page-intro h1{letter-spacing:-.055em;line-height:1.05}.page-intro .lede{max-width:650px;line-height:1.8}.service-detail{padding-block:55px;gap:70px}.service-detail img,.service-detail .service-stock{border-radius:22px}.service-detail img{transition:transform .9s cubic-bezier(.22,1,.36,1)}.service-detail>div:first-child{overflow:hidden;border-radius:22px}.service-detail:hover img{transform:scale(1.025)}.service-detail h2{letter-spacing:-.045em}.product-grid{gap:24px}.product-card{background:#111f2b;color:#f2f6f9;border:1px solid #344957;border-radius:22px;box-shadow:0 16px 45px #0b253512;isolation:isolate}.product-card h2{color:#f2f6f9;letter-spacing:-.045em}.product-card p{color:#b8c8d3}.product-card .eyebrow{color:#a2cee7}.product-card .button-outline{color:#e1eff7;border-color:#617b8d;background:#ffffff04}.product-card .product-media>img{border-radius:0;object-fit:cover;transform-origin:50% 60%;will-change:transform}.product-card>div{position:relative;z-index:1;background:linear-gradient(#111f2b05,#111f2b)}.product-card:hover{box-shadow:0 25px 55px #0a253529}.service-card,.care-grid article,.about-values article{border-radius:18px;overflow:hidden}.about-values article,.care-grid article{background:#102637;color:#eff5f8;border:1px solid #355165;padding:32px}.about-values h3,.care-grid h3{color:#eff5f8}.about-values p,.care-grid p{color:#b5c9d7}.about-values .eyebrow{color:#93c8e9}.care-grid .button-outline{color:#eef6fa;border-color:#688797}.about-number{border-radius:24px;box-shadow:0 24px 65px #173a4b20}.about-grid{align-items:center}.project-open{border-radius:20px;overflow:hidden}.project-open img{transition:transform 1s cubic-bezier(.22,1,.36,1)}.project-open:hover img{transform:scale(1.035)}.quote-panel{border-radius:22px;box-shadow:0 22px 70px #123a5010}.quote-panel input,.quote-panel select,.quote-panel textarea{transition:border-color .25s,box-shadow .25s}.quote-panel input:focus,.quote-panel select:focus,.quote-panel textarea:focus{border-color:#5f9ebf;box-shadow:0 0 0 4px #6da9ca17;outline:0}.site-header{box-shadow:0 12px 45px #051b3010}.site-header nav a{transition:color .25s}.button{transition:transform .3s,box-shadow .3s,background .3s}.button:hover{transform:translateY(-2px);box-shadow:0 12px 25px #051b3020}.motion-surface{position:relative;--pointer-x:50%;--pointer-y:30%;--tilt-x:0deg;--tilt-y:0deg}.motion-surface:after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y),#8acbf51c,transparent 65%);opacity:0;transition:opacity .5s;z-index:3}.motion-surface.pointer-active:after{opacity:1}.floating-equipment{transition:transform .65s cubic-bezier(.22,1,.36,1)!important}.equipment-hover.pointer-active .floating-equipment{transform:perspective(1800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-7px) scale(1.035)!important}.equipment-hover:focus-within .floating-equipment{transform:translateY(-5px) scale(1.02)}body.motion-explicit .hero-copy,body.motion-explicit .page-intro h1,body.motion-explicit .contact-hero h1{animation:hero-enter .9s cubic-bezier(.22,1,.36,1) both!important}.motion-enabled .page-intro:before{animation:ambient-breathe 9s ease-in-out infinite alternate}@keyframes ambient-breathe{to{opacity:.45;transform:translateX(-3%)}}@media(max-width:800px){.service-detail{gap:32px}.page-intro{padding-block:55px 40px}.care-grid article,.about-values article{padding:25px}}@media(hover:none){.floating-equipment{will-change:auto}.motion-surface:after{display:none}.button:hover{transform:none}}

/* Readable hover states on dark surfaces. */
.care-grid .button-outline:hover,.care-grid .button-outline:focus-visible,.product-card .button-outline:hover,.product-card .button-outline:focus-visible,.solar-theme .button-outline:hover,.solar-theme .button-outline:focus-visible{background:#dce9ee;color:#102637;border-color:#dce9ee}
/* Home and service photography stays still; slideshow crossfades remain. */
body.motion-explicit .hero-slide.active img{animation:none!important;transform:none!important}
.service-detail img,.service-detail:hover img,.service-card img,.service-card:hover img{transform:none!important;transition:none}
.service-card:hover{transform:none}
.home-hero img,.lighting-feature img,.solar-feature img{animation:none!important;transform:none!important}
.projects-preview .project-open:hover img{transform:none}

/* Motion-only refinement: existing surface, type and layout rules stay intact. */
.hero-motion-line{display:inline-block}.motion-enabled .hero-copy{animation:none}.motion-enabled .site-header{animation:nav-arrive .65s cubic-bezier(.22,1,.36,1) both}.motion-enabled .site-header nav.open{animation:menu-arrive .25s cubic-bezier(.22,1,.36,1) both}.button:active{transform:translateY(0) scale(.98);transition-duration:.12s}.site-header nav a{position:relative}.site-header nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1)}
@keyframes nav-arrive{from{opacity:.5;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes menu-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.floating-equipment,.equipment-hover.pointer-active .floating-equipment,.equipment-hover:focus-within .floating-equipment{transform:none!important}.motion-surface:after,.glow-card:before{display:none}.button:hover,.service-card:hover,.product-card:hover,.care-grid article:hover{transform:none}}

.calculator input[type=range],#demo-hour,.battery-stepper input[type=range]{background:linear-gradient(to right,var(--gold,#e8b66d) 0 var(--range-progress,0%),#536065 var(--range-progress,0%) 100%)}
#result-saving,#result-size,#result-battery,#runtime-hours{font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:route-out .12s ease-out both}::view-transition-new(root){animation:route-in .22s ease-out both}.gallery-section .project-open:hover img{transform:scale(1.025)}}
@keyframes route-out{to{opacity:0}}@keyframes route-in{from{opacity:0}to{opacity:1}}

/* Direct mouse feedback remains available on product cards, without autoplay. */
.product-grid .product-card.pointer-active .floating-equipment{transform:perspective(1800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.08)!important}
.product-card.pointer-active{border-color:#80abc4}
/* Product tilt is an explicitly requested, direct mouse interaction. */
/* Keep mobile product copy on its own solid surface, clear of equipment photos. */
@media(max-width:650px){.bento-wide,.bento-battery{display:flex;flex-direction:column;min-height:0;padding:28px 24px 18px}.bento-wide>div{width:100%}.bento-wide img,.bento-battery img{position:relative;inset:auto;width:100%;height:235px;object-fit:cover;margin-top:20px;border-radius:12px;mask-image:none;z-index:0}.bento-wide>small,.bento-battery>small{position:static;margin-top:12px;color:#bdcbd5;font-size:10px}.solar-theme .bento-wide p{color:#c4d3de}.bento-battery .bento-link{align-self:flex-start}.bento-wide h3,.bento-battery h3{position:relative;z-index:1}}

/* Product media remains a visible, independent layer during pointer transforms. */
.product-card .product-media>img{position:relative;z-index:1;display:block;opacity:1;visibility:visible;backface-visibility:visible;will-change:auto}
.product-grid .product-card .product-media>img{object-fit:contain;object-position:center;width:100%;height:auto;aspect-ratio:1400/933;box-sizing:border-box;padding:0;background:#0b1722}
.product-card>div{z-index:2}.product-card.pointer-active:after{display:block;opacity:1}
.product-grid .product-card>.product-media{padding:0;position:relative;overflow:hidden;isolation:isolate;z-index:1;background:#0b1722;aspect-ratio:1400/933;border-radius:0}
.product-grid .product-card>.product-media+div{background:#111f2b;z-index:2}
.product-grid .product-card .product-media>img{transform-origin:center;transition:transform .25s ease-out!important}
.product-grid .product-card:hover .product-media>img,.product-grid .product-card.pointer-active .product-media>img{transform:perspective(1800px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.08)!important;transition:transform .25s ease-out!important}
.product-grid .product-card:focus-within:not(:hover):not(.pointer-active) .product-media>img{transform:scale(1.015)!important}
.product-card:hover{border-color:#8bc5e5;box-shadow:0 18px 48px #0a253535}

/* SolarRise pointer lighting shares the product interaction controller. */
.solar-theme .glow-card{--glow-x:var(--pointer-x,50%);--glow-y:var(--pointer-y,50%)}
.solar-theme .glow-card:before{display:block;background:radial-gradient(480px circle at var(--pointer-x,50%) var(--pointer-y,50%),#cfa16d35,transparent 72%);opacity:.18;transition:opacity .3s}
.solar-theme .glow-card.pointer-active:before,.solar-theme .glow-card:hover:before{opacity:1}
.solar-theme .glow-card.pointer-active{border-color:#9e8461}
.solar-theme .glow-card.pointer-active .floating-equipment,.solar-theme .glow-card:hover .floating-equipment{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-5px) scale(1.025)!important;transition:transform .25s ease-out!important;backface-visibility:visible}
.solar-theme .glow-card:after{display:none}
@media(hover:none){.solar-theme .glow-card:before{opacity:.18}.solar-theme .glow-card:hover .floating-equipment{transform:none!important}}

/* Form grouping preserves the existing layout and fails closed without scripts. */
.enquiry-fields{border:0;padding:0;margin:0;min-width:0;display:contents}
.credibility-strip{padding:36px 0;background:#dceefa;border-block:1px solid #aacfe7}
.credibility-group{gap:56px;padding-inline:44px}
.credibility-group>span{display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:500;color:#102f43}
.credibility-group strong{font-size:clamp(2rem,3vw,2.8rem);line-height:1.1;font-weight:700;color:#006bb5;letter-spacing:-.04em}
.credibility-group i{font-size:1.3rem;color:#006bb5}
.strip-pause{width:32px;height:32px;opacity:1;background:#dceefa;color:#143d59}
@media(max-width:650px){.credibility-strip{padding:30px 0}.credibility-group{gap:32px;padding-inline:24px}.credibility-group>span{flex-direction:column;align-items:flex-start;gap:5px;font-size:1rem}.credibility-group strong{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){.credibility-group{justify-content:space-evenly;gap:26px;padding-inline:24px}.credibility-group>span{flex-direction:column;gap:8px;text-align:center;align-items:center}}
:focus-visible{outline:3px solid #007bc4;outline-offset:4px}
.solar-theme :focus-visible,.product-card :focus-visible{outline-color:#f6b75d}
.footer-bottom{flex-wrap:wrap;gap:18px}
.prose p,.prose li{max-width:75ch}
.quote-panel .enquiry-privacy{color:#385465}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.product-card img,.glow-card .floating-equipment{transform:none!important;transition:none!important}.motion-surface{transform:none!important}}
