.section-title {
  display:inline-flex; align-items:center; gap:10px;
  min-height:34px; padding:0 14px; border-radius:999px;
  font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  border:1px solid rgba(0,166,81,.28);
  background:rgba(0,166,81,.14);
  color:#F8FAFC;
}

.hero h1 {
  margin:20px 0 0;
  max-width:900px;
  font-size:clamp(40px, 5vw, 68px);
  line-height:.98;
}

.hero p {
  margin:24px 0 0; max-width:860px;
  font-size:clamp(18px, 2.1vw, 22px);
  line-height:1.55; color:rgba(248,250,252,.82);
}

.meta-list {
  display:grid;
  gap:10px;
  margin:0;
}

.text-block {
  margin-top:26px;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
}

.figure-title {
  margin:0;
  font-size:17px;
  font-weight:700;
  color:var(--graphite);
}

.figure-caption {
  margin:10px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}

.two-up {
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  margin-top:28px;
}

@media (max-width: 980px) {
  .grid { grid-template-columns:1fr; }
}

@media (max-width: 880px) {
  .container { width:min(100% - 32px, 1280px); }
  .header-inner { flex-wrap:wrap; }
  .logo-text { font-size:18px; }
  .hero { padding-top:168px; }
  .card-body { padding:24px; }
  .meta-row { grid-template-columns:1fr; gap:4px; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
}
