.hp-home-revised .cass-method { padding: var(--home-section-space,64px) 0; background: var(--amlcc-paper); }
.cass-method-layout { display: grid; grid-template-columns: minmax(250px,.72fr) minmax(0,1.6fr); gap: 48px; align-items: center; }
.cass-method-copy { min-width: 0; max-width: 390px; }
.cass-method-copy h2 { margin: 0; font-size: var(--home-heading,clamp(32px,3vw,44px)); line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; }
.cass-method-copy > p { max-width: 35ch; margin: 25px 0 0; color: #526d64; font-size: var(--home-body,16px); line-height: 1.65; }
.cass-method-copy .text-link { margin-top: 26px; font-size: 15px; ;min-height: 44px;}
.cass-motion { min-width: 0; color: #244140; }
.cass-motion-viewport { position: relative; width: 100%; overflow: visible; }
.cass-motion-paper { width: 100%; overflow: clip; transform-origin: top left; border: 1px solid #ccdcd3; border-radius: 12px; background: #fff; box-shadow: 0 9px 23px #24414005; }
.cass-motion-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; padding-inline: 26px; border-bottom: 1px solid #d5e2db; }
.cass-motion-step { position: relative; display: flex; align-items: center; gap: 11px; padding: 17px 0 18px; color: #526d64; font-size: 14px; font-weight: 600; }
.cass-motion-step > span { color: inherit; font-size: 12px; font-weight: 400; font-variant-numeric: tabular-nums; }
.cass-motion-step[data-current] { color: #244140; }
.cass-motion-step[data-complete] { color: #5b756e; }
.cass-motion-step > b { position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px; transform: scaleX(0); transform-origin: left; background: #24b79a; }
.cass-motion-scenes { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; }
.cass-motion-scene { grid-area: 1/1; min-width: 0; display: flex; min-height: 0; padding: 20px; flex-direction: column; visibility: hidden; opacity: 0; pointer-events: none; ;justify-content: flex-start;}
.cass-motion-scene[data-active] { visibility: visible; opacity: 1; pointer-events: auto; }
.cass-money-flow { min-width: 0; display: grid; grid-template-columns: 1fr 40px 1fr .96fr; min-height: 0; margin: 0 0 20px; flex: 0 0 auto; align-items: center; }
.cass-incoming { display: grid; gap: 9px; }
.cass-transfer { width: 100%; padding: 11px 13px; border: 1px solid transparent; border-radius: 6px; background: #f3f7f3; transition: background 240ms cubic-bezier(.23,1,.32,1),border-color 240ms cubic-bezier(.23,1,.32,1); }
.cass-transfer.selected { border-color: #24b79a; background: #edf7ef; }
.cass-transfer-origin { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; }
.cass-transfer-origin small { color: #5b756e; font-size: 12px; }
.cass-transfer > strong { display: flex; justify-content: space-between; gap: 8px; margin-top: 4px; font-size: 23px; line-height: 1.25; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.cass-transfer > strong i { color: #24b79a; font-size: 18px; font-style: normal; font-weight: 400; }
.cass-routes { position: relative; align-self: stretch; min-height: 0; }
.cass-routes svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; }
.cass-routes path { fill: none; stroke: #cbdcd2; stroke-width: 1.4; }
.cass-routes .cass-active-route { stroke: #24b79a; stroke-width: 2; }
.cass-recipient { display: flex; min-height: 183px; padding: 20px 15px 0; align-items: center; justify-content: center; flex-direction: column; border-radius: 8px; background: #244140; color: #fff; text-align: center; }
.cass-account-mark { display: flex; height: 23px; margin-bottom: 13px; align-items: end; gap: 4px; }
.cass-account-mark i { display: block; width: 12px; height: 13px; transform: skew(-26deg); background: #24b79a; }
.cass-account-mark i:nth-child(2) { height: 18px; }
.cass-account-mark i:nth-child(3) { height: 23px; background: #c1f99b; }
.cass-recipient > span:not(.cass-account-mark) { color: #c9dbd0; font-size: 12px; }
.cass-recipient > strong { margin-top: 8px; font-size: 30px; line-height: 1.3; letter-spacing: -.055em; white-space: nowrap; }
.cass-recipient > small { color: #aec7b9; font-size: 12px; }
.cass-recipient > div { width: calc(100% + 30px); margin-top: 18px; padding: 10px 5px; border-top: 1px solid #44655a; color: #c8ddcf; font-size: 12px; }
.cass-outgoing { position: relative; padding-left: 28px; }
.cass-outgoing-arrow { position: absolute; top: calc(50% - 12px); left: 0; width: 28px; color: #bad3c5; font-size: 25px; line-height: 1; text-align: center; transition: color 200ms ease; }
.cass-outgoing[data-highlight] .cass-outgoing-arrow { color: #24b79a; }
.cass-outgoing .cass-transfer { padding: 12px 10px; background: #f6f8f4; }
.cass-outgoing .cass-transfer > strong { font-size: 22px; }
.cass-destination { display: block; margin-top: 8px; color: #5b756e; font-size: 12px; line-height: 1.55; }
.cass-evidence-strip { display: grid; min-height: 63px; padding: 13px 16px; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 20px; border-radius: 7px; background: #f5f8f4; ;margin-top: 0;}
.cass-evidence-selected { display: flex; align-items: center; gap: 13px; }
.cass-evidence-number { color: #11705f; font-size: 15px; font-variant-numeric: tabular-nums; align-self: start; }
.cass-evidence-selected > div > span { display: block; margin-bottom: 4px; color: #5b756e; font-size: 12px; }
.cass-evidence-selected strong { display: block; font-size: 14px; line-height: 1.55; }
.cass-evidence-strip > p { margin: 0; color: #5b756e; font-size: 12px; line-height: 1.6; }
.cass-draft-layout,.cass-feedback-layout { min-width: 0; display: grid; flex: 0 0 auto; align-items: start; gap: 16px; }
.cass-draft-layout { grid-template-columns: 1.23fr .85fr; }
.cass-report-sheet { position: relative; display: flex; padding: 22px; flex-direction: column; justify-content: center; border: 1px solid #d5e2db; border-radius: 7px; background: #fff; }
.cass-report-sheet::before { position: absolute; top: 0; left: 22px; width: 26px; height: 3px; background: #24b79a; content: ''; }
.cass-report-sheet > p { margin: 0; font-size: 14px; line-height: 1.65; }
.cass-report-sheet .cass-draft-question { margin-top: 25px; padding-top: 18px; border-top: 1px solid #d5e2db; color: #5b756e; font-size: 12px; line-height: 1.7; }
.cass-evidence-note { padding: 21px; border-radius: 6px; background: #f0f5ed; }
.cass-evidence-note dl { margin: 0 0 12px; }
.cass-evidence-note dl > div { display: grid; margin-bottom: 13px; grid-template-columns: 45px 1fr; gap: 8px; font-size: 12px; }
.cass-evidence-note dt { color: #5b756e; }
.cass-evidence-note dd { margin: 0; font-weight: 600; }
.cass-evidence-note dd span { display: block; margin-top: 3px; color: #5b756e; font-size: 12px; font-weight: 400; line-height: 1.5; }
.cass-evidence-note > p { margin: 0; padding-top: 12px; border-top: 1px solid #d2e1d5; font-size: 12px; line-height: 1.7; }
.cass-feedback-layout { grid-template-columns: .88fr 1.25fr; }
.cass-feedback-card { display: flex; padding: 24px; flex-direction: column; justify-content: center; border-radius: 7px; background: #244140; color: #fff; }
.cass-feedback-card blockquote { margin: 0; font-size: 22px; font-weight: 600; line-height: 1.35; letter-spacing: -.035em; }
.cass-feedback-card > p { margin: 16px 0 0; color: #c5dacc; font-size: 14px; line-height: 1.6; }
.cass-revision-sheet { display: flex; min-height: 0; padding: 22px; flex-direction: column; justify-content: center; border: 1px solid #d5e2db; border-radius: 7px; }
.cass-revision-versions { display: grid; }
.cass-revision-version { grid-area: 1/1; visibility: hidden; opacity: 0; pointer-events: none; }
.cass-revision-version[data-current] { visibility: visible; opacity: 1; }
.cass-revision-sheet p { margin: 0; font-size: 14px; line-height: 1.65; }
.cass-revision-sheet p + p { margin-top: 16px; }
.cass-revision-takeaway { display: flex; margin-top: 20px; padding-top: 15px; align-items: start; gap: 12px; border-top: 1px solid #d5e2db; color: #5b756e; font-size: 12px; line-height: 1.7; }
.cass-revision-takeaway > span { color: #24b79a; font-size: 22px; line-height: 1.1; }
.cass-motion-footer { display: flex; margin-top: 14px; align-items: center; justify-content: space-between; gap: 20px; }
.cass-motion-footer p { margin: 0; color: #5b756e; font-size: 12px; line-height: 1.6; }
.cass-motion-footer button { min-height: 44px; padding: 7px 12px; border: 1px solid #bccfc3; border-radius: var(--amlcc-radius-control); background: transparent; color: #5b756e; font: inherit; font-size: 13px; white-space: nowrap; }
.cass-motion-footer button:hover { background: #e8f1e8; }
.cass-motion-footer button:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.cass-typing-accessible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cass-type-char { position: relative; visibility: hidden; }
.cass-type-char[data-written] { visibility: visible; }
.cass-typed-passage mark { padding: 0; background: transparent; color: inherit; box-shadow: none; }
.cass-typed-passage mark .cass-type-char[data-written] { background: rgba(193,249,155,var(--highlight,0)); }
.cass-type-char[data-cursor]::after { position: absolute; top: .05em; left: 100%; height: 1.05em; border-left: 1.5px solid #24b79a; content: ''; visibility: visible; }
.cass-revision-version mark { padding: 1px 2px; background: rgba(193,249,155,var(--highlight,0)); color: inherit; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.cass-motion:not([data-static]) .cass-motion-scene:not([data-active]),.cass-motion:not([data-static]) .cass-revision-version:not([data-current]) { opacity: 0 !important; pointer-events: none; }

@media (max-width: 1100px) {
  .cass-method-layout { max-width: 850px; grid-template-columns: 1fr; gap: 30px; }
  .cass-method-copy { display: grid; max-width: none; grid-template-columns: 1fr 1fr; gap: 0 40px; }
  .cass-method-copy h2 { grid-row: 1/3; font-size: var(--home-heading,clamp(32px,3vw,44px)); ;letter-spacing: -.04em;}
  .cass-method-copy > p { margin-top: 0; font-size: var(--home-body,16px); ;line-height: 1.65;}
  .cass-method-copy .text-link { margin-top: 19px; ;font-size: 15px;;min-height: 44px;}
}

@media (max-width: 700px) {
  .hp-home-revised .cass-method { padding: var(--home-section-space,64px) 0; ;background: var(--amlcc-paper);}
  .cass-method-copy { display: block; }
  .cass-method-copy h2 { font-size: var(--home-heading,clamp(32px,3vw,44px)); ;letter-spacing: -.04em;}
  .cass-method-copy > p { margin-top: 19px; font-size: var(--home-body,16px); ;line-height: 1.65;}
  .cass-method-copy .text-link { margin-top: 21px; font-size: 15px; ;min-height: 44px;}
  .cass-motion-steps { padding-inline: 19px; gap: 17px; }
  .cass-motion-step { padding: 16px 0; gap: 7px; font-size: 14px; }
  .cass-motion-step > span { font-size: 12px; }
  .cass-motion-scene { min-height: 0; padding: 20px; ;justify-content: flex-start;}
  .cass-money-flow { grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr); min-height: 0; margin-bottom: 20px; flex: 0 0 auto; ;margin: 0 0 20px;}
  .cass-transfer { padding: 10px; }
  .cass-transfer > strong { margin-top: 5px; font-size: 20px; }
  .cass-transfer-origin { font-size: 12px; }
  .cass-transfer-origin small { font-size: 12px; }
  .cass-recipient { min-height: 173px; padding: 18px 9px 0; }
  .cass-recipient > strong { font-size: 24px; }
  .cass-recipient > div { width: calc(100% + 18px); margin-top: 16px; ;font-size: 12px;}
  .cass-outgoing { grid-column: 3; grid-row: 2; padding: 34px 0 0; }
  .cass-outgoing-arrow { top: 2px; left: calc(50% - 14px); transform: rotate(90deg); }
  .cass-outgoing .cass-transfer > strong { font-size: 20px; }
  .cass-evidence-strip { margin-top: 0; padding: 13px; grid-template-columns: 1fr; gap: 0; }
  .cass-evidence-strip > p { display: none; ;font-size: 12px;}
  .cass-draft-layout,.cass-feedback-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; ;flex: 0 0 auto;;align-items: start;}
  .cass-report-sheet { padding: 20px; }
  .cass-report-sheet > p { font-size: 14px; line-height: 1.65; }
  .cass-evidence-note { padding: 18px; }
  .cass-evidence-note dl { display: grid; margin: 0; grid-template-columns: 1fr 1fr; gap: 12px; }
  .cass-evidence-note dl > div { display: block; margin: 0; font-size: 12px; }
  .cass-evidence-note dd { margin-top: 6px; }
  .cass-evidence-note > p { display: none; ;font-size: 12px;}
  .cass-feedback-card { padding: 22px; }
  .cass-feedback-card blockquote { font-size: 22px; }
  .cass-feedback-card > p { margin-top: 15px; ;font-size: 14px;;line-height: 1.6;;margin: 16px 0 0;}
  .cass-revision-sheet { padding: 20px; justify-content: start; }
  .cass-revision-sheet p { font-size: 14px; ;line-height: 1.65;}
  .cass-motion-footer { gap: 12px; margin-top: 12px; }
  .cass-motion-footer p { max-width: 28ch; font-size: 12px; }
  .cass-motion-footer button { min-height: 44px; padding: 6px 10px; font-size: 13px; ;border-radius: var(--amlcc-radius-control);}
}

@media (prefers-reduced-motion: reduce) {
  .cass-transfer,.cass-outgoing-arrow { transition: none; }
  .cass-motion-step > b { display: none; }
  .cass-type-char { visibility: visible; }
  .cass-type-char[data-cursor]::after { display: none; }
  .cass-typed-passage mark .cass-type-char,.cass-revision-version mark { background: #e6f1d9; }
  .cass-motion[data-static] .cass-motion-scenes { display: block; }
  .cass-motion[data-static] .cass-motion-scene { visibility: visible; opacity: 1; pointer-events: auto; border-top: 1px solid #d5e2db; }
  .cass-motion[data-static] .cass-motion-steps,.cass-motion[data-static] .cass-motion-footer button { display: none; }
  .cass-motion[data-static] #cass-revision-before { display: none; }
  .cass-motion[data-static] #cass-revision-after { visibility: visible; opacity: 1; }
}

/* Keep the flow and text within narrow phone screens. */
@media (max-width: 380px) {
  .cass-money-flow { grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr); ;flex: 0 0 auto;;min-height: 0;;margin: 0 0 20px;}
  .cass-transfer { padding: 8px; }
  .cass-transfer-origin { gap: 4px; font-size: 12px; }
  .cass-transfer-origin small { font-size: 12px; }
  .cass-transfer > strong, .cass-outgoing .cass-transfer > strong { font-size: 18px; }
  .cass-transfer > strong i { display: none; }
  .cass-recipient { padding-inline: 8px; }
  .cass-recipient > strong { font-size: 21px; }
  .cass-recipient > span:not(.cass-account-mark) { font-size: 12px; }
  .cass-recipient > div { width: calc(100% + 16px); ;font-size: 12px;}
}

/* Compact records preserve readable text without scaling a desktop figure. */
@media (max-width: 700px) {
  .cass-motion-steps { gap: 12px; padding-inline: 16px; }
  .cass-motion-step { gap: 6px; }
  .cass-motion-scene { padding: 16px; }
  .cass-money-flow { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  .cass-incoming { gap: 8px; }
  .cass-incoming .cass-transfer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; }
  .cass-incoming .cass-transfer-origin { display: grid; gap: 2px; }
  .cass-incoming .cass-transfer > strong { margin: 0; font-size: 20px; }
  .cass-incoming .cass-transfer > strong i, .cass-routes, .cass-account-mark { display: none; }
  .cass-recipient { min-height: 0; padding: 12px; display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; text-align: left; }
  .cass-recipient > strong { grid-column: 2; grid-row: 1 / 3; margin: 0; font-size: 24px; }
  .cass-recipient > div { width: 100%; grid-column: 1 / -1; padding: 8px 0 0; margin-top: 4px; }
  .cass-outgoing { grid-column: 1; grid-row: auto; padding: 20px 0 0; }
  .cass-outgoing-arrow { top: -5px; }
  .cass-outgoing .cass-transfer { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 10px 12px; }
  .cass-outgoing .cass-transfer > strong { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: 20px; }
  .cass-destination { margin: 0; }
  .cass-report-sheet, .cass-revision-sheet, .cass-feedback-card { padding: 16px; }
  .cass-report-sheet .cass-draft-question { margin-top: 16px; padding-top: 12px; }
  .cass-feedback-card blockquote { font-size: 20px; }
  .cass-feedback-card > p { margin-top: 12px; }
  .cass-revision-takeaway { margin-top: 12px; padding-top: 12px; }
  .cass-evidence-note { padding: 14px; }
  .cass-motion-footer { align-items: flex-start; }
}

/* The sequence is selectable with a keyboard as well as a pointer. */
button.cass-motion-step{appearance:none;border:0;border-radius:0;background:transparent;font-family:inherit;text-align:left;cursor:pointer;min-height:44px}
button.cass-motion-step:focus-visible{outline:2px solid var(--ds-focus,#087b65);outline-offset:-4px}
@media(max-width:700px){
 .cass-motion[data-manual] .cass-motion-scenes{display:block}
 .cass-motion[data-manual] .cass-motion-scene:not([data-active]){display:none}
 .cass-motion[data-manual] .cass-revision-version:not([data-current]){display:none}
 .cass-motion[data-manual] .cass-motion-footer button{display:none}
 .cass-motion[data-manual] .cass-motion-footer p{max-width:none}
 .cass-motion[data-manual] .cass-evidence-strip{display:none}
 .cass-motion[data-manual] .cass-money-flow{margin-bottom:0;gap:10px}
}
