/* Result artifacts. All fixed surfaces carry a complete, mode-independent palette. */
.outcome-artifact {
  --oa-paper: #f8f7ef;
  --oa-cream: #eeece1;
  --oa-ink: #20392e;
  --oa-muted: #546250;
  --oa-rule: #b5c0aa;
  --oa-green: #244333;
  --oa-green-light: #e0e7d6;
  --oa-rust: #9b432d;
  --oa-rust-light: #f0dfd3;
  background: var(--oa-paper);
  color: var(--oa-ink);
  margin: 0;
  border: 1px solid #9ca993;
  font: 400 15px/1.6 'Archivo', Arial, sans-serif;
  text-align: left;
  overflow-wrap: break-word;
  color-scheme: light;
}
.outcome-artifact *, .outcome-artifact *::before, .outcome-artifact *::after { box-sizing: border-box; }
.outcome-artifact p, .outcome-artifact h3, .outcome-artifact h4 { margin: 0; }
.outcome-artifact h3, .outcome-artifact h4 { color: inherit; }
.outcome-artifact h3 { font: 400 clamp(25px, 3vw, 38px)/1.2 'Newsreader', Georgia, serif; letter-spacing: -.025em; }
.outcome-artifact h4 { font-weight: 400; }
.outcome-artifact ol { margin: 0; padding: 0; list-style: none; }
.outcome-artifact [hidden] { display: none !important; }
.outcome-artifact button { color: var(--oa-ink); font: inherit; cursor: pointer; }
.outcome-artifact button:focus-visible, .outcome-artifact summary:focus-visible { outline: 2px solid var(--oa-rust); outline-offset: 5px; }
.outcome-artifact > figcaption { display: flex; gap: 17px; align-items: baseline; padding: 18px 25px; border-top: 1px solid var(--oa-rule); background: var(--oa-paper); color: var(--oa-muted); font-size: 13px; line-height: 1.65; }
.oa-example { flex: 0 0 auto; color: var(--oa-rust); font-size: 12px; border: 1px solid #b76e50; padding: 1px 7px; border-radius: 3px; }
.oa-surface { min-width: 0; }
.oa-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; padding-bottom: 30px; }
.oa-kicker, .oa-label { display: block; font: 400 12px/1.5 'Archivo', Arial, sans-serif; color: var(--oa-muted); }
.oa-kicker { margin-bottom: 11px !important; }
.oa-head-note { max-width: 23ch; color: var(--oa-muted); font-size: 12px; padding-top: 3px; }
.oa-source { display: flex; align-items: baseline; gap: 6px; color: var(--oa-muted); font-size: 12px; line-height: 1.6; margin-top: 18px !important; }
.oa-source > span { color: var(--oa-rust); }
.oa-badge { display: inline-block; width: fit-content; font-size: 12px; line-height: 1.45; padding: 4px 8px; border-radius: 3px; background: var(--oa-green-light); color: #254632; }
.oa-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Opportunity roadmap: a ranked working plan. */
.oa-roadmap { padding: 38px 42px 24px; background: var(--oa-cream); }
.oa-priority { display: grid; grid-template-columns: 130px minmax(0, 1.15fr) minmax(0, .85fr); gap: 25px; align-items: start; padding: 28px 0; border-top: 1px solid var(--oa-rule); }
.oa-priority-order { display: flex; align-items: center; gap: 14px; padding-top: 2px; }
.oa-rank { font: 400 30px/1 'Newsreader', Georgia, serif; color: var(--oa-muted); }
.oa-timing { font-size: 12px; line-height: 1.5; }
.oa-priority:first-child .oa-rank { color: var(--oa-rust); }
.oa-priority:first-child .oa-timing { background: var(--oa-green); color: #f8f7ef; padding: 4px 9px; border-radius: 3px; }
.oa-priority-project h4 { font-size: 20px; line-height: 1.4; letter-spacing: -.025em; }
.oa-priority-project p, .oa-prerequisite p { margin-top: 8px; color: var(--oa-muted); font-size: 14px; }
.oa-prerequisite { padding: 3px 0 0 24px; border-left: 1px solid var(--oa-rule); }
.oa-prerequisite p { color: var(--oa-ink); }

/* Decision guide: open by default, each case can be folded away. */
.oa-decision { padding: 38px 42px; background: #e4e9dc; }
.oa-decision-cases { border: 1px solid #9ca993; background: var(--oa-paper); }
.oa-decision-case + .oa-decision-case { border-top: 1px solid var(--oa-rule); }
.oa-decision-case summary { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding: 22px 28px; list-style: none; cursor: pointer; color: var(--oa-ink); }
.oa-decision-case summary::-webkit-details-marker { display: none; }
.oa-decision-case summary:hover { background: #ecefe4; }
.oa-case-condition { display: grid; grid-template-columns: 45px 1fr; align-items: baseline; gap: 12px; font-size: 17px; line-height: 1.5; }
.oa-disclosure { position: relative; width: 16px; height: 16px; flex: 0 0 16px; }
.oa-disclosure::before, .oa-disclosure::after { content: ''; position: absolute; background: var(--oa-green); left: 1px; right: 1px; top: 7px; height: 1px; }
.oa-disclosure::after { transform: rotate(90deg); transition: transform .2s ease; }
.oa-decision-case[open] .oa-disclosure::after { transform: rotate(0); }
.oa-case-answer { display: grid; grid-template-columns: 1fr 1fr; gap: 35px; padding: 1px 28px 25px 85px; }
.oa-decision-action { font: 400 25px/1.25 'Newsreader', Georgia, serif; color: var(--oa-rust); }
.oa-case-reference { display: grid; gap: 5px; margin: 0; font-size: 12px; }
.oa-case-reference > div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; }
.oa-case-reference dt { color: var(--oa-muted); }
.oa-case-reference dd { margin: 0; }

/* Account briefing: a single editorial sheet, sources in the margin. */
.oa-brief-desk { padding: 42px 7%; background: #244333; }
.oa-brief-paper { padding: 38px 42px 18px; background: var(--oa-paper); color: var(--oa-ink); box-shadow: 7px 7px 0 #172e23; }
.oa-brief-paper .oa-head { border-bottom: 2px solid var(--oa-green); }
.oa-brief-paper .oa-head-note { text-align: right; }
.oa-brief-section { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 35px; padding: 27px 0; }
.oa-brief-section + .oa-brief-section { border-top: 1px solid var(--oa-rule); }
.oa-brief-margin { padding-top: 5px; }
.oa-brief-finding { font: 400 clamp(23px, 2.6vw, 31px)/1.35 'Newsreader', Georgia, serif; letter-spacing: -.01em; }
.oa-brief-section:last-child .oa-brief-finding { font-style: italic; color: var(--oa-rust); }

/* Invoice lines: comparison columns become labeled pairs on a small screen. */
.oa-invoice { padding: 34px 36px 28px; background: #f3f4ec; }
.oa-invoice-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: var(--oa-ink); font-size: 14px; }
.oa-invoice-table th, .oa-invoice-table td { padding: 23px 16px; text-align: left; vertical-align: top; }
.oa-invoice-table thead th { font-size: 12px; font-weight: 400; color: #f8f7ef; background: var(--oa-green); padding-block: 13px; }
.oa-invoice-table thead th:first-child { width: 27%; }
.oa-invoice-table thead th:nth-child(2), .oa-invoice-table thead th:nth-child(3) { width: 19%; }
.oa-invoice-table tbody tr { border-bottom: 1px solid var(--oa-rule); background: var(--oa-paper); }
.oa-invoice-table tbody th { font-weight: 400; font-size: 15px; }
.oa-amount { font-variant-numeric: tabular-nums; }
.oa-invoice-action p { font-size: 12px; color: var(--oa-muted); margin-top: 8px; }
.oa-needs-review .oa-badge { color: #85371f; background: var(--oa-rust-light); }
.oa-mobile-label { display: none; }

/* Assistant request: progressive enhancement, without an invented live chat. */
.oa-assistant { padding: 36px 42px; background: #e5eadc; }
.oa-request-options { display: none; }
.oa-assistant.outcome-enhanced .oa-request-options { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 27px; }
.oa-request-options button { min-height: 44px; border: 1px solid #748568; border-radius: 5px; padding: 9px 13px; background: transparent; font-size: 13px; line-height: 1.5; text-align: left; transition: background .2s ease, color .2s ease; }
.oa-request-options button:hover { background: #f8f7ef; color: var(--oa-ink); }
.oa-request-options button[aria-pressed=true], .oa-request-options button[aria-pressed=true]:hover { background: var(--oa-green); color: #f8f7ef; border-color: var(--oa-green); }
.oa-assistant-panel { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 38px; }
.oa-assistant-panel + .oa-assistant-panel { border-top: 1px solid #a5b497; margin-top: 30px; padding-top: 30px; }
.outcome-enhanced .oa-assistant-panel + .oa-assistant-panel { border: 0; margin-top: 0; padding-top: 0; }
.oa-request { padding-top: 13px; }
.oa-request h4 { font: 400 28px/1.35 'Newsreader', Georgia, serif; margin-top: 14px; max-width: 23ch; }
.oa-order-result { padding: 27px 28px 22px; border: 1px solid #8c9d81; border-top: 3px solid var(--oa-green); background: var(--oa-paper); box-shadow: 5px 5px 0 #cbd5bf; }
.oa-result-top { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; }
.oa-result-value { font: 400 29px/1.3 'Newsreader', Georgia, serif; margin: 30px 0 !important; }
.oa-permission { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; border-top: 1px solid var(--oa-rule); padding-top: 15px; font-size: 12px; }
.oa-permission > span:last-child { text-align: right; }
.oa-refused .oa-order-result { border-top-color: var(--oa-rust); }
.oa-refused .oa-badge { color: #85371f; background: var(--oa-rust-light); }

/* Readiness report: gap, next action, accountable owner. */
.oa-readiness { padding: 36px 40px; background: #e6e9df; }
.oa-readiness-list { border-top: 2px solid var(--oa-green); }
.oa-readiness-row { display: grid; grid-template-columns: .65fr 1fr 1.1fr; gap: 27px; padding: 26px 0; }
.oa-readiness-row + .oa-readiness-row { border-top: 1px solid #a8b49d; }
.oa-report-category { display: flex; gap: 15px; align-items: baseline; }
.oa-report-index { font: italic 23px/1 'Newsreader', Georgia, serif; color: var(--oa-rust); }
.oa-report-category h4 { font-size: 15px; }
.oa-gap p, .oa-next-action p { font-size: 15px; line-height: 1.65; margin-top: 8px; }
.oa-next-action { padding-left: 22px; border-left: 1px solid #a8b49d; }
.oa-owner { display: block; margin-top: 16px; font-size: 12px; color: var(--oa-muted); }

/* Buyer comparison: the question, the observed answer, the practical change. */
.oa-comparison { padding: 35px 34px; background: var(--oa-cream); }
.oa-buyer-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid #95a58a; }
.oa-buyer-column { display: grid; grid-template-rows: subgrid; grid-row: span 3; min-width: 0; background: var(--oa-paper); }
.oa-buyer-column + .oa-buyer-column { border-left: 1px solid var(--oa-rule); }
.oa-buyer-column header { padding: 23px; background: var(--oa-green); color: #f8f7ef; }
.oa-buyer-column header .oa-label { color: #cdd9c2; }
.oa-buyer-column h4 { font: 400 27px/1.3 'Newsreader', Georgia, serif; margin-top: 16px; }
.oa-buyer-observed, .oa-buyer-change { padding: 23px; }
.oa-buyer-observed > p:not(.oa-source), .oa-buyer-change p { margin-top: 12px; font-size: 15px; line-height: 1.65; }
.oa-buyer-change { background: #e5eadc; border-top: 1px solid var(--oa-rule); }

/* Security report: finding first, proposed change and retest paired below. */
.oa-security { padding: 35px 40px; background: #e8e5da; }
.oa-security-report { display: grid; grid-template-columns: 1fr 1fr; background: var(--oa-paper); border: 1px solid #a5ad96; }
.oa-security-part { padding: 27px 30px; }
.oa-security-finding { grid-column: 1 / -1; border-left: 4px solid var(--oa-rust); background: #f0e2d8; }
.oa-security-finding .oa-label { color: #823c28; }
.oa-security-detail { margin-top: 14px !important; font-size: 17px; line-height: 1.6; }
.oa-security-finding .oa-security-detail { max-width: 29ch; font: 400 32px/1.3 'Newsreader', Georgia, serif; }
.oa-security-followup { border-top: 1px solid #b2b7a5; }
.oa-security-followup + .oa-security-followup { border-left: 1px solid #b2b7a5; }

/* Training: an actual exercise sheet with the human check beside each task. */
.oa-training { display: grid; grid-template-columns: 25px minmax(0, 1fr); background: #dee4d4; padding: 36px; }
.oa-workbook-binding { background: var(--oa-green); border-right: 5px solid #adc09e; }
.oa-workbook-page { padding: 30px 32px 10px; background: var(--oa-paper); box-shadow: 4px 4px 0 #bac8ad; }
.oa-workbook-page .oa-head { border-bottom: 1px solid var(--oa-rule); }
.oa-exercise-step { display: grid; grid-template-columns: 1.05fr 1fr 1.1fr; gap: 25px; padding: 25px 0; align-items: baseline; }
.oa-exercise-step + .oa-exercise-step { border-top: 1px solid #c0c7b5; }
.oa-lesson-step { display: flex; gap: 14px; align-items: baseline; }
.oa-lesson-number { font: italic 25px/1 'Newsreader', Georgia, serif; color: var(--oa-rust); }
.oa-lesson-step h4 { font-size: 15px; }
.oa-lesson-task, .oa-lesson-check p { font-size: 14px; line-height: 1.7; }
.oa-lesson-check { border-left: 1px solid #bcc6b0; padding-left: 20px; }
.oa-lesson-check p { margin-top: 6px; color: var(--oa-muted); }
.oa-exercise-step:last-child .oa-lesson-check p { color: var(--oa-rust); }

/* Audit file: the four papers in the handover, without a compliance badge. */
.oa-audit { background: #dddccf; padding: 35px; }
.oa-folder-tab { background: var(--oa-green); color: #f8f7ef; width: fit-content; max-width: 100%; font-size: 13px; padding: 9px 22px 8px; border-radius: 7px 7px 0 0; }
.oa-folder-body { background: #d1dbc4; border-top: 3px solid var(--oa-green); padding: 27px 30px 30px; }
.oa-documents { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; }
.oa-document { display: flex; flex-direction: column; min-width: 0; padding: 18px; background: var(--oa-paper); border: 1px solid #97a589; box-shadow: 3px 3px 0 #aeba9f; }
.oa-document-top { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 25px; }
.oa-page-fold { width: 17px; height: 22px; flex: 0 0 17px; border: 1px solid #728364; border-radius: 0 4px 0 0; background: linear-gradient(45deg, transparent 72%, #d6dfcc 72%); }
.oa-document h4 { font: 400 25px/1.2 'Newsreader', Georgia, serif; margin-bottom: 15px; }
.oa-document > p { font-size: 13px; line-height: 1.7; color: var(--oa-muted); padding-bottom: 25px; }
.oa-document-review { margin-top: auto; padding-top: 13px; border-top: 1px solid var(--oa-rule); font-size: 12px; line-height: 1.6; }

@supports not (grid-template-rows: subgrid) {
  .oa-buyer-column { display: flex; flex-direction: column; }
  .oa-buyer-column header { min-height: 155px; }
  .oa-buyer-observed { flex: 1; }
}
@media (max-width: 1000px) {
  .oa-documents { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .oa-priority { grid-template-columns: 105px minmax(0, 1fr) minmax(0, .8fr); gap: 20px; }
  .oa-priority-order { gap: 10px; }
  .oa-readiness-row { grid-template-columns: .65fr 1fr 1.1fr; gap: 20px; }
  .oa-report-category { display: block; }
  .oa-report-category h4 { margin-top: 10px; }
  .oa-training { padding: 28px; }
  .oa-workbook-page { padding-inline: 25px; }
  .oa-exercise-step { grid-template-columns: .8fr 1fr; gap: 16px 25px; }
  .oa-lesson-step { grid-row: span 2; }
  .oa-lesson-check { grid-column: 2; padding-left: 0; border: 0; }
  .oa-buyer-column header, .oa-buyer-observed, .oa-buyer-change { padding: 20px; }
}
@media (max-width: 720px) {
  .outcome-artifact > figcaption { padding: 16px 20px; font-size: 13px; gap: 12px; }
  .oa-head { padding-bottom: 25px; gap: 20px; }
  .oa-head-note { max-width: 18ch; }
  .oa-roadmap, .oa-decision, .oa-readiness, .oa-assistant, .oa-security, .oa-comparison { padding: 28px 24px; }
  .oa-roadmap .oa-head-note { display: none; }
  .oa-priority { grid-template-columns: 90px minmax(0, 1fr); gap: 15px 22px; padding-block: 24px; }
  .oa-priority-order { grid-row: span 2; flex-direction: column; align-items: flex-start; gap: 13px; }
  .oa-prerequisite { grid-column: 2; padding: 0; border: 0; }
  .oa-priority-project h4 { font-size: 19px; }
  .oa-case-answer { grid-template-columns: 1fr; gap: 20px; }
  .oa-case-reference { gap: 6px; }
  .oa-brief-desk { padding: 30px 5%; }
  .oa-brief-paper { padding: 28px 28px 10px; }
  .oa-brief-section { grid-template-columns: 110px minmax(0, 1fr); gap: 20px; }
  .oa-brief-paper .oa-head { display: block; }
  .oa-brief-paper .oa-head-note { text-align: left; margin-top: 12px; }
  .oa-invoice { padding: 28px 24px; }
  .oa-invoice-table th, .oa-invoice-table td { padding-inline: 12px; }
  .oa-assistant-panel { grid-template-columns: 1fr; gap: 24px; }
  .oa-assistant.outcome-enhanced .oa-request-options { display: grid; grid-template-columns: 1fr; }
  .oa-request-options button { font-size: 14px; }
  .oa-request { padding-top: 0; }
  .oa-request h4 { max-width: 100%; font-size: 26px; }
  .oa-order-result { padding: 24px; }
  .oa-readiness-row { grid-template-columns: 1fr 1fr; gap: 18px 24px; }
  .oa-report-category { grid-column: 1 / -1; display: flex; gap: 12px; }
  .oa-report-category h4 { margin-top: 0; }
  .oa-next-action { padding-left: 20px; }
  .oa-buyer-columns { grid-template-columns: 1fr; }
  .oa-buyer-column { display: block; }
  .oa-buyer-column + .oa-buyer-column { border-left: 0; border-top: 1px solid #95a58a; }
  .oa-buyer-column header { min-height: 0; }
  .oa-buyer-column h4 { margin-top: 10px; }
  .oa-buyer-observed, .oa-buyer-change { padding-block: 20px; }
  .oa-security-part { padding: 24px; }
  .oa-security-finding .oa-security-detail { font-size: 29px; }
  .oa-training { padding: 26px 20px; grid-template-columns: 12px minmax(0, 1fr); }
  .oa-workbook-binding { border-right-width: 3px; }
  .oa-workbook-page { padding: 25px 24px 8px; }
  .oa-workbook-page .oa-head { display: block; }
  .oa-workbook-page .oa-head-note { margin-top: 14px; }
  .oa-exercise-step { grid-template-columns: 1fr; gap: 12px; }
  .oa-lesson-step { grid-row: auto; }
  .oa-lesson-task, .oa-lesson-check { grid-column: 1; margin-left: 29px !important; }
  .oa-lesson-step h4 { font-size: 16px; }
  .oa-lesson-check { margin-top: 2px; }
  .oa-audit { padding: 25px; }
  .oa-folder-body { padding: 25px 22px; }
}
@media (max-width: 540px) {
  .outcome-artifact > figcaption { align-items: flex-start; }
  .oa-head { display: block; }
  .oa-roadmap, .oa-decision, .oa-readiness, .oa-assistant, .oa-security, .oa-comparison { padding: 24px 18px; }
  .oa-priority { grid-template-columns: 62px minmax(0, 1fr); gap: 15px; }
  .oa-timing { font-size: 12px; }
  .oa-rank { font-size: 28px; }
  .oa-priority-project p, .oa-prerequisite p { font-size: 14px; }
  .oa-decision-case summary { padding: 19px 17px; gap: 15px; }
  .oa-case-condition { display: block; font-size: 16px; }
  .oa-case-condition > .oa-label { margin-bottom: 7px; }
  .oa-case-answer { padding: 0 17px 23px; }
  .oa-case-reference > div { grid-template-columns: 80px minmax(0, 1fr); gap: 10px; }
  .oa-decision-action { font-size: 24px; }
  .oa-brief-desk { padding: 24px 17px; }
  .oa-brief-paper { padding: 25px 21px 7px; box-shadow: 4px 4px 0 #172e23; }
  .oa-brief-section { display: block; padding-block: 23px; }
  .oa-brief-margin { padding: 0; margin-bottom: 12px; }
  .oa-brief-finding { font-size: 25px; }
  .oa-invoice { padding: 24px 18px; }
  .oa-invoice-table, .oa-invoice-table tbody { display: block; }
  .oa-invoice-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .oa-invoice-table tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 20px; border: 1px solid var(--oa-rule); }
  .oa-invoice-table tbody tr + tr { border-top: 0; }
  .oa-invoice-table tbody th, .oa-invoice-table tbody td { display: block; padding: 0; min-width: 0; }
  .oa-invoice-table tbody th { grid-column: 1 / -1; font-size: 17px; }
  .oa-mobile-label { display: block; margin-bottom: 6px; font-size: 12px; color: var(--oa-muted); }
  .oa-invoice-action { grid-column: 1 / -1; border-top: 1px solid #c2cbb7; padding-top: 15px !important; }
  .oa-invoice-action p { font-size: 13px; }
  .oa-order-result { padding: 22px 19px 19px; box-shadow: 3px 3px 0 #cbd5bf; }
  .oa-result-top { gap: 12px; }
  .oa-result-value { font-size: 27px; margin-block: 25px !important; }
  .oa-permission { gap: 12px; }
  .oa-permission > span:last-child { max-width: 65%; }
  .oa-readiness-row { grid-template-columns: 1fr; padding-block: 24px; gap: 18px; }
  .oa-report-category { grid-column: 1; }
  .oa-next-action { padding: 16px 17px; border: 0; background: var(--oa-paper); }
  .oa-owner { margin-top: 12px; }
  .oa-security-report { grid-template-columns: 1fr; }
  .oa-security-part { padding: 22px; }
  .oa-security-followup + .oa-security-followup { border-left: 0; }
  .oa-security-finding .oa-security-detail { font-size: 28px; }
  .oa-workbook-page { padding-inline: 20px; }
  .oa-training { padding: 22px 16px; }
  .oa-audit { padding: 22px 17px; }
  .oa-folder-body { padding: 24px 18px; }
  .oa-documents { grid-template-columns: 1fr; gap: 17px; }
  .oa-document { padding: 22px; }
  .oa-document-top { margin-bottom: 20px; }
  .oa-document h4 { font-size: 27px; }
  .oa-document > p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .outcome-artifact *, .outcome-artifact *::before, .outcome-artifact *::after { transition: none !important; animation: none !important; }
}
