/* Shared motion layer for all three design directions. */
html{--motion-ease:cubic-bezier(.22,.75,.18,1)}
.motion-copy{opacity:0;translate:0 22px;transition:opacity .85s var(--motion-ease),translate .85s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}.motion-copy.motion-visible{opacity:1;translate:0 0}
.motion-frame{clip-path:inset(0 0 12% 0);transition:clip-path 1.2s var(--motion-ease)}.motion-frame.motion-visible{clip-path:inset(0 0 0 0)}
.motion-parallax{translate:0 var(--motion-y,0px);will-change:translate}
.motion-tilt{rotate:var(--motion-rotate,0deg);transition:rotate .5s var(--motion-ease),box-shadow .4s}
.motion-tilt:hover{box-shadow:0 18px 45px #07191218}
.motion-button{position:relative;overflow:hidden;isolation:isolate}.motion-button:before{content:'';position:absolute;inset:-100% -40%;background:linear-gradient(110deg,transparent 42%,#ffffff24 50%,transparent 58%);translate:-65% 0;rotate:-8deg;pointer-events:none;transition:translate .7s var(--motion-ease);z-index:0}.motion-button:hover:before,.motion-button:focus-visible:before{translate:65% 0}.motion-button>span{position:relative}
nav a:not(.nav-button):not(.nav-cta){position:relative}nav a:not(.nav-button):not(.nav-cta):after{content:'';position:absolute;left:0;bottom:-6px;height:1px;width:100%;background:currentColor;scale:0 1;transform-origin:left;transition:scale .35s var(--motion-ease)}nav a:hover:after,nav a:focus-visible:after{scale:1 1}
.capability-rail .icon,.service-grid .icon,.capability-grid .icon,.camp-values .icon,.principles .icon{transition:rotate .4s,scale .4s}.capability:hover .icon,.service-grid article:hover .icon,.capability-grid article:hover .icon,.camp-values article:hover .icon,.principles article:hover .icon{rotate:-8deg;scale:1.12}
.scroll-cue>span,.scroll-link>span,.hero-bottom a>span{display:inline-block;animation:motionScroll 2.2s ease-in-out infinite}
.orbit{animation:motionOrbit 12s ease-in-out infinite alternate;transform-origin:center}.orbit-two{animation-delay:-6s}
.section-label i{transform-origin:left;scale:.15 1;transition:scale 1.2s var(--motion-ease)}.section-label.is-visible i{scale:1 1}
.motion-line{background-size:0 1px;background-repeat:no-repeat;background-position:left bottom;background-image:linear-gradient(currentColor,currentColor);transition:background-size .6s var(--motion-ease)}.motion-line:hover{background-size:100% 1px}
.motion-step>span{transition:background .4s,color .4s,scale .4s}.motion-step:hover>span{scale:1.12}
.enquiry-form:focus-within{box-shadow:0 0 0 1px #b59b6555,0 15px 50px #00000012;transition:box-shadow .4s}
@keyframes motionScroll{0%,100%{translate:0 0}50%{translate:0 6px}}@keyframes motionOrbit{from{scale:.94;opacity:.5}to{scale:1.07;opacity:1}}
.paused .motion-copy,.motion-paused .motion-copy{opacity:1;translate:0 0;transition:none}.paused .motion-frame,.motion-paused .motion-frame{clip-path:none}.paused .motion-parallax,.motion-paused .motion-parallax{translate:0 0;will-change:auto}.paused .motion-tilt,.motion-paused .motion-tilt{rotate:0deg}.paused .section-label i,.motion-paused .section-label i{scale:1 1}.paused .motion-button:before,.motion-paused .motion-button:before{display:none}
@media(hover:none){.motion-tilt{rotate:0deg!important}.motion-parallax{will-change:auto}}
@media(prefers-reduced-motion:reduce){.motion-copy{opacity:1;translate:none;transition:none}.motion-frame{clip-path:none}.motion-parallax{translate:none!important;will-change:auto}.motion-tilt{rotate:none!important}.section-label i{scale:1 1}.motion-button:before{display:none}.orbit,.scroll-cue>span,.scroll-link>span,.hero-bottom a>span{animation:none!important}}
.image-wrap>img.motion-parallax{scale:1.07}
