.shared-memory{padding-top:70px;padding-bottom:85px}.memory-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.memory-heading h2{margin-bottom:0}.memory-heading .body-copy{max-width:520px;margin:0}.memory-flow{margin-top:30px;isolation:isolate}.memory-diagram{display:block;width:100%;height:auto;max-height:290px;overflow:visible;stroke:#afa3c4;stroke-width:1.2}.memory-rail{stroke:url(#memory-line);opacity:.35}.memory-transit{stroke:#e6dcf8;stroke-dasharray:7 280;animation:memory-stream 12s linear infinite;opacity:.65}.memory-proposal,.memory-review,.memory-archive{transform-box:fill-box;transform-origin:center}.memory-proposal{animation:memory-breathe 12s ease-in-out infinite}.memory-proposal path:first-child{opacity:.4}.memory-proposal path:last-child{fill:#cdbde4;fill-opacity:.22}.memory-review>path:not(.memory-seal){opacity:.35}.memory-check{fill:#11101b;animation:memory-check 12s ease-in-out infinite}.check-b{animation-delay:.35s}.check-c{animation-delay:.7s}.check-d{animation-delay:1.05s}.memory-seal{stroke:#eadff9;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:memory-seal 12s ease infinite}.memory-archive>path:not(.memory-insert){opacity:.5}.memory-insert{fill:#cdbde4;animation:memory-accept 12s ease-in-out infinite}.memory-traveller{fill:#eee5fc;stroke:none;animation:memory-travel 12s cubic-bezier(.45,0,.25,1) infinite}.memory-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;text-align:center;gap:24px}.memory-step{position:relative;padding:20px 8px 24px;border-top:1px solid #ffffff18}.memory-step::before{content:"";position:absolute;inset:-1px 0 auto;height:1px;background:linear-gradient(90deg,transparent,#d6c6ed,transparent);transform:scaleX(0);animation:memory-stage 12s ease infinite}.memory-step-1::before{animation-delay:3s}.memory-step-2::before{animation-delay:6s}.memory-step-3::before{animation-delay:9s}.memory-reuse{animation:memory-breathe 12s ease-in-out infinite;animation-delay:9s}.memory-number{font-size:12px;letter-spacing:.13em;color:#9d92ae}.memory-step h3{font-size:22px;font-weight:400;letter-spacing:-.04em;margin:12px 0 8px}.memory-step p{font-size:14px;line-height:1.6;color:#b8afc5;margin:0}.memory-caption{display:flex;justify-content:space-between;gap:16px;padding-top:22px;border-top:1px solid #ffffff12;font-size:13px;line-height:1.6;color:#aaa0b8}.memory-caption span:last-child{color:#82788f}.shared-memory[data-motion="idle"] *{animation-play-state:paused!important}
@keyframes memory-stream{to{stroke-dashoffset:-574}}@keyframes memory-breathe{0%,100%{transform:scale(.94);opacity:.5}15%,30%{transform:scale(1.06);opacity:1}55%,85%{transform:scale(1);opacity:.6}}@keyframes memory-check{0%,28%,85%,100%{fill:#11101b;stroke:#7e738e}40%,67%{fill:#d5c6e9;stroke:#eee5fc}}@keyframes memory-seal{0%,38%,88%,100%{stroke-dashoffset:40;opacity:0}49%,74%{stroke-dashoffset:0;opacity:1}}@keyframes memory-accept{0%,55%,100%{fill-opacity:0;opacity:.25;transform:translateY(-12px)}70%,86%{fill-opacity:.22;opacity:1;transform:translateY(0)}}@keyframes memory-travel{0%,9%{transform:translateX(0);opacity:0}15%{opacity:1}36%,53%{transform:translateX(240px);opacity:1}60%{transform:translateX(480px);opacity:1}80%{transform:translateX(720px);opacity:1}84%,100%{transform:translateX(720px);opacity:0}}@keyframes memory-stage{0%,35%,100%{transform:scaleX(0);opacity:0}7%,28%{transform:scaleX(1);opacity:1}}
@media(max-width:700px){.shared-memory{padding-block:55px}.memory-heading{grid-template-columns:1fr;gap:22px}.memory-heading .body-copy{font-size:16px}.memory-flow{margin-top:20px}.memory-diagram{width:100%;min-height:140px}.memory-steps{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.memory-step{padding:16px 0}.memory-step h3{font-size:17px;letter-spacing:-.025em;overflow-wrap:anywhere}.memory-step p{font-size:14px}.memory-caption{flex-direction:column;gap:8px}.memory-caption span:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){.shared-memory *{animation:none!important}.memory-insert{fill-opacity:.15}.memory-traveller{display:none}.memory-seal{stroke-dashoffset:0}}
