/* Service-led opening and agreed scope. */
.single-direction .service-introduction {padding:88px 0 85px;background:linear-gradient(180deg,#fbfbfd 0%,#f3f2fa 100%);border-bottom:1px solid #e7e5ef}
.single-direction .service-introduction .opening-top {max-width:1060px;margin-bottom:0}
.single-direction .service-introduction h1 {max-width:1060px;font-size:clamp(38px,4.6vw,66px);line-height:1.13;margin:23px auto 24px}
.single-direction .service-introduction .digital-service-line {font-size:22px;line-height:1.5;color:#524799;font-weight:500;max-width:none;margin-bottom:20px;letter-spacing:-.025em}
.single-direction .service-introduction .opening-top>div>p:not(.digital-service-line) {max-width:740px;font-size:16px}
.single-direction .service-introduction .actions {margin-top:31px}
.single-direction .portfolio-heading {text-align:center;max-width:780px;margin:0 auto 48px}
.single-direction .portfolio-heading p {margin-inline:auto}
.service-conditions {margin-top:38px;border:1px solid #dfe1e9;border-radius:18px;padding:34px;background:#fff}
.conditions-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:50px;align-items:center}
.conditions-heading .eyebrow {grid-column:1/-1;font-size:9px;margin-bottom:14px}
.conditions-heading h3 {font-size:29px;line-height:1.25;letter-spacing:-.035em}
.conditions-heading>p {font-size:13px;line-height:1.85;max-width:500px}
.conditions-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:30px;padding-top:27px;border-top:1px solid #e5e6ed}
.conditions-grid article {min-width:0}
.conditions-grid article>span {font-size:8px;letter-spacing:.09em;color:#7c8190}
.conditions-grid h4 {font-size:17px;font-weight:550;letter-spacing:-.02em;line-height:1.4;margin:13px 0}
.conditions-grid p {font-size:12px;line-height:1.85;color:#687386}
/* Explicit tracks prevent a non-wrapping label from colliding with the copy. */
.single-direction .approval-responsibility {display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:38px;align-items:start;padding:35px 0}
.single-direction .approval-responsibility>span {display:block;white-space:normal;max-width:none;min-width:0;font-size:16px;line-height:1.5;font-weight:550}
.single-direction .approval-responsibility>div {min-width:0}
.single-direction .approval-responsibility>div p {max-width:none;margin:0 0 14px;overflow-wrap:break-word}
.single-direction .approval-responsibility>div p:last-child {margin-bottom:0}
/* Cash-flow software-style visual: stacked income bars plus expenditure line. */
.single-direction .media-layout {grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:60px}
.cashflow-art {padding:24px;background:#1e2635}
.cashflow-screen {background:#f9fbfd;color:#233149;border:1px solid #dce2eb;border-radius:10px;overflow:hidden;margin-top:23px}
.cashflow-toolbar {display:flex;align-items:center;justify-content:space-between;padding:13px 17px;background:white;border-bottom:1px solid #e4e8f0;font-size:10px}
.cashflow-toolbar>span {display:flex;align-items:center;gap:7px;font-weight:600}
.cashflow-toolbar i {width:8px;height:8px;border-radius:3px;background:#6c60cc;display:block}
.cashflow-toolbar>b {font-size:7px;letter-spacing:.06em;color:#727f93;background:#f0f2f8;padding:5px 7px;border-radius:4px;font-weight:500}
.cashflow-title {display:flex;align-items:center;justify-content:space-between;gap:15px;padding:21px 19px 17px}
.cashflow-title>div>span {font-size:7px;letter-spacing:.08em;color:#7d8798}
.cashflow-title h3 {font-size:21px;letter-spacing:-.035em;line-height:1.25;margin-top:9px}
.cashflow-age {font-size:9px;white-space:nowrap;border:1px solid #dce1eb;border-radius:6px;padding:7px 10px;background:white}
.cashflow-age b {font-size:13px;margin-left:5px}
.cashflow-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 19px 12px}
.cashflow-metrics>div {border-right:1px solid #dfe4ed;min-width:0}
.cashflow-metrics>div:last-child {border:0}
.cashflow-metrics span {display:block;font-size:7px;line-height:1.5;color:#7a8497}
.cashflow-metrics strong {display:block;font-size:21px;letter-spacing:-.04em;font-weight:550;margin-top:6px}
.cashflow-chart {padding:4px 10px 0}
.cashflow-chart svg {display:block;width:100%;height:auto;overflow:visible}
.cashflow-chart svg text {font-family:inherit;font-size:9px;fill:#778397}
.cashflow-legend {padding:9px 19px 18px;display:flex;flex-wrap:wrap;gap:8px 14px;border-bottom:1px solid #e2e7ef}
.cashflow-legend>span {display:flex;align-items:center;gap:5px;font-size:7px;color:#68758a}
.cashflow-legend i {width:7px;height:7px;border-radius:1px;display:block}
.cashflow-legend i.line {height:2px;width:12px}
.cashflow-recording {display:flex;align-items:center;gap:13px;padding:16px 19px;background:white}
.recording-wave {display:flex;align-items:center;gap:2px;height:28px}
.recording-wave i {display:block;width:2px;background:#8173c7;border-radius:2px}
.cashflow-recording b {font-weight:550;font-size:9px;display:block}
.cashflow-recording small {font-size:8px;color:#8290a0;display:block;margin-top:5px}
.recording-label {font-size:6px;letter-spacing:.08em;margin-left:auto;color:#8c94a2;white-space:nowrap}
.cashflow-art .media-transcript {margin:14px 0 13px;padding:16px 18px;background:#303949}
.cashflow-art .layout-label {display:block;line-height:1.8;font-size:8px}
/* Reuse the actual allocation display from the supplied screenshot. */
.allocation-example-frame {max-width:1120px;margin:0 auto;border:1px solid #dce1ea;border-radius:18px;overflow:hidden;background:white;box-shadow:0 15px 48px #1e2c4a08}
#allocation-example {border:0;border-radius:0;box-shadow:none}
#allocation-example .lab-masthead,#allocation-example .lab-footer {display:none}
#allocation-example .lab-content {padding:40px 36px 22px}
.allocation-example-link {display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 35px;border-top:1px solid #e4e7ef;background:#f9fafd}
.allocation-example-link>span {font-size:11px;color:#738096;line-height:1.7}
.allocation-example-link .button {font-size:11px;padding:12px 17px;flex-shrink:0}
@media(max-width:1000px){
 .single-direction .media-layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}
 .cashflow-art {padding:18px}
 .cashflow-metrics strong {font-size:18px}
 .cashflow-title h3 {font-size:19px}
 .recording-label {display:none}
 .conditions-grid {gap:22px}
}
@media(max-width:800px){
 .single-direction .service-introduction {padding:58px 0 60px}
 .single-direction .service-introduction h1 {font-size:clamp(35px,5.4vw,48px)}
 .single-direction .service-introduction .digital-service-line {font-size:20px}
 .single-direction .media-layout {grid-template-columns:1fr;gap:38px}
 .cashflow-art {max-width:590px;width:100%;margin:0 auto;padding:24px}
 .conditions-heading {grid-template-columns:1fr;gap:0}
 .conditions-heading>p {margin-top:18px}
 .conditions-grid {grid-template-columns:1fr;gap:24px}
 .conditions-grid article+article {border-top:1px solid #e6e8ed;padding-top:23px}
 .conditions-grid h4 {margin:10px 0}
 .conditions-grid p {max-width:650px}
 .single-direction .approval-responsibility {grid-template-columns:1fr;gap:17px}
 .single-direction .approval-responsibility>span {margin:0}
 .allocation-example-link {flex-direction:column;align-items:flex-start}
 #allocation-example .lab-content {padding:28px 22px 20px}
}
@media(max-width:560px){
 .single-direction .service-introduction {padding:47px 0 52px}
 .single-direction .service-introduction h1 {font-size:35px;line-height:1.14;letter-spacing:-.045em;margin-bottom:23px}
 .single-direction .service-introduction h1 br {display:none}
 .single-direction .service-introduction .eyebrow {font-size:8px;letter-spacing:.1em;line-height:1.8;max-width:300px;margin:auto}
 .single-direction .service-introduction .digital-service-line {font-size:18px;max-width:320px}
 .single-direction .service-introduction .opening-top>div>p:not(.digital-service-line) {font-size:14px;max-width:350px}
 .service-conditions {padding:26px 22px}
 .conditions-heading h3 {font-size:25px}
 .conditions-heading>p {font-size:12px}
 .cashflow-art {padding:17px;border-radius:16px}
 .cashflow-toolbar {padding:12px}
 .cashflow-title {padding:19px 13px 16px;gap:6px}
 .cashflow-title h3 {font-size:19px}
 .cashflow-title>div>span {font-size:6px}
 .cashflow-metrics {padding:0 13px 10px;gap:7px}
 .cashflow-metrics strong {font-size:18px}
 .cashflow-metrics span {font-size:6px}
 .cashflow-age {padding:6px;font-size:8px}
 .cashflow-legend {padding:8px 13px 15px;gap:8px 12px}
 .cashflow-recording {padding:14px 13px;gap:10px}
 .cashflow-recording small {font-size:7px}
 .cashflow-art .layout-label {font-size:7px}
 #allocation-example .lab-content {padding:25px 17px 16px}
 .allocation-example-link {padding:22px 17px;gap:13px}
 .allocation-example-link .button {font-size:10px;max-width:100%;white-space:normal;text-align:left}
}

.report-extract-label{max-width:1120px;margin:0 auto 18px;text-align:center;font-size:10px;line-height:1.8;letter-spacing:.07em;font-weight:550;color:#5e548e;background:#ece9f7;padding:14px 20px;border:1px solid #dfd9ef;border-radius:9px}
@media(max-width:560px){.report-extract-label{font-size:8px;padding:13px 15px;letter-spacing:.04em}}
