/* Data warehouse mock animation (warehouse.html) — not shown on phones */
.wh{margin-top:2rem;display:grid;gap:1.4rem}
.wh .lane{border:1px solid var(--border-soft);border-radius:16px;padding:1rem 1.1rem 1.1rem;background:rgba(255,255,255,.02)}
.wh .lane.new{border-color:var(--border);background:radial-gradient(120% 120% at 0% 0%,rgba(0,200,180,.08),rgba(10,15,30,.35))}
.wh .lh{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.6rem}
.wh .lh b{font-size:.95rem}
.wh .lane.old .lh b{color:#FF8FA3}
.wh .lane.new .lh b{color:var(--teal)}
.wh .lh span{font-family:'Space Mono',ui-monospace,Consolas,monospace;font-size:.72rem;color:var(--muted)}
.wh .track{position:relative;display:grid;gap:.7rem;align-items:stretch}
.wh .lane.old .track{grid-template-columns:repeat(7,1fr)}
.wh .lane.new .track{grid-template-columns:repeat(4,1fr)}
.wh .track::before{content:'';position:absolute;left:5%;right:5%;top:50%;height:1px;background:var(--border-soft)}
.wh .lane.new .track::before{background:linear-gradient(90deg,var(--teal),rgba(0,200,180,.2))}
.wh .nd{position:relative;z-index:1;border-radius:11px;padding:.65rem .45rem;text-align:center;font-size:.74rem;line-height:1.3;
  color:var(--muted);background:#0f1729;border:1px solid var(--border-soft);transition:border-color .3s,box-shadow .3s,color .3s}
.wh .nd small{display:block;font-size:.6rem;margin-top:.25rem;color:var(--muted-dim)}
.wh .lane.old .nd small{color:rgba(255,120,145,.85)}
.wh .lane.new .nd small{color:rgba(0,200,180,.85)}
.wh .nd.on{color:var(--ghost)}
.wh .lane.old .nd.on{border-color:#FF4D6D;box-shadow:0 0 20px rgba(255,77,109,.3)}
.wh .lane.new .nd.on{border-color:var(--teal);box-shadow:0 0 20px rgba(0,200,180,.35)}
.wh .nd.rework{animation:whrw .5s 2}
.wh .lane.new .nd.rework{animation:whok .6s 2}
@keyframes whrw{50%{background:rgba(255,77,109,.28);border-color:#FF4D6D}}
@keyframes whok{50%{background:rgba(0,200,180,.25);border-color:var(--teal)}}
.wh .nd .tag2{position:absolute;left:50%;top:-.75rem;transform:translateX(-50%);white-space:nowrap;font-size:.58rem;
  padding:.08rem .4rem;border-radius:99px;opacity:0;transition:opacity .3s}
.wh .lane.old .nd .tag2{background:#FF4D6D;color:#fff}
.wh .lane.new .nd .tag2{background:var(--teal);color:#062a26}
.wh .nd .tag2.show{opacity:1}
.wh .pk{position:absolute;z-index:3;left:0;top:0;pointer-events:none;opacity:0;white-space:nowrap;
  font-family:'Space Mono',ui-monospace,Consolas,monospace;font-size:.62rem;padding:.18rem .5rem;border-radius:99px}
.wh .pk span{display:inline-block;transform:translate(-50%,calc(-50% + 2.15rem))}
.wh .lane.old .pk span{background:rgba(255,77,109,.18);border:1px solid #FF4D6D;color:#FFC2CD;padding:.15rem .5rem;border-radius:99px}
.wh .lane.new .pk span{background:rgba(0,200,180,.16);border:1px solid var(--teal);color:#BFF5EE;padding:.15rem .5rem;border-radius:99px}
.wh .ls{display:flex;flex-wrap:wrap;gap:1.6rem;margin-top:2rem;opacity:.25;transition:opacity .5s}
.wh .ls.show{opacity:1}
.wh .ls div{font-size:.68rem;color:var(--muted)}
.wh .ls b{display:block;font-size:1.2rem;color:var(--ghost)}
.wh .lane.old .ls b{color:#FF8FA3}
.wh .lane.new .ls b{color:var(--teal)}
.wh-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.1rem;flex-wrap:wrap}
.wh-step{font-size:.92rem;color:var(--ghost);min-height:1.4em}
.wh-step em{font-style:normal;color:var(--teal)}
.wh-btn{font:inherit;font-size:.78rem;color:var(--teal);background:transparent;border:1px solid var(--border);border-radius:99px;padding:.4rem .9rem;cursor:pointer}
.wh-btn:hover{border-color:var(--teal)}
@media (max-width:820px){.wh .nd{font-size:.64rem;padding:.55rem .25rem}.wh .nd small{display:none}.wh .track{gap:.4rem}}
@media (max-width:600px){.no-phone{display:none!important}}
