/* ===== 3×3 Grid -- GCMM ===== */
.gcmm-grid9{ 
  --ink:#0f2233; --muted:#5b6b7a; --card:#fff; --border:rgba(15,34,51,.10);
  background: radial-gradient(1200px 520px at 15% -10%, #eef2f8 0, transparent 60%),
              radial-gradient(900px 420px at 85% 0%, #edf3ff 0, transparent 60%),
              #f6f8fc;
  color:var(--ink);
  padding: clamp(34px,6vw,80px) 0; 
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.g9-wrap{ width:min(1200px,92vw); margin:0 auto; }
.g9-head{ text-align:center; margin-bottom: clamp(22px,4vw,38px); }
.g9-head h2{ margin:0 0 8px; font-weight:800; font-size: clamp(26px,3.2vw,40px); line-height:1.15; }
.g9-sub{ margin:0 auto; max-width:760px; color:var(--muted); font-size: clamp(14px,1.6vw,16px); }
/* Grid: exactly 3 columns on desktop */
.g9-grid{
  display:grid; gap: clamp(14px,2vw,22px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1023px){ .g9-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .g9-grid{ grid-template-columns: 1fr; } }
/* Cards -- equal height via flex */
.g9-card{
  display:flex; flex-direction:column;
  background:var(--card);
  border:1px solid var(--border);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 10px 28px rgba(16,31,58,.06);
  min-height: 320px;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.g9-card:hover{ transform: translateY(-4px); box-shadow:0 18px 40px rgba(16,31,58,.12); border-color: rgba(16,102,255,.22); }
/* Icon chip */
.g9-chip{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center; color:#fff; margin-bottom:12px; box-shadow:0 8px 18px rgba(0,0,0,.12); }
.a-navy .g9-chip{ background:linear-gradient(135deg,#102a43,#335e96); }
.a-teal .g9-chip{ background:linear-gradient(135deg,#0e7c86,#2fb2c3); }
.a-indigo .g9-chip{ background:linear-gradient(135deg,#4f46e5,#6366f1); }
.a-rose .g9-chip{ background:linear-gradient(135deg,#c22f75,#f06595); }
.a-pink .g9-chip{ background:linear-gradient(135deg,#ec4899,#f472b6); }
.a-cyan .g9-chip{ background:linear-gradient(135deg,#0ea5e9,#22d3ee); }
.a-indigo-deep .g9-chip{ background:linear-gradient(135deg,#4338ca,#6366f1); }
.a-amber .g9-chip{ background:linear-gradient(135deg,#b45309,#f59e0b); }
.a-green .g9-chip{ background:linear-gradient(135deg,#059669,#34d399); }
.g9-title{ margin:6px 0 6px; font-size: clamp(18px,2vw,20px); font-weight:750; }
.g9-desc{ color:var(--muted); font-size:14.5px; line-height:1.55; margin:0 0 10px; min-height:52px; }
.g9-list{ margin:0 0 14px; padding-left:18px; color:var(--ink); font-size:14.5px; line-height:1.6; }
.g9-list li{ margin:5px 0; }
/* CTA pinned to bottom for equal rhythm */
.g9-link{
  margin-top:auto; align-self:flex-start;
  display:inline-flex; gap:8px; align-items:center;
  color:#0f4bd9; text-decoration:none; font-weight:650; font-size:14.5px;
  padding:6px 0; border-bottom:1px solid transparent;
}
.g9-card:hover .g9-link{ border-bottom-color: rgba(15,75,217,.35); }
@media (prefers-reduced-motion: reduce){
  .g9-card{ transition:none; } .g9-card:hover{ transform:none; }
}