/* Unapplied Wave05 composition. The existing scripts retain all state and focus ownership. */
.epi-composition { background: #fff; }
.epi-composition :is(.ph-process, .fp-industry-console, .fp-case-main, .flow, .flow__stage, .flow__panel-wrap) { min-width: 0; }

/* The unchanged introduction precedes a working spread: map at left, ruled steps at right. */
.epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro { padding-block: 64px 88px; }
.epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 14px 96px; align-items: start; margin-bottom: 68px; }
.epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading > .ph-kicker { grid-column: 1 / -1; margin: 0; }
.epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading h1 { grid-column: 1; grid-row: 2 / 4; font-size: clamp(48px, 5.2vw, 76px); line-height: 1.04; max-width: 18ch; margin: 0; }
.epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading > p:not(.ph-kicker) { grid-column: 2; margin: 5px 0 0; max-width: 31ch; font-size: 20px; }
.epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading > .ph-link { grid-column: 2; justify-self: start; margin: 0; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-process { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 76px; align-items: start; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-process > div:first-child { position: relative; top: 0; min-width: 0; }
.epi-composition.cj-how-we-work.jw-wave03.cj-fit-ready .ph-process > div:first-child[data-flow="false"] { position: sticky; top: 110px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-process-map { max-width: none; margin: 0; padding: 30px 30px 28px; background: #102839; color: #fff; border: 0; border-top: 3px solid #0875c6; box-shadow: none; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-caption { color: #c5deed; margin-bottom: 36px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-flow { min-height: 132px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-node > span { color: #94d7fb; font-size: 14px; margin-bottom: 18px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-node strong { color: #fff; font-size: clamp(23px, 2vw, 29px); line-height: 1.18; font-weight: 500; overflow-wrap: anywhere; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-flow > i { flex-basis: 18px; margin: 48px 10px 0 4px; background: #8fb8d0; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-decision { font-size: 22px !important; line-height: 1.4; color: #dcecf5; border-color: #648293; margin-top: 30px; padding-top: 24px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-steps li { grid-template-columns: 76px minmax(0, 1fr); gap: 24px; min-height: 310px; padding-block: 36px; border-top: 0; border-bottom: 1px solid #88a6bd; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-steps li:first-child { padding-top: 0; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-step-number { font-size: 54px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-steps h2 { font-size: 32px; margin-bottom: 20px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-steps p { font-size: 18px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-section:not(.ph-how-intro) { padding-block: 88px 64px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-section-head { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 20px 100px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-section-head h2 { font-size: clamp(44px, 5vw, 68px); }
.epi-composition.cj-how-we-work.jw-wave03 .ph-section-head h2 em { color: #102839; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close { display: block; padding-block: 44px 72px; border-top: 2px solid #102839; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close > div:first-child { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 18px 100px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close .ph-kicker { grid-column: 1 / -1; margin: 0; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close h2 { font-size: 42px; grid-column: 1; grid-row: 2 / 4; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close h2 em { color: #102839; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close p:not(.ph-kicker) { font-size: 18px; margin: 0; grid-column: 2; grid-row: 2; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-close a { grid-column: 2; grid-row: 3; }

/* Insurance reads as a packet with a working margin, then a record with a human boundary. */
.epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero { padding-block: 64px 46px; }
.epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero > div { grid-template-columns: minmax(0, 1.3fr) minmax(0, .85fr); gap: 22px 88px; }
.epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero h1 { max-width: 14ch; }
.epi-composition.cj-insurance.jw-wave04 .fp-industry-console { display: block; }
.epi-composition.cj-insurance.jw-wave04 .cj-routing-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-bottom: 34px; padding: 0; border-top: 0; }
.epi-composition.cj-insurance.jw-wave04 .cj-routing-index button { min-height: 68px; font-size: 18px; padding-block: 15px; border-top: 1px solid #aac0d0; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(235px, .7fr); gap: 0 54px; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main > h2 { grid-column: 1; font-size: 38px; margin-bottom: 14px; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main > p { grid-column: 1; font-size: 19px; max-width: 58ch; margin-bottom: 24px; }
.epi-composition.cj-insurance.jw-wave04 .jw-domain-scene { grid-column: 1; grid-row: 3 / 6; min-width: 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-domain-state { margin-bottom: 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-example-label { margin-bottom: 20px; }
.epi-composition.cj-insurance.jw-wave04 .jw-packet { grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: 30px; padding: 0 0 22px; }
.epi-composition.cj-insurance.jw-wave04 .jw-paper-back { margin: 44px 0 0; border: 0; border-left: 1px solid #8aa8ba; padding: 0 0 0 22px; background: transparent; }
.epi-composition.cj-insurance.jw-wave04 .jw-paper-front { margin: 0; padding: 32px; border: 1px solid #8faab9; border-top: 4px solid #102839; box-shadow: 8px 8px 0 #e6eef2; }
.epi-composition.cj-insurance.jw-wave04 .jw-domain-scene h3 { font-size: 25px; }
.epi-composition.cj-insurance.jw-wave04 .jw-paper-lines li { font-size: 17px; }
.epi-composition.cj-insurance.jw-wave04 .jw-form-fields b { font-size: 24px; }
.epi-composition.cj-insurance.jw-wave04 .jw-folder-files { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-sheet { box-shadow: none; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-missing { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 26px; align-items: start; background: transparent; border-color: #99744d; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-missing > span { grid-column: 1; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-missing h3 { grid-column: 1; grid-row: 2; margin: 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-missing .jw-empty-file { grid-column: 2; grid-row: 1 / 3; height: 76px; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-missing > b { grid-column: 1; margin: 10px 0 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-file-missing > p { grid-column: 2; margin: 10px 0 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-renewal { grid-template-columns: minmax(0, .65fr) minmax(0, 1fr); gap: 30px; padding-top: 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-renewal > .jw-paper { border-top: 4px solid #102839; padding: 30px; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .jw-source-facts { grid-column: 2; grid-row: 3; display: block; margin: 0; border-left: 1px solid #b2c6d2; padding: 0 0 0 25px; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .jw-source-facts > div { padding: 18px 0 22px; border: 0; border-bottom: 1px solid #b2c6d2; margin: 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .jw-source-facts > div:first-child { padding-top: 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .jw-source-facts > div:last-child { border: 0; padding: 24px 0 0; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .jw-source-facts dd { font-size: 17px; font-weight: 400; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main > .fp-button { grid-column: 2; grid-row: 4; justify-self: start; align-self: start; margin: 24px 0 0 25px; max-width: calc(100% - 25px); white-space: normal; }
.epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-product-top { grid-column: 1 / -1; grid-row: 6; margin-top: 32px; }
.epi-composition.cj-insurance.jw-wave04 .j4-insurance-spread { padding-block: 72px; }
.epi-composition.cj-insurance.jw-wave04 .j4-insurance-spread > .j4-chapter-title { max-width: 20ch; margin-bottom: 28px; }
.epi-composition.cj-insurance.jw-wave04 .flow { grid-template-columns: 210px minmax(0, 1fr); gap: 54px; }
.epi-composition.cj-insurance.jw-wave04 .flow__rail .rail__step { min-height: 86px; }
.epi-composition.cj-insurance.jw-wave04 .j4-license-boundary { background: none; border-left: 3px solid #94622f; padding: 0 0 0 24px; margin-bottom: 32px; }
.epi-composition.cj-insurance.jw-wave04 .flow__panel-wrap:not([hidden]) { grid-template-columns: minmax(0, 1.35fr) minmax(0, .75fr); gap: 32px; }
.epi-composition.cj-insurance.jw-wave04 .flow__panel-wrap .panel { box-shadow: none; border-top: 4px solid #0875c6; }
.epi-composition.cj-insurance.jw-wave04 .flow__col--human { background: none; border-left: 3px solid #94622f; padding: 0 0 0 18px; }
.epi-composition.cj-insurance.jw-wave04 .j4-insurance-follow .j4-annotation { grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); }
.epi-composition.cj-insurance.jw-wave04 .fp-depth { width: calc(100% - 144px); max-width: 1440px; background: none; padding: 64px 0; border-top: 1px solid #9bb3c3; grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr); gap: 80px; }
.epi-composition.cj-insurance.jw-wave04 .fp-depth-intro h2 { font-size: 34px; }
.epi-composition.cj-insurance.jw-wave04 .fp-depth-intro p { font-size: 17px; }
.epi-composition.cj-insurance.jw-wave04 .fp-detail > summary { font-size: 20px; }
.epi-composition.cj-insurance.jw-wave04 .fp-close { display: block; padding-block: 0 80px; border-top: 0; }
.epi-composition.cj-insurance.jw-wave04 .fp-close > div:first-child { display: block; max-width: 700px; margin-left: auto; border-top: 3px solid #102839; padding-top: 34px; }
.epi-composition.cj-insurance.jw-wave04 .fp-close h2 { font-size: clamp(42px, 4vw, 58px); max-width: none; margin: 0 0 25px; }
.epi-composition.cj-insurance.jw-wave04 .fp-close h2 em { color: #102839; }
.epi-composition.cj-insurance.jw-wave04 .fp-close p { max-width: 51ch; font-size: 19px; margin-bottom: 28px; }
.epi-composition.cj-insurance.jw-wave04 .fp-close a { display: inline-flex; }

/* Before enhancement, every serialized object and all six original records remain ordinary reading. */
.epi-composition.cj-insurance.jw-wave04:not(.jw-interactive) .jw-work-object .fp-case-main { display: block; }
.epi-composition.cj-insurance.jw-wave04:not(.jw-interactive) .jw-domain-state + .jw-domain-state { margin-top: 44px; padding-top: 32px; border-top: 1px solid #9bb3c3; }
.epi-composition.cj-insurance.jw-wave04:not(.jw-interactive) .jw-work-object .jw-source-facts { margin-top: 32px; }
.epi-composition.cj-insurance.jw-wave04:not(.jw-interactive) .jw-work-object .fp-case-main > .fp-button { margin-left: 0; }

@media (max-width: 1280px) {
  .epi-composition.cj-how-we-work.jw-wave03 .cj-process-map { padding: 26px 22px; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-flow { display: block; min-height: 0; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-node { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 14px; align-items: baseline; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-node > span { margin: 0; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-node strong { font-size: 27px; overflow-wrap: normal; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-flow > i { display: block; width: calc(100% - 42px); margin: 18px 0 18px 42px; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-decision { font-size: 21px !important; }
}
@media (max-width: 1100px) {
  .epi-composition.cj-how-we-work.jw-wave03 :is(.epi-process-heading, .ph-process) { gap: 34px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-steps li { grid-template-columns: 58px minmax(0, 1fr); gap: 18px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-step-number { font-size: 44px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-steps h2 { font-size: 28px; }
  .epi-composition.cj-how-we-work.jw-wave03 :is(.ph-section-head, .ph-close > div:first-child) { gap: 18px 40px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero > div { gap: 22px 40px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main { grid-template-columns: minmax(0, 1.6fr) minmax(220px, .75fr); column-gap: 32px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-packet { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .jw-paper-back { margin: 0 35px 25px 0; }
  .epi-composition.cj-insurance.jw-wave04 .jw-paper-front { margin-left: 28px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-renewal { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .jw-renewal-spine { margin-bottom: 24px; padding-top: 0; }
  .epi-composition.cj-insurance.jw-wave04 .flow { grid-template-columns: 180px minmax(0, 1fr); gap: 32px; }
  .epi-composition.cj-insurance.jw-wave04 .flow__panel-wrap:not([hidden]) { grid-template-columns: minmax(0, 1fr); }
  .epi-composition.cj-insurance.jw-wave04 .flow__meta { display: flex; }
  .epi-composition.cj-insurance.jw-wave04 .fp-depth { width: calc(100% - 80px); gap: 40px; }
}
@media (max-width: 760px) {
  .epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro { padding-block: 40px 54px; }
  .epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading { display: block; margin-bottom: 32px; }
  .epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading h1 { font-size: clamp(40px, 10vw, 54px); margin: 16px 0 24px; }
  .epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading > p:not(.ph-kicker) { font-size: 18px; max-width: 35ch; }
  .epi-composition.cj-how-we-work.jw-wave03 .epi-process-heading > .ph-link { margin-top: 20px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-process { display: block; }
  .epi-composition.cj-how-we-work.jw-wave03.cj-fit-ready .ph-process > div:first-child[data-flow="false"] { position: relative; top: 0; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-process > div:first-child:empty { display: none; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-process-map { position: relative; top: 0; margin-bottom: 32px; padding: 24px 22px; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-caption { margin-bottom: 28px; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-node strong { font-size: 26px; }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-decision { margin-top: 24px; padding-top: 20px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-steps li { min-height: 0; padding-block: 30px; grid-template-columns: 58px minmax(0, 1fr); }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-steps li:first-child { padding-top: 15px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-steps h2 { font-size: 27px; margin-bottom: 16px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-steps p { font-size: 17px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-section:not(.ph-how-intro) { padding-block: 54px 44px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-section-head { display: block; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-section-head h2 { font-size: 42px; margin-bottom: 25px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-section-head > p:last-child { font-size: 18px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-close { padding-block: 32px 54px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-close > div:first-child { display: block; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-close h2 { font-size: 37px; margin: 18px 0 24px; }
  .epi-composition.cj-how-we-work.jw-wave03 .ph-close p:not(.ph-kicker) { font-size: 17px; margin-bottom: 24px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero { padding-block: 40px 32px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero > div { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .fp-industry-opening .fp-hero h1 { font-size: clamp(40px, 10.6vw, 54px); }
  .epi-composition.cj-insurance.jw-wave04 .cj-routing-index { display: block; margin-bottom: 30px; }
  .epi-composition.cj-insurance.jw-wave04 .cj-routing-index button { min-height: 64px; border-top: 0; }
  .epi-composition.cj-insurance.jw-wave04 .cj-routing-index button:first-child { border-top: 1px solid #aac0d0; }
  .epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main > h2 { font-size: 31px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main > p { font-size: 18px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-paper-front { padding: 24px; margin-left: 18px; box-shadow: 5px 5px 0 #e6eef2; }
  .epi-composition.cj-insurance.jw-wave04 .jw-paper-back { margin-right: 18px; padding-left: 18px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-folder-files { gap: 14px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-domain-scene h3 { font-size: 23px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-file-sheet { padding: 20px 15px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-file-missing { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .jw-file-missing h3 { margin: 14px 0 22px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-file-missing > b { margin-top: 22px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-renewal > .jw-paper { padding: 24px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-work-object .jw-source-facts { margin-top: 30px; padding-left: 18px; }
  .epi-composition.cj-insurance.jw-wave04 .jw-work-object .fp-case-main > .fp-button { margin: 24px 0 0 18px; max-width: calc(100% - 18px); }
  .epi-composition.cj-insurance.jw-wave04 .j4-insurance-spread { padding-block: 46px; }
  .epi-composition.cj-insurance.jw-wave04 .flow { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .flow__rail .rail__step { min-height: 110px; }
  .epi-composition.cj-insurance.jw-wave04 .flow__panel-wrap:not([hidden]) { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .flow__panel-wrap .panel { box-shadow: none; }
  .epi-composition.cj-insurance.jw-wave04 .j4-license-boundary { padding-left: 18px; }
  .epi-composition.cj-insurance.jw-wave04 .j4-insurance-follow .j4-annotation { display: block; }
  .epi-composition.cj-insurance.jw-wave04 .fp-depth { width: calc(100% - 44px); display: block; padding-block: 44px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-depth-intro h2 { font-size: 31px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-detail > summary { font-size: 18px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-close { padding-bottom: 54px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-close h2 { font-size: 40px; }
  .epi-composition.cj-insurance.jw-wave04 .fp-close p { font-size: 18px; }
}
@media (max-width: 400px) {
  .epi-composition.cj-insurance.jw-wave04 .jw-folder-files { grid-template-columns: minmax(0, 1fr); }
  .epi-composition.cj-how-we-work.jw-wave03 .cj-map-node strong { font-size: 24px; }
}
@media (max-width: 360px) {
  .epi-composition.cj-insurance.jw-wave04 .flow__rail { grid-template-columns: minmax(0, 1fr); }
  .epi-composition.cj-insurance.jw-wave04 .flow__rail .rail__step { min-height: 76px; }
}
@media (max-height: 740px), (prefers-reduced-motion: reduce) {
  .epi-composition.cj-how-we-work.jw-wave03.cj-fit-ready .ph-process > div:first-child[data-flow="false"] { position: relative; top: 0; }
}

/* Concrete examples belong to the numbered steps before enhancement. */
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example { min-width:0; margin-top:28px; padding:24px; background:#f3f7fa; color:#102839; border:1px solid #adc3d1; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example[hidden] { display:none !important; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-steps > li > .ap-work-example { grid-column:1 / -1; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example .ap-example { margin:0 0 16px; font-size:13px; line-height:1.5; color:#3b596c; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example h3 { margin:0 0 20px; font-size:26px; line-height:1.18; color:#102839; letter-spacing:-.025em; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example blockquote { margin:0 0 20px; padding:0 0 20px; border:0; border-bottom:1px solid #afc6d5; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example blockquote p { margin:0; font-size:20px; line-height:1.4; color:#102839; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-route { list-style:none; margin:0; padding:0; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-route li { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; min-height:0; padding:12px 0; border:0; border-bottom:1px solid #c3d4df; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-route span { font-size:14px; color:#3b596c; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-route b { font-size:17px; line-height:1.45; font-weight:500; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example .ap-review-note { font-size:15px; line-height:1.55; margin:20px 0 0; color:#274c66; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-prototype-window { background:#fff; border:1px solid #a6c0d0; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-prototype-window header { display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:space-between; padding:16px; background:#102839; color:#fff; font-size:14px; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-prototype-window header b { font-weight:500; color:#bce9f2; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-fields { margin:0; padding:0 16px; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-fields > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid #cedbe3; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-fields dt { font-size:13px; color:#3b596c; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-fields dd { margin:0; font-size:15px; line-height:1.5; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-work-example .ap-draft { margin:0; padding:16px; font-size:16px; line-height:1.5; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-draft span { display:block; color:#3b596c; font-size:13px; margin-bottom:10px; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-handover-register { margin:0; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-handover-register > div { padding:12px 0; border-top:1px solid #adc3d1; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-handover-register dt { font-size:14px; color:#3b596c; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-handover-register dd { margin:6px 0 0; font-size:17px; line-height:1.45; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-runbook { margin-top:20px; padding-top:16px; border-top:2px solid #294c63; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-runbook h4 { color:#102839; font-size:17px; font-weight:600; margin:0 0 12px; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-runbook ol { margin:0; padding-left:20px; list-style:decimal; }
.epi-composition.cj-how-we-work.jw-wave03 .ap-runbook li { display:list-item; min-height:0; border:0; padding:0 0 10px; font-size:15px; line-height:1.5; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-process-map { padding:24px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-caption { margin-bottom:18px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-flow { min-height:0; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-node > span { margin-bottom:8px; font-size:12px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-node strong { font-size:17px; line-height:1.35; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-flow > i { margin-top:31px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-map-decision { font-size:16px !important; margin-top:18px; padding-top:16px; }
.epi-composition.cj-how-we-work.jw-wave03 .cj-process-map > .ap-work-example { margin-top:20px; border:0; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro[data-artifact-layout="stage"] .ph-steps > li { min-height:70svh; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-caption { font-size:12px; line-height:1.4; margin-bottom:12px; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-flow { display:flex; align-items:center; gap:12px; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-node { display:flex; align-items:baseline; gap:6px; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-node > span { font-size:11px; margin:0; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-node strong { font-size:14px; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-flow > i { flex:0 0 18px; margin:0; }
.epi-composition.cj-how-we-work.jw-wave03 [data-artifact-layout="stage"] .cj-map-decision { font-size:14px !important; margin-top:10px; padding-top:10px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro:not([data-artifact-layout="stage"]) .ph-process { display:block; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro:not([data-artifact-layout="stage"]) .ph-process > div:first-child { position:relative; top:0; margin-bottom:32px; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro:not([data-artifact-layout="stage"]) .ph-steps > li { min-height:0; align-items:start; }
.epi-composition.cj-how-we-work.jw-wave03 .ph-how-intro:not([data-artifact-layout="stage"]) .ap-work-example { max-width:780px; }
@media(max-width:760px) {
 .epi-composition.cj-how-we-work.jw-wave03 .ap-work-example { padding:20px 16px; margin-top:24px; }
 .epi-composition.cj-how-we-work.jw-wave03 .ph-steps > li > div { min-width:0; }
 .epi-composition.cj-how-we-work.jw-wave03 .ph-steps > li { grid-template-columns:48px minmax(0,1fr); gap:16px; }
 .epi-composition.cj-how-we-work.jw-wave03 .ap-work-example h3 { font-size:24px; }
 .epi-composition.cj-how-we-work.jw-wave03 .ap-route li,.epi-composition.cj-how-we-work.jw-wave03 .ap-fields > div { display:block; }
 .epi-composition.cj-how-we-work.jw-wave03 .ap-route b { display:block; margin-top:5px; }
 .epi-composition.cj-how-we-work.jw-wave03 .ap-fields dd { margin-top:5px; }
 .epi-composition.cj-how-we-work.jw-wave03 .ap-work-example { grid-column:1 / -1; }
}
