/* ============================================================================
   Orbit Axis — brand primitives (Update 4.0.6)
   ----------------------------------------------------------------------------
   Pure Orbit is the everyday mark. The Instrument variant is reserved for
   technical contexts; both are committed SVGs so the shell, auth, recovery,
   favicon, and native source cannot drift into separate logos.
   ========================================================================== */

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
}

.brand-lockup--center { justify-content: center; }

.orbit-mark {
  display: block;
  width: 48px;
  height: 48px;
  flex: none;
}

.orbit-mark--rail { width: 24px; height: 24px; }
.orbit-mark--auth { width: 56px; height: 56px; }

.orbit-loader {
  display: block;
  width: 56px;
  height: 56px;
  flex: none;
}

/* Animated SVGs honor the OS preference internally. Orbit's own Motion toggle
   cannot cross an <img> document boundary, so it swaps the source visually to
   the canonical static mark instead. */
:root[data-motion="reduced"] .orbit-motion-mark {
  content: url("/brand/orbit-axis-mark.svg");
}

.brand-wordmark,
.rail__wordmark {
  color: var(--color-primary);
  font-family: var(--font-display);
  font-size: var(--type-caption);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--brand-wordmark-tracking);
  line-height: 1;
  white-space: nowrap;
}

.brand-tagline {
  margin: calc(var(--space-xs) * -1) 0 0;
  color: var(--color-muted) !important;
  font-size: var(--type-caption) !important;
  font-weight: var(--weight-semibold);
  letter-spacing: var(--track-caption);
}

.orbit-instrument {
  display: block;
  width: clamp(112px, 15vw, 172px);
  height: auto;
  flex: none;
  opacity: 0.82;
}

.tech-sky__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
}

.tech-sky__heading { min-width: 0; }

@keyframes orbit-mark-arrive {
  from { opacity: 0; transform: translateY(5px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.startup-card .brand-lockup {
  animation: orbit-mark-arrive var(--duration-brand-reveal) var(--ease-decelerate) both;
}

@media (max-width: 560px) {
  .orbit-mark--auth { width: 48px; height: 48px; }
  .orbit-loader { width: 48px; height: 48px; }
  .orbit-instrument { width: 96px; }
  .tech-sky__head { align-items: flex-start; gap: var(--space-sm); }
}

@media (prefers-reduced-motion: reduce) {
  .startup-card .brand-lockup { animation: none; }
}

@media (forced-colors: active) {
  .orbit-mark, .orbit-loader, .orbit-motion-mark, .orbit-instrument { forced-color-adjust: none; }
  .brand-wordmark, .rail__wordmark { color: CanvasText; }
}
