/* Motion is added progressively by site-motion.js. */
.scroll-progress{position:fixed;z-index:180;left:0;top:0;width:100%;height:3px;pointer-events:none;background:transparent}
.scroll-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--sky),var(--blue));box-shadow:0 0 12px rgba(41,168,223,.45);will-change:transform}
.motion-image{opacity:0;transform:translateY(30px) scale(.965);filter:saturate(.82);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1),filter 1s ease;will-change:transform,opacity}
.motion-image.motion-visible{opacity:1;transform:translateY(0) scale(1);filter:saturate(1)}
.hero-media.motion-image{transform:scale(1.055);filter:saturate(.82)}
.hero-media.motion-image.motion-visible{transform:scale(1);filter:saturate(1)}
.motion-block{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
.motion-block.motion-visible{opacity:1;transform:none}
.motion-block:nth-child(2n){transition-delay:.08s}
.motion-block:nth-child(3n){transition-delay:.15s}
.charging-figure,.audience-photo,.business-photo,.image-frame,.service-hero-grid{overflow:hidden;border-radius:20px}
.charging-figure:hover .motion-image.motion-visible,.audience-photo:hover .motion-image.motion-visible,.business-photo:hover .motion-image.motion-visible,.image-frame:hover .motion-image.motion-visible,.service-hero-grid>img.motion-visible:hover{transform:scale(1.018)}
.nav-dimensioner{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 19px!important;border-radius:999px;background:linear-gradient(135deg,var(--blue),#2456bd);color:#fff!important;box-shadow:0 12px 26px rgba(56,107,209,.28);font-size:.88rem!important;font-weight:850!important;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.nav-dimensioner:after{display:none}
.nav-dimensioner:hover{transform:translateY(-2px);background:linear-gradient(135deg,var(--blue),#2456bd);color:#fff!important;box-shadow:0 16px 30px rgba(56,107,209,.34)}
.button,.article-body a.button,.service-aside a.button,.service-page a.button{color:#fff!important}
.button.button-light,.article-body a.button.button-light,.service-page a.button.button-light{color:var(--navy)!important}
.button:disabled{color:#fff!important}
.sizer-promo{position:relative;overflow:hidden;padding:30px!important;border:1px solid #cfe0f4;border-radius:20px;background:linear-gradient(135deg,#eef6ff,#fff);box-shadow:0 18px 45px rgba(16,37,106,.08)}
.sizer-promo:after{content:"";position:absolute;width:180px;height:180px;right:-70px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(41,168,223,.24),transparent 68%)}
.sizer-promo .kicker{margin-bottom:10px}
.article-body .sizer-promo h2{margin-bottom:14px;font-size:clamp(1.55rem,2.4vw,2.05rem)}
.sizer-promo p{max-width:670px;margin-bottom:22px!important}
.sizer-promo .button{position:relative;z-index:1;color:#fff;text-decoration:none}
@media(max-width:1080px){.mobile-menu .nav-dimensioner{margin-top:8px;padding:16px!important;border-bottom:0;text-align:center}}
@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.motion-image,.motion-image.motion-visible,.hero-media.motion-image,.hero-media.motion-image.motion-visible,.motion-block,.motion-block.motion-visible{opacity:1;transform:none;filter:none;transition:none}.charging-figure:hover .motion-image.motion-visible,.audience-photo:hover .motion-image.motion-visible,.business-photo:hover .motion-image.motion-visible,.image-frame:hover .motion-image.motion-visible,.service-hero-grid>img.motion-visible:hover{transform:none}}
