
/* Global Nodes (Homepage) */
.pro-gn{padding:56px 0;background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)}
.pro-gn-head{max-width:980px;margin:0 auto 22px}
.pro-gn-kicker{display:inline-block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#6b7a90;margin-bottom:10px}
.pro-gn-title{font-size:34px;font-weight:800;letter-spacing:.02em;color:#0b1b34;margin:0}
.pro-gn-desc{margin:12px auto 0;font-size:16px;line-height:1.7;color:#4a5a73}
.pro-gn-desc b{color:#0b1b34}

.pro-gn-card{max-width:1100px;margin:0 auto;border-radius:18px;background:#fff;border:1px solid rgba(16,39,76,.08);box-shadow:0 18px 50px rgba(15,35,70,.08);overflow:hidden}
.pro-gn-map{position:relative;padding:14px}
.pro-gn-map-img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(16,39,76,.10)}
.pro-gn-legend{position:absolute;left:26px;bottom:26px;display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(255,255,255,.92);border:1px solid rgba(16,39,76,.10);box-shadow:0 10px 24px rgba(15,35,70,.10);border-radius:999px;font-size:12px;backdrop-filter: blur(8px)}
.pro-gn-dot{width:10px;height:10px;border-radius:999px;display:inline-block}
.pro-gn-dot--on{border:3px solid #37b1ff;background:transparent}
.pro-gn-dot--soon{border:3px solid #ffb020;background:transparent}
.pro-gn-legend-txt{opacity:.9}

.pro-gn-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px;border-top:1px solid rgba(16,39,76,.06);background:#fff}
.pro-gn-stat{border-radius:14px;border:1px solid rgba(16,39,76,.08);background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);padding:14px 12px;text-align:center}
.pro-gn-stat-num{font-size:24px;font-weight:800;color:#0b1b34;line-height:1}
.pro-gn-stat-txt{margin-top:6px;font-size:13px;color:#6b7a90}

@media (max-width: 992px){
  .pro-gn{padding:44px 0}
  .pro-gn-title{font-size:28px}
  .pro-gn-stats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 576px){
  .pro-gn-desc{font-size:15px}
  .pro-gn-legend{left:18px;bottom:14px}
}

/* 91CLOUD Global Nodes text polish */
.pro-gn-kicker{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(59,130,246,.10);color:#2563eb;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.pro-gn-title{line-height:1.18}
.pro-gn-desc{max-width:980px}
.pro-gn-card{background:#0b1220}
.pro-gn-map{padding:18px}
.pro-gn-map-img{border-radius:14px}
@media (max-width: 576px){
  .pro-gn-kicker{font-size:11px;letter-spacing:.14em}
  .pro-gn-map{padding:12px}
}
