/* A shared, restrained motion language for both pages. */
header{transition:box-shadow .35s,background .35s}header.is-scrolled{box-shadow:0 6px 28px #15304412;background:#fffffffa}
html.motion-on:before{content:'';position:fixed;left:0;top:0;width:100%;height:3px;z-index:60;pointer-events:none;background:linear-gradient(90deg,#146cc4,#24b6df);transform:scaleX(var(--page-progress,0));transform-origin:left}
header nav a:not(.button){position:relative;transition:color .25s}header nav a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-7px;height:2px;background:#24b6df;transform:scaleX(0);transform-origin:left;transition:transform .3s}header nav a:hover:after,header nav a:focus-visible:after{transform:scaleX(1)}
.button{position:relative;overflow:hidden;isolation:isolate}.button:before{content:'';position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 42%,#ffffff35 50%,transparent 58%);transform:translateX(-70%);transition:transform .65s;pointer-events:none}.button:hover:before,.button:focus-visible:before{transform:translateX(70%)}
.project,.product-card,.locations article,.showroom figure{transition:transform .45s cubic-bezier(.2,.65,.3,1),box-shadow .45s}.project:hover,.product-card:hover,.showroom figure:hover{transform:translateY(-7px);box-shadow:0 22px 40px #15304412}.project>img,.showroom img,.voices img,.faq img{transition:transform .7s,filter .7s}.project:hover>img{transform:scale(1.035)}.project{overflow:hidden}.locations article:hover{transform:translateY(-6px);box-shadow:0 22px 42px #15304420}
.spotlight-image,.contact-photo{overflow:hidden}.contact-photo{border-radius:10px 10px 80px 10px}.reasons>div,.competency-list article{transition:transform .35s,border-color .35s}.reasons>div:hover,.competency-list article:hover{transform:translateX(5px);border-color:#24b6df}.filter-row button{transition:background .25s,color .25s,box-shadow .25s,transform .25s}.filter-row button:hover{transform:translateY(-3px);box-shadow:0 6px 16px #146cc414}.faq summary span{transition:transform .3s}.faq details[open] summary span{transform:rotate(45deg)}
.motion-on .eyebrow i,.motion-on .dot{animation:signal-glow 3.6s ease-in-out infinite}.motion-on .ribbon b{animation:star-turn 12s linear infinite}.motion-on .brand:hover .logo-crop img{filter:drop-shadow(0 0 5px #24b6df55)}.logo-crop img{transition:filter .35s}.motion-control{position:fixed;left:18px;bottom:18px;z-index:31;border:1px solid #c9dce9;border-radius:30px;background:#fffffff0;color:#365c73;padding:9px 13px;font-size:10px;box-shadow:0 3px 14px #1530440c;cursor:pointer}.motion-control[hidden]{display:none}.motion-control:focus-visible{outline:3px solid #24b6df;outline-offset:4px}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important;transition:none!important}.motion-paused{scroll-behavior:auto}.motion-paused .hero-image>img,.motion-paused .stage-desktop,.motion-paused .stage-mobile{animation:none!important}
@keyframes signal-glow{50%{box-shadow:0 0 0 5px #24b6df12}}@keyframes star-turn{to{rotate:360deg}}
.motion-on #story .timeline article.motion-seen:before{animation:timeline-draw 1s ease both}@keyframes timeline-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:760px){.motion-control{left:12px;bottom:calc(17px + env(safe-area-inset-bottom));font-size:9px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-control{display:none}.project:hover,.product-card:hover,.showroom figure:hover,.locations article:hover,.reasons>div:hover,.competency-list article:hover,.filter-row button:hover{transform:none}.project:hover>img{transform:none}}
