/* NORU STAGE: waves, photographs and headings follow the page scroll. */
.motion-ready{--motion-ease:cubic-bezier(.16,1,.3,1)}
.motion-ready #about,.motion-ready #company,.motion-ready #blog{position:relative;isolation:isolate;overflow:clip}
.motion-ready .motion-title-row{display:block;overflow:clip;padding-bottom:.09em;margin-bottom:-.09em}
.motion-ready #blog .motion-title-row{display:inline-block;vertical-align:top}
.motion-ready .motion-phrase{display:inline-block;opacity:0;transform:translate3d(0,104%,0);transition:transform 1.4s var(--motion-ease),opacity 1.05s ease;transition-delay:calc(var(--line-order,0)*110ms)}
.motion-ready .motion-title.is-seen .motion-phrase{opacity:1;transform:translate3d(0,0,0)}
.motion-ready .motion-item{opacity:0;translate:0 18px;transition:opacity 1.05s ease,translate 1.25s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.motion-ready .motion-item.is-seen{opacity:1;translate:0 0}
.motion-ready .motion-item:focus-within{opacity:1;translate:0 0;transition-delay:0ms}
.motion-ready .motion-row{translate:none}
.motion-ready .motion-media img{opacity:0;clip-path:polygon(0 100%,12% 110%,24% 108%,36% 98%,48% 92%,60% 100%,72% 110%,84% 105%,100% 94%,100% 100%,0 100%);transition:clip-path 1.6s cubic-bezier(.22,.7,.18,1),opacity 1s ease}
.motion-ready .motion-media.is-seen img{opacity:1;clip-path:polygon(0 0,12% 0,24% 0,36% 0,48% 0,60% 0,72% 0,84% 0,100% 0,100% 100%,0 100%)}
.motion-ready .motion-photo-clip{position:absolute;inset:0;overflow:hidden;border-radius:3px;background:#e9f1f7}
.motion-ready .motion-approach-media,.motion-ready .motion-contact-media{position:relative;overflow:hidden;border-radius:3px}
.motion-ready .motion-approach-media{aspect-ratio:2.25}
.motion-ready .motion-contact-media{aspect-ratio:1.6;margin-top:30px}
.motion-ready .motion-photo-clip img,.motion-ready .motion-approach-media img,.motion-ready .motion-contact-media img{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;aspect-ratio:auto;object-fit:cover;transform:translate3d(0,var(--photo-y,0px),0) scale(1.12)}
.motion-ready .motion-waterline{position:absolute;z-index:-1;pointer-events:none;width:110%;height:300px;left:-5%;bottom:0;opacity:.35;transform:translate3d(var(--wave-x,0px),var(--wave-y,0px),0);overflow:visible}
.motion-ready .motion-waterline path{stroke-width:1;vector-effect:non-scaling-stroke;stroke:#70b9e7;fill:none;stroke-dasharray:1900;stroke-dashoffset:1900;transition:stroke-dashoffset 2.4s var(--motion-ease)}
.motion-ready .motion-waterline.is-seen path{stroke-dashoffset:0}
.motion-ready .motion-waterline path:nth-child(2){opacity:.55;transition-delay:.12s}
.motion-ready .motion-waterline path:nth-child(3){opacity:.3;transition-delay:.24s}
.motion-ready .about-visual:before{transform:translate3d(0,var(--wave-y,0px),0) scale(var(--ripple-scale,1))}
.motion-ready .approach:after,.motion-ready .contact:after{transform:translate3d(var(--wave-x,0px),0,0)}
.motion-ready .site-header{transition:box-shadow .35s ease,background-color .35s ease}
.motion-ready[data-page-scrolled="true"] .site-header{box-shadow:0 6px 28px #092d5a0c;background-color:#fff}
.motion-reading-progress{position:fixed;left:0;right:0;top:0;height:2px;background:#0877dd;z-index:200;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
/* The wave continues through each chapter, with layered scroll depth. */
.motion-ready .flow-section{position:relative;isolation:isolate;overflow:clip}
.motion-ready .flow-seam{position:absolute;left:0;top:-1px;width:100%;height:106px;z-index:-1;pointer-events:none;overflow:hidden}
.motion-ready .flow-seam path{transition:none;will-change:transform}
.motion-ready .seam-far{fill:#b9e4f7;transform:translate3d(var(--flow-back-x,0px),var(--flow-y,0px),0)}
.motion-ready .seam-mid{fill:#35afe7;transform:translate3d(var(--flow-x,0px),0,0)}
.motion-ready .seam-near{fill:#0877dd;transform:translate3d(var(--flow-back-x,0px),0,0)}
.motion-ready .seam-source{fill:var(--flow-from,#fff);transform:translate3d(var(--flow-x,0px),0,0)}
.motion-ready #services:before{display:none}
.motion-ready #services{padding-top:138px}
.motion-ready #approach,.motion-ready #company{padding-top:138px}
.motion-ready #contact{padding-top:138px}
.motion-ready footer.flow-section{padding-top:120px;border-top:0}
.motion-ready .motion-waterline{height:360px;opacity:.56}
.motion-ready .motion-waterline .flow-wash{fill:#0877dd;stroke:none;opacity:.065;stroke-dasharray:none;stroke-dashoffset:0}
.motion-ready .motion-card-media{position:relative;overflow:hidden}
.motion-ready .motion-card-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--photo-y,0px),0) scale(1.11)}
.motion-ready .flow-steps{position:relative;padding-left:32px}
.motion-ready .flow-journey{position:absolute;left:0;top:12px;bottom:12px;width:24px;height:calc(100% - 24px);overflow:visible;pointer-events:none}
.motion-ready .flow-journey path{fill:none;stroke-width:1.4;vector-effect:non-scaling-stroke}
.motion-ready .journey-base{stroke:#80d4f42e}
.motion-ready .journey-progress{stroke:#80d4f4;stroke-dasharray:1;stroke-dashoffset:var(--journey-offset,1)}
.motion-ready .flow-journey circle{fill:#b4efff}
.motion-ready .flow-steps .step:nth-child(n){position:relative;margin-left:0}
.motion-ready .flow-steps .step:before{content:"";position:absolute;left:-24px;top:34px;width:5px;height:5px;border:1px solid #80d4f4;border-radius:50%;background:#092d5a;transition:background .6s ease,box-shadow .6s ease}
.motion-ready .flow-steps .step[data-flow-reached=true]:before{background:#80d4f4;box-shadow:0 0 0 4px #80d4f412}
.motion-ready #contact:after{width:32%;opacity:.3}
@media(max-width:650px){
 .motion-ready .flow-seam{height:68px}
 .motion-ready #services,.motion-ready #approach,.motion-ready #company,.motion-ready #contact{padding-top:94px}
 .motion-ready footer.flow-section{padding-top:82px}
 .motion-ready .flow-steps{padding-left:26px}
 .motion-ready .flow-steps .step:before{left:-21px}
 .motion-ready .flow-journey{width:18px}
 .motion-ready .motion-phrase{transition-duration:1.2s,.9s}
 .motion-ready #blog .motion-title-row{display:block}
 .motion-ready .motion-item{translate:0 12px;transition-duration:.9s,1.1s;transition-delay:0ms}
 .motion-ready .motion-item.is-seen,.motion-ready .motion-item:focus-within{translate:0 0}
 .motion-ready .motion-row{translate:none}
 .motion-ready .motion-approach-media,.motion-ready .motion-contact-media{aspect-ratio:1.85}
 .motion-ready .motion-contact-media{margin-top:25px}
 .motion-ready .motion-photo-clip img,.motion-ready .motion-approach-media img,.motion-ready .motion-contact-media img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.1)}
 .motion-ready .motion-waterline{height:180px;opacity:.25}
 /* Swipe gestures keep their direct, native response. */
 .motion-ready #home-blog-track .motion-item{translate:none}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready .motion-phrase,.motion-ready .motion-item{opacity:1!important;transform:none!important;translate:none!important;transition:none!important}
 .motion-ready .motion-media img{opacity:1!important;clip-path:none!important;transition:none!important}
 .motion-ready .motion-waterline,.motion-ready .about-visual:before,.motion-ready .approach:after,.motion-ready .contact:after,.motion-ready .motion-photo-clip img,.motion-ready .motion-approach-media img,.motion-ready .motion-contact-media img{transform:none!important}
 .motion-ready .motion-waterline path{stroke-dashoffset:0;transition:none}
 .motion-ready .flow-seam path,.motion-ready .motion-card-media img{transform:none!important;will-change:auto}
 .motion-ready .journey-progress{stroke-dashoffset:0}
 .motion-ready .flow-journey circle{display:none}
 .motion-reading-progress{display:none}
}
