/**
 * Orange partnership component kit — enterprise/executive styling for the
 * /partnership microsite, the Executive/Operations restyle, and shared
 * Orange chrome. Consumes tokens.css. Loaded after app.css.
 */
.o-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.75rem 1.5rem;
  border-radius: var(--radius-pill); font-weight:600; text-decoration:none;
  background: var(--orange); color:#fff; border:1px solid var(--orange);
  transition: background var(--duration) var(--ease); }
.o-btn:hover { background: var(--orange-600); border-color: var(--orange-600); color:#fff; }
.o-btn--ghost { background:transparent; color: var(--charcoal); border-color: var(--line-soft); }
.o-btn--ghost:hover { background: var(--orange-50); color: var(--charcoal); border-color: var(--orange); }

.o-card { background:#fff; border:1px solid var(--line-soft); border-radius: var(--radius-card);
  padding: var(--space-5); box-shadow: var(--shadow); }
.o-card__icon { inline-size:44px; block-size:44px; display:grid; place-items:center;
  border-radius:12px; background: var(--orange-50); color: var(--orange); margin-block-end: var(--space-3); }
.o-card__icon svg { inline-size:24px; block-size:24px; }

.o-chip { display:inline-flex; align-items:center; gap:.4rem; padding:.25rem .75rem;
  border-radius: var(--radius-pill); font-size: var(--fs-small); font-weight:600;
  background: var(--orange-50); color: var(--orange-600); }
.o-chip--soon { background:#F1F1F1; color:#666; }

.o-kpi { background:#fff; border:1px solid var(--line-soft); border-radius: var(--radius-card); padding: var(--space-5); }
.o-kpi__value { font-size: var(--fs-h1); font-weight:700; color: var(--charcoal); line-height:1; }
.o-kpi__label { color: var(--muted); font-size: var(--fs-small); margin-block-start: var(--space-2); }

.o-section { padding-block: var(--space-8); }
.o-section--alt { background: var(--surface-alt); }
.o-eyebrow { color: var(--orange); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size: var(--fs-small); }

.powered-by { display:inline-flex; align-items:center; gap:.6rem; color: var(--muted); font-size: var(--fs-small); }
.powered-by img { block-size:28px; inline-size:auto; }
.powered-by strong { color: var(--charcoal); font-weight:600; }

.o-flow { display:flex; flex-direction:column; align-items:center; gap:var(--space-2); }
.o-flow__node { background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius-pill);
  padding:.6rem 1.4rem; font-weight:600; color:var(--charcoal); text-align:center; }
.o-flow__node--accent { background:var(--orange); color:#fff; border-color:var(--orange); }
.o-flow__arrow { color: var(--orange); font-size:1.25rem; line-height:1; }

.o-roadmap { display:grid; gap:var(--space-4); grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.o-roadmap__phase { background:#fff; border:1px solid var(--line-soft); border-radius:var(--radius-card); padding:var(--space-4); }
.o-roadmap__num { color:var(--orange); font-weight:700; font-size:var(--fs-small); }
