/* Presentation refinement: clear groups, deliberate image scale and calmer rows. */
.matrix-cell-label { display: none; }
.matrix-sidebar-label { font-size: var(--type-small); }
.matrix-sidebar-label { font-weight: 600; margin: 24px 0 12px; }
.search-field svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; }

@media screen {
  :root { --section-space: 80px; --layout-gap: 48px; --type-section: clamp(34px, 3.4vw, 44px); }
  .section { scroll-margin-top: 0; }
  h2, h3, h4 { text-wrap: pretty; }
  .section-intro { margin-bottom: 40px; }
  .section-intro.split { row-gap: 20px; }
  .section-intro > p, .section-intro > div:nth-child(2) { max-width: 58ch; }
  .hero { grid-template-columns: 1fr 1fr; padding-block: 56px; }
  .hero-visual { padding-bottom: 32px; }
  .photo-frame { margin: 0; height: 460px; border-radius: 80px 16px 16px 16px; }
  /* Crop to the conversation; the wall sign is partly outside the source photo. */
  .photo-frame img { transform: scale(1.3); transform-origin: 56% 100%; }
  .photo-caption { left: -24px; bottom: 64px; padding: 20px 24px; border-radius: 16px; box-shadow: 0 12px 40px oklch(.2 .04 265 / .15); }
  .hero-actions { gap: 16px 24px; }
  .service-band-inner { gap: 0; padding-block: 0; }
  .service-band a { border-radius: 0; padding: 28px; grid-template-columns: var(--number-size) minmax(0,1fr) 20px; gap: 16px; }
  .service-band a:first-child { border-radius: 0 0 0 20px; }
  .service-band a:last-child { border-radius: 0 0 20px 0; }
  .service-band h2 { margin: 8px 0 12px; }
  .service-band .band-label { margin: 0; }
  .band-arrow { display: block; font-size: 20px; }
  .service-band a:hover .band-arrow { transform: translateY(3px); }
  .service-band .band-number { background: transparent; border: 1px solid currentColor; color: inherit; border-radius: 50%; }
  .service-band a:nth-child(-n+2) .band-number { background: transparent; color: var(--white); }
  .principle-row { grid-template-columns: repeat(3,minmax(0,1fr)); background: var(--blue-wash); border: 1px solid var(--line); border-radius: var(--radius-panel); padding: 32px; margin-bottom: 48px; gap: 20px 28px; }
  .principle-row > div { display: grid; grid-template-rows: auto 1fr; align-content: start; gap: 20px; min-width: 0; padding-left: 28px; border-left: 1px solid var(--line); }
  .principle-row > div:first-child { border-left: 0; padding-left: 0; }
  .principle-heading { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; align-items: start; min-height: 3.9em; }
  .principle-heading svg { width: 28px; height: 28px; margin-top: 2px; fill: none; stroke: var(--blue); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
  .principle-row h3 { color: var(--navy); font-size: var(--type-step); line-height: 1.35; margin: 0; }
  .principle-row p { font-size: var(--type-body); color: var(--surface-text); margin: 0; max-width: 38ch; text-wrap: pretty; }

  /* One photographic lead, two compact work-result illustrations. */
  .workday-gallery { grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
  .workday-scene { border-radius: 16px; }
  .workday-scene:first-child { grid-row: span 2; display: flex; flex-direction: column; }
  .workday-scene:first-child > img { aspect-ratio: 16 / 10; }
  .workday-scene:first-child figcaption { flex: 1; padding: 28px 32px 16px; }
  .workday-scene:not(:first-child) { display: grid; grid-template-columns: 40% minmax(0,1fr); background: var(--copilot-lilac); color: var(--navy); }
  .workday-scene:last-child { background: oklch(.965 .018 160); }
  .workday-scene:not(:first-child) > img { height: 100%; object-fit: contain; }
  .workday-scene:not(:first-child) figcaption { padding: 24px 24px 12px 0; align-self: center; }
  .workday-scene h4 { font-size: var(--type-step); }
  .workday-scene p { font-size: var(--type-body); }
  .workday-scene:not(:first-child) p { color: var(--surface-text); }
  .workday-scene:not(:first-child) .workday-app { color: var(--navy); }
  .workday-scene:not(:first-child) .workday-prompt { border-color: var(--line); }
  .workday-scene:not(:first-child) .workday-prompt > summary { color: var(--navy); }
  .workday-scene:not(:first-child) .workday-prompt-body blockquote p { color: var(--navy); }
  .workday-prompt > summary { line-height: 1.5; }
  .workday-app { font-weight: 600; }
  .workday-heading { display: block; margin-bottom: 28px; }
  .workday-heading > .copilot-signature { font-size: var(--type-small); margin-bottom: 16px; }

  /* Number, heading and explanation read as one step. */
  .implementation-scene { margin-block: 32px 40px; align-items: center; }
  .implementation-scene .work-photo > img { aspect-ratio: 16 / 10; border-radius: 16px 64px 16px 16px; }
  .journey { grid-template-columns: 1fr 1fr; gap: 0 48px; margin-block: 32px 40px; }
  .journey li { grid-template-columns: 48px minmax(0,1fr); grid-template-rows: 48px auto; align-content: start; gap: 12px 24px; border-top: 1px solid var(--line); padding-block: 28px; }
  .journey li:not(:last-child):after { content: none; }
  .journey-number { grid-column: 1; grid-row: 1 / 3; }
  .journey h3 { grid-column: 2; align-self: center; margin: 0; font-size: var(--type-step); color: var(--navy); }
  .journey p { grid-column: 2; padding: 0; }
  .journey .journey-number { box-shadow: none; border-radius: 14px; }
  .continuity-layout { grid-template-columns: minmax(240px,.75fr) minmax(0,1.6fr); gap: 56px; }
  .continuity-copy { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
  .continuity-copy > div { padding: 24px 0 0; border-top: 1px solid var(--line); border-bottom: 0; min-width: 0; }
  .continuity-copy > div:first-child, .continuity-copy > div:last-child { padding: 24px 0 0; border-top: 1px solid var(--line); }
  .continuity-copy h3 { display: block; font-size: var(--type-step); color: var(--navy); }
  .continuity-copy .service-icon { display: block; margin-bottom: 16px; }
  .continuity-copy .open-note { margin-top: 16px; font-size: var(--type-small); line-height: 1.6; color: var(--surface-text); }
  .open-note > span { display: inline-block; margin-right: 6px; padding: 1px 8px; border-radius: 6px; background: var(--cyan-pale); color: var(--navy); font-weight: 600; }
  .continuity-aside { display: grid; gap: 40px; align-content: start; justify-items: center; }
  .continuity-aside .cycle-visual { position: static; max-width: 320px; }
  .continuity-aside .coaching-photo { margin: 0; width: 100%; }
  .coaching-photo > img { aspect-ratio: 4 / 3; border-radius: 16px 48px 16px 16px; }
  .support-visual { grid-template-columns: 1fr 1fr; }
  .support-visual figure img { aspect-ratio: 16 / 10; }
  .support-visual > div { padding: 40px; }
  .support-visual h3 { margin-top: 0; }
  .spotlight-panel .review-layout > div > p:not(.section-index) { color: var(--on-blue-muted); }
  .service-disclosure { padding: 32px; }
  .disclosure-action { max-width: 210px; }
  .service-disclosure > summary strong { font-size: 24px; }

  /* The matrix becomes a reading workspace with a persistent category rail. */
  .scope-section { background: var(--paper); }
  .matrix-layout { display: grid; grid-template-columns: 256px minmax(0,1fr); gap: 32px; align-items: start; }
  .matrix-sidebar { position: sticky; top: 112px; max-height: calc(100vh - 128px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 8px; margin: -8px; }
  .matrix-sidebar .filter-group { display: flex; flex-direction: column; gap: 4px; border: 0; padding: 0; background: none; border-radius: 0; }
  .matrix-sidebar .filter-group button { display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; padding: 12px 16px; font-size: var(--type-body); color: var(--navy); min-height: 50px; }
  .matrix-sidebar .filter-group button[aria-pressed=true] { background: var(--navy); border-color: var(--navy); color: var(--white); }
  .matrix-sidebar .filter-group button:hover:not([aria-pressed=true]) { background: var(--blue-wash); }
  .matrix-results { min-width: 0; background: var(--white); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
  .matrix-results .matrix-toolbar { flex-direction: row; align-items: center; padding: 24px; margin: 0; gap: 20px; border-bottom: 1px solid var(--line); }
  .matrix-toolbar h3 { color: var(--navy); font-size: 24px; }
  .matrix-toolbar #matrix-count { margin: 4px 0 0; }
  .matrix-results .search-field { width: 224px; flex: none; max-width: 100%; padding: 6px 12px; background: var(--paper); align-self: center; }
  .matrix-results .search-field input { width: 100%; }
  .matrix-results .table-scroll { overflow: visible; }
  .scope-table, .scope-table tbody { display: block; min-width: 0; background: transparent; }
  .scope-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .scope-table tr { display: grid; grid-template-columns: 1.15fr 1fr; gap: 16px 32px; padding: 24px; margin: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: none; }
  .scope-table tbody tr:nth-child(even) { background: var(--paper); }
  .scope-table tbody tr:hover { background: var(--cyan-wash); }
  .scope-table tr:last-child { border-bottom: 0; }
  .scope-table td { padding: 0; border: 0; font-size: var(--type-body); line-height: 1.65; order: initial; }
  .scope-table td:first-child { grid-column: 1; grid-row: 1; font-size: var(--type-step); line-height: 1.35; font-weight: 600; }
  .scope-table td:nth-child(2) { grid-column: 1; grid-row: 2; }
  .scope-table td:nth-child(3) { grid-column: 2; grid-row: 2; color: var(--surface-text); }
  .scope-table td:nth-child(3):before { content: none; }
  .scope-table td:nth-child(4) { grid-column: 2; grid-row: 1; justify-self: end; align-self: start; }
  .matrix-cell-label { display: block; margin-bottom: 6px; color: var(--blue); font-size: var(--type-small); font-weight: 600; }
  .scope-table td:nth-child(3) .matrix-cell-label { color: var(--muted); }
  .matrix-results #matrix-empty { border: 0; background: none; }
  .level-detail { padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; margin-top: 16px; }
  .level-detail .level-action { background: var(--blue-wash); }
  /* Three parties side by side: who does what at a glance. */
  .responsibility-table { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); padding: var(--panel-space); margin-block: 40px 48px; }
  .responsibility-table .responsibility-row, .responsibility-table .responsibility-row:first-child, .responsibility-table .responsibility-row:last-child { display: block; padding: 0 32px; border: 0; border-left: 1px solid var(--on-color-line); }
  .responsibility-table .responsibility-row:first-child { padding-left: 0; border-left: 0; }
  .responsibility-table .responsibility-row:last-child { padding-right: 0; }
  .responsibility-row h3 { font-size: var(--type-title); margin: 16px 0 12px; }
  .responsibility-role { display: inline-block; padding: 2px 10px; border-radius: 20px; background: var(--cyan-pale); color: var(--navy); font-size: var(--type-small); font-weight: 600; line-height: 1.5; }
  .project-map { text-align: left; border-radius: 20px; }
  .project-map-top { position: relative; padding-left: 88px; }
  .project-map-top .copilot-logo { position: absolute; left: 24px; top: 28px; margin: 0; }
  .project-map-arrow { text-align: center; }
}

/* Support route, matrix guidance and start checks share the brand surfaces. */
@media screen {
  .hero-lead { max-width: 24ch; text-wrap: balance; }
  .implementation-scene h3 { margin-top: 0; }

  .support-examples-heading { display: grid; grid-template-columns: var(--content-columns); gap: 16px var(--layout-gap); align-items: end; margin-bottom: 24px; }
  .support-examples-heading h3 { color: var(--navy); font-size: var(--type-feature); line-height: 1.25; margin: 0; }
  .support-examples-heading p { color: var(--surface-text); margin: 0; }
  .triage-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); margin: 0; padding: var(--panel-space); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-panel); }
  .triage-list > div { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding: 0 32px; border-left: 1px solid var(--line); }
  .triage-list > div:first-child { padding-left: 0; border-left: 0; }
  .triage-list > div:last-child { padding-right: 0; }
  .triage-list dt { font-size: var(--type-step); font-weight: 500; line-height: 1.4; letter-spacing: -.015em; color: var(--navy); }
  .triage-list dd { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin: 0; }
  .triage-list dd p { margin: 0; color: var(--surface-text); }
  .triage-label { display: inline-block; padding: 4px 12px; border-radius: 24px; background: var(--blue); color: var(--white); font-size: var(--type-small); font-weight: 600; line-height: 1.5; }
  .triage-advice .triage-label { background: var(--cyan-pale); color: var(--navy); }
  .triage-project .triage-label { background: var(--navy); }

  .matrix-sidebar-label { margin-top: 0; }
  .matrix-sidebar .filter-group button { gap: 12px; }
  .filter-name { display: inline-flex; align-items: center; gap: 10px; }
  .filter-dot { width: 10px; height: 10px; flex: none; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 1.5px var(--white); }
  [data-filter=ongoing] .filter-dot { background: var(--navy); }
  [data-filter=project] .filter-dot { background: var(--cyan); }
  [data-filter=cost] .filter-dot { background: transparent; box-shadow: inset 0 0 0 1.5px currentColor; }
  [data-filter=all] .filter-dot { background: conic-gradient(var(--blue) 0 33%, var(--navy) 0 66%, var(--cyan) 0); }
  .filter-count { min-width: 28px; padding: 0 8px; border-radius: 20px; background: var(--blue-wash); color: var(--navy); font-size: var(--type-small); font-weight: 600; line-height: 24px; text-align: center; font-variant-numeric: tabular-nums; }
  .filter-group button[aria-pressed=true] .filter-count { background: var(--on-color-line); color: var(--white); }
  .status-legend { margin-top: 24px; border-top: 1px solid var(--line); }
  .status-legend > summary { padding-block: 16px 12px; gap: 12px; color: var(--navy); font-size: var(--type-small); font-weight: 600; }
  .status-legend > summary > span { font-size: 20px; }
  .status-legend dl { display: grid; gap: 14px; margin: 0 0 8px; }
  .status-legend dl > div { display: grid; justify-items: start; gap: 4px; }
  .status-legend dt, .status-legend dd { margin: 0; }
  .status-legend dd { color: var(--surface-text); font-size: var(--type-small); line-height: 1.5; }
  :is(.scope-table, .status-legend) .pill { padding: 2px 10px; border: 1px solid transparent; background: var(--blue-pale); color: var(--blue); font-size: var(--type-small); }
  :is(.scope-table, .status-legend) .open-status { background: var(--cyan-wash); color: var(--navy); border-color: var(--line); }
  :is(.scope-table, .status-legend) .project-status { background: var(--navy); color: var(--white); border-color: var(--navy); }
  :is(.scope-table, .status-legend) .cost-status { background: var(--white); color: var(--navy); border-color: var(--navy); }
  :is(.scope-table, .status-legend) .excluded-status { background: var(--pale); color: var(--muted); border: 1px dashed var(--muted); }
  .matrix-results .matrix-empty { padding: 32px 24px; }
  .matrix-empty p { margin: 0 0 4px; color: var(--surface-text); }

  .start-checks { margin-top: 48px; }
  .start-checks > details { margin-top: 0; }
  .start-checks > details + details { border-top: 0; }
  #afspraken .footnote { margin-top: 24px; }
  .related-service { grid-template-columns: minmax(0,1fr) auto; gap: 16px 40px; margin-top: 40px; padding: 32px var(--panel-space); border: 0; border-radius: var(--radius-panel); background: var(--blue-wash); }
  .related-service h3 { color: var(--navy); margin-bottom: 12px; }
  .related-service p { color: var(--surface-text); }
  .related-service > a { align-self: center; }
}

@media screen and (min-width: 901px) and (max-width: 1100px) {
  .site-header nav { gap: 20px; }
  .header-inner { gap: 24px; }
  .workday-scene:not(:first-child) { grid-template-columns: 34% minmax(0,1fr); }
  .workday-scene:not(:first-child) figcaption { padding-right: 20px; }
  .continuity-layout { grid-template-columns: 260px minmax(0,1fr); gap: 40px; }
  .continuity-copy { grid-template-columns: 1fr; gap: 24px; }
  .coaching-photo { max-width: 400px; }
  .matrix-layout { grid-template-columns: 240px minmax(0,1fr); gap: 24px; }
  .service-band h2 { min-height: 2.6em; }
  .triage-list { grid-template-columns: 1fr; }
  .triage-list > div, .triage-list > div:first-child { padding: 24px 0; border-left: 0; border-top: 1px solid var(--line); }
  .triage-list > div:first-child { border-top: 0; padding-top: 0; }
  .matrix-results .matrix-toolbar { flex-direction: column; align-items: stretch; }
  .matrix-results .search-field { width: 100%; }
}

/* Shared tracks keep descriptions aligned when one heading wraps. */
@supports (grid-template-rows: subgrid) {
  @media screen and (min-width: 901px) {
    .principle-row > div { grid-row: span 2; grid-template-rows: subgrid; }
    .principle-heading { min-height: 0; }
    .responsibility-table { row-gap: 14px; }
    .responsibility-table .responsibility-row,
    .responsibility-table .responsibility-row:first-child,
    .responsibility-table .responsibility-row:last-child { display: grid; grid-row: span 3; grid-template-columns: minmax(0,1fr); grid-template-rows: subgrid; gap: 14px; justify-items: start; }
    .responsibility-row h3 { margin: 0; }
  }
  @media screen and (min-width: 1101px) {
    .triage-list { row-gap: 16px; }
    .triage-list > div { display: grid; grid-row: span 3; grid-template-rows: subgrid; align-content: start; }
    .triage-list dd { display: grid; grid-row: span 2; grid-template-rows: subgrid; align-content: start; justify-items: start; }
  }
}

@media screen and (max-width: 900px) {
  :root { --section-space: 56px; --layout-gap: 32px; }
  .hero { grid-template-columns: 1fr; padding-block: 40px; }
  .hero-visual, .hero-copy { max-width: none; }
  .photo-frame { height: 380px; }
  .photo-caption { left: 16px; }
  .service-band-inner { grid-template-columns: 1fr; padding-block: 20px; gap: 0; }
  .service-band a, .service-band a:first-child, .service-band a:last-child { padding: 24px; border-radius: 0; }
  .service-band a:first-child { border-radius: 16px 16px 0 0; }
  .service-band a:last-child { border-radius: 0 0 16px 16px; }
  .service-band h2 { min-height: 0; }
  .principle-row { grid-template-columns: 1fr; gap: 0; padding: 24px; margin-bottom: 32px; }
  .principle-row > div, .principle-row > div:first-child { grid-template-rows: auto auto; gap: 12px; padding: 24px 0; border-left: 0; border-top: 1px solid var(--line); }
  .principle-row > div:first-child { padding-top: 0; border-top: 0; }
  .principle-row > div:last-child { padding-bottom: 0; }
  .principle-heading { min-height: 0; }
  .principle-row p { max-width: 65ch; padding-left: 40px; }
  .workday-gallery { grid-template-columns: 1fr; }
  .workday-scene:first-child, .workday-scene:not(:first-child) { display: grid; grid-template-columns: 42% minmax(0,1fr); grid-row: auto; }
  .workday-scene:first-child > img { height: 100%; object-fit: cover; }
  .workday-scene:first-child figcaption, .workday-scene:not(:first-child) figcaption { padding: 24px; }
  .workday-heading > .copilot-signature { max-width: none; }
  .journey { gap: 0 32px; }
  .journey li { gap: 12px 16px; }
  .continuity-layout { grid-template-columns: 1fr; gap: 32px; }
  .continuity-aside { grid-template-columns: minmax(0,300px) minmax(0,1fr); align-items: center; gap: 32px; }
  .continuity-copy { gap: 32px; }
  .cycle-visual { position: static; max-width: 300px; }
  .support-visual { grid-template-columns: 1fr; }
  .support-visual figure img { max-height: 360px; height: auto; aspect-ratio: 2 / 1; }
  .service-disclosure { padding: 24px; }
  .matrix-layout { grid-template-columns: 1fr; gap: 24px; }
  .matrix-sidebar { position: static; }
  .matrix-sidebar .filter-group { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; }
  .matrix-sidebar .filter-group button { font-size: var(--type-small); padding: 8px 10px 8px 14px; min-height: 44px; background: var(--white); border: 1px solid var(--line); gap: 10px; }
  .matrix-sidebar-label { display: block; margin-top: 0; }
  .matrix-results .search-field { width: 240px; }
  .responsibility-table { grid-template-columns: 1fr; }
  .support-examples-heading { grid-template-columns: 1fr; align-items: start; }
  .responsibility-table .responsibility-row, .responsibility-table .responsibility-row:first-child, .responsibility-table .responsibility-row:last-child { padding: 24px 0; border-left: 0; border-top: 1px solid var(--on-color-line); }
  .responsibility-table .responsibility-row:first-child { padding-top: 0; border-top: 0; }
  .responsibility-table .responsibility-row:last-child { padding-bottom: 0; }
  .triage-list { grid-template-columns: 1fr; }
  .triage-list > div, .triage-list > div:first-child { padding: 24px 0; border-left: 0; border-top: 1px solid var(--line); }
  .triage-list > div:first-child { border-top: 0; padding-top: 0; }
  .related-service { grid-template-columns: 1fr; }
  .level-detail { padding: 24px; }
}

@media screen and (max-width: 600px) {
  .hero { padding-block: 32px; }
  .hero-visual { padding-bottom: 28px; }
  .photo-frame { height: 248px; border-radius: 48px 12px 12px 12px; }
  .photo-caption { left: 12px; bottom: 48px; padding: 16px; }
  .service-band a, .service-band a:first-child, .service-band a:last-child { padding: 24px 20px; }
  .workday-scene:first-child, .workday-scene:not(:first-child) { display: block; }
  .workday-scene:first-child > img, .workday-scene:not(:first-child) > img { height: auto; aspect-ratio: 3 / 2; }
  .workday-scene:first-child figcaption, .workday-scene:not(:first-child) figcaption { padding: 24px 24px 12px; }
  .implementation-scene { align-items: start; }
  .journey, .continuity-copy { grid-template-columns: 1fr; }
  .journey li { padding-block: 24px; }
  .journey-number { grid-row: 1; }
  .journey p { grid-column: 1 / -1; }
  .journey h3 { align-self: center; margin: 0; }
  .continuity-copy { gap: 24px; }
  .continuity-copy h3 { display: flex; align-items: center; gap: 12px; }
  .continuity-copy .service-icon { margin: 0; }
  .support-visual > div, .service-disclosure { padding: 24px; }
  .support-visual figure img { aspect-ratio: 3 / 2; }
  .matrix-results .matrix-toolbar { flex-direction: column; align-items: stretch; padding: 20px; gap: 16px; }
  .matrix-results .search-field { width: 100%; max-width: none; }
  .scope-table tr { grid-template-columns: 1fr; gap: 16px; padding: 24px 20px; }
  .scope-table td:first-child, .scope-table td:nth-child(2), .scope-table td:nth-child(3), .scope-table td:nth-child(4) { grid-column: 1; grid-row: auto; }
  .scope-table td:nth-child(4) { grid-row: 2; justify-self: start; }
  .scope-table td:nth-child(3) { padding-top: 16px; border-top: 1px solid var(--line); }
  .scope-table .pill { font-size: var(--type-small); }
  .level-detail, .responsibility-table { padding: 24px; }
  .project-map-top { padding: 24px; }
  .project-map-top .copilot-logo { position: static; margin-bottom: 16px; }
}

@media screen and (max-width: 600px) {
  .continuity-aside { grid-template-columns: 1fr; justify-items: stretch; }
  .continuity-aside .cycle-visual { justify-self: center; }
  .band-arrow { display: none; }
  .service-band a, .service-band a:first-child, .service-band a:last-child { grid-template-columns: var(--number-size) minmax(0,1fr); }
  .support-visual > div { padding: 24px; }
  .related-service { padding: 24px; }
  .related-service > a { justify-self: start; }
}

@media screen and (max-width: 440px) {
  /* The caption sits below the faces instead of over them. */
  .hero-visual { padding-bottom: 0; }
  .photo-caption { position: relative; left: auto; bottom: auto; margin: -36px 12px 0; }
  .related-service { padding: 24px 20px; }
  .related-service .text-link { gap: 8px; }
  .principle-row { padding: 24px 20px; }
  .principle-row p { padding-left: 0; }
}

@media print {
  .principle-heading svg { display: none; }
  .matrix-layout { display: block; }
  .matrix-sidebar, .matrix-toolbar, .matrix-cell-label { display: none; }
  .responsibility-role { display: none; }
  .open-note > span { font-weight: 600; }
  .open-note > span::after { content: ":"; }
  .triage-list dd { margin: 0; }
  .continuity-aside { display: block; }
  .triage-list > div { display: grid; grid-template-columns: .8fr 1.7fr; gap: 20pt; padding-block: 12pt; border-bottom: 1px solid #ccd2e0; break-inside: avoid; }
  .triage-list dt { font-size: 12pt; color: #24335e; }
  .triage-label { font-weight: 600; }
  .related-service { display: grid; grid-template-columns: 1.5fr 1fr; }
}
