/* Isometric operating architecture. One measured cycle: assess, align, stabilise. */
.restructure-v2 { isolation:isolate; }
.rt-block { animation: rt-assemble 15s cubic-bezier(.45,0,.2,1) infinite; }
.rt-block-1 { animation-delay: .12s; }.rt-block-2 { animation-delay: .24s; }
.rt-block-3 { animation-delay: .08s; }.rt-block-4 { animation-delay: .20s; }.rt-block-5 { animation-delay: .32s; }
.rt-seam { opacity: .7; animation: rt-edge 15s ease-in-out infinite; }
.rt-foundation { animation: rt-base 15s ease-in-out infinite; }
.rt-system { opacity: .9; animation: rt-system 15s ease-in-out infinite; }
.rt-route { stroke-dasharray: 310; stroke-dashoffset: 0; animation: rt-route 15s ease-in-out infinite; }
.rt-caption { opacity:0; }
.rt-caption-1 { animation: rt-label-one 15s ease infinite; }
.rt-caption-2 { animation: rt-label-two 15s ease infinite; }
.rt-caption-3 { opacity:1; animation: rt-label-three 15s ease infinite; }
@keyframes rt-assemble {
  0%,12%,100% { transform:translate(var(--scatter-x),var(--scatter-y)); }
  37%,95% { transform:translate(0,0); }
}
@keyframes rt-edge { 0%,20%,100% { opacity:.15; } 45%,86% { opacity:.85; } }
@keyframes rt-base { 0%,15%,100% { opacity:.25; } 40%,88% { opacity:1; } }
@keyframes rt-system { 0%,42%,98%,100% { opacity:0; } 53%,87% { opacity:.9; } }
@keyframes rt-route { 0%,43%,100% { stroke-dashoffset:310; } 65%,90% { stroke-dashoffset:0; } }
@keyframes rt-label-one { 0%,17%,100% { opacity:1; } 21%,96% { opacity:0; } }
@keyframes rt-label-two { 0%,19%,52%,100% { opacity:0; } 24%,47% { opacity:1; } }
@keyframes rt-label-three { 0%,50%,96%,100% { opacity:0; } 56%,91% { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
 .restructure-v2 * { animation:none!important; transform:none!important; }
 .restructure-v2 .rt-caption-1,.restructure-v2 .rt-caption-2 { opacity:0; }
 .restructure-v2 .rt-caption-3 { opacity:1; }
}
.no-js .restructure-v2 * { animation:none!important; }
.no-js .rt-caption-1,.no-js .rt-caption-2 { opacity:0; }
.no-js .rt-caption-3 { opacity:1; }

/* Conceal the reset so the final arrangement never visibly falls apart. */
.rt-assembly { animation: rt-cycle 15s ease-in-out infinite; }
@keyframes rt-cycle { 0%,96%,100% { opacity:0; } 6%,89% { opacity:1; } }
