/* For CAs + Implementation pages. Variables only, so Look and Accent keep working. */

/* seat price cards */
.seat .price { flex-wrap: wrap; font-size: 24px; }
.seat .price b { font-size: clamp(36px, 3.2vw, 46px); }
.seat .price span { margin-left: 6px; }
.seat .wl { margin: 0; font-size: clamp(30px, 2.6vw, 38px); font-weight: 800; letter-spacing: -.026em; line-height: 1.1; color: var(--em-d); }
.seat a { color: var(--em-d); font-weight: 600; text-underline-offset: 3px; }
.card p a { color: var(--em-d); text-underline-offset: 3px; }
.dark .card p a { color: var(--em); }

/* partner firm: branded views inside a dark card */
.partner-views .views { margin-bottom: 4px; }
.partner-views .v { color: var(--ink); }
.stack { display: grid; gap: 14px; align-content: start; }

/* horizontal step flow for real sequences */
.steps.flow { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 0; }
.steps.flow li { flex-direction: column; align-items: flex-start; gap: 10px; padding: 22px; border-radius: 22px; font-weight: 400; }
.steps.flow li::before { width: 36px; height: 36px; border-radius: 11px; font-weight: 700; }
.steps.flow h3 { font-size: 21px; letter-spacing: -.02em; }
.steps.flow p { margin: 0; color: var(--muted); font-size: 16px; }
.steps.flow li.on p { color: var(--muted-d); }

/* workstream icons */
.card .ico { width: 44px; height: 44px; padding: 10px; border-radius: 12px; background: var(--mint); color: var(--em-d); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 6px; }
.dark .card .ico { background: rgba(127,147,168,.16); color: var(--em); }

/* prose inside a card */
.card.body-copy p + p { margin-top: 4px; }
.card.body-copy strong { color: inherit; }

/* form card */
.form-card { padding: clamp(24px, 3vw, 40px); border-radius: 28px; background: #fff; box-shadow: 0 0 0 1px var(--line-l); color: var(--ink); }
.form-card h3 { font-size: clamp(24px, 2.2vw, 30px); letter-spacing: -.02em; }
.form-card > p { margin: 8px 0 24px; color: var(--muted); }
.form .full { grid-column: 1 / -1; }
.form-success[hidden] { display: none; }

@media (max-width: 1080px) {
  .steps.flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .steps.flow { grid-template-columns: 1fr; }
}

/* fixes after review */
.card.seat .price { color: var(--ink); }
.partner-views .v p { color: var(--ink); }
.cta h2 + .actions { margin-top: 32px; }
.cta.long h2 { font-size: clamp(34px, 4.2vw, 60px); max-width: 20ch; }
