/* ==========================================================================
   SLIDE 02 — THE CREW
   Four agents as installed system modules. Header sits top-left (editorial,
   asymmetric — not centred), module grid below. ZAHA's card carries a quiet
   cyan accent: she rendered this very deck (the meta-proof), a deliberate
   focal break in an otherwise even row (D2 — one accent, not symmetry-slop).
   Selectors qualified with .reveal to beat the theme's generic h2/h3 rules.
   ========================================================================== */

.nc-crew__slide {
  justify-content: center;
  gap: var(--space-2xl);
}

/* header — left aligned, generous */
.nc-crew__head { max-width: 60ch; }
.nc-crew__head .nc-eyebrow { margin-bottom: var(--space-md); }

.reveal .nc-crew__title {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-md);
}

.nc-crew__lead {
  font-family: var(--font-body);
  font-size: var(--fs-body-lg);
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 60ch;
  margin: 0;
}

/* module grid — four columns across the stage width */
.nc-crew__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-lg);
}

/* a module card. nc-card base + a tall internal rhythm. The whole card hangs
   its content from the top and pushes the io-line to the bottom so all four
   align on a baseline regardless of description length. */
.nc-mod {
  display: flex;
  flex-direction: column;
  min-height: 340px;
  padding: var(--space-xl);
  position: relative;
  transition: border-color var(--dur-base) var(--ease-out),
              background-color var(--dur-base) var(--ease-out);
}

.nc-mod__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-xl);
}
.nc-mod__top .nc-eyebrow { font-size: var(--fs-label-sm); letter-spacing: 0.14em; }
.nc-mod__top .nc-badge { padding: 0.3em 0.6em; }

.reveal .nc-mod__name {
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  margin: 0 0 var(--space-2xs);
}

.nc-mod__role {
  font-family: var(--font-mono);
  font-size: var(--fs-label);
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--accent-2);
  margin: 0 0 var(--space-md);
}

.nc-mod__desc {
  font-family: var(--font-body);
  font-size: var(--fs-body-sm);
  line-height: 1.5;
  color: var(--text-primary);
  margin: 0;
}

/* io-line pinned to the card bottom — a quiet mono "output" signature.
   Single-line by design; the "out" key is dimmed so the cyan value reads. */
.nc-mod__io {
  margin-top: auto;
  padding-top: var(--space-lg);
  font-family: var(--font-mono);
  font-size: var(--fs-label-sm);
  letter-spacing: 0.02em;
  color: var(--text-muted);
  white-space: nowrap;
}
.nc-mod__io-k { color: var(--border-strong); }
.nc-mod__io-k::after { content: ":"; }

/* ZAHA — the self/meta card. Cyan-accented border + faint glow + a hairline
   top edge in cyan. This is the one focal point in the row. */
.nc-mod--self {
  border-color: rgba(43,212,196,0.45);
  background:
    linear-gradient(180deg, rgba(43,212,196,0.05), transparent 40%),
    var(--bg-surface-2);
  box-shadow: var(--glow-cyan);
}
.nc-mod--self::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent-2), transparent);
}
