/* Solar motion system: progressive cross-document transitions, no scroll hijacking. */
@view-transition{navigation:auto}
::view-transition-group(root){animation-duration:.85s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(root){animation:solar-page-out .55s cubic-bezier(.4,0,.2,1) both;mix-blend-mode:normal}
::view-transition-new(root){animation:solar-aperture .85s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}
@keyframes solar-page-out{to{opacity:.2;transform:scale(.985);filter:brightness(.8)}}
@keyframes solar-aperture{from{clip-path:circle(0% at 84% 14%);filter:brightness(1.3)}to{clip-path:circle(150% at 84% 14%);filter:brightness(1)}}
@media(prefers-reduced-motion:no-preference){
 .modern .header{view-transition-name:sunwatt-navigation}
 ::view-transition-group(sunwatt-navigation){animation-duration:.55s}
 ::view-transition-old(sunwatt-navigation),::view-transition-new(sunwatt-navigation){height:100%;object-fit:none;object-position:top;mix-blend-mode:normal}
 .motion-arrive{animation:solar-reveal .85s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--reveal-delay,0ms)}
 @keyframes solar-reveal{from{opacity:.15;transform:translateY(36px);filter:blur(6px);clip-path:inset(0 0 9% 0 round 8px)}to{opacity:1;transform:none;filter:blur(0);clip-path:inset(0 0 0 0 round 0)}}
 .modern .solar-hero h1>span{animation:solar-title-in .95s cubic-bezier(.16,1,.3,1) both}
 .modern .solar-hero h1>span:nth-child(2){animation-delay:110ms}
 @keyframes solar-title-in{from{opacity:.25;transform:translateY(32px) rotateX(12deg);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
 .solar-hero-visual{transform:perspective(1100px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .65s cubic-bezier(.16,1,.3,1);will-change:auto}
 .solar-hero-visual>img{transform:scale(1.055) translate(var(--image-x,0px),var(--image-y,0px));transition:transform .8s cubic-bezier(.16,1,.3,1)}
 .solar-hero-visual:hover>img{transform:scale(1.055) translate(var(--image-x,0px),var(--image-y,0px))}
 .visual-cross{transform:translate(var(--cross-x,0px),var(--cross-y,0px));transition:transform .8s cubic-bezier(.16,1,.3,1)}
 .modern .button{position:relative;isolation:isolate;overflow:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s,background .25s}
 .modern .button:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 15%,#ffffff65 47%,transparent 75%);transform:translateX(-130%);transition:transform .65s cubic-bezier(.16,1,.3,1);pointer-events:none}
 .modern .button:hover:before{transform:translateX(130%)}
 .modern .button svg{transition:transform .35s cubic-bezier(.16,1,.3,1)}
 .modern .button:hover svg{transform:translateX(4px) rotate(-30deg)}
 .modern .solution-card,.related-card{--light-x:50%;--light-y:50%;isolation:isolate}
 .modern .solution-card:after,.related-card:after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:4;pointer-events:none;background:radial-gradient(260px circle at var(--light-x) var(--light-y),#ffb13b20,transparent 75%);opacity:0;transition:opacity .4s}
 .modern .solution-card:hover:after,.related-card:hover:after{opacity:1}
 .related-card{position:relative;overflow:hidden}
 .modern .card-link svg,.related-card>span svg{transition:transform .4s cubic-bezier(.16,1,.3,1)}
 .modern .solution-card:hover .card-link svg,.related-card:hover>span svg{transform:rotate(-35deg)}
 .faq-list details[open]>p{animation:answer-in .4s ease-out both}
 @keyframes answer-in{from{opacity:.3;transform:translateY(-7px)}to{opacity:1;transform:none}}
}
.scroll-energy{position:fixed;top:0;left:0;height:3px;width:100%;z-index:100;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:linear-gradient(90deg,var(--sw-orange),#ffc107);pointer-events:none}
@media(hover:none),(pointer:coarse){.solar-hero-visual{transform:none!important}.solar-hero-visual>img{transform:none!important}.visual-cross{transform:none!important}.modern .solution-card:after,.related-card:after{display:none}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
 .motion-arrive,.modern .solar-hero h1>span{animation:none!important;opacity:1;transform:none;filter:none;clip-path:none}
 .solar-hero-visual,.solar-hero-visual>img,.visual-cross{transform:none!important;transition:none!important}
 .scroll-energy{display:none}.modern .button:before,.modern .solution-card:after,.related-card:after{display:none}
}
