.motion-ribbon{position:relative;isolation:isolate;margin:22px 0 32px;min-width:0;contain:layout paint}
.motion-ribbon canvas{display:block;width:100%;height:250px;pointer-events:none}
.motion-ribbon:before{content:'';position:absolute;z-index:-1;inset:10% 5%;background:radial-gradient(ellipse at 52% 53%,#bc3b8420,transparent 65%);pointer-events:none}
.motion-ribbon button{position:absolute;bottom:0;right:0;border:1px solid #ffffff40;background:#17263b80;color:#d4ddeb;border-radius:20px;padding:7px 12px;font:400 11px var(--body);cursor:pointer}
.motion-ribbon button:hover{background:#ffffff14;color:white;border-color:#ffffff80}
.motion-ribbon button:focus-visible{outline:2px solid #edb5d4;outline-offset:4px}
.guarantee-heading .motion-ribbon{width:calc(100% + 45px);margin-top:20px;margin-left:-18px}
.guarantee-heading .motion-ribbon canvas{height:270px}
.workflow-page .delivery .motion-ribbon{margin:0 0 32px;border-bottom:1px solid #ffffff16;padding-bottom:20px}
.workflow-page .delivery .motion-ribbon canvas{height:225px}
.workflow-page .delivery .motion-ribbon button{bottom:14px}
[data-motion-ribbon=capacity]:before{background:radial-gradient(ellipse at 45% 53%,#b87c2920,transparent 65%)}
[data-motion-ribbon=observatory]:before{background:radial-gradient(ellipse at 55% 50%,#8265c522,transparent 65%)}
@media(max-width:740px){.guarantee-heading .motion-ribbon{width:100%;margin:15px 0 0}.guarantee-heading .motion-ribbon canvas{height:205px}.workflow-page .delivery .motion-ribbon canvas{height:170px}.motion-ribbon button{font-size:10px;padding:7px 10px}.workflow-page .delivery .motion-ribbon{margin-bottom:25px}}
@media(prefers-reduced-motion:reduce){.motion-ribbon button{display:none}}
.motion-ribbon canvas{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
/* More breathing room preserves the reference's broad, luminous trailing edge. */
.motion-ribbon:before{display:none}
.motion-ribbon canvas{mask-image:none}
.workflow-page .delivery .motion-ribbon canvas{height:clamp(235px,25vw,340px)}
.guarantee-heading .motion-ribbon canvas{height:260px}
.ribbon-fallback canvas{opacity:.7;background:linear-gradient(158deg,transparent 43%,#ac43e055 49%,#f6b99b99 50%,#7131b955 52%,transparent 63%);mask-image:linear-gradient(90deg,transparent,#000 25%,#000 70%,transparent)}
@media(max-width:740px){.workflow-page .delivery .motion-ribbon canvas,.guarantee-heading .motion-ribbon canvas{height:205px}}
.workflow-page .delivery:has(.motion-ribbon){background:#111b35}
.workflow-page .delivery:has(.motion-ribbon):after{opacity:.24}
/* The homepage guarantee carries one wave behind both columns. */
.guarantee-stage{overflow:clip}
.guarantee-stage>.motion-ribbon{position:absolute;inset:0;width:100%;margin:0;contain:none;isolation:auto;pointer-events:none}
.guarantee-stage>.motion-ribbon canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.52}
.guarantee-stage>.motion-ribbon button{z-index:3;right:max(28px,calc((100% - 1180px)/2));bottom:75px;pointer-events:auto;background:#132137e8}
.guarantee-stage .guarantee-section{position:relative;z-index:1}
.guarantee-stage .guarantee-row p{color:#d2dae6}
.guarantee-stage .guarantee-terms{text-shadow:0 1px 8px #142138a6}
@media(max-width:740px){.guarantee-stage>.motion-ribbon canvas{opacity:.38}.guarantee-stage>.motion-ribbon button{bottom:36px;right:20px}.guarantee-stage .guarantee-section{padding-bottom:95px}.guarantee-stage .guarantee-terms{background:none}}

/* A landscape wave retains its shape behind a tall, stacked mobile section. */
.guarantee-stage>.motion-ribbon canvas{inset:auto 0 auto;top:50%;height:clamp(300px,46vw,660px);transform:translateY(-50%);opacity:.72}
.guarantee-stage::after{display:none}
@media(max-width:740px){.guarantee-stage>.motion-ribbon canvas{top:48%;height:340px;opacity:.85}}
