/* A4 handoff edition: screen presentation remains unchanged. */
@media print {
 .a4-generated-slide#m0-s2 .slide-body{display:block!important;min-height:0!important;height:auto!important;padding:4mm 7mm!important}
 .a4-generated-slide#m0-s2 .instructor-profile{display:grid!important;grid-template-columns:54mm 1fr!important;gap:6mm!important;min-height:0!important;height:auto!important;padding:0!important}
 .a4-generated-slide#m0-s2 .instructor-portrait-card{display:block!important;min-height:0!important;height:auto!important;overflow:hidden!important}
 .a4-generated-slide#m0-s2 .instructor-photo-frame{height:75mm!important;min-height:0!important;max-height:75mm!important}
 .a4-generated-slide#m0-s2 .instructor-photo-frame img{width:100%!important;height:100%!important;min-height:0!important;max-height:75mm!important;object-fit:contain!important}
 .a4-generated-slide#m0-s2 .instructor-photo-caption{padding:4mm!important}
 .a4-generated-slide#m0-s2 .instructor-photo-caption h3{font-size:17pt!important;margin:2mm 0!important}
 .a4-generated-slide#m0-s2 .instructor-photo-caption p{font-size:10pt!important;line-height:1.4!important}
 .a4-generated-slide#m0-s2 .instructor-story{padding:0!important;min-height:0!important;height:auto!important}
 .a4-generated-slide#m0-s2 .instructor-eyebrow{font-size:9pt!important;margin-bottom:1mm!important}
 .a4-generated-slide#m0-s2 .instructor-story>h3{font-size:21pt!important;line-height:1.2!important;margin:0 0 2mm!important}
 .a4-generated-slide#m0-s2 .instructor-lead{font-size:10.5pt!important;line-height:1.4!important;margin:0 0 3mm!important}
 .a4-generated-slide#m0-s2 .instructor-proof-strip{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:2mm!important;margin:0 0 3mm!important}
 .a4-generated-slide#m0-s2 .instructor-proof{padding:3mm!important;min-height:0!important}
 .a4-generated-slide#m0-s2 .instructor-proof strong{font-size:16pt!important}
 .a4-generated-slide#m0-s2 .instructor-proof span{font-size:9.5pt!important;line-height:1.35!important}
 .a4-generated-slide#m0-s2 .instructor-pillar-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:3mm!important;margin:0 0 3mm!important}
 .a4-generated-slide#m0-s2 .instructor-pillar{padding:3mm 0!important;min-height:0!important}
 .a4-generated-slide#m0-s2 .instructor-pillar .label{font-size:9pt!important}
 .a4-generated-slide#m0-s2 .instructor-pillar h4{font-size:12pt!important;margin:2mm 0!important}
 .a4-generated-slide#m0-s2 .instructor-pillar p{font-size:10pt!important;line-height:1.4!important;margin:0!important}
 .a4-generated-slide#m0-s2 .instructor-audience{padding:3mm!important;font-size:10pt!important;margin:0 0 3mm!important}
 .a4-generated-slide#m0-s2 .instructor-audience :is(b,span,small){font-size:9.5pt!important;line-height:1.35!important}
 .a4-generated-slide#m0-s2 .instructor-credential-strip{display:flex!important;flex-wrap:wrap!important;gap:2mm!important;margin:0!important}
 .a4-generated-slide#m0-s2 .instructor-credential-strip span{font-size:9pt!important;padding:1mm 2mm!important}
}
@media print {
  .semantic-visual {
    --visual-ink: #15366d;
    --visual-blue: #1f5be0;
    --visual-blue-2: #60a5fa;
    --visual-blue-3: #eaf1ff;
    --visual-line: #bfd0ea;
    --visual-muted: #64748b;
  }

  @page {
    size: A4 landscape;
    margin: 5mm 6mm;
  }

  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .top-header,
  .module-nav,
  .slide-nav,
  .sidebar,
  #fullscreenOverlay,
  #printModal,
  .print-btn,
  .fullscreen-btn,
  .course-assistant-launcher,
  .course-assistant-panel {
    display: none !important;
  }

  .main-container,
  .slide-panel,
  .slide-viewport {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html[data-a4-generated="true"] .main-container {
    display: none !important;
  }
  .a4-print-deck {
    display: none;
  }
  html[data-a4-generated="true"] .a4-print-deck {
    display: block !important;
    width: 285mm !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .a4-print-page {
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 285mm !important;
    height: 200mm !important;
    min-height: 200mm !important;
    max-height: 200mm !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    page-break-after: always !important;
    break-after: page !important;
  }
  .a4-print-page:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }
  .a4-print-page .slide-card {
    page-break-after: auto !important;
    break-after: auto !important;
  }
  /* These are supporting illustrations on screen. Omitting them from the
     generated A4 handout avoids clipped decorative strips at the page edge. */
  .a4-generated-slide .bottom-visual {
    display: none !important;
  }
  .a4-slice-viewport {
    background: #fff !important;
  }
  .a4-slice-curtain {
    position: absolute !important;
    z-index: 999 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #fff !important;
  }

  .module-section,
  .module-section.print-target {
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-print-module] .module-section,
  html[data-print-module] .module-section.print-target {
    display: none !important;
  }
  html[data-print-module="m0"] #m0,
  html[data-print-module="m1"] #m1,
  html[data-print-module="m2"] #m2,
  html[data-print-module="m3"] #m3,
  html[data-print-module="m4"] #m4,
  html[data-print-module="m5"] #m5,
  html[data-print-module="m6"] #m6,
  html[data-print-module="m7"] #m7 {
    display: block !important;
  }

  .slide-card,
  #m0-s5,
  #m4-s14,
  #removed-m5-s8,
  #m5-s8 {
    display: block !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 285mm !important;
    min-width: 285mm !important;
    max-width: 285mm !important;
    height: auto !important;
    min-height: 200mm !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    zoom: 1 !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    page-break-after: always !important;
    break-after: page !important;
  }

  .module-section .slide-card:last-child {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  .slide-header {
    padding: 4.5mm 7mm 3mm !important;
  }
  .slide-module-tag {
    margin-bottom: 1.5mm !important;
    padding: 1mm 2.5mm !important;
    font-size: 9.5pt !important;
    line-height: 1.2 !important;
  }
  :is(#m0, #m1, #m2, #m3, #m4, #m5, #m6, #m7) .slide-title {
    padding-right: 22mm !important;
    font-size: 23pt !important;
    line-height: 1.16 !important;
  }
  :is(#m0, #m1, #m2, #m3, #m4, #m5, #m6, #m7) .slide-subtitle {
    margin-top: 1.5mm !important;
    font-size: 11.5pt !important;
    line-height: 1.35 !important;
  }
  .slide-page-num {
    display: block !important;
    top: 5mm !important;
    right: 7mm !important;
    font-size: 9pt !important;
    color: #64748b !important;
  }
  .slide-body,
  :is(#m0, #m1, #m2, #m3, #m4, #m5, #m6, #m7) .slide-body {
    padding: 3.5mm 7mm 5mm !important;
    font-size: 10.5pt !important;
    line-height: 1.38 !important;
  }

  .slide-body :is(p, li, td, th, label, button, a) {
    font-size: max(10pt, 1em) !important;
    line-height: 1.32 !important;
  }

  :is(.a4-generated-slide, .a4-measurement-slide)#m2-s3 .pw-day-character-art.scene-meeting {
    background-size: 300% 100% !important;
    background-position: 50% 0 !important;
  }
  .slide-body :is(small, figcaption, .mini-note, .source-note, .reference-source) {
    font-size: max(9.5pt, 1em) !important;
    line-height: 1.3 !important;
  }

  /* M0 changed pages: preserve one approved slide per physical A4 page. */
  #m0-s3 .slide-body,
  #m0-s4 .slide-body,
  #m0-s5 .slide-body {
    padding: 2.5mm 6mm 3mm !important;
  }
  #m0-s5 .slide-header {
    padding: 2.5mm 6mm 1.5mm !important;
  }
  #m0-s5 .slide-body {
    padding-top: 1.5mm !important;
    padding-bottom: 2mm !important;
  }
  #m0-s4 .opening-outcomes {
    min-height: 0 !important;
    gap: 2.5mm !important;
  }
  #m0-s4 .opening-outcome-journey {
    gap: 5mm !important;
  }
  #m0-s4 .opening-phase {
    gap: 2mm !important;
    padding: 3mm !important;
  }
  #m0-s4 .opening-phase::after {
    right: -4mm !important;
  }
  #m0-s4 .opening-phase-head {
    gap: 2mm !important;
    padding-bottom: 2mm !important;
  }
  #m0-s4 .opening-phase-grid {
    gap: 2mm !important;
  }
  #m0-s4 .opening-outcome-item,
  #m0-s4 .opening-phase.assets .opening-outcome-item {
    min-height: 27mm !important;
    padding: 3mm 3mm 3mm 12mm !important;
  }
  #m0-s4 .opening-outcome-item b {
    left: 3mm !important;
    top: 3mm !important;
  }
  #m0-s4 .opening-outcome-item span {
    margin-top: 1.5mm !important;
    line-height: 1.35 !important;
  }
  #m0-s4 .opening-acceptance-band {
    gap: 3mm !important;
    padding: 3mm 4mm !important;
  }

  #m0-s5 .reward-v2 {
    min-height: 0 !important;
    gap: 2.5mm !important;
  }
  #m0-s5 .reward-v2-principle div {
    gap: 2mm !important;
    padding: 2mm 3mm !important;
  }
  #m0-s5 .reward-v2-grid {
    gap: 3mm !important;
  }
  #m0-s5 .reward-v2-card {
    padding: 3.5mm 4mm !important;
  }
  #m0-s5 .reward-v2-card-head {
    gap: 3mm !important;
    padding-bottom: 2.5mm !important;
  }
  #m0-s5 .reward-score-actions,
  #m0-s5 .reward-awards,
  #m0-s5 .reward-after-flow {
    gap: 2mm !important;
    margin-top: 2.5mm !important;
  }
  #m0-s5 .reward-score-action,
  #m0-s5 .reward-award,
  #m0-s5 .reward-after-flow div {
    padding: 2.5mm !important;
  }
  #m0-s5 .reward-after-prize {
    margin-top: 2.5mm !important;
    padding: 2.5mm 3mm !important;
  }
  #m0-s5 .reward-v2-rules {
    gap: 2mm !important;
  }
  #m0-s5 .reward-v2-rule {
    padding: 2mm 3mm !important;
    line-height: 1.3 !important;
  }
  /* End M0 changed page print fit. */
  .slide-body :is(.info-card, .summary-point, .practice-card, .homework-card, .wish-step, .role-card, .deep-card, .gate-card) {
    min-height: 0 !important;
  }

  /* Print-only layout corrections discovered during the 100% page review. */
  #m3-s6 .m2-gates {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3mm !important;
  }
  #m3-s6 .m2-gates > div {
    min-height: 46mm !important;
    padding: 3.5mm !important;
  }
  #m3-s6 .m2-gate-result {
    margin-top: 3mm !important;
  }
  #m3-s6 .m2-plain-case {
    margin-top: 3mm !important;
  }

  #m4-s5 .agent-proof-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3mm !important;
  }
  #m4-s5 .agent-proof-grid section {
    min-height: 52mm !important;
    padding: 4mm !important;
  }
  #m4-s5 .agent-proof-grid strong {
    font-size: 18pt !important;
  }
  #m4-s5 .agent-proof-verdict {
    margin-top: 3mm !important;
    padding: 3mm 4mm !important;
  }

  #m7-s6 .priority-scorecard {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3mm !important;
    margin: 2mm 0 3mm !important;
  }
  #m7-s6 .priority-card {
    min-height: 48mm !important;
    padding: 4mm !important;
  }
  #m7-s6 .priority-card .link-row {
    margin-top: 2mm !important;
  }
  #m7-s6 .callout {
    margin: 0 !important;
    padding: 3mm 4mm !important;
  }
  #m7-s6 .bottom-visual {
    margin-top: 3mm !important;
    padding: 3mm 4mm !important;
  }
  #m7-s6 .bottom-visual .visual-kicker {
    margin-bottom: 1.5mm !important;
  }
  #m7-s6 .bottom-visual .visual-art {
    height: 31mm !important;
    min-height: 31mm !important;
  }

  #m5-s11 .skill-build-workbench {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto !important;
    gap: 3mm !important;
  }
  #m5-s11 .skill-build-identity {
    display: grid !important;
    grid-template-columns: minmax(70mm, .9fr) minmax(0, 1.45fr) !important;
    gap: 4mm !important;
    align-items: center !important;
    border: 1px solid var(--visual-line) !important;
    border-left: 1.5mm solid var(--visual-blue) !important;
    border-radius: 2.5mm !important;
    background: #f8fbff !important;
    padding: 3mm 4mm !important;
  }
  #m5-s11 .skill-build-kicker,
  #m5-s11 .skill-sheet-kicker {
    color: var(--visual-blue) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
  }
  #m5-s11 .skill-build-name {
    display: block !important;
    margin-top: 1mm !important;
    color: var(--visual-ink) !important;
    font-size: 16pt !important;
    font-weight: 900 !important;
  }
  #m5-s11 .skill-build-boundary {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 3mm !important;
    color: #40516b !important;
  }
  #m5-s11 .skill-build-boundary span {
    border-left: 1mm solid var(--visual-blue) !important;
    padding-left: 3mm !important;
  }
  #m5-s11 .skill-build-boundary span:last-child {
    border-left-color: #d92d20 !important;
  }
  #m5-s11 .skill-build-boundary strong {
    display: block !important;
    color: var(--visual-ink) !important;
  }
  #m5-s11 .skill-build-rail {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 1mm !important;
    box-sizing: border-box !important;
    width: 96% !important;
    margin: 0 auto !important;
  }
  #m5-s11 .skill-build-rail::before {
    content: "" !important;
    position: absolute !important;
    top: 4mm !important;
    left: 7% !important;
    right: 7% !important;
    height: 1mm !important;
    background: #cbdaf0 !important;
  }
  #m5-s11 .skill-build-stage {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    justify-items: center !important;
    gap: 1mm !important;
    color: #40516b !important;
    font-weight: 800 !important;
    text-align: center !important;
  }
  #m5-s11 .skill-build-stage b {
    display: grid !important;
    place-items: center !important;
    width: 8mm !important;
    height: 8mm !important;
    border: 1mm solid #d9e5f7 !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--visual-blue) !important;
  }
  #m5-s11 .skill-build-stage:last-child b {
    border-color: #1f5be0 !important;
    background: #1f5be0 !important;
    color: #fff !important;
  }
  #m5-s11 .skill-build-layout {
    display: grid !important;
    gap: 3mm !important;
  }
  #m5-s11 .skill-material-sheet,
  #m5-s11 .skill-case-sheet {
    overflow: visible !important;
    border: 1px solid var(--visual-line) !important;
    border-radius: 2.5mm !important;
    background: #fff !important;
  }
  #m5-s11 .skill-sheet-title {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 3mm !important;
    padding: 3mm 4mm 2mm !important;
    border-bottom: 1px solid #dce6f4 !important;
  }
  #m5-s11 .skill-sheet-title h4 {
    margin: 0 !important;
    color: var(--visual-ink) !important;
    font-size: 14pt !important;
  }
  #m5-s11 .skill-material-lines {
    display: grid !important;
    padding: 1mm 4mm 2mm !important;
  }
  #m5-s11 .skill-material-line {
    display: grid !important;
    grid-template-columns: 23mm 1fr !important;
    gap: 3mm !important;
    padding: 2mm 0 !important;
    border-bottom: 1px dashed #dce6f4 !important;
    color: #40516b !important;
  }
  #m5-s11 .skill-material-line:last-child {
    border-bottom: 0 !important;
  }
  #m5-s11 .skill-material-line strong {
    color: var(--visual-blue) !important;
  }
  #m5-s11 .skill-case-table {
    display: grid !important;
    grid-template-columns: 10mm minmax(0, 1fr) minmax(0, .82fr) !important;
  }
  #m5-s11 :is(.skill-case-head, .skill-case-cell, .skill-case-index) {
    min-width: 0 !important;
    padding: 2mm 3mm !important;
    border-bottom: 1px solid #e3eaf4 !important;
  }
  #m5-s11 .skill-case-head {
    background: var(--visual-ink) !important;
    color: #fff !important;
    font-weight: 900 !important;
  }
  #m5-s11 .skill-case-head.bad {
    background: #8f1d2c !important;
  }
  #m5-s11 .skill-case-index {
    display: grid !important;
    place-items: center !important;
    background: #f8fafc !important;
    color: #64748b !important;
    font-weight: 900 !important;
  }
  #m5-s11 .skill-case-cell.good {
    background: #f6f9ff !important;
    color: #264b82 !important;
  }
  #m5-s11 .skill-case-cell.bad {
    background: #fff8f8 !important;
    color: #8f1d2c !important;
  }
  #m5-s11 .skill-build-result {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) max-content !important;
    gap: 3mm !important;
    align-items: center !important;
    border-radius: 2mm !important;
    background: var(--visual-ink) !important;
    padding: 3mm 4mm !important;
    color: #dbeafe !important;
  }
  #m5-s11 .skill-build-result strong { color: #fff !important; }
  #m5-s11 .skill-build-result b { color: #fbbf24 !important; }
  #m5-s11 .skill-pack-download {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.4) !important;
    border-radius: 2mm !important;
    padding: 2mm 3mm !important;
    background: #fff !important;
  }

  #m7-s6 .priority-scorecard { display: grid !important; }
  #m7-s6 .priority-card {
    border: 1px solid var(--visual-line) !important;
    border-top: 1.5mm solid var(--visual-blue) !important;
    border-radius: 3mm !important;
    background: #fff !important;
  }
  #m7-s6 .priority-index {
    color: var(--visual-blue) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
  }
  #m7-s6 .priority-card h4 {
    margin: 2mm 0 !important;
    color: var(--visual-ink) !important;
    font-size: 18pt !important;
  }
  #m7-s6 .priority-card p {
    color: var(--visual-muted) !important;
    font-weight: 700 !important;
  }

  #m7-s8 .layered-harness {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 3mm !important;
  }
  #m7-s8 .harness-lane {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 45mm 55mm 1fr !important;
    gap: 4mm !important;
    align-items: center !important;
    min-height: 25mm !important;
    border: 1px solid var(--visual-line) !important;
    border-radius: 2.5mm !important;
    background: #fff !important;
    padding: 3mm 5mm !important;
  }
  #m7-s8 .harness-lane::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 2mm !important;
    border-radius: 2.5mm 0 0 2.5mm !important;
    background: var(--visual-blue) !important;
  }
  #m7-s8 .harness-lane:nth-child(2) { background: #f7faff !important; }
  #m7-s8 .harness-lane:nth-child(3) { background: var(--visual-blue-3) !important; }
  #m7-s8 .harness-lane h4 { margin: 0 !important; font-size: 16pt !important; }
  #m7-s8 .harness-lane p { margin: 0 !important; }
  #m7-s8 .harness-lane ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3mm !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  #m7-s8 .harness-lane li {
    border-left: 1mm solid #9db8e6 !important;
    padding-left: 2mm !important;
  }

  #m7-s8 .a4-semantic-visual-page {
    display: flex !important;
    align-items: center !important;
  }
  #m7-s8 .a4-semantic-visual-page .bottom-visual {
    width: 100% !important;
    margin: 0 !important;
    padding: 8mm !important;
  }
  #m7-s8 .a4-semantic-visual-page .visual-art {
    height: 95mm !important;
    min-height: 95mm !important;
  }
  #m7-s8 .a4-semantic-visual-page .socket {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--visual-ink) !important;
    font-size: 11pt !important;
    font-weight: 900 !important;
  }

  #m7-s9 .change-swimlane {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 14mm minmax(0, 1fr) !important;
    gap: 2mm 3mm !important;
    align-items: stretch !important;
    margin: 3mm 0 !important;
  }
  #m7-s9 .change-lane-head {
    grid-column: 1 !important;
    border-radius: 2.5mm !important;
    background: var(--visual-ink) !important;
    color: #fff !important;
    padding: 3mm 4mm !important;
    text-align: center !important;
    font-weight: 900 !important;
  }
  #m7-s9 .change-lane-head.organization {
    grid-column: 3 !important;
    background: var(--visual-blue) !important;
  }
  #m7-s9 .change-lane-cell {
    display: flex !important;
    align-items: center !important;
    min-height: 18mm !important;
    border: 1px solid var(--visual-line) !important;
    border-left: 1.5mm solid var(--visual-ink) !important;
    border-radius: 2.5mm !important;
    background: #fff !important;
    padding: 3mm 4mm !important;
    font-weight: 800 !important;
  }
  #m7-s9 .change-lane-cell.organization {
    border-left-color: var(--visual-blue) !important;
    background: var(--visual-blue-3) !important;
  }
  #m7-s9 .change-lane-arrow {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--visual-blue) !important;
    font-size: 18pt !important;
    font-weight: 900 !important;
  }

  #m7-s10 .bj-matrix {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--visual-line) !important;
    border-radius: 3mm !important;
    background: #fff !important;
  }
  #m7-s10 .bj-matrix th {
    padding: 3mm 4mm !important;
    background: var(--visual-ink) !important;
    color: #fff !important;
    text-align: left !important;
  }
  #m7-s10 .bj-matrix td {
    padding: 3mm 4mm !important;
    border-top: 1px solid #e3eaf4 !important;
    vertical-align: top !important;
  }
  #m7-s10 .bj-matrix td:first-child {
    width: 27% !important;
    color: var(--visual-blue) !important;
    font-weight: 900 !important;
  }
  #m7-s10 .bj-matrix tr:nth-child(even) td {
    background: #f8fbff !important;
  }
  #m7-s10 .bj-note {
    margin-top: 4mm !important;
    border-left: 1.5mm solid var(--visual-blue) !important;
    border-radius: 2mm !important;
    background: var(--visual-blue-3) !important;
    padding: 4mm 5mm !important;
    color: var(--visual-ink) !important;
    font-weight: 900 !important;
  }

  .slide-card > :is(.cover-slide, .section-cover, .m2-hero) {
    min-height: 200mm !important;
    height: 200mm !important;
    max-height: 200mm !important;
  }

  /* Preserve display-size hierarchy on title pages. The previous universal
     font floor flattened every heading to 16px in print. */
  .a4-generated-slide .cover-slide {
    padding: 16mm 18mm !important;
  }
  .a4-generated-slide .cover-eyebrow {
    font-size: 15pt !important;
    margin-bottom: 4mm !important;
  }
  .a4-generated-slide .cover-main-title {
    max-width: 245mm !important;
    font-size: 46pt !important;
    line-height: 1.08 !important;
    margin-bottom: 5mm !important;
  }
  .a4-generated-slide .cover-slogan {
    max-width: 245mm !important;
    font-size: 20pt !important;
    line-height: 1.35 !important;
    margin-bottom: 10mm !important;
  }
  .a4-generated-slide .cover-meta {
    display: grid !important;
    grid-template-columns: .65fr 1.45fr 1.9fr !important;
    gap: 8mm !important;
  }
  .a4-generated-slide .cover-meta-label {
    font-size: 10.5pt !important;
  }
  .a4-generated-slide .cover-meta-value {
    font-size: 13pt !important;
    line-height: 1.35 !important;
  }

  .a4-generated-slide .section-cover {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 15mm 18mm !important;
    border-radius: 0 !important;
  }
  .a4-generated-slide .section-cover .num {
    font-size: 62pt !important;
  }
  .a4-generated-slide .section-cover .label {
    font-size: 14pt !important;
  }
  .a4-generated-slide .section-cover h2 {
    max-width: 245mm !important;
    margin: 3mm 0 5mm !important;
    font-size: 36pt !important;
    line-height: 1.12 !important;
  }
  .a4-generated-slide .section-cover p {
    max-width: 245mm !important;
    font-size: 18pt !important;
    line-height: 1.5 !important;
  }
  .a4-generated-slide .section-cover .deliverables {
    gap: 3mm !important;
    margin-top: 7mm !important;
  }
  .a4-generated-slide .section-cover .deliverable-tag {
    padding: 2.5mm 4mm !important;
    font-size: 11.5pt !important;
  }

  .a4-generated-slide .m2-hero {
    min-height: 200mm !important;
    height: 200mm !important;
    padding: 12mm 15mm 10mm !important;
  }
  .a4-generated-slide .m2-hero-top {
    font-size: 11pt !important;
  }
  .a4-generated-slide .m2-hero h2 {
    max-width: 175mm !important;
    font-size: 38pt !important;
    line-height: 1.1 !important;
  }
  .a4-generated-slide .m2-hero p {
    max-width: 170mm !important;
    font-size: 17pt !important;
    line-height: 1.5 !important;
  }
  .a4-generated-slide .m2-orbit {
    width: 60mm !important;
    height: 60mm !important;
  }
  .a4-generated-slide .m2-shift-rail div {
    font-size: 11pt !important;
  }
  .a4-generated-slide .m2-shift-rail b {
    font-size: 13pt !important;
  }

  #m7-s13 .course-thanks {
    min-height: 200mm !important;
    height: 200mm !important;
    box-sizing: border-box !important;
    padding: 18mm !important;
  }
  #m7-s13 .course-thanks-kicker {
    font-size: 15pt !important;
  }
  #m7-s13 .course-thanks h2 {
    margin-top: 6mm !important;
    font-size: 62pt !important;
    line-height: 1 !important;
  }
  #m7-s13 .course-thanks p {
    max-width: 240mm !important;
    margin-top: 10mm !important;
    padding-top: 8mm !important;
    font-size: 22pt !important;
    line-height: 1.5 !important;
  }

  /* Instructor page: explicitly lock the print palette to navy / blue. */
  #m0-s2 .instructor-portrait-card {
    background: linear-gradient(160deg, #eff6ff 0%, #dbeafe 100%) !important;
    border: 1px solid #bfd0ea !important;
  }
  #m0-s2 .instructor-photo-caption {
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%) !important;
  }
  #m0-s2 .instructor-photo-caption .role {
    background: #dbeafe !important;
    color: #174ea6 !important;
  }

  /* Keep the larger-text versions of these dense pages on one semantic page. */
  #m2-s12 .aipro-case {
    gap: 3mm !important;
  }
  #m2-s12 .aipro-case-copy {
    padding: 3mm 4mm !important;
  }
  #m2-s12 .aipro-case-copy h3 {
    margin: 1.5mm 0 2mm !important;
  }
  #m2-s12 .aipro-case-facts {
    gap: 1mm !important;
  }
  #m2-s12 .aipro-github-link {
    margin-top: 2mm !important;
    padding: 2mm 3mm !important;
  }
  #m2-s12 .aipro-case-visual img {
    min-height: 67mm !important;
    max-height: 67mm !important;
  }
  #m2-s12 .aipro-case-judgment {
    margin-top: 2mm !important;
    padding: 2mm 4mm !important;
  }

  #m7-s13 .course-promo {
    padding: 5mm 6mm !important;
  }
  #m7-s13 .course-promo-title {
    margin: 1.5mm 0 !important;
    font-size: 23pt !important;
  }
  #m7-s13 .course-promo-subtitle {
    line-height: 1.35 !important;
  }
  #m7-s13 .course-ladder {
    gap: 3mm !important;
    margin: 3mm 0 !important;
  }
  #m7-s13 .course-tier {
    min-height: 48mm !important;
    gap: 1.5mm !important;
    padding: 3mm !important;
  }
  #m7-s13 .course-tier h3 {
    font-size: 15pt !important;
  }
  #m7-s13 .course-tier p,
  #m7-s13 .course-tier .audience,
  #m7-s13 .price-reason {
    line-height: 1.3 !important;
  }
  #m7-s13 .price-reason {
    padding: 2mm 2.5mm !important;
  }
  #m7-s13 .course-promo-cta {
    padding: 2.5mm 4mm !important;
  }
  #m7-s13 .course-promo-footnote {
    margin-top: 2mm !important;
  }

  :is(#m3-s12, #m4-s13, #m4-s14, #m7-s12, #m7-s14, #m7-s12) .interaction-layout,
  #m7-s12 .course-journey {
    min-height: 0 !important;
    gap: 2.5mm !important;
  }
  :is(#m3-s12, #m4-s13, #m4-s14, #m7-s12, #m7-s14) .interaction-brief {
    gap: 2mm !important;
    padding: 4mm !important;
  }
  #m4-s14 .governance-gates {
    gap: 2mm !important;
  }
  #m4-s14 .governance-gates article {
    gap: 2mm !important;
    min-height: 0 !important;
    padding: 3.5mm !important;
  }
  #m4-s14 :is(.dependency-tags, .hub-orbit) {
    gap: 1.5mm !important;
  }
  #m4-s14 :is(.dependency-tags, .hub-orbit) span {
    padding: 1.5mm 2mm !important;
  }
  #m4-s14 .interaction-verdict {
    gap: 2mm !important;
    padding: 2.5mm 3.5mm !important;
  }
  #m7-s12 .course-journey {
    padding: 5mm !important;
  }
  #m7-s12 .journey-stations article {
    gap: 1.5mm !important;
    padding: 3.5mm !important;
  }

  img,
  svg,
  canvas {
    max-width: 100% !important;
  }
  img {
    image-rendering: auto !important;
  }

  /* M4-S8 is a five-stage lifecycle, not a two-page handout. Compact only
     decorative spacing so the complete Skill Hub conclusion remains visible. */
  #m4-s8 .slide-body {
    padding-top: 2mm !important;
    padding-bottom: 2mm !important;
  }
  #m4-s8 .task-first-skill {
    gap: 1.5mm !important;
  }
  #m4-s8 .task-first-answer,
  #m4-s8 .task-first-caution,
  #m4-s8 .task-first-hub {
    padding-top: 1.5mm !important;
    padding-bottom: 1.5mm !important;
  }
  #m4-s8 .task-first-grid {
    gap: 1.5mm !important;
  }
  #m4-s8 .task-first-stage {
    min-height: 0 !important;
    padding: 1.5mm 2mm !important;
  }
  #m4-s8 .task-first-icon {
    margin: 1mm 0 !important;
    padding: 1mm 1.5mm !important;
  }
  #m4-s8 .task-first-stage > strong {
    padding-top: 1mm !important;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
}
