/* ==========================================================================
   NEXIRA: deep service pages only (Stage 04 onwards).
   Loaded after nexira.css by service-detail pages. Never loaded by
   index.html or Services.html. All classes are prefixed "sd-" so nothing
   here can collide with homepage or Services Hub components.
   ========================================================================== */

.page-service { --sd-parchment: #f2eadb; --sd-ivory-3: #ece3d1; }

/* Shared section head */
.sd-head { max-width: 52rem; margin-bottom: var(--s-8); }
.sd-head--split { max-width: none; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-4) var(--s-8); align-items: end; }
.sd-head--split .eyebrow { grid-column: 1 / -1; margin: 0; }
.sd-head--split h2 { margin: 0; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); }
.sd-head__lede { margin: 0; color: var(--text-muted); font-size: var(--fs-md); line-height: 1.6; }
.sd-head__lede a { color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 0.2em; }
.sd-k { margin: 0 0 var(--s-4); font-family: var(--sans); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.19em; text-transform: uppercase; color: var(--ink); display: flex; align-items: center; gap: 0.6rem; }
.sd-note { margin: var(--s-5) 0 0; font-size: 0.88rem; line-height: 1.6; color: var(--text-muted); max-width: 40rem; }

/* Gold-point list (visual bullet, not a completion mark) */
.sd-dots { list-style: none; margin: 0; padding: 0; }
.sd-dots li { position: relative; padding: 0.5rem 0 0.5rem 1.35rem; line-height: 1.45; color: var(--ink); }
.sd-dots li::before { content: ""; position: absolute; left: 0.1rem; top: calc(0.5rem + 0.55em); width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.sd-dots--two { columns: 2; column-gap: var(--s-6); margin-bottom: var(--s-6); }
.sd-dots--two li { break-inside: avoid; }
.sd-dots--inline { display: flex; flex-wrap: wrap; gap: 0 var(--s-6); margin: var(--s-4) 0 0; }

/* 01 HERO ---------------------------------------------------------------- */
.sd-hero { background: var(--ink); color: var(--on-dark); padding-block: clamp(3rem, 2rem + 4vw, 6rem); }
.sd-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.sd-crumbs { display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; font-size: 0.8rem; color: var(--on-dark-muted); margin-bottom: var(--s-6); }
.sd-crumbs a { color: var(--on-dark-muted); text-decoration: none; }
.sd-crumbs a:hover { color: var(--gold-soft); }
.sd-crumbs [aria-current] { color: var(--on-dark); }
.sd-id { display: flex; width: fit-content; align-items: center; gap: 1.1rem; margin: 0 0 var(--s-5); padding: 0.45rem 0.85rem; border: 1px solid var(--line-dark-2); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-soft); }
.sd-id__sep { display: none; } /* decorative separator removed (Stage 07E); the two parts are separated by spacing */
.sd-hero h1 { font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.4rem); max-width: 13ch; margin-bottom: var(--s-6); }
.sd-hero h1 em { display: block; color: var(--gold-soft); }
.sd-hero__lede { font-family: var(--serif); font-size: var(--fs-md); line-height: 1.55; color: var(--on-dark); max-width: 38rem; margin-bottom: var(--s-4); }
.sd-hero__p { color: var(--on-dark-muted); max-width: 38rem; margin: 0; }

.sd-slot { position: relative; margin: 0; aspect-ratio: 4 / 5; background: #1c1b18; border: 1px solid var(--line-dark-2); display: grid; place-items: center; padding: var(--s-6); }
.sd-slot::before { content: ""; position: absolute; inset: 14px; border: 1px dashed rgba(217, 187, 116, 0.35); pointer-events: none; }
.sd-slot__inner { position: relative; max-width: 22rem; text-align: center; }
.sd-slot__k { margin: 0 0 var(--s-3); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-soft); }
.sd-slot__t { margin: 0 0 var(--s-3); font-family: var(--serif); font-size: 1.35rem; color: var(--on-dark); }
.sd-slot__d { margin: 0 0 var(--s-4); font-size: 0.85rem; line-height: 1.55; color: var(--on-dark-muted); }
.sd-slot__f { margin: 0; font-family: ui-monospace, Consolas, monospace; font-size: 0.72rem; color: var(--on-dark-muted); word-break: break-all; }

/* 02 REALITY -------------------------------------------------------------- */
.sd-reality { background: var(--paper); padding-block: var(--section-y); }
.sd-reality__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-4) var(--s-8); align-items: end; margin-bottom: var(--s-9); }
.sd-reality h2 { margin: 0; font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); }
.sd-reality__body p { color: var(--text-muted); font-size: var(--fs-md); line-height: 1.6; }
.sd-reality__body p:last-child { margin-bottom: 0; }
.sd-statement { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-8); align-items: end; padding-top: var(--s-7); border-top: 1px solid var(--ink); }
.sd-statement__line { margin: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.sd-statement__a, .sd-statement__b { font-family: var(--serif); font-size: clamp(2.4rem, 1.4rem + 4vw, 4.6rem); line-height: 1; letter-spacing: -0.02em; color: var(--ink); }
.sd-statement__b { font-style: italic; color: var(--gold-text); }
.sd-statement__mid { font-size: 0.74rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text-muted); padding: 0.6rem 0; display: flex; align-items: center; gap: 0.8rem; }
.sd-statement__support { margin: 0; font-family: var(--serif); font-size: 1.2rem; line-height: 1.55; color: var(--ink); padding-left: var(--s-5); border-left: 2px solid var(--gold); }

/* 03 READINESS MATRIX ---------------------------------------------------- */
.sd-frame { background: var(--ivory); padding-block: var(--section-y); }
.sd-matrix { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line-strong); border: 1px solid var(--line-strong); }
.sd-matrix li { background: var(--paper); padding: var(--s-5) var(--s-5) var(--s-6); }
.sd-matrix__n { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; color: var(--gold-text); margin-bottom: var(--s-4); }
.sd-matrix h3 { font-size: 1.3rem; margin: 0 0 var(--s-2); }
.sd-matrix p { margin: 0; font-size: 0.92rem; line-height: 1.55; color: var(--text-muted); }
.sd-matrix li:nth-child(8) { background: var(--sd-parchment); }
.sd-matrix__cap { margin: var(--s-5) 0 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s-2) var(--s-6); align-items: baseline; }
.sd-matrix__cap-t { font-family: var(--serif); font-style: italic; font-size: 1.15rem; color: var(--ink); }
.sd-matrix__cap-n { font-size: 0.82rem; color: var(--text-muted); }

/* 04 SCOPE --------------------------------------------------------------- */
.sd-scope { background: var(--paper); padding-block: var(--section-y); }
.sd-scope__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.sd-scope__lead { position: sticky; top: calc(var(--header-h) + 2rem); }
.sd-scope__lead h2 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); }
.sd-scope__p { color: var(--text-muted); font-size: var(--fs-md); line-height: 1.6; margin: 0; }
.sd-caps { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: var(--s-7); border-top: 1px solid var(--ink); padding-top: var(--s-3); }
.sd-caps li { break-inside: avoid; position: relative; padding: 0.8rem 0 0.8rem 1.5rem; border-bottom: 1px solid rgba(201, 190, 163, 0.55); font-size: 1rem; line-height: 1.45; color: var(--ink); }
.sd-caps li::before { content: ""; position: absolute; left: 0.15rem; top: calc(0.8rem + 0.52em); width: 7px; height: 7px; border-radius: 50%; border: 1px solid var(--gold); background: var(--gold); box-shadow: 0 0 0 3px rgba(184, 138, 45, 0.14); }

/* 05 EVIDENCE CHAIN (dark) ---------------------------------------------- */
.sd-chain { background: var(--ink); color: var(--on-dark); padding-block: var(--section-y); }
.sd-chain__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(2rem, 1rem + 5vw, 6rem); align-items: start; }
.sd-chain__lead { position: sticky; top: calc(var(--header-h) + 2rem); }
.sd-chain h2 { font-size: clamp(1.8rem, 1.3rem + 1.8vw, 2.8rem); }
.sd-chain__p { color: var(--on-dark-muted); font-size: var(--fs-md); line-height: 1.6; }
.sd-chain__key { margin: var(--s-6) 0 0; padding-top: var(--s-5); border-top: 1px solid var(--gold); font-family: var(--serif); font-size: 1.3rem; line-height: 1.45; color: var(--gold-soft); }
.sd-links { list-style: none; margin: 0; padding: 0; position: relative; }
.sd-links li { position: relative; padding: 0 0 var(--s-6) 2.75rem; }
.sd-links li::before { content: ""; position: absolute; left: 5px; top: 0.9rem; bottom: -0.35rem; width: 1px; background: rgba(184, 138, 45, 0.55); }
.sd-links li:last-child { padding-bottom: 0; }
.sd-links li:last-child::before { display: none; }
.sd-links li::after { content: ""; position: absolute; left: 0; top: 0.3rem; width: 11px; height: 11px; border-radius: 50%; border: 1px solid var(--gold); background: var(--ink); }
.sd-links li:last-child::after { background: var(--gold); }
.sd-links__k { margin: 0 0 0.35rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-soft); }
.sd-links__q { margin: 0; font-family: var(--serif); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); line-height: 1.35; color: var(--on-dark); }

/* 06 LEADERSHIP ---------------------------------------------------------- */
.sd-leaders { background: var(--paper); padding-block: var(--section-y); }
.sd-quote { margin: 0 0 var(--s-8); padding: var(--s-6) 0 var(--s-6) var(--s-6); border-left: 2px solid var(--gold); max-width: 58rem; }
.sd-quote p { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem); line-height: 1.3; color: var(--ink); }
.sd-quote span { display: block; color: var(--gold-text); font-style: italic; margin-top: 0.3rem; }
.sd-leaders__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-8); }
.sd-leaders__grid > div { background: var(--ivory); padding: var(--s-6); }

/* 07 EVIDENCE READINESS -------------------------------------------------- */
.sd-evidence { background: var(--ivory); padding-block: var(--section-y); }
.sd-thread { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4); }
.sd-thread li { background: var(--paper); border: 1px solid #e2d8c2; border-radius: 6px; padding: var(--s-5) var(--s-5) var(--s-6); position: relative; }
.sd-thread__k { display: block; font-family: var(--serif); font-size: 1.5rem; line-height: 1.1; color: var(--ink); margin-bottom: var(--s-2); }
.sd-thread p { margin: 0; color: var(--text-muted); font-size: 0.97rem; line-height: 1.5; }
.sd-thread li:nth-child(5), .sd-thread li:nth-child(6) { background: var(--sd-parchment); }
.sd-principle { margin-top: var(--s-7); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-7); align-items: center; background: var(--ink); color: var(--on-dark); padding: var(--s-7); }
.sd-principle__line { margin: 0; font-family: var(--serif); font-size: clamp(1.4rem, 1rem + 1.4vw, 2.1rem); line-height: 1.25; }
.sd-principle__line .nw { white-space: nowrap; }
.sd-principle__line b { color: var(--gold); font-weight: 300; font-family: var(--sans); margin: 0 0.2em; }
.sd-principle__line em { color: var(--gold-soft); }
.sd-principle__p { margin: 0; color: var(--on-dark-muted); font-size: 0.98rem; line-height: 1.6; }

/* 08 METHOD -------------------------------------------------------------- */
.sd-method { background: var(--paper); padding-block: var(--section-y); }
.sd-stages { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sd-stage { position: relative; padding-right: var(--s-5); }
.sd-stage__n { display: block; font-family: var(--serif); font-size: clamp(2.2rem, 1.6rem + 1.6vw, 3rem); line-height: 1; color: var(--gold); margin-bottom: var(--s-4); }
.sd-stage::before { content: ""; position: absolute; left: 0; right: 0; top: calc(clamp(2.2rem, 1.6rem + 1.6vw, 3rem) + var(--s-4) + 5px); height: 1px; background: var(--line-strong); }
.sd-stage:last-child::before { right: auto; width: 11px; }
.sd-stage__node { position: absolute; left: 0; top: calc(clamp(2.2rem, 1.6rem + 1.6vw, 3rem) + var(--s-4)); width: 11px; height: 11px; border-radius: 50%; background: var(--paper); border: 1px solid var(--gold); }
.sd-stage--key .sd-stage__node { background: var(--gold); }
.sd-stage h3 { margin: calc(11px + var(--s-5)) 0 var(--s-2); font-size: 1.4rem; }
.sd-stage--key h3 { color: var(--gold-text); }
.sd-stage__def { margin: 0 0 var(--s-4); font-size: 0.88rem; line-height: 1.5; color: var(--text-muted); }
.sd-stage__app { margin: 0; padding-top: var(--s-3); border-top: 1px solid var(--line); font-family: var(--serif); font-size: 1.02rem; line-height: 1.45; color: var(--ink); }
.sd-routes { margin-top: var(--s-9); padding-top: var(--s-7); border-top: 1px solid var(--ink); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s-7); }
.sd-routes__intro { margin: 0; font-family: var(--serif); font-size: 1.3rem; line-height: 1.4; color: var(--ink); }
.sd-routes__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6); }
.sd-routes__w { margin: 0; font-family: var(--serif); font-size: 1.6rem; line-height: 1.1; }
.sd-routes__l { margin: var(--s-2) 0 var(--s-3); font-size: 0.66rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-text); }
.sd-routes__list li > p:last-child { margin: 0; font-size: 0.92rem; line-height: 1.55; color: var(--text-muted); }
.sd-routes__list a { color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 0.2em; }

/* 09 WIDER BUSINESS ------------------------------------------------------ */
.sd-wider { background: var(--ivory); padding-block: var(--section-y); }
.sd-wider__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.sd-wider__media { margin: 0; aspect-ratio: 1 / 1; overflow: hidden; background: var(--ivory-2); }
.sd-wider__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sd-wider h2 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); max-width: 20ch; }
.sd-wider__copy > p:not(.eyebrow):not(.sd-note) { color: var(--text-muted); font-size: var(--fs-md); line-height: 1.6; }
.sd-wider .sd-note { margin-bottom: var(--s-6); }

/* 10 BOUNDARIES ---------------------------------------------------------- */
.sd-bounds { background: var(--paper); padding-block: var(--s-9); border-top: 1px solid var(--line); }
.sd-bounds__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); }
.sd-bounds h2 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); margin: 0; }
.sd-bounds__body > p { color: var(--text-muted); margin: 0 0 var(--s-3); }
.sd-bounds__ind { margin-top: var(--s-5) !important; color: var(--ink) !important; font-weight: 500; }

/* 11 FAQ (approved component, background only) */
.sd-faq { background: var(--ivory); border-top: 0; }

/* 12 CLOSING */
.sd-closing__h { max-width: 18ch !important; }

/* Current-page marker in the shared Services mega menu */
.page-service .mega__item[aria-current="page"] .mega__title { color: var(--gold-text); }
.page-service .footer-col a[aria-current="page"] { color: var(--gold-soft); }

/* RESPONSIVE ------------------------------------------------------------- */
@media (max-width: 1100px) {
  .sd-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-stages { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--s-7); }
  .sd-stage:nth-child(3)::before { right: auto; width: 11px; }
  .sd-routes { grid-template-columns: 1fr; gap: var(--s-5); }
}
@media (max-width: 960px) {
  .sd-hero__grid, .sd-head--split, .sd-reality__grid, .sd-statement, .sd-scope__grid, .sd-chain__grid, .sd-wider__grid, .sd-bounds__grid, .sd-principle { grid-template-columns: 1fr; }
  .sd-hero__media { max-width: 520px; aspect-ratio: 16 / 11; }
  .sd-scope__lead, .sd-chain__lead { position: static; }
  .sd-leaders__grid { grid-template-columns: 1fr; gap: var(--s-5); }
  .sd-thread { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-wider__media { max-width: 560px; }
  .sd-stages { grid-template-columns: 1fr; row-gap: 0; }
  .sd-stage, .sd-stage:nth-child(3) { padding: 0 0 var(--s-6) 3.4rem; }
  .sd-stage::before, .sd-stage:nth-child(3)::before { left: 5px; right: auto; top: 1.2rem; bottom: 0; width: 1px; height: auto; }
  .sd-stage:last-child::before { display: none; }
  .sd-stage__node { top: 0.5rem; }
  .sd-stage__n { font-size: 1.7rem; margin-bottom: var(--s-2); }
  .sd-stage h3 { margin-top: 0; }
  .sd-stage__def, .sd-stage__app { max-width: 40rem; }
}
@media (max-width: 720px) {
  .sd-caps, .sd-dots--two { columns: 1; }
  .sd-routes__list { grid-template-columns: 1fr; gap: var(--s-5); }
}
@media (max-width: 640px) {
  .sd-matrix, .sd-thread { grid-template-columns: 1fr; }
  .sd-principle { padding: var(--s-5); gap: var(--s-4); }
  .sd-leaders__grid > div { padding: var(--s-5); }
  .sd-quote { padding: var(--s-4) 0 var(--s-4) var(--s-5); }
  .sd-hero h1 { font-size: clamp(2.2rem, 1.6rem + 3vw, 2.8rem); }
  .sd-id { gap: 0.85rem; padding: 0.4rem 0.7rem; letter-spacing: 0.16em; }
}

/* ==========================================================================
   STAGE 04B: content depth additions (CQC page). All "sd-" scoped.
   Background sequence: hero ink / reality paper / where ivory / matrix paper /
   scope ivory / foundations paper / test INK / paper-to-practice ivory /
   leaders paper / evidence ivory / after paper / transition INK / method paper /
   wider ivory / bounds paper / faq ivory / closing INK
   ========================================================================== */
.sd-frame { background: var(--paper); }
.sd-matrix li { background: var(--ivory); }
.sd-scope { background: var(--ivory); }
.sd-scope .sd-caps li { border-bottom-color: rgba(201, 190, 163, 0.7); }

/* Where are you now: editorial index */
.sd-where { background: var(--ivory); padding-block: var(--section-y); }
.sd-where__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.sd-where__lead { position: sticky; top: calc(var(--header-h) + 2rem); }
.sd-where h2 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); }
.sd-where__p { color: var(--text-muted); font-size: var(--fs-md); line-height: 1.6; margin: 0; }
.sd-index { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--ink); }
.sd-index li { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); column-gap: var(--s-4); padding: var(--s-5) 0; border-bottom: 1px solid var(--line-strong); }
.sd-index__n { grid-row: 1 / span 2; font-family: var(--serif); font-size: 1.6rem; line-height: 1; color: var(--gold); padding-top: 0.15rem; }
.sd-index h3 { margin: 0 0 var(--s-2); font-size: 1.3rem; line-height: 1.25; }
.sd-index li > p { margin: 0; color: var(--text-muted); font-size: 0.97rem; line-height: 1.55; }
.sd-index__close { margin: var(--s-6) 0 0; font-family: var(--serif); font-style: italic; font-size: 1.15rem; line-height: 1.5; color: var(--ink); padding-left: var(--s-5); border-left: 2px solid var(--gold); }

/* Readiness foundations: grouped evidence framework */
.sd-found { background: var(--paper); padding-block: var(--section-y); }
.sd-found__note { margin: calc(-1 * var(--s-5)) 0 var(--s-7); max-width: 52rem; font-size: 0.9rem; line-height: 1.6; color: var(--text-muted); }
.sd-found__note strong { color: var(--ink); font-weight: 600; }
.sd-found__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-7) var(--s-6); }
.sd-found__g { border-top: 1px solid var(--ink); padding-top: var(--s-4); }
.sd-found__n { margin: 0 0 var(--s-2); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-text); }
.sd-found__g h3 { margin: 0 0 var(--s-2); font-size: 1.45rem; }
.sd-found__l { margin: 0 0 var(--s-2); font-size: 0.78rem; font-style: italic; color: var(--text-muted); }
.sd-dots--sm li { padding: 0.3rem 0 0.3rem 1.2rem; font-size: 0.95rem; }
.sd-dots--sm li::before { top: calc(0.3rem + 0.55em); width: 5px; height: 5px; }

/* Nexira readiness test (dark) */
.sd-test { background: var(--ink); color: var(--on-dark); padding-block: var(--section-y); }
.sd-test .sd-head__lede { color: var(--on-dark-muted); }
.sd-test__chain { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line-dark-2); border: 1px solid var(--line-dark-2); }
.sd-test__chain li { background: #1a1917; padding: var(--s-5) var(--s-5) var(--s-6); }
.sd-test__n { display: block; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; color: var(--gold-soft); margin-bottom: var(--s-4); }
.sd-test__k { margin: 0 0 var(--s-2); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.19em; text-transform: uppercase; color: var(--on-dark-muted); }
.sd-test__q { margin: 0; font-family: var(--serif); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.4rem); line-height: 1.35; color: var(--on-dark); }
.sd-test__for { margin-top: var(--s-8); display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); gap: var(--s-6); align-items: start; }
.sd-test__label { margin: 0; padding-top: 0.5rem; font-family: var(--sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-soft); display: flex; align-items: center; gap: 0.7rem; }
.sd-test__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-4) var(--s-6); }
.sd-test__list li { font-family: var(--serif); font-size: clamp(1.25rem, 1.05rem + 0.6vw, 1.6rem); line-height: 1.25; color: var(--gold-soft); padding-top: var(--s-3); border-top: 1px solid var(--line-dark-2); }
.sd-test__list li:last-child { grid-column: span 3; font-style: italic; color: var(--on-dark); }

/* Paper to practice: now a light section */
.sd-chain--light { background: var(--ivory); color: var(--ink); }
.sd-chain--light .sd-chain__p { color: var(--text-muted); }
.sd-chain--light .sd-chain__key { color: var(--gold-text); }
.sd-chain--light .sd-links li::after { background: var(--ivory); }
.sd-chain--light .sd-links li:last-child::after { background: var(--gold); }
.sd-chain--light .sd-links__k { color: var(--gold-text); }
.sd-chain--light .sd-links__q { color: var(--ink); }

/* After submission */
.sd-after { background: var(--paper); padding-block: var(--section-y); }
.sd-after__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-7) var(--s-8); }
.sd-after__list li { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); column-gap: var(--s-4); }
.sd-after__n { grid-row: 1 / span 2; font-family: var(--serif); font-size: 2rem; line-height: 1; color: var(--gold); }
.sd-after__list h3 { margin: 0 0 var(--s-2); font-size: 1.35rem; }
.sd-after__list li > p { margin: 0; color: var(--text-muted); font-size: 0.97rem; line-height: 1.6; }

/* Registration to operation (dark): stepped progression bars, not the Method */
.sd-transit { background: var(--ink); color: var(--on-dark); padding-block: var(--section-y); }
.sd-transit .sd-head__lede p { margin: 0 0 var(--s-3); color: var(--on-dark-muted); }
.sd-transit .sd-head__lede p:last-child { margin: 0; }
.sd-transit__track { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--s-4); }
.sd-transit__track li { padding-top: var(--s-5); position: relative; }
.sd-transit__track li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--gold); }
.sd-transit__track li:nth-child(1)::before { opacity: 0.3; }
.sd-transit__track li:nth-child(2)::before { opacity: 0.45; }
.sd-transit__track li:nth-child(3)::before { opacity: 0.62; }
.sd-transit__track li:nth-child(4)::before { opacity: 0.8; }
.sd-transit__track h3 { margin: 0 0 var(--s-3); font-size: 1.35rem; color: var(--on-dark); }
.sd-transit__track p { margin: 0; color: var(--on-dark-muted); font-size: 0.93rem; line-height: 1.55; }
.sd-transit__next { margin: var(--s-8) 0 0; padding-top: var(--s-5); border-top: 1px solid var(--line-dark-2); max-width: 52rem; font-family: var(--serif); font-size: 1.15rem; line-height: 1.55; color: var(--on-dark); }
.sd-transit__next a { color: var(--gold-soft); text-decoration-color: rgba(217, 187, 116, 0.5); text-underline-offset: 0.2em; }

.faq__a a { color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 0.2em; }

@media (max-width: 1100px) {
  .sd-transit__track { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--s-6); }
  .sd-test__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-test__list li:last-child { grid-column: span 2; }
  .sd-test__for { grid-template-columns: 1fr; gap: var(--s-4); }
}
@media (max-width: 960px) {
  .sd-where__grid { grid-template-columns: 1fr; }
  .sd-where__lead { position: static; }
  .sd-found__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-test__chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-after__list { grid-template-columns: 1fr; gap: var(--s-6); }
}
@media (max-width: 640px) {
  .sd-found__grid, .sd-test__chain, .sd-test__list { grid-template-columns: 1fr; }
  .sd-test__list li:last-child { grid-column: auto; }
  .sd-transit__track { grid-template-columns: 1fr; row-gap: var(--s-5); }
  .sd-index li, .sd-after__list li { grid-template-columns: 2.4rem minmax(0, 1fr); }
  .sd-found__note { margin-top: 0; }
}
.sd-after__list li, .sd-index li { align-content: start; }

/* ==========================================================================
   STAGE 04C: Paper to Practice as an editorial bridge (no chain, no stages)
   ========================================================================== */
.sd-bridge { background: var(--ivory); padding-block: var(--section-y); }
.sd-bridge__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-5) clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.sd-bridge h2 { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.3rem); line-height: 1.08; margin: 0; }
.sd-bridge__body { padding-top: var(--s-6); }
.sd-bridge__body p { margin: 0 0 var(--s-4); color: var(--text-muted); font-size: var(--fs-md); line-height: 1.65; max-width: 38rem; }
.sd-bridge__body .sd-bridge__first { font-family: var(--serif); font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); line-height: 1.4; color: var(--ink); }
.sd-bridge__close { margin: var(--s-8) 0 0; padding-top: var(--s-6); border-top: 1px solid var(--gold); max-width: 50rem; font-family: var(--serif); font-style: italic; font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2rem); line-height: 1.35; color: var(--gold-text); }
@media (max-width: 960px) {
  .sd-bridge__grid { grid-template-columns: 1fr; }
  .sd-bridge h2 { max-width: 18ch; }
  .sd-bridge__body { padding-top: 0; }
  .sd-bridge__close { margin-top: var(--s-7); }
}

/* ==========================================================================
   STAGE 04C: approved hero photograph (1774 x 887 landscape source)
   Desktop 4:3 keeps the central leader, the colleague on the left and the
   laptop; tablet shows the full meeting; mobile 4:3 centres on the leader.
   ========================================================================== */
.sd-hero__photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #1c1b18; }
.sd-hero__photo picture { display: block; width: 100%; height: 100%; }
.sd-hero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 24% 50%; }
@media (max-width: 960px) {
  .sd-hero__photo.sd-hero__media { max-width: none; aspect-ratio: 2 / 1; }
  .sd-hero__photo img { object-position: 50% 50%; }
}
@media (max-width: 640px) {
  .sd-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
  .sd-hero__photo img { object-position: 36% 45%; }
}
