/* V106: creative photograph entrances, shared controls and native navigation. */
body.bl105-motion{--v105-ease:cubic-bezier(.16,1,.3,1);--v105-in-out:cubic-bezier(.76,0,.24,1)}
/* Enhancement-only states; without JavaScript every image and word is visible. */
.bl106-motion .v106-reveal-target.v106-pending{opacity:0}
.bl106-motion [data-v106-motion="slide"],.bl106-motion [data-v106-motion="center"],.bl106-motion [data-v106-motion="lift"]{position:relative;overflow:hidden;isolation:isolate}
.bl106-motion .v106-image-area{display:block;min-width:0;width:100%;line-height:0}
.bl106-motion .v106-image-area>img{display:block;width:100%;height:auto}
.bl106-motion [data-v106-owned]{opacity:1;translate:none;scale:none;clip-path:none;transform:none}
.bl106-motion .v106-depth{transform:translateY(var(--v106-depth-y,0px))}
.bl106-motion .bl100-process-steps>article{position:relative}
.bl106-motion .bl100-process-steps>article::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:#159fdc;transform:scaleX(0);transform-origin:left;transition:transform 1100ms cubic-bezier(.25,.1,.25,1)}
.bl106-motion .bl100-process-steps>article[data-v106-seen="true"]::after{transform:scaleX(1)}
.bl106-motion .bl100-process-steps .bl100-step-number{transition:color 650ms,background 650ms,box-shadow 650ms}
.bl106-motion .bl100-process-steps>article[data-v106-seen="true"] .bl100-step-number{color:#078dc5;box-shadow:0 8px 24px -14px #0a9cdd66}
.bl105-motion .v104-project-proof{isolation:isolate}
.bl105-motion .v104-project-proof picture{overflow:hidden}
.bl105-motion .v104-project-jumps a{position:relative;overflow:hidden}
.bl105-motion .v104-project-jumps a::after{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:2px;background:#37c2ff;transform:scaleX(0);transform-origin:left;transition:transform 480ms var(--v105-ease)}
.bl105-motion .v104-project-jumps a:is(:hover,:focus-visible)::after{transform:scaleX(1)}
/* The original drawer controller retains focus, inert state and scroll restoration. */
@media(prefers-reduced-motion:no-preference){
 body.bl105-motion .drawer{transition:transform 520ms var(--v105-ease),opacity 320ms ease,visibility 0s 520ms}
 body.bl105-motion .drawer.open{transition:transform 520ms var(--v105-ease),opacity 320ms ease,visibility 0s}
 body.bl105-motion .drawer-links>a{opacity:0;translate:28px 0;transition:color 160ms,opacity 150ms,translate 220ms var(--v105-ease);transition-delay:0s}
 body.bl105-motion .drawer.open .drawer-links>a{opacity:1;translate:0 0;transition:color 160ms,opacity 420ms,translate 560ms var(--v105-ease);transition-delay:0s,calc(70ms + var(--v105-order,0)*48ms),calc(70ms + var(--v105-order,0)*48ms)}
 body.bl105-motion .drawer-links>a:nth-child(1){--v105-order:0}
 body.bl105-motion .drawer-links>a:nth-child(2){--v105-order:1}
 body.bl105-motion .drawer-links>a:nth-child(3){--v105-order:2}
 body.bl105-motion .drawer-links>a:nth-child(4){--v105-order:3}
 body.bl105-motion .drawer-links>a:nth-child(5){--v105-order:4}
 body.bl105-motion .drawer-links>a:nth-child(6){--v105-order:5}
 body.bl105-motion .drawer-links>a:focus-visible{opacity:1;translate:0 0;transition-delay:0s}
 body.bl105-motion .drawer-links>a>span:last-child{transition:translate 320ms var(--v105-ease)}
 body.bl105-motion .drawer-links>a:is(:hover,:focus-visible)>span:last-child{translate:8px 0}
 .bl105-motion .v103-proof-dialog[open]{animation:v105-dialog-in 340ms var(--v105-ease)}
 .bl105-motion .v103-proof-dialog[open]::backdrop{animation:v105-backdrop-in 260ms ease}
 .bl105-motion .bl100-cta{position:relative;isolation:isolate;overflow:hidden}
 .bl105-motion .bl100-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#0874b9 0%,#0b8fcc 45%,#2cbeec 100%);opacity:1;transform:translateX(-101%);transition:transform 1s var(--v105-ease);pointer-events:none}
 .bl105-motion .bl100-cta.v105-cta-visible::before{transform:translateX(0)}
 .bl105-motion .bl100-button>span[aria-hidden],.bl105-motion .header-cta>span[aria-hidden]{transition:translate 300ms var(--v105-ease)}
 .bl105-motion :is(.bl100-button,.header-cta):is(:hover,:focus-visible)>span[aria-hidden]{translate:4px 0}
 .bl105-motion .bl100-button.bl102-direction-up:is(:hover,:focus-visible)>span[aria-hidden]{translate:3px -3px}
}
@keyframes v105-dialog-in{from{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes v105-backdrop-in{from{opacity:0}to{opacity:1}}
/* Native cross-document transitions leave links, history and scroll behavior intact. */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:no-preference){
 .bl105-motion .site-header{view-transition-name:blue-line-header}
 ::view-transition-old(root){animation:v105-page-out 260ms ease both}
 ::view-transition-new(root){animation:v105-page-in 480ms cubic-bezier(.16,1,.3,1) both}
 ::view-transition-group(blue-line-header){animation-duration:480ms}
 ::view-transition-old(blue-line-header),::view-transition-new(blue-line-header){animation:none;mix-blend-mode:normal}
}
@keyframes v105-page-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes v105-page-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 /* Keep native opt-in stable if the preference changes during navigation;
    the snapshots below have no animation for reduced motion. */
 .bl106-motion .v106-pending{opacity:1!important}
 .bl106-motion .v106-depth{transform:none}
 .bl106-motion .bl100-process-steps>article::after{transition:none;transform:scaleX(1)}
 .bl106-motion .bl100-process-steps .bl100-step-number{transition:none}
 .bl105-motion .drawer-links>a{opacity:1;translate:none}
 .bl105-motion .v104-project-jumps a::after{transition:none}
 .bl105-motion .v103-proof-dialog,.bl105-motion .v103-proof-dialog::backdrop{animation:none!important}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
