/* Section edges dissolve through the colours of the neighbouring surfaces. */
.hero{mask-image:none;border-radius:0}
.diffusion-flow{position:absolute;inset:auto 0;top:-110px;height:240px;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(var(--diff-from),var(--diff-to));mask-image:linear-gradient(transparent,#000 30%,#000 85%,transparent)}
.diffusion-flow canvas{display:block;width:100%;height:100%;pointer-events:none}
#approach>.diffusion-flow{height:330px;top:-240px;mask-image:linear-gradient(transparent,#000 49%,#000)}
#services>.diffusion-flow{height:250px;top:-140px}
.services{background:#f3f6fc}
.products{background:#fff;position:relative;isolation:isolate}.products>.wrap{position:relative;z-index:1}
.products>.diffusion-flow{height:180px;top:-72px}
.contact{background:linear-gradient(#c4e5fc,#a4b8f7);padding-bottom:180px;overflow:visible}
#contact>.diffusion-flow{height:240px;top:-100px;mask-image:linear-gradient(transparent,#000 32%,#000 60%,transparent)}
.contact-layout{z-index:1}
footer{overflow:visible;isolation:isolate}footer>.wrap{position:relative;z-index:1}
footer>.diffusion-flow{height:230px;top:-175px;mask-image:linear-gradient(transparent,#000 38%,#000)}
.motion-enabled footer:before{display:none}
/* Keep the denser map behind a quiet strip for reading the changing sentence. */
.journey-panel h2,.journey-outcome{text-shadow:0 2px 20px #fff,0 0 8px #ffffffcc}
.journey-panel p{position:relative;isolation:isolate;text-shadow:0 1px 5px #fff}
.journey-panel p:before{content:'';position:absolute;inset:-10px -22px;z-index:-1;background:radial-gradient(ellipse,#fffffff5 30%,#ffffffad 62%,transparent 76%);pointer-events:none}
.portal-model{height:450px}.spot-demo{overflow:visible}
@media(min-width:1900px){.portal-model{height:500px}}
@media(max-width:1250px){.portal-model{height:370px}}
@media(max-width:950px){.portal-model{height:405px}}
@media(max-width:650px){.diffusion-flow{height:180px;top:-90px}#approach>.diffusion-flow{height:265px;top:-200px}#services>.diffusion-flow{height:180px;top:-105px}.products>.diffusion-flow{height:150px;top:-55px}#contact>.diffusion-flow{height:180px;top:-60px}.contact{padding-bottom:145px}footer>.diffusion-flow{height:180px;top:-135px}.portal-model{height:285px}.journey-panel p:before{inset:-9px -10px}}
