/* ==========================================================================
   page-how-we-work.css
   Specialist 6. Layout only. Tokens only. No numbering anywhere.
   ========================================================================== */

/* ---------- Phase list (overview timeline) ---------- */
.phase-list {
  margin-top: clamp(2rem, 1rem + 2.5vw, 3.5rem);
  border-top: var(--hairline-strong);
  list-style: none;
  padding: 0;
}

.phase-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: var(--space-5);
  padding: clamp(1.5rem, 1rem + 1.25vw, 2.25rem) 0;
  border-bottom: var(--hairline);
  color: var(--ink-900);
  text-decoration: none;
  transition: padding var(--dur-2) var(--ease-out),
              background var(--dur-2) var(--ease-out);
}

.phase-row:hover,
.phase-row:focus-visible {
  background: color-mix(in oklab, var(--accent) 5%, transparent);
  padding-inline: var(--space-3);
  outline: none;
}

.phase-row__name {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-3xl);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  font-variation-settings: "opsz" 48;
  margin: 0;
}

.phase-row__name em {
  font-style: italic;
  color: var(--highlight);
}

.phase-row__meta {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--fg-subtle);
  white-space: nowrap;
}

.phase-row__arrow {
  display: inline-block;
  margin-left: var(--space-3);
  color: var(--accent);
  transition: transform var(--dur-2) var(--ease-out);
}

.phase-row:hover .phase-row__arrow,
.phase-row:focus-visible .phase-row__arrow { transform: translateX(6px); }

@media (max-width: 640px) {
  .phase-row { grid-template-columns: 1fr; gap: var(--space-2); }
}

/* ---------- Teaser pair (overview) ---------- */
.hww-teasers {
  margin-top: clamp(3rem, 2rem + 3vw, 5rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: var(--hairline-strong);
  border-bottom: var(--hairline);
}

.hww-teaser {
  display: block;
  padding: var(--space-7) var(--space-6) var(--space-7) 0;
  color: inherit;
  text-decoration: none;
  border-right: var(--hairline);
  transition: background var(--dur-2) var(--ease-out);
}

.hww-teaser:last-child { border-right: 0; padding-left: var(--space-6); padding-right: 0; }

.hww-teaser:hover,
.hww-teaser:focus-visible {
  background: color-mix(in oklab, var(--accent) 5%, transparent);
  outline: none;
}

.hww-teaser__kicker {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--accent);
}

.hww-teaser__title {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-2xl);
  line-height: var(--leading-snug);
  letter-spacing: var(--tracking-tight);
  font-variation-settings: "opsz" 36;
  margin: var(--space-3) 0 var(--space-4);
  max-width: 22ch;
  color: var(--ink-900);
}

.hww-teaser__title em { font-style: italic; color: var(--highlight); }

.hww-teaser__body {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  line-height: var(--leading-prose);
  color: var(--fg-muted);
  max-width: 52ch;
  margin: 0;
}

.hww-teaser__more {
  display: inline-block;
  margin-top: var(--space-5);
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--accent);
}

.hww-teaser__more span { display: inline-block; transition: transform var(--dur-2) var(--ease-out); }
.hww-teaser:hover .hww-teaser__more span,
.hww-teaser:focus-visible .hww-teaser__more span { transform: translateX(6px); }

@media (max-width: 900px) {
  .hww-teasers { grid-template-columns: 1fr; }
  .hww-teaser { border-right: 0; border-bottom: var(--hairline); padding: var(--space-7) 0; }
  .hww-teaser:last-child { border-bottom: 0; padding: var(--space-7) 0; }
}

/* ---------- Editorial phase / engagement section ---------- */
.editorial-section {
  padding-top: clamp(2.5rem, 1.5rem + 2.5vw, 4rem);
  margin-top: clamp(2.5rem, 1.5rem + 2.5vw, 4rem);
  border-top: var(--hairline);
  scroll-margin-top: 6rem;
}

.editorial-section:first-of-type {
  border-top: var(--hairline-strong);
  margin-top: 0;
}

.editorial-section__label {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: var(--space-4);
}

.editorial-section__title {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-3xl);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  font-variation-settings: "opsz" 48;
  color: var(--ink-900);
  margin: 0 0 var(--space-6);
  max-width: 22ch;
}

.editorial-section__title em { font-style: italic; color: var(--highlight); }

.editorial-section .prose { max-width: 66ch; }

/* Small ledger row used inside editorial sections. */
.editorial-ledger {
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: var(--hairline);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

@media (min-width: 640px) {
  .editorial-ledger { grid-template-columns: repeat(3, 1fr); gap: var(--space-6); }
}

.editorial-ledger > div + div { padding-left: 0; }
@media (min-width: 640px) {
  .editorial-ledger > div + div { padding-left: var(--space-5); border-left: var(--hairline); }
}

.editorial-ledger dt {
  font-family: var(--font-mono);
  font-size: var(--text-2xs);
  letter-spacing: var(--tracking-mono);
  text-transform: uppercase;
  color: var(--fg-subtle);
  margin: 0 0 var(--space-2);
}

.editorial-ledger dd {
  font-family: var(--font-sans);
  font-size: var(--text-lg);
  line-height: var(--leading-snug);
  color: var(--ink-900);
  margin: 0;
}

.editorial-ledger dd em { font-style: italic; color: var(--highlight); }
