/* =========================================================================
   composed-services-band.css — /technology §3d · v1.0 (2026-05-03).

   Locked structure:
   · CONTINUATION SURFACE from §3a — gold left rule continues, same cream
     surface (--ws-page), no new eyebrow. §3 is one Architecture act.
   · Three control-dimension chips above (PPN · EPN · QPCN) — typology row.
   · One functionality-dimension chip below (EasyAccess Authorization) as
     a smaller horizontal connective-tissue band — three nouns above, one
     verb below.
   · NO connector glyph. Mono caption only.
   · Role-captions, not definitions. Parallel grammar.

   Each chip is a peer in its row; chips do NOT carry sub-network
   detail. PDN/PAN/PAI sub-structure is unpacked in body prose elsewhere.
   ========================================================================= */

.ws-csb {
  background: var(--ws-page);
  border-left: 2px solid var(--ws-accent);  /* continuation of §3a Architecture rule */
  padding: 36px 0 44px;
  margin-top: -1px;  /* hairline-tight against §3a footer */
}

.ws-csb__wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px 0 30px;  /* offset 2px to keep cell content aligned with §3a */
}

.ws-csb__intro {
  font-family: var(--ws-font-mono);
  font-size: var(--ws-fs-micro);
  letter-spacing: var(--ws-tracking-mono);
  color: var(--ws-ink-faint);
  text-transform: uppercase;
  margin: 0 0 18px;
  padding-left: 82px;
}

.ws-csb__intro-claim {
  color: var(--ws-accent);
  font-weight: 500;
  margin-right: 8px;
}

/* ── Row 1 · three control-dimension chips ──────────────────────── */

.ws-csb__chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-left: 82px;
}

.ws-csb__chip {
  background: var(--ws-surface);
  border: 1px solid var(--ws-rule);
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ws-csb__chip-tag {
  font-family: var(--ws-font-mono);
  font-size: var(--ws-fs-micro);
  font-weight: 500;
  letter-spacing: var(--ws-tracking-mono);
  color: var(--ws-accent);
  text-transform: uppercase;
}

.ws-csb__chip-name {
  font-family: var(--ws-font-display);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--ws-ink);
  letter-spacing: -0.003em;
  margin: 0;
}

.ws-csb__chip-role {
  font-family: var(--ws-font-body);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ws-ink-muted);
  margin: 0;
}

/* ── Row 2 · EasyAccess connective-tissue band ───────────────────
   Visually subordinated: smaller type, lower contrast surface, no
   chip border-frame. Three nouns above, one verb below. */

.ws-csb__connective {
  margin: 16px 0 0 82px;
  padding: 14px 18px;
  background: var(--ws-surface-2);
  border: 1px solid var(--ws-rule-faint);
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.ws-csb__connective-tag {
  font-family: var(--ws-font-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: var(--ws-tracking-mono);
  color: var(--ws-accent);
  text-transform: uppercase;
  flex-shrink: 0;
}

.ws-csb__connective-name {
  font-family: var(--ws-font-display);
  font-size: 14.5px;
  font-weight: 500;
  color: var(--ws-ink);
  letter-spacing: -0.003em;
  flex-shrink: 0;
}

.ws-csb__connective-role {
  font-family: var(--ws-font-body);
  font-size: 13px;
  line-height: 1.5;
  color: var(--ws-ink-muted);
}

/* ── Footer xref ────────────────────────────────────────────────── */

.ws-csb__xrefs {
  margin: 18px 0 0;
  padding-left: 82px;
  font-family: var(--ws-font-mono);
  font-size: var(--ws-fs-micro);
  letter-spacing: var(--ws-tracking-mono);
  color: var(--ws-ink-faint);
  text-transform: uppercase;
}

.ws-csb__xref-arrow {
  color: var(--ws-accent);
  margin-right: 6px;
}

/* ── Responsive ─────────────────────────────────────────────────── */

@media (max-width: 900px) {
  .ws-csb__intro,
  .ws-csb__chips,
  .ws-csb__connective,
  .ws-csb__xrefs { padding-left: 0; margin-left: 0; }
  .ws-csb__chips { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  /* Connective row: tag + name + role in a horizontal flex with
     flex-shrink:0 on tag and name, which overflows at phone viewports.
     Stack vertically at ≤720px so each element gets its own line. */
  .ws-csb__connective {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}
