/* ==========================================================================
   SLIDE 02 — THE OPERATORS (Daniel + Martin)
   The two humans at the console. Same module-card language as the crew, but
   deliberately calmer and larger: two big cards, not four — humans are fewer
   and read heavier than the agent processes. Daniel's card = red (lead),
   Martin's = cyan (automation; seeds the later email/CRM act). Header is the
   same top-left editorial block as the crew, so the two slides rhyme.
   ========================================================================== */

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

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

.reveal .nc-ops__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-ops__lead {
  font-family: var(--font-body);
  font-size: var(--fs-body-lg);
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 62ch;
  margin: 0;
}

/* two wide operator cards */
.nc-ops__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl);
}

.nc-op {
  display: flex;
  flex-direction: column;
  min-height: 320px;
  padding: var(--space-2xl);
  position: relative;
}

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

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

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

.nc-op__desc {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.55;
  color: var(--text-primary);
  max-width: 42ch;
  margin: 0;
}

/* scope line pinned to bottom — a quiet mono signature, matching crew's io-line */
.nc-op__meta {
  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);
}
.nc-op__meta-k { color: var(--border-strong); }
.nc-op__meta-k::after { content: ":"; margin-right: 0.5em; }
.nc-op__meta-v { color: var(--accent-2); }

/* Daniel = lead. A quiet red top-edge to mark him as the one who sets the goal,
   mirroring ZAHA's cyan self-card on the crew slide (one accent per card row). */
.nc-op:first-child {
  border-color: rgba(214,52,43,0.4);
  background:
    linear-gradient(180deg, rgba(214,52,43,0.05), transparent 40%),
    var(--bg-surface-2);
}
.nc-op:first-child::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px; right: -1px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
}
.nc-op:first-child .nc-op__role { color: var(--accent-text); }
.nc-op:first-child .nc-op__meta-v { color: var(--accent-text); }

/* the placeholder note in the footer reads as a quiet build flag */
.nc-ops__note { color: var(--status-warn); letter-spacing: 0.18em; }
