/* ==========================================================================
   NEXIRA: CQC Registration & Operational Readiness page only (Stage 04D).
   Loaded after nexira.css and service-detail.css by
   cqc-registration-operational-readiness.html. Never loaded elsewhere.
   All classes prefixed "cq-". Does not affect the Turnaround page.
   ========================================================================== */

/* ---------- HERO: editorial two-column (planning / readiness story) ------ */
.cq-hero { overflow: hidden; }
.cq-hero__wrap { max-width: 1400px; }
.cq-hero h1 { max-width: none; }
.cq-hero__photo.sd-hero__media { margin: 0; overflow: hidden; background: #1c1b18; }
.cq-hero__photo picture { display: block; width: 100%; height: 100%; }
.cq-hero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }

@media (min-width: 1380px) {
  .cq-hero .cq-hero__grid { grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); gap: clamp(2.5rem, 1rem + 2.5vw, 4rem); align-items: stretch; }
  .cq-hero h1 { margin-bottom: var(--s-7); }
  .cq-hero .sd-hero__lede { margin-bottom: var(--s-5); }
  .cq-hero .hero__ctas { margin-top: var(--s-7); }
  .cq-hero__photo.sd-hero__media { aspect-ratio: auto; height: 100%; min-height: 440px; max-width: none; }
  .cq-hero__photo img { object-position: 42% 50%; }
}
@media (min-width: 1100px) and (max-width: 1379px) {
  .cq-hero .cq-hero__grid { grid-template-columns: minmax(0, 52fr) minmax(0, 48fr); gap: clamp(2rem, 1rem + 2vw, 3rem); align-items: center; }
  .cq-hero__photo.sd-hero__media { aspect-ratio: 6 / 5; height: auto; max-width: none; }
  .cq-hero__photo img { object-position: 42% 50%; }
}
@media (max-width: 1099px) {
  .cq-hero .cq-hero__grid { grid-template-columns: 1fr; }
  .cq-hero__photo.sd-hero__media { aspect-ratio: 3 / 2; height: auto; max-width: none; }
  .cq-hero__photo img { object-position: 45% 50%; }
}
@media (max-width: 640px) {
  .cq-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
  .cq-hero__photo img { object-position: 47% 50%; }
}

/* ---------- Ready to apply should mean ready to operate ---------------- */
.cq-ready { margin-top: var(--s-8); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-4) var(--s-8); align-items: start; padding: var(--s-6) 0 0; border-top: 1px solid var(--gold); }
.cq-ready__k { margin: 0; font-family: var(--serif); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem); line-height: 1.2; color: var(--ink); }
.cq-ready__body p { margin: 0 0 var(--s-4); color: var(--text-muted); font-size: var(--fs-md); line-height: 1.65; max-width: 40rem; }
.cq-ready__body .cq-ready__note { margin: 0; padding-left: var(--s-4); border-left: 2px solid var(--gold); font-size: 0.95rem; color: var(--ink); }

/* ---------- Light CQC alignment note under the 8 dimensions ------------ */
.cq-align { margin: var(--s-5) 0 0; max-width: 52rem; font-size: 0.95rem; line-height: 1.65; color: var(--text-muted); }

/* ---------- Capability detail rows (scope) ----------------------------- */
.cq-detail { margin: var(--s-8) 0 0; border-top: 2px solid var(--ink); }
.cq-detail > div { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s-6); padding: var(--s-5) 0; border-bottom: 1px solid var(--line-strong); }
.cq-detail dt { font-family: var(--serif); font-size: 1.2rem; line-height: 1.3; color: var(--ink); }
.cq-detail dd { margin: 0; font-size: 0.97rem; line-height: 1.65; color: var(--text-muted); max-width: 48rem; }

/* ---------- Readiness foundations: One service. One consistent story. -- */
.cq-found .sd-head { margin-bottom: var(--s-7); }
.cq-story { padding-top: var(--s-6); border-top: 2px solid var(--ink); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-6) clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.cq-story__k { margin: 0; font-family: var(--serif); font-size: clamp(2rem, 1.4rem + 2vw, 3.1rem); line-height: 1.08; color: var(--ink); }
.cq-story__k span { display: block; font-style: italic; color: var(--gold-text); }
.cq-story__p { margin: 0.35rem 0 var(--s-3); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.19em; text-transform: uppercase; color: var(--text-muted); }
.cq-story__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--s-6); }
.cq-story__list li { padding: 0.7rem 0; border-bottom: 1px solid var(--line-strong); font-family: var(--serif); font-size: 1.2rem; line-height: 1.3; color: var(--ink); }
.cq-story__close { margin: var(--s-7) 0 0; max-width: 46rem; font-family: var(--serif); font-style: italic; font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem); line-height: 1.4; color: var(--gold-text); }

/* ---------- Readiness Test: seven elements (4-column, first spans two) -- */
.sd-test__chain.cq-test7 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cq-test7 li:first-child { grid-column: span 2; }
.cq-test__note { margin: var(--s-5) 0 0; max-width: 52rem; font-size: 0.9rem; line-height: 1.6; color: var(--on-dark-muted); }
.cq-fails li:last-child { grid-column: auto; }

/* ---------- Leadership: distinction + assessment context --------------- */
.cq-assess { margin-top: var(--s-7); padding: var(--s-5) var(--s-6); border-left: 2px solid var(--gold); background: var(--ivory); max-width: 60rem; }
.cq-assess__p { margin: 0 0 var(--s-3); font-size: 0.95rem; line-height: 1.65; color: var(--text-muted); }
.cq-assess__p:last-child { margin-bottom: 0; }

/* ---------- Evidence: before operation / after operation begins -------- */
.cq-phase { margin-top: var(--s-7); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 2px solid var(--ink); }
.cq-phase__col { padding: var(--s-5) var(--s-6) var(--s-5) 0; }
.cq-phase__col + .cq-phase__col { padding: var(--s-5) 0 var(--s-5) var(--s-6); border-left: 1px solid var(--line-strong); }
.cq-phase__k { margin: 0 0 var(--s-2); font-size: 1.35rem; }
.cq-phase__l { margin: 0 0 var(--s-3); font-size: 0.78rem; font-style: italic; color: var(--text-muted); }
.cq-phase__note { grid-column: 1 / -1; margin: 0; padding-top: var(--s-4); border-top: 1px solid var(--line-strong); font-size: 0.92rem; line-height: 1.6; color: var(--ink); }

/* ---------- Paper to practice: editorial bridge closing the Readiness Test */
.cq-bridge { margin-top: var(--s-8); padding-top: var(--s-6); border-top: 1px solid var(--gold); display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-4) clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.cq-bridge__k { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 1.2rem + 1.1vw, 2.2rem); line-height: 1.2; color: var(--gold-soft); }
.cq-bridge__p { margin: 0; max-width: 40rem; font-size: var(--fs-md); line-height: 1.65; color: var(--on-dark-muted); }

/* ---------- Evidence: control and verification sub-heading ------------- */
.cq-control { margin: var(--s-8) 0 var(--s-5); }
.cq-control__h { margin: 0 0 var(--s-2); font-size: clamp(1.35rem, 1.15rem + 0.6vw, 1.7rem); }
.cq-control__p { margin: 0; color: var(--text-muted); }

/* ---------- After submission / into operation (dark) ------------------- */
.sd-after.cq-after { background: var(--ink); color: var(--on-dark); }
.cq-after .sd-head__lede { color: var(--on-dark-muted); }
.cq-after .sd-after__list h3 { color: var(--on-dark); }
.cq-after .sd-after__list li > p { color: var(--on-dark-muted); }
.cq-after .sd-after__n { color: var(--gold-soft); }
.cq-transit { margin-top: var(--s-9); padding-top: var(--s-7); border-top: 1px solid var(--line-dark-2); }
.cq-transit__lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-4) clamp(2rem, 1rem + 4vw, 5rem); margin-bottom: var(--s-7); }
.cq-transit__h { margin: 0; font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); color: var(--on-dark); }
.cq-transit__lead p { margin: 0; max-width: 40rem; color: var(--on-dark-muted); font-size: var(--fs-md); line-height: 1.6; }
.cq-transit .sd-transit__track h4 { margin: 0 0 var(--s-2); font-family: var(--serif); font-weight: 400; font-size: 1.25rem; color: var(--on-dark); }
.cq-transit .sd-transit__track p { margin: 0; color: var(--on-dark-muted); font-size: 0.9rem; line-height: 1.5; }

/* ---------- Complementary business support: lighter band --------------- */
.sd-wider.cq-wider { padding-block: var(--s-9); border-top: 1px solid var(--line); }
.cq-wider__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-5) clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.cq-wider h2 { margin: 0; font-size: clamp(1.45rem, 1.2rem + 0.9vw, 1.95rem); line-height: 1.2; max-width: 22ch; }
.cq-wider__body > p:first-child { margin: 0; color: var(--text-muted); font-size: 1rem; line-height: 1.6; max-width: 40rem; }
.cq-wider .sd-dots--inline { margin: var(--s-3) 0 var(--s-3); }
.cq-wider .sd-note { margin: 0 0 var(--s-4); }
.cq-wider__link { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.04em; color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 0.3em; }

/* ---------- Boundaries: can / cannot ---------------------------------- */
.cq-bounds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); margin-bottom: var(--s-6); }
.cq-bounds__no li::before { background: transparent; border: 1px solid var(--gold); width: 7px; height: 7px; box-sizing: border-box; }

/* ---------- Principle: concise stage definitions ------------------------ */
.page-cqc .sd-principle__p strong { color: var(--on-dark); font-weight: 600; }
.cq-def { display: block; margin-bottom: 0.35rem; }
.cq-def:last-child { margin: 0.8rem 0 0; font-style: italic; }

/* ---------- Responsive ------------------------------------------------- */
@media (max-width: 1100px) {
  .sd-test__chain.cq-test7 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cq-test7 li:first-child { grid-column: 1 / -1; }
  .cq-fails li:last-child { grid-column: 1 / -1; }
}
@media (max-width: 960px) {
  .cq-ready, .cq-story, .cq-detail > div, .cq-bridge, .cq-transit__lead, .cq-wider__grid { grid-template-columns: 1fr; gap: var(--s-3); }
  .cq-story { gap: var(--s-5); }
  .cq-phase { grid-template-columns: 1fr; }
  .cq-phase__col, .cq-phase__col + .cq-phase__col { padding: var(--s-5) 0; border-left: 0; }
  .cq-phase__col + .cq-phase__col { border-top: 1px solid var(--line-strong); }
}
@media (max-width: 640px) {
  .cq-fails li:last-child { grid-column: auto; }
  .sd-test__chain.cq-test7 { grid-template-columns: 1fr; }
  .cq-assess { padding: var(--s-4) var(--s-5); }
  .cq-bounds { grid-template-columns: 1fr; gap: var(--s-5); }
  .cq-caps li { padding-top: 0.55rem; padding-bottom: 0.55rem; font-size: 0.95rem; }
  .cq-caps li::before { top: calc(0.55rem + 0.5em); }
  .cq-detail > div { padding: var(--s-4) 0; }
  .cq-detail dd { font-size: 0.93rem; }
}
