/* How we work (2026-10-12): a custom ERP grows from one pain point to a complete system.
   The system map is filled shapes only (no connector lines); how.js lights tiles step by step. */

/* ---------- Growth walkthrough: steps on the left, a sticky system map on the right ---------- */
.gd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,88px);align-items:start}
.gd-steps{display:grid;gap:clamp(18px,3vw,40px);padding-bottom:12vh}
.gd-step{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;padding:30px 30px 32px;border-radius:22px;background:var(--panel);border:1px solid var(--line-soft);min-height:clamp(260px,46vh,420px);align-content:center;transition:border-color .4s,background .4s,opacity .4s}
.gd-step__no{grid-row:1/span 3;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--cyan-soft);color:var(--cyan);font-size:15px;font-weight:650;transition:background .4s,color .4s}
.gd-step h3{font-size:clamp(22px,1.8vw,28px);font-weight:550;letter-spacing:-.02em;line-height:1.25}
.gd-step p{color:#cbd7dd;font-size:16.5px;line-height:1.65}
.gd-step .gd-eg{margin-top:4px;padding:12px 16px;border-radius:12px;background:rgba(102,217,239,.06);color:var(--muted);font-size:15px;line-height:1.6}
.gd-step .gd-eg b{color:var(--cyan);font-weight:600;margin-right:6px}
.gd.is-live .gd-step{opacity:.55}
.gd.is-live .gd-step.is-on{opacity:1;border-color:rgba(102,217,239,.4);background:linear-gradient(160deg,rgba(102,217,239,.1),var(--panel) 55%)}
.gd.is-live .gd-step.is-on .gd-step__no{background:var(--cyan);color:var(--ink)}

.gd-board{position:sticky;top:110px;padding:24px 24px 22px;border-radius:26px;background:linear-gradient(160deg,#0f2131,#08131c);border:1px solid var(--line-soft);box-shadow:0 50px 90px -60px rgba(0,0,0,.8)}
.gd-board__top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.gd-board__kicker{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.gd-board__stage{margin-top:6px;font-size:20px;font-weight:550;letter-spacing:-.01em}
.gd-board__count{text-align:right;font-size:13px;color:var(--muted)}
.gd-board__count b{display:block;font-size:40px;font-weight:600;line-height:1;color:var(--cyan);font-variant-numeric:tabular-nums}
.gd-group{margin-top:12px}
.gd-group>span{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.gd-tiles{display:flex;flex-wrap:wrap;gap:8px}
.gd-tile{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:12px;background:rgba(214,232,240,.05);color:rgba(214,232,240,.32);font-size:14px;font-weight:550;line-height:1.3;transition:background .5s var(--ease),color .5s,transform .5s var(--ease),opacity .5s}
.gd-tile .ic{font-size:16px;opacity:.6}
.gd-tile.is-on{background:rgba(102,217,239,.16);color:#e8f6f9;transform:translateY(-2px)}
.gd-tile.is-on .ic{color:var(--cyan);opacity:1}
.gd-tile.is-new{background:var(--cyan);color:var(--ink)}
.gd-tile.is-new .ic{color:var(--ink)}
.gd-tile--pain.is-on{background:rgba(229,166,72,.2);color:#f6dcae}
.gd-tile--pain.is-on .ic{color:#e5a648}
.gd-tile em{display:none;font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:.06em;padding:2px 7px;border-radius:8px;background:rgba(214,232,240,.1);color:var(--muted)}
.gd-tile.is-gone{background:rgba(214,232,240,.04);color:rgba(214,232,240,.3);transform:none}
.gd-tile.is-gone em{display:inline}
.gd-tile.is-gone .ic{color:inherit;opacity:.5}
.gd-tile--wide{flex:1 1 100%;justify-content:center;padding:14px}
.gd-board__new{display:none}
.gd-board__new b{color:var(--cyan);font-weight:600;margin-right:6px}
.gd-board__note{margin-top:16px;font-size:13px;line-height:1.55;color:var(--dim)}
/* Without JS (or reduced motion) the board simply shows the finished system. */
.gd:not(.is-live) .gd-tile{background:rgba(102,217,239,.14);color:#e8f6f9}
.gd:not(.is-live) .gd-tile .ic{color:var(--cyan);opacity:1}
.gd:not(.is-live) .gd-tile--pain,.gd:not(.is-live) .gd-tile--gone{background:rgba(214,232,240,.04);color:rgba(214,232,240,.3)}
.gd:not(.is-live) .gd-tile--pain em,.gd:not(.is-live) .gd-tile--gone em{display:inline}

/* ---------- Five systems ---------- */
.cases5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case5{display:flex;flex-direction:column;padding:30px;border-radius:22px;background:#fff;box-shadow:0 18px 50px -34px rgba(13,24,32,.35)}
.case5:first-child{grid-column:1/-1}
.case5__tag{display:flex;align-items:center;gap:12px;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-deep)}
.case5__tag .ic{font-size:24px}
.case5 h3{margin-top:14px;font-size:clamp(22px,1.8vw,28px);font-weight:550;letter-spacing:-.02em;line-height:1.25;color:var(--paper-ink)}
.case5__from{margin-top:14px;font-size:16px;line-height:1.65;color:var(--paper-muted)}
.case5__from b,.case5__lesson b{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-ink)}
.case5__path{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;counter-reset:cp}
.case5__path li{display:inline-flex;align-items:center;gap:8px;padding:8px 13px 8px 9px;border-radius:12px;background:#edf3f4;font-size:14.5px;font-weight:550;line-height:1.35;color:#173d47;counter-increment:cp}
.case5__path li::before{content:counter(cp);display:grid;place-items:center;width:22px;height:22px;flex:none;border-radius:50%;background:var(--cyan-deep);color:#fff;font-size:11.5px;font-weight:700}
.case5__lesson{margin-top:auto;padding-top:20px;font-size:16px;line-height:1.6;color:var(--paper-ink)}
.cases5-note{margin-top:22px;font-size:13.5px;line-height:1.6;color:var(--paper-muted)}

/* ---------- Rhythm ---------- */
.rhythm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(40px,4vw,64px)}
.rhythm li{display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:18px;background:#fff;font-size:17px;font-weight:550;line-height:1.4;color:var(--paper-ink)}
.rhythm .ic{flex:none;font-size:28px;color:var(--cyan-deep)}

@media(max-width:1024px){
  .gd{grid-template-columns:1fr}
  .gd-board{position:sticky;top:76px;z-index:2;padding:14px 16px;border-radius:16px;order:-1}
  .gd-board__top{margin-bottom:10px;align-items:center}
  .gd-board__stage{margin-top:2px;font-size:17px}
  .gd-board__count{display:flex;align-items:baseline;gap:6px}
  .gd-board__count b{font-size:28px}
  /* Compact map: every module is a small square; the line below names what this step added. */
  .gd-group{display:contents}
  .gd-group>span,.gd-board__note{display:none}
  .gd-board{display:flex;flex-wrap:wrap;gap:6px}
  .gd-board__top{flex:1 1 100%}
  .gd-tiles{display:contents}
  .gd-tile,.gd-tile--wide{flex:none;width:16px;height:16px;padding:0;border-radius:5px;font-size:0;gap:0}
  .gd-tile .ic,.gd-tile em{display:none!important}
  .gd-tile.is-on{transform:none}
  .gd-board__new{display:block!important;flex:1 1 100%;margin-top:6px;font-size:14px;line-height:1.5;color:#cfe6eb}
  .gd-step{min-height:0;padding:24px 22px}
  .cases5,.rhythm{grid-template-columns:1fr}
}
@media(max-width:720px){
  .gd-step p,.gd-step .gd-eg,.case5__from,.case5__lesson{font-size:16px}
  .case5{padding:24px}
  .case5__path li{font-size:15px}
}
html[lang^=zh] :is(.gd-step p,.case5 p,.case5__path li){word-break:normal}
@media(prefers-reduced-motion:reduce){.gd-step,.gd-tile{transition:none}}
