/* Business-facing interaction and reference content. */
.orbit-core {
  left: 60%;
  top: calc(100% - 142px);
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.06em;
}
.planet-track { left: calc(60% + 61px); top: calc(100% - 81px); }
.planet-track .planet {
  --glow: var(--lime);
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.04em;
  color: var(--ink);
}
.planet-azure, .planet-data { font-size: 10px; }
.planet-ai { font-size: 15px; }

.capability-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.capability-cards article {
  min-height: 128px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px;
  background: #fff;
  border: 1px solid rgba(7,21,37,.09);
  box-shadow: 0 7px 16px rgba(7,21,37,.07);
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
.capability-cards strong { font-size: 18px; letter-spacing: -.04em; }
.capability-cards p {
  max-height: 0;
  overflow: hidden;
  margin: 0;
  opacity: 0;
  color: #cae9e3;
  font-size: 13px;
  line-height: 1.55;
  transition: max-height .3s ease, margin .3s ease, opacity .22s ease;
}
.capability-cards article:hover {
  transform: translateY(-7px);
  background: var(--ink);
  color: #fff;
  box-shadow: 0 17px 28px rgba(7,21,37,.2);
}
.capability-cards article:hover p { max-height: 115px; margin-top: 12px; opacity: 1; }

.client-references { padding-top: 120px; padding-bottom: 120px; background: #10263a; color: #fff; }
.client-references .section-label { color: var(--aqua); }
.references-head { display: grid; grid-template-columns: 1fr .43fr; gap: 8vw; margin: 34px 0 60px; }
.references-head h2 { margin: 0; font-size: clamp(40px,5vw,72px); letter-spacing: -.075em; line-height: .95; }
.references-head p { align-self: end; margin: 0; color: #b9c8d3; font-size: 14px; line-height: 1.7; }
.logo-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(255,255,255,.18); border-left: 1px solid rgba(255,255,255,.18); }
.logo-grid img { width: 100%; height: 125px; padding: 28px; object-fit: contain; border-right: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); filter: grayscale(1) contrast(1.12); opacity: .83; transition: filter .25s ease, opacity .25s ease, background .25s ease; }
.logo-grid img:hover { filter: none; opacity: 1; background: rgba(255,255,255,.06); }

.portrait { background: #0d1f2e; }
.portrait::before, .portrait::after { display: none; }
.portrait img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 50% 22%; }

@media (max-width: 760px) {
  .orbit-core { left: 50%; top: calc(100% - 112px); }
  .planet-track { left: calc(50% + 46px); top: calc(100% - 66px); }
  .capability-cards { grid-template-columns: 1fr; }
  .capability-cards article { min-height: 94px; }
  .references-head { grid-template-columns: 1fr; gap: 18px; }
  .logo-grid { grid-template-columns: repeat(2, 1fr); }
  .logo-grid img { height: 105px; padding: 22px; }
}
