/* Profile architecture. Extends the site's monochrome/orange lab palette. */
.home-setup.story-section {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.home-setup .setup-intro { max-width: 800px; }
.setup-map {
  --setup-line: #50504d;
  margin: 26px 0 0;
  background: #222321;
  color: #f4f4f0;
  border: 1px solid #222321;
  padding: 24px;
  font-family: var(--mono);
  line-height: 1.5;
}
.setup-map-top, .setup-map-foot, .setup-node-index {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  letter-spacing: .065em;
}
.setup-map-top { color: #c2c2bb; border-bottom: 1px solid var(--setup-line); padding-bottom: 16px; }
.setup-entry { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px; text-align: center; font-size: 14px; padding-top: 24px; }
.setup-entry span { color: var(--acid); padding: 0 4px; }
.setup-voice-entry { line-height: 1.6; }
.setup-voice-entry strong { color: var(--acid); }
.setup-stem { color: var(--acid); text-align: center; font-size: 24px; height: 39px; }
.setup-control { display: grid; grid-template-columns: 1fr 44px 1fr; align-items: stretch; }
.setup-controller { padding: 18px 20px; border: 1px solid #76766e; background: #2c2d2a; }
.setup-controller-link { color: inherit; text-decoration: none; }
.setup-controller-link:hover, .setup-controller-link:focus-visible { border-color: var(--acid); }
.setup-kicker { display: block; font-size: 12px; letter-spacing: .08em; color: #c2c2bb; }
.setup-map h3 { margin: 7px 0 6px; color: inherit; font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: -.04em; }
.setup-map p { margin: 0; font-size: 14px; line-height: 1.55; }
.setup-detail { display: block; color: #c2c2bb; font-size: 12px; margin-top: 12px; }
.setup-exchange { display: grid; place-items: center; color: var(--acid); font-size: 27px; }
.setup-bus { position: relative; height: 64px; display: flex; justify-content: center; align-items: center; }
.setup-bus::before { content: ""; position: absolute; height: 100%; top: 0; left: 50%; border-left: 1px solid var(--acid); }
.setup-bus::after { content: ""; position: absolute; bottom: 0; left: 16.666%; right: 16.666%; border-top: 1px solid var(--acid); }
.setup-bus span { position: relative; z-index: 1; background: #222321; padding: 4px 10px; color: #c2c2bb; font-size: 12px; letter-spacing: .07em; }
.setup-compute { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding-top: 22px; }
.setup-node { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 17px; border: 1px solid var(--setup-line); background: #292a27; }
.setup-node::before { content: ""; position: absolute; height: 22px; top: -23px; left: 50%; border-left: 1px solid var(--acid); }
.setup-node-index { color: #ff814f; margin-bottom: 18px; font-size: 12px; letter-spacing: .025em; }
.setup-node h3 { font-size: 18px; margin: 0 0 12px; }
.setup-node .setup-hardware { color: #d6d6cf; min-height: 66px; }
.setup-pair, .setup-capabilities { min-height: 64px; display: flex; gap: 8px; align-items: center; margin: 8px 0 16px; }
.setup-pair > span:not(.setup-pair-link) { border: 1px solid #6b6c64; padding: 8px; font-size: 14px; }
.setup-pair-link { flex: 1; text-align: center; color: #ff814f; line-height: 1; }
.setup-pair-link small { display: block; margin-top: 5px; font-size: 12px; color: #c2c2bb; }
.setup-capabilities { flex-wrap: wrap; align-content: center; gap: 6px; }
.setup-capabilities span { font-size: 12px; border: 1px solid #66675f; padding: 3px 6px; white-space: nowrap; }
.setup-model { border-top: 1px solid var(--setup-line); padding-top: 16px; flex: 1; }
.setup-model h4 { font-size: 20px; line-height: 1.4; font-weight: 600; margin: 8px 0 10px; letter-spacing: -.04em; }
.setup-model h4 small { font-size: 13px; color: #c2c2bb; white-space: nowrap; }
.setup-model p { color: #c2c2bb; font-size: 12px; }
.setup-node-bottom { margin-top: 20px; border-top: 1px solid var(--setup-line); padding-top: 12px; font-size: 12px; color: #c2c2bb; line-height: 1.6; }
.setup-node--spark { border-top: 3px solid var(--acid); padding-top: 15px; }
.setup-caption { display: flex; gap: 12px; margin-top: 22px; color: #d6d6cf; font-size: 13px; line-height: 1.65; }
.setup-caption-mark { color: #ff814f; font-size: 22px; }
.setup-map-foot { border-top: 1px solid var(--setup-line); margin-top: 22px; padding-top: 14px; color: #b3b4ab; flex-wrap: wrap; }
@media (max-width: 1100px) and (min-width: 861px), (max-width: 650px) {
  .setup-map { padding: 18px; }
  .setup-compute { grid-template-columns: 1fr; padding-left: 18px; gap: 16px; border-left: 1px solid var(--acid); margin-left: 10px; }
  .setup-node::before { width: 18px; height: 0; top: 27px; left: -19px; border: 0; border-top: 1px solid var(--acid); }
  .setup-bus::after { left: 10px; right: 50%; }
  .setup-node .setup-hardware { min-height: 0; }
  .setup-control { grid-template-columns: 1fr; }
  .setup-exchange { height: 35px; transform: rotate(90deg); }
  .setup-pair { max-width: 280px; }
  .setup-pair, .setup-capabilities { min-height: 44px; }
}
