/* Status labels + owner placeholders.
 * Every product claim on the site carries one of these labels so the
 * reader can tell what exists today from what is planned. */

.st{
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--bo-font-mono);
  font-size: 10.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 3px 9px; border-radius: var(--bo-radius-chip);
  white-space: nowrap; vertical-align: middle;
}
.st::before{ content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.st--built   { background: var(--bo-status-info-bg);    color: var(--bo-status-info-text); }
.st--roadmap { background: var(--bo-status-pending-bg); color: var(--bo-status-pending-text); }
.st--planned { background: var(--bo-status-warning-bg); color: var(--bo-status-warning-text); }
.st--true    { background: var(--bo-status-success-bg); color: var(--bo-status-success-text); }

/* Unresolved owner decision. Must not survive to publish. */
.owner{
  background: #FFE9A8; color: #4A3800;
  border: 1px dashed #B88A00; border-radius: 4px;
  padding: 1px 6px; font-weight: 600; font-size: 0.92em;
}

/* Two-column status lists (workflows, roadmap, certifications) */
.st-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 860px){ .st-grid{ grid-template-columns: 1fr; } }
.st-card{
  background: var(--bo-white); border: 1px solid var(--bo-line); border-radius: var(--bo-radius-panel);
  padding: 26px 26px 18px;
}
.st-card__head{ display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.st-card h3{ font-size: 20px; font-weight: 800; letter-spacing: -0.02em; margin: 0; color: var(--bo-ink); }
.st-card > p{ font-size: 14px; color: var(--bo-graphite); line-height: 1.55; margin: 6px 0 12px; }
.st-list{ list-style: none; margin: 0; padding: 0; }
.st-list li{
  display: flex; justify-content: space-between; gap: 16px; align-items: baseline;
  padding: 12px 0; border-top: 1px solid var(--bo-line);
  font-size: 15px; color: var(--bo-ink); line-height: 1.45;
}
.st-list li small{ display: block; color: var(--bo-stone); font-size: 13px; margin-top: 2px; }

/* Plain fact table (government snapshot, press facts) */
.facts{ width: 100%; border-collapse: collapse; background: var(--bo-white); border: 1px solid var(--bo-line); border-radius: var(--bo-radius-card); overflow: hidden; }
.facts th, .facts td{ text-align: left; padding: 14px 18px; border-top: 1px solid var(--bo-line); font-size: 15px; vertical-align: top; }
.facts tr:first-child th, .facts tr:first-child td{ border-top: 0; }
.facts th{ width: 34%; font-family: var(--bo-font-mono); font-size: 11.5px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bo-stone); }
.facts td{ color: var(--bo-ink); }
@media (max-width: 600px){ .facts th, .facts td{ display: block; width: auto; } .facts td{ border-top: 0; padding-top: 0; } }

/* Simple card row */
.cards3{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px){ .cards3{ grid-template-columns: 1fr; } }
.card{
  background: var(--bo-white); border: 1px solid var(--bo-line); border-radius: var(--bo-radius-panel);
  padding: 26px; display: flex; flex-direction: column; gap: 10px;
}
.card svg.ic{ width: 22px; height: 22px; stroke: var(--bo-ops-teal); fill: none; stroke-width: 1.75; }
.card h3{ font-size: 19px; font-weight: 800; letter-spacing: -0.02em; margin: 0; color: var(--bo-ink); }
.card p{ font-size: 14.5px; color: var(--bo-graphite); line-height: 1.55; margin: 0; }

/* Proof list */
.proof{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; background: var(--bo-line); border: 1px solid var(--bo-line); border-radius: var(--bo-radius-card); overflow: hidden; }
.proof li{ background: var(--bo-paper); padding: 22px 22px; }
.proof b{ display: block; font-size: 26px; font-weight: 800; letter-spacing: -0.025em; color: var(--bo-ink); line-height: 1.1; }
.proof span{ display: block; font-size: 14px; color: var(--bo-graphite); margin-top: 6px; line-height: 1.45; }

/* Source-cited block quote */
.kc-quote{
  margin: 32px 0 0; padding: 26px 28px; border-left: 3px solid var(--bo-ops-teal);
  background: var(--bo-white); border-radius: 0 var(--bo-radius-card) var(--bo-radius-card) 0;
  max-width: 78ch;
}
.kc-quote p{ font-size: 17px; line-height: 1.6; color: var(--bo-ink); margin: 0 0 12px; }
.kc-quote cite{ font-style: normal; font-size: 13.5px; color: var(--bo-stone); }
.kc-quote cite a{ color: inherit; }

/* Long-form text pages (accessibility, government notes) */
.prose{ max-width: 72ch; }
.prose h2{ font-size: 26px; font-weight: 800; letter-spacing: -0.02em; margin: 40px 0 12px; color: var(--bo-ink); }
.prose p, .prose li{ font-size: 16px; line-height: 1.65; color: var(--bo-graphite); }
.prose a{ color: var(--bo-ink); }
.card .st{ align-self: flex-start; margin-top: auto; }
@media (max-width: 600px){ .st-list li{ flex-wrap: wrap; } }
.bo-nav__cta .bo-btn{ white-space: nowrap; }
.st-grid--one{ grid-template-columns: minmax(0, 1fr); max-width: 820px; }
