/* Shared Formas-to-Cartesian fold, also used on the preview waitlist. */
.fold-logo { overflow:visible; perspective:800px; }
    .fold-logo .paper { transform-style:preserve-3d; animation:cartesian-fold-centre 8s ease-in-out infinite; }
    .fold-logo polygon { stroke-width:1.3; stroke-linejoin:round; animation:cartesian-fold-colour 8s ease-in-out infinite; fill:#111111; stroke:#111111; }
    .fold-logo .fold-right { backface-visibility:hidden; transform-origin:200px 100px; animation:cartesian-fold-right 8s cubic-bezier(.45,0,.25,1) infinite, cartesian-fold-tuck-right 8s linear infinite; }
    .fold-logo .fold-bottom { backface-visibility:hidden; transform-origin:100px 200px; animation:cartesian-fold-bottom 8s cubic-bezier(.45,0,.25,1) infinite, cartesian-fold-tuck-bottom 8s linear infinite; }
    .fold-logo .fold-top-right { transform-origin:150px 50px; animation:cartesian-fold-top-right 8s cubic-bezier(.45,0,.25,1) infinite; }
    .fold-logo .fold-lower-left { transform-origin:50px 150px; animation:cartesian-fold-lower-left 8s cubic-bezier(.45,0,.25,1) infinite; }
    .fold-logo .fold-lower-right { transform-origin:150px 150px; animation:cartesian-fold-lower-right 8s cubic-bezier(.45,0,.25,1) infinite; }
    @keyframes cartesian-fold-centre { 0%,12%,98%,100% { transform:translate(0px,0px); } 42%,78% { transform:translate(50px,50px); } }
    @keyframes cartesian-fold-right { 0%,12%,96%,100% { transform:perspective(700px) rotateY(0deg); } 25%,84% { transform:perspective(700px) rotateY(-180deg); } }
    @keyframes cartesian-fold-bottom { 0%,18%,95%,100% { transform:perspective(700px) rotateX(0deg); } 30%,82% { transform:perspective(700px) rotateX(180deg); } }
    @keyframes cartesian-fold-top-right { 0%,24%,94%,100% { transform:perspective(700px) rotateY(0deg); } 34%,80% { transform:perspective(700px) rotateY(180deg); } }
    @keyframes cartesian-fold-lower-left { 0%,28%,92%,100% { transform:perspective(700px) rotate3d(1,-1,0,0deg); } 38%,79% { transform:perspective(700px) rotate3d(1,-1,0,180deg); } }
    @keyframes cartesian-fold-lower-right { 0%,32%,90%,100% { transform:perspective(700px) rotateX(0deg); } 42%,78% { transform:perspective(700px) rotateX(180deg); } }
    @keyframes cartesian-fold-tuck-right { 0%,18%,91%,100% { opacity:1; } 20%,89% { opacity:0; } }
    @keyframes cartesian-fold-tuck-bottom { 0%,23%,90%,100% { opacity:1; } 26%,87% { opacity:0; } }
    @keyframes cartesian-fold-colour { 0%,12%,98%,100% { fill:#111111; stroke:#111111; } 25%,84% { fill:var(--face); stroke:var(--edge); } }
    @media (prefers-reduced-motion:reduce) {
      .fold-logo .paper, .fold-logo polygon, .fold-logo .fold-right, .fold-logo .fold-bottom, .fold-logo .fold-top-right, .fold-logo .fold-lower-left, .fold-logo .fold-lower-right { animation:none; }
      .fold-logo polygon { fill:var(--face); stroke:var(--edge); }
      .fold-logo .paper { transform:translate(50px,50px); }
      .fold-logo .fold-right, .fold-logo .fold-bottom { visibility:hidden; }
      .fold-logo .fold-top-right { transform:rotateY(180deg); }
      .fold-logo .fold-lower-left { transform:rotate3d(1,-1,0,180deg); }
      .fold-logo .fold-lower-right { transform:rotateX(180deg); }
    }
