/* moraq.io - canonical horizontal lockup (SSOT: moraq-lockup-spec.json) */

.mc-lockup {
  display: inline-grid;
  grid-template-columns: max-content var(--mc-lockup-gap) max-content;
  grid-template-rows: auto;
  align-items: center;
  justify-items: stretch;
  column-gap: 0;
  row-gap: 0;
  vertical-align: middle;
  --mc-lockup-mark: var(--mc-lockup-mark-base, 56px);
  --mc-lockup-gap: calc(var(--mc-lockup-mark) * var(--mc-lockup-gap-ratio, 0.5));
  --mc-lockup-word: calc(var(--mc-lockup-mark) * var(--mc-lockup-word-ratio, 0.82));
  --mc-lockup-word-ls: calc(var(--mc-lockup-word) * var(--mc-lockup-word-ls-ratio, -0.012));
}

.mc-lockup--inherit {
  /* Mark size from ancestor --mc-lockup-mark (set on stage / finder / safe wrappers) */
}

.mc-lockup--sm {
  container-type: inline-size;
  --mc-lockup-mark: clamp(32px, 8cqi, 40px);
}

.mc-lockup--md {
  container-type: inline-size;
  --mc-lockup-mark: clamp(40px, 5.25cqi, var(--mc-lockup-mark-base, 56px));
}

.mc-lockup--lg {
  container-type: inline-size;
  --mc-lockup-mark: clamp(48px, 6cqi, 72px);
}

.mc-lockup__mark {
  grid-column: 1;
  grid-row: 1;
  width: auto;
  height: var(--mc-lockup-mark);
  max-width: var(--mc-lockup-mark);
  aspect-ratio: var(--mc-lockup-mark-aspect, 25.65 / 29.25);
  flex-shrink: 0;
  display: block;
  object-fit: contain;
  object-position: center center;
}

.mc-lockup__gap {
  grid-column: 2;
  grid-row: 1;
  width: var(--mc-lockup-gap);
  height: 100%;
  min-height: var(--mc-lockup-mark);
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  background: var(--mc-lockup-gap-band-bg, rgba(196, 181, 253, 0.38));
}

.mc-lockup__gap-label {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  color: rgba(91, 84, 110, 0.88);
}

.mc-lockup__word {
  grid-column: 3;
  grid-row: 1;
  margin: 0 0 0 var(--mc-lockup-word-offset, -0.045em);
  padding: 0;
  display: block;
  font-family: var(--font-display);
  font-size: var(--mc-lockup-word);
  line-height: 1;
  letter-spacing: var(--mc-lockup-word-ls, -0.011em);
  color: var(--mc-logo-ink);
  white-space: nowrap;
}

/* Diagram redline: visible 1/2 band, ink-meets-edge alignment (SSOT: geometry.diagram) */
.mc-lockup--show-gap {
  grid-template-columns: max-content max-content max-content;
}

.mc-lockup--diagram.mc-lockup--show-gap .mc-lockup__mark {
  object-position: var(--mc-lockup-diagram-mark-position, right center);
  margin-right: calc(var(--mc-lockup-diagram-mark-margin, 0px) * -1);
}

.mc-lockup--diagram.mc-lockup--show-gap .mc-lockup__word {
  justify-self: start;
  margin-left: var(--mc-lockup-diagram-word-offset);
}

.mc-lockup--on-dark .mc-lockup__word {
  color: var(--mc-logo-ink-reversed);
}

.mc-lockup--centered {
  justify-self: center;
}
