/* Data cleansing mock animation (cleansing.html) — not shown on phones */
.cx{position:relative;margin-top:2rem;display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:start}
.cx svg.cl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.cx svg.cl path{fill:none;stroke-width:1}
.cx .pn{position:relative;z-index:2;border:1px solid var(--border-soft);border-radius:16px;padding:1rem 1.1rem;background:rgba(255,255,255,.02)}
.cx .pn h4{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem;font-weight:500}
.cx .recs{display:grid;grid-template-columns:repeat(9,1fr);gap:.45rem}
.cx .rc{height:22px;border-radius:5px;background:rgba(0,200,180,.14);border:1px solid rgba(0,200,180,.35);transition:background .4s,border-color .4s,box-shadow .4s}
.cx .rc.bad{background:rgba(255,77,109,.18);border-color:rgba(255,77,109,.6)}
.cx .rc.hot{box-shadow:0 0 12px rgba(255,77,109,.7)}
.cx .rc.fixed{background:rgba(0,200,180,.3);border-color:var(--teal);box-shadow:0 0 12px rgba(0,200,180,.6)}
.cx .side{position:relative;z-index:2;display:grid;gap:1rem}
.cx .itm{display:flex;gap:1rem;align-items:center}
.cx .chip{font-family:'Space Mono',ui-monospace,Consolas,monospace;font-size:.9rem;padding:.55rem 1rem;border-radius:10px;
  border:1px solid var(--teal);background:rgba(0,200,180,.12);color:var(--ghost);transition:opacity .6s,transform .6s,border-color .4s}
.cx .chip.bad{border-color:#FF4D6D;background:rgba(255,77,109,.14)}
.cx .chip.gone{opacity:.15;transform:scale(.85)}
.cx .chip b{font-weight:700;margin-left:.5rem;color:var(--teal)}
.cx .chip.bad b{color:#FF8FA3}
.cx .card2{border:1px solid var(--border-soft);border-radius:12px;padding:.75rem .9rem;font-size:.8rem;color:var(--muted);
  background:#0f1729;opacity:.25;transition:opacity .4s,border-color .4s}
.cx .card2.on{opacity:1}
.cx .card2 strong{display:block;color:var(--ghost);font-size:.84rem;margin-bottom:.25rem}
.cx .card2.look.on{border-color:#FFB547}
.cx .card2.consent.on{border-color:var(--violet)}
.cx .card2.audit.on{border-color:var(--teal)}
.cx .card2 code{font-family:'Space Mono',ui-monospace,Consolas,monospace;font-size:.72rem;color:#BFF5EE}
.cx-steps{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1.6rem}
.cx-steps span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .8rem;border-radius:99px;
  border:1px solid var(--border-soft);color:var(--muted-dim);transition:.3s}
.cx-steps span.on{color:#062a26;background:var(--teal);border-color:var(--teal)}
.cx-steps span.done{color:var(--teal);border-color:var(--border)}
.cx-foot{display:flex;justify-content:space-between;align-items:center;gap:1.4rem;margin-top:1.3rem;flex-wrap:wrap}
.cx-say{font-size:.92rem;color:var(--ghost);min-height:1.4em;flex:1}
.cx-say em{font-style:normal;color:var(--teal)}
.cx-stats{display:flex;gap:1.6rem}
.cx-stats div{font-size:.68rem;color:var(--muted)}
.cx-stats b{display:block;font-size:1.3rem;color:var(--ghost)}
.cx-stats b.t{color:var(--teal)}.cx-stats b.a{color:var(--amber)}
.cx-btn{font:inherit;font-size:.8rem;color:var(--teal);background:transparent;border:1px solid var(--border);border-radius:99px;padding:.45rem 1rem;cursor:pointer}
.cx-btn:hover{border-color:var(--teal)}
@media (max-width:820px){.cx{grid-template-columns:1fr;gap:1.4rem}.cx svg.cl{display:none}}
@media (max-width:600px){.no-phone{display:none!important}}
