/* ==========================================================================
   NEXIRA: Regulatory Turnaround & Improvement page only (Stage 05A).
   Loaded after nexira.css and service-detail.css by
   regulatory-turnaround-improvement.html. Never loaded elsewhere.
   All classes prefixed "rt-". Character: analytical, ledger-led, controlled.
   Rhythm: hero INK / problem paper / stabilise INK / scope ivory / behind paper /
   control INK / programme ivory / leadership paper / evidence ivory /
   pressure INK / success paper / engage ivory / bounds paper / faq ivory / closing INK
   ========================================================================== */

.rt-p { color: var(--text-muted); font-size: var(--fs-md); line-height: 1.65; margin: 0 0 var(--s-4); max-width: 38rem; }
.rt-p--small { font-size: 0.95rem; }
.rt-p a, .rt-routes a, .sd-head__lede a { color: var(--ink); text-decoration-color: var(--gold); text-underline-offset: 0.2em; }
.rt-k--dark { color: var(--on-dark); }

/* Hero: same frame as other service pages, tighter headline measure */
.rt-hero h1 { max-width: 12ch; }

/* 02 Problem */
.rt-problem { background: var(--paper); padding-block: var(--section-y); }
.rt-problem__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.rt-problem__lead { position: sticky; top: calc(var(--header-h) + 2rem); }
.rt-problem h2 { font-size: clamp(2rem, 1.3rem + 2.2vw, 3.2rem); }
.rt-signals { list-style: none; margin: 0 0 var(--s-7); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.rt-signals li { padding: 0.85rem var(--s-4) 0.85rem 0; border-bottom: 1px solid var(--line); font-size: 1rem; line-height: 1.4; color: var(--ink); font-variant-numeric: tabular-nums; }
.rt-signals li:nth-child(odd) { padding-right: var(--s-5); }
.rt-signals li:nth-child(even) { padding-left: var(--s-5); border-left: 1px solid var(--line); }
.rt-signals li:last-child { grid-column: 1 / -1; padding-left: 0; border-left: 0; font-style: italic; font-family: var(--serif); font-size: 1.1rem; }
.rt-insight { background: var(--ivory); padding: var(--s-6); border-left: 2px solid var(--gold); }
.rt-insight__k { margin: 0 0 var(--s-3); font-family: var(--serif); font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem); line-height: 1.3; color: var(--ink); }
.rt-insight p:last-child { margin: 0; color: var(--text-muted); line-height: 1.6; }

/* 03 Stabilise (dark) */
.rt-stabilise { background: var(--ink); color: var(--on-dark); padding-block: var(--section-y); }
.rt-stabilise .sd-head__lede, .rt-control .sd-head__lede, .rt-pressure .sd-head__lede { color: var(--on-dark-muted); }
.rt-stabilise__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.rt-stab-list { list-style: none; margin: 0; padding: 0; counter-reset: st; border-top: 1px solid var(--line-dark-2); }
.rt-stab-list li { counter-increment: st; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); padding: var(--s-4) 0; border-bottom: 1px solid var(--line-dark); font-family: var(--serif); font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem); line-height: 1.35; color: var(--on-dark); }
.rt-stab-list li::before { content: counter(st, decimal-leading-zero); font-family: var(--sans); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; color: var(--gold-soft); padding-top: 0.35rem; }
.rt-within { border: 1px solid var(--line-dark-2); padding: var(--s-6); }
.rt-within__k { margin: 0 0 var(--s-5); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-soft); }
.rt-within__steps { list-style: none; margin: 0 0 var(--s-5); padding: 0; }
.rt-within__steps li { position: relative; padding: 0.55rem 0 0.55rem 1.6rem; font-family: var(--serif); font-size: 1.15rem; color: var(--on-dark-muted); }
.rt-within__steps li::before { content: ""; position: absolute; left: 0; top: 50%; width: 9px; height: 9px; margin-top: -5px; border-radius: 50%; border: 1px solid var(--gold); }
.rt-within__steps li::after { content: ""; position: absolute; left: 4px; top: calc(50% + 5px); height: calc(100% - 9px); width: 1px; background: var(--line-dark-2); }
.rt-within__steps li:last-child::after { display: none; }
.rt-within__steps li.is-here { color: var(--on-dark); }
.rt-within__steps li.is-here::before { background: var(--gold); }
.rt-within__steps li.is-here span { display: block; font-family: var(--sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-soft); margin-top: 0.2rem; }
.rt-within__p { margin: 0; padding-top: var(--s-4); border-top: 1px solid var(--line-dark); font-size: 0.92rem; line-height: 1.6; color: var(--on-dark-muted); }

/* 04 Scope groups */
.rt-scope { background: var(--ivory); padding-block: var(--section-y); }
.rt-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--s-6); }
.rt-group { border-top: 2px solid var(--ink); padding-top: var(--s-4); }
.rt-group h3 { margin: 0 0 var(--s-4); font-family: var(--sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-text); }
.rt-group .sd-dots li { font-size: 1rem; }

/* 05 Behind the problem: analytical ledger */
.rt-behind { background: var(--paper); padding-block: var(--section-y); }
.rt-ledger { border-top: 2px solid var(--ink); }
.rt-ledger__row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--s-8); padding: var(--s-6) 0; border-bottom: 1px solid var(--line-strong); }
.rt-ledger__k { margin: 0 0 var(--s-3); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-muted); }
.rt-ledger__ask .rt-ledger__k { color: var(--gold-text); }
.rt-ledger__v { margin: 0; font-family: var(--serif); font-size: clamp(1.3rem, 1.1rem + 0.7vw, 1.7rem); line-height: 1.3; color: var(--ink); }
.rt-ledger__ask p:last-child { margin: 0; font-size: 1.02rem; line-height: 1.65; color: var(--ink); }

/* 06 Action plan to control (dark) */
.rt-control { background: var(--ink); color: var(--on-dark); padding-block: var(--section-y); }
.rt-control__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 1rem + 5vw, 6rem); align-items: start; }
.rt-control h2 { font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); }
.rt-control__p { color: var(--on-dark-muted); font-size: var(--fs-md); line-height: 1.6; margin-bottom: var(--s-7); }
.rt-control__line { margin: 0; padding-top: var(--s-5); border-top: 1px solid var(--gold); font-family: var(--serif); font-size: clamp(1.4rem, 1rem + 1.4vw, 2.1rem); line-height: 1.3; color: var(--on-dark); }
.rt-control__line .nw { white-space: nowrap; }
.rt-control__line b { color: var(--gold); font-weight: 300; font-family: var(--sans); margin: 0 0.2em; }
.rt-control__line em { color: var(--gold-soft); }
.rt-questions { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-dark-2); }
.rt-questions li { padding: var(--s-4) 0; border-bottom: 1px solid var(--line-dark); font-family: var(--serif); font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem); line-height: 1.3; color: var(--on-dark); }
.rt-control__close { margin: var(--s-6) 0 0; font-size: 1rem; line-height: 1.6; color: var(--gold-soft); }

/* 07 Programme: the Nexira Method as a ledger */
.rt-programme { background: var(--ivory); padding-block: var(--section-y); }
.rt-method { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.rt-method li { display: grid; grid-template-columns: 3.5rem minmax(0, 2.6fr) minmax(0, 4fr) minmax(0, 5fr); gap: var(--s-5); align-items: baseline; padding: var(--s-5) 0; border-bottom: 1px solid var(--line-strong); }
.rt-method__n { font-family: var(--serif); font-size: 1.8rem; line-height: 1; color: var(--gold); }
.rt-method h3 { margin: 0; font-size: 1.55rem; }
.rt-method li.is-key h3 { color: var(--gold-text); }
.rt-method__def { margin: 0; font-size: 0.9rem; line-height: 1.55; color: var(--text-muted); }
.rt-method__app { margin: 0; font-family: var(--serif); font-size: 1.08rem; line-height: 1.45; color: var(--ink); }

/* 08 Leadership */
.rt-lead { background: var(--paper); padding-block: var(--section-y); }
.rt-lead__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.rt-lead h2 { font-size: clamp(2rem, 1.3rem + 2.2vw, 3.2rem); }
.rt-with { margin: var(--s-5) 0; padding: var(--s-5) 0; border-top: 1px solid var(--line-strong); border-bottom: 1px solid var(--line-strong); font-family: var(--serif); font-size: 1.15rem; line-height: 1.5; color: var(--ink); max-width: 38rem; }
.rt-with span { display: block; font-family: var(--sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-text); margin-bottom: var(--s-2); }
.rt-focus { margin: 0; }

/* 09 Evidence of improvement */
.rt-evidence { background: var(--ivory); padding-block: var(--section-y); }
.rt-evidence__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: center; }
.rt-sources { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.6rem; }
.rt-sources li { padding: 0.45rem 0.9rem; border: 1px solid var(--line-strong); background: var(--paper); font-size: 0.95rem; color: var(--ink); }
.rt-tri { margin: 0; padding-left: var(--s-6); border-left: 2px solid var(--gold); }
.rt-tri p { margin: 0; font-family: var(--serif); font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2rem); line-height: 1.35; color: var(--ink); }
.rt-tri span { display: block; margin-top: var(--s-3); color: var(--gold-text); font-style: italic; }

/* 10 Regulatory pressure (dark) */
.rt-pressure { background: var(--ink); color: var(--on-dark); padding-block: var(--section-y); }
.rt-pressure__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.rt-press-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-dark-2); }
.rt-press-list li { padding: var(--s-4) 0; border-bottom: 1px solid var(--line-dark); font-family: var(--serif); font-size: clamp(1.1rem, 1rem + 0.4vw, 1.3rem); line-height: 1.35; color: var(--on-dark); }
.rt-limits { background: #1c1b18; border-top: 2px solid var(--gold); padding: var(--s-6); }
.rt-limits__k { margin: 0 0 var(--s-4); font-family: var(--sans); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-soft); }
.rt-limits ul { list-style: none; margin: 0 0 var(--s-5); padding: 0; }
.rt-limits li { position: relative; padding: 0.45rem 0 0.45rem 1.2rem; font-size: 0.95rem; line-height: 1.5; color: var(--on-dark); }
.rt-limits li::before { content: ""; position: absolute; left: 0; top: calc(0.45rem + 0.5em); width: 5px; height: 5px; border-radius: 50%; background: var(--on-dark-muted); }
.rt-limits > p { margin: 0; padding-top: var(--s-4); border-top: 1px solid var(--line-dark); font-size: 0.9rem; line-height: 1.6; color: var(--on-dark-muted); }

/* 11 Success */
.rt-success { background: var(--paper); padding-block: var(--section-y); }
.rt-success__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.rt-success h2 { font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); }
.rt-indicators { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: var(--s-7); border-top: 2px solid var(--ink); padding-top: var(--s-2); }
.rt-indicators li { break-inside: avoid; position: relative; padding: var(--s-4) 0 var(--s-4) 1.5rem; border-bottom: 1px solid var(--line); font-size: 1.02rem; line-height: 1.45; color: var(--ink); }
.rt-indicators li::before { content: ""; position: absolute; left: 0.1rem; top: calc(var(--s-4) + 0.5em); width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }

/* 12 Engage */
.rt-engage { background: var(--ivory); padding-block: var(--section-y); }
.rt-routes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-7); }
.rt-routes li { border-top: 2px solid var(--ink); padding-top: var(--s-5); }
.rt-routes__w { margin: 0; font-family: var(--serif); font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); line-height: 1; }
.rt-routes__l { margin: var(--s-3) 0 var(--s-4); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-text); }
.rt-routes li > p:last-child { margin: 0; color: var(--text-muted); line-height: 1.6; }

/* 13 Boundaries (light paper) */
.rt-bounds { background: var(--paper); }

/* Responsive ---------------------------------------------------------- */
@media (max-width: 1100px) {
  .rt-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: var(--s-7); }
  .rt-method li { grid-template-columns: 3rem minmax(0, 1fr) minmax(0, 1.4fr); }
  .rt-method__def { grid-column: 2; }
  .rt-method__app { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 960px) {
  .rt-problem__grid, .rt-stabilise__grid, .rt-control__grid, .rt-lead__grid, .rt-evidence__grid, .rt-pressure__grid, .rt-success__grid { grid-template-columns: 1fr; }
  .rt-problem__lead { position: static; }
  .rt-ledger__row { grid-template-columns: 1fr; gap: var(--s-4); }
  .rt-routes { grid-template-columns: 1fr; gap: var(--s-6); }
  .rt-method li { grid-template-columns: 3rem minmax(0, 1fr); row-gap: var(--s-2); }
  .rt-method__def, .rt-method__app { grid-column: 2; grid-row: auto; }
}
@media (max-width: 720px) {
  .rt-indicators { columns: 1; }
}
@media (max-width: 640px) {
  .rt-signals { grid-template-columns: 1fr; }
  .rt-signals li:nth-child(even) { padding-left: 0; border-left: 0; }
  .rt-groups { grid-template-columns: 1fr; }
  .rt-insight, .rt-within, .rt-limits { padding: var(--s-5); }
  .rt-tri { padding-left: var(--s-5); }
}

/* ==========================================================================
   STAGE 05B: regulatory alignment refinements (turnaround page only)
   ========================================================================== */
/* Early intervention statement (inside The turnaround problem) */
.rt-early { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--ink); }
.rt-early__k { margin: 0 0 var(--s-3); font-family: var(--serif); font-style: italic; font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.7rem); line-height: 1.3; color: var(--gold-text); }
.rt-early p:last-child { margin: 0; color: var(--text-muted); line-height: 1.65; }

/* Regulatory mapping note under the concern ledger */
.rt-ledger__note { margin: var(--s-6) 0 0; max-width: 52rem; padding-left: var(--s-5); border-left: 2px solid var(--gold); font-size: 0.98rem; line-height: 1.65; color: var(--text-muted); }

/* Evidence of improvement: perspectives + triangulation */
.rt-evidence__grid { align-items: start; }
.rt-persp { margin: 0; border-top: 2px solid var(--ink); }
.rt-persp > div { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--s-5); padding: var(--s-4) 0; border-bottom: 1px solid var(--line-strong); }
.rt-persp dt { font-family: var(--serif); font-size: 1.2rem; line-height: 1.3; color: var(--ink); }
.rt-persp dd { margin: 0; font-size: 0.94rem; line-height: 1.55; color: var(--text-muted); }
.rt-tri-intro { margin: 0 0 var(--s-5); font-size: 1rem; line-height: 1.6; color: var(--ink); }
.rt-tri-seq { list-style: none; margin: 0 0 var(--s-7); padding: 0; counter-reset: tri; border-top: 1px solid var(--line-strong); }
.rt-tri-seq li { counter-increment: tri; display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); align-items: baseline; padding: 0.7rem 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.15rem; color: var(--ink); }
.rt-tri-seq li::before { content: counter(tri, decimal-leading-zero); font-family: var(--sans); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.14em; color: var(--gold-text); }

/* Regulatory alignment (concise) */
.rt-align { background: var(--paper); padding-block: var(--section-y); }
.rt-align__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 1rem + 4vw, 5rem); align-items: start; }
.rt-align h2 { font-size: clamp(1.9rem, 1.3rem + 2vw, 3rem); margin: 0; }
.rt-align__body > p { margin: 0 0 var(--s-4); color: var(--text-muted); font-size: var(--fs-md); line-height: 1.65; max-width: 40rem; }
.rt-align__body .rt-align__key { margin-top: var(--s-6); padding-top: var(--s-5); border-top: 1px solid var(--gold); font-family: var(--serif); font-size: clamp(1.3rem, 1.1rem + 0.8vw, 1.75rem); line-height: 1.4; color: var(--ink); }

@media (max-width: 960px) {
  .rt-align__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .rt-persp > div { grid-template-columns: 1fr; gap: var(--s-2); }
}

/* ==========================================================================
   STAGE 05B: approved Turnaround hero photograph (1853 x 849 landscape)
   Desktop 4:3 keeps the leader, the colleague on the left and the reports.
   Tablet shows the full scene (all three). Mobile 4:3 centres the leader.
   No overlays, borders or effects.
   ========================================================================== */
.rt-hero__photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: #1c1b18; }
.rt-hero__photo picture { display: block; width: 100%; height: 100%; }
.rt-hero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 32% 50%; }
@media (max-width: 960px) {
  .rt-hero__photo.sd-hero__media { max-width: none; aspect-ratio: 1853 / 849; }
  .rt-hero__photo img { object-position: 50% 50%; }
}
@media (max-width: 640px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
  .rt-hero__photo img { object-position: 38% 45%; }
}

/* ==========================================================================
   STAGE 05B close-out: signals grid balance + regulatory context block
   ========================================================================== */
/* 9th signal spans the final row so no empty cell remains (10th already spans) */
.rt-signals li:nth-child(9) { grid-column: 1 / -1; padding-left: 0; border-left: 0; }

/* Regulatory context: closing part of Evidence of improvement */
.rt-context { margin-top: var(--s-8); padding-top: var(--s-6); border-top: 1px solid var(--ink); display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--s-6); align-items: start; }
.rt-context .sd-k { margin: 0; padding-top: 0.3rem; }
.rt-context__body p { margin: 0 0 var(--s-4); max-width: 46rem; color: var(--text-muted); font-size: var(--fs-md); line-height: 1.65; }
.rt-context__body .rt-context__key { margin: var(--s-5) 0 0; font-family: var(--serif); font-size: clamp(1.25rem, 1.05rem + 0.7vw, 1.6rem); line-height: 1.4; color: var(--ink); }
@media (max-width: 960px) { .rt-context { grid-template-columns: 1fr; gap: var(--s-4); } }

/* ==========================================================================
   STAGE 05B FINAL: approved standing-review hero (1671 x 941, ~16:9).
   Desktop 4:3 at 28% / mobile 4:3 at 24%: both colleagues, the leader, her pointing
   gesture and the left two-thirds of the screen (leader + evidence + discussion).
   Tablet: full frame, uncropped. Supersedes the earlier seated-image positions.
   ========================================================================== */
.rt-hero__photo img { object-position: 28% 50%; }
@media (max-width: 960px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 1671 / 941; }
  .rt-hero__photo img { object-position: 50% 50%; }
}
@media (max-width: 640px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
  .rt-hero__photo img { object-position: 24% 50%; }
}

/* ==========================================================================
   STAGE 05B LOCK: one fixed 4:3 crop at EVERY width (no full-frame breakpoint),
   so the right-hand dashboard panel (key-question bars / percentages) is never
   prominent. 25% keeps both colleagues, the leader and her pointing gesture.
   Tablet image width capped to avoid an over-tall hero.
   ========================================================================== */
.rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
.rt-hero__photo img { object-position: 25% 50%; }
@media (max-width: 960px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; max-width: 520px; }
  .rt-hero__photo img { object-position: 25% 50%; }
}
@media (max-width: 640px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; max-width: none; }
  .rt-hero__photo img { object-position: 25% 50%; }
}

/* ==========================================================================
   STAGE 05B HERO V2 (not locked): controlled editorial two-column hero.
   Intro (breadcrumb, service ID, eyebrow) sits above; the grid starts at the
   headline. The photo stretches to the height of the copy column, so it runs
   from the headline to the CTA row. Wider hero container; no bleed.
   Revert: delete this block and restore the pre-V2 HTML (intro inside copy).
   ========================================================================== */
.rt-hero { overflow: hidden; }
.rt-hero__wrap { max-width: 1400px; }
.rt-hero h1 { max-width: none; }
@media (min-width: 961px) {
  .rt-hero .rt-hero__grid { grid-template-columns: minmax(0, 50fr) minmax(0, 50fr); gap: clamp(2.5rem, 1rem + 2.5vw, 4rem); align-items: stretch; }
  .rt-hero h1 { margin-bottom: var(--s-7); }
  .rt-hero .sd-hero__lede { margin-bottom: var(--s-5); }
  .rt-hero .hero__ctas { margin-top: var(--s-7); }
  .rt-hero__grid .sd-hero__copy { display: flex; flex-direction: column; }
  .rt-hero__photo.sd-hero__media { aspect-ratio: auto; max-width: none; height: 100%; min-height: 440px; }
  .rt-hero__photo img { object-position: 50% 50%; }
}
@media (min-width: 1100px) and (max-width: 1379px) {
  .rt-hero .rt-hero__grid { align-items: center; }
  .rt-hero__photo.sd-hero__media { height: auto; min-height: 0; aspect-ratio: 5 / 4; }
  .rt-hero__photo img { object-position: 46% 50%; }
}
@media (max-width: 1099px) {
  .rt-hero .rt-hero__grid { grid-template-columns: 1fr; }
  .rt-hero__photo.sd-hero__media { aspect-ratio: 3 / 2; height: auto; min-height: 0; }
  .rt-hero__photo img { object-position: 23% 50%; }
}
@media (max-width: 960px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 3 / 2; max-width: none; height: auto; }
  .rt-hero__photo img { object-position: 23% 50%; }
}
@media (max-width: 640px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
  .rt-hero__photo img { object-position: 46% 50%; }
}

/* ==========================================================================
   STAGE 05B HERO V2 refinement (not locked): image ~5% narrower, same height.
   Every crop's right edge sits at ~source x1362, just past the leader's
   fingertip, so the right-hand screen column ("CQC Regulation Alignment"
   key-question panel, from ~x1345) is never prominent.
   ========================================================================== */
@media (min-width: 1380px) {
  .rt-hero__photo.sd-hero__media { width: 95%; justify-self: end; }
  .rt-hero__photo img { object-position: 47% 50%; }
}
@media (min-width: 1100px) and (max-width: 1379px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 7 / 6; }
  .rt-hero__photo img { object-position: 46% 50%; }
}
@media (max-width: 1099px) {
  .rt-hero__photo.sd-hero__media { aspect-ratio: 4 / 3; }
  .rt-hero__photo img { object-position: 26% 50%; }
}
