/* ==========================================================================
   NEXIRA CONSULTING: WHO WE HELP (Stage 11-14B)
   Page-specific styles for who-we-help.html only. All selectors wh- prefixed.
   Reuses .sd-hero / .sd-crumbs / .sd-dots (service-detail.css) and .closing
   (nexira.css) read-only. Stage 07E rule: no decorative short rules.
   ========================================================================== */

.wh-k { margin: 0 0 var(--s-4); font-family: var(--sans); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.2em; line-height: 1.4; text-transform: uppercase; color: var(--gold-text); }
.wh-k--dark { color: var(--gold-soft); }
.wh-n { display: block; margin-bottom: 0.7rem; font-family: var(--serif); font-size: 1.2rem; line-height: 1; color: var(--gold-text); }
.wh-head { max-width: 48rem; margin-bottom: var(--s-7); }
.wh-head h2 { font-size: var(--fs-2xl); margin: 0; }
.wh-head__intro { margin: var(--s-4) 0 0; font-size: var(--fs-md); line-height: 1.6; color: var(--text-muted); }

/* 01 HERO */
.wh-hero { padding-block: clamp(2.75rem, 1.5rem + 4vw, 5.5rem); }
.wh-hero h1 { font-size: clamp(2.3rem, 1.5rem + 3.2vw, 4.2rem); max-width: 18ch; margin: 0 0 var(--s-5); }
.wh-hero__lede { max-width: 44rem; margin: 0; }

/* 02 WHERE NEXIRA WORKS (ivory; scope beside a fit panel) */
.wh-where { background: var(--ivory); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.wh-where__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.wh-where__main h2 { font-size: var(--fs-2xl); margin: 0 0 var(--s-5); }
.wh-where__lead { margin: 0 0 var(--s-4); font-family: var(--serif); font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); line-height: 1.5; color: var(--ink); max-width: 40rem; }
.wh-where__main p:not(.wh-k):not(.wh-where__lead) { margin: 0; line-height: 1.7; max-width: 40rem; }
.wh-fit { border-top: 1px solid var(--line-strong); padding-top: var(--s-5); }
.wh-fit h3 { margin: 0 0 var(--s-3); font-family: var(--sans); font-size: 1rem; font-weight: 600; line-height: 1.4; color: var(--ink); }
.wh-fit__note { margin: var(--s-4) 0 0; font-size: 0.92rem; line-height: 1.6; color: var(--text-muted); }

/* 03 STAGE OF DEVELOPMENT (paper; three columns over a structural line) */
.wh-stage { background: var(--paper); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.wh-stage__list { list-style: none; margin: 0; padding: var(--s-6) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 0.5rem + 3vw, 4rem); border-top: 1px solid var(--line-strong); }
.wh-stage__list h3 { margin: 0 0 var(--s-3); font-size: clamp(1.3rem, 1.1rem + 0.6vw, 1.6rem); line-height: 1.2; }
.wh-stage__list p { margin: 0; color: var(--text-muted); line-height: 1.65; }

/* 04 PEOPLE (deeper ivory; ruled rows, role name beside two fields) */
.wh-people { background: var(--ivory-2); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.wh-people__list { border-bottom: 1px solid var(--line-strong); }
.wh-role { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(1.25rem, 0.5rem + 3vw, 4rem); padding-block: var(--s-6); border-top: 1px solid var(--line-strong); }
.wh-role h3 { margin: 0; font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.55rem); line-height: 1.25; max-width: 18ch; }
.wh-role dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4) clamp(1.25rem, 0.5rem + 2.5vw, 3rem); }
.wh-role dt { margin: 0 0 var(--s-2); font-size: var(--fs-xs); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-text); }
.wh-role dd { margin: 0; line-height: 1.65; color: var(--text); }
.wh-people__note { margin: var(--s-6) 0 0; font-size: 0.95rem; line-height: 1.6; color: var(--text-muted); max-width: 46rem; }

/* 05 SITUATIONS (charcoal; ruled two-part rows: recognition statement, then route) */
.wh-sit { background: var(--ink); color: var(--on-dark); padding-block: clamp(3.5rem, 2rem + 5vw, 7rem); }
.wh-sit .wh-head h2 { color: var(--on-dark); }
.wh-sit__list { list-style: none; margin: 0; padding: 0; border-bottom: 1px solid var(--line-dark-2); }
.wh-sit__list li { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-3) clamp(1.5rem, 0.5rem + 3vw, 4rem); align-items: baseline; padding-block: var(--s-5); border-top: 1px solid var(--line-dark-2); }
.wh-sit__list p { margin: 0; font-family: var(--serif); font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem); line-height: 1.45; color: var(--on-dark); }
.wh-sit__list a { justify-self: start; display: inline-block; padding-block: 0.35rem; font-size: 0.95rem; font-weight: 500; color: var(--gold-soft); text-decoration: underline; text-decoration-color: var(--line-dark-2); text-underline-offset: 0.3em; }
.wh-sit__list a:hover { color: var(--on-dark); text-decoration-color: var(--gold-soft); }
.wh-sit__note { margin: var(--s-6) 0 0; font-size: 0.95rem; line-height: 1.6; color: var(--on-dark-muted); max-width: 46rem; }

/* 06 CLOSING (light variant of .closing, between the dark band and the dark footer) */
.wh-closing { background: var(--ivory); color: var(--text); padding-block: clamp(3.5rem, 2rem + 4vw, 6rem); }
.wh-closing h2 { color: var(--ink); max-width: 14ch; }
.wh-closing p:not(.eyebrow) { color: var(--text-muted); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 960px) {
  .wh-where__grid { grid-template-columns: 1fr; gap: var(--s-6); }
  .wh-stage__list { grid-template-columns: 1fr; gap: var(--s-6); }
  .wh-role { grid-template-columns: 1fr; gap: var(--s-4); }
  .wh-role h3 { max-width: none; }
  .wh-sit__list li { grid-template-columns: 1fr; gap: var(--s-2); }
}
@media (max-width: 640px) {
  .wh-role dl { grid-template-columns: 1fr; }
  .wh-role { padding-block: var(--s-5); }
  .wh-sit__list li { padding-block: var(--s-4); }
}
