/* A continuous allocation: every amount sits at its own labelled destination. */
.economics-section { background: #102947; color: #fff; }
.economics-heading { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; align-items: end; }
.economics-heading h2 { font-size: 52px; }
.economics-heading p { color: #bbcadc; max-width: 390px; }
.money-flow { position: relative; margin-top: 56px; height: 470px; }
.flow-origin { position: absolute; top: 178px; left: 0; }
.flow-origin > span, .flow-destinations dt { display: block; color: #bbcadc; font-size: 16px; }
.flow-origin strong { display: block; font-size: clamp(34px, 3.5vw, 48px); font-weight: 500; letter-spacing: -.04em; margin-top: 6px; white-space: nowrap; }
.money-flow small { font-size: .48em; letter-spacing: -.01em; font-weight: 400; white-space: nowrap; }
.flow-ribbons { position: absolute; width: 35%; height: 470px; left: 30%; overflow: visible; }
.flow-ribbons path { stroke: none; }
.ribbon-limit { fill: #9cc9ff; }
.ribbon-costs { fill: #6586a8; }
.ribbon-reserve { fill: #edf3fa; }
.ribbon-profit { fill: #91a4b9; }
.flow-destinations { position: absolute; inset: 0 0 0 68%; margin: 0; }
.flow-destinations > div { position: absolute; width: 100%; }
.flow-destinations dd { margin: 5px 0 0; font-size: 30px; font-weight: 500; letter-spacing: -.025em; line-height: 1.2; white-space: nowrap; }
.flow-destinations .flow-limit { top: 28px; }
.flow-limit dt { color: #9cc9ff; }
.flow-limit dd { font-size: clamp(42px, 4.4vw, 60px); color: #9cc9ff; letter-spacing: -.04em; }
.flow-limit dd > span { display: block; margin-top: 12px; font-size: 12px; line-height: 1.5; color: #bbcadc; letter-spacing: 0; white-space: normal; max-width: 230px; font-weight: 400; }
.flow-costs { top: 194px; }
.flow-reserve { top: 294px; }
.flow-profit { top: 394px; }
.economics-footer { display: flex; justify-content: space-between; gap: 30px; align-items: center; border-top: 1px solid #ffffff25; padding-top: 28px; margin-top: 20px; }
.economics-footer p { font-size: 12px; line-height: 1.7; color: #bbcadc; margin: 0; }
.economics-footer .text-link { color: #a7d0ff; font-size: 14px; flex: none; }
.economics-footer .text-link:hover { color: #fff; }
@media (min-width: 601px) and (max-width: 1000px) {
  .economics-heading { gap: 32px; }
  .economics-heading h2 { font-size: 40px; }
  .flow-origin strong { font-size: 34px; }
  .flow-origin > span, .flow-destinations dt { font-size: 14px; }
  .flow-destinations dd { font-size: 28px; }
  .flow-limit dd { font-size: clamp(30px, 4.6vw, 42px); }
}
@media (max-width: 600px) {
  .economics-section { padding-block: 64px; }
  .economics-heading { display: block; }
  .economics-heading h2 { font-size: 36px; }
  .economics-heading p { margin-top: 24px; font-size: 15px; }
  .money-flow { margin-top: 36px; height: auto; }
  .flow-origin { position: static; padding-bottom: 28px; border-bottom: 1px solid #ffffff25; }
  .flow-origin strong { font-size: 42px; }
  .flow-ribbons { display: none; }
  .flow-destinations { position: static; padding-left: 24px; border-left: 1px solid #7594b4; margin: 0 0 0 8px; }
  .flow-destinations > div { position: relative; top: auto; padding-top: 30px; }
  .flow-destinations .flow-limit { top: auto; }
  .flow-destinations > div::before { content: ""; position: absolute; top: 42px; left: -24px; width: 14px; height: 1px; background: #7594b4; }
  .flow-destinations dt, .flow-origin > span { font-size: 14px; }
  .flow-destinations dd { font-size: 30px; }
  .flow-limit dd { font-size: 48px; }
  .flow-limit dd > span { margin-top: 8px; }
  .flow-destinations > div:last-child { padding-bottom: 8px; }
  .economics-footer { display: block; margin-top: 32px; padding-top: 24px; }
  .economics-footer .text-link { margin-top: 20px; font-size: 14px; }
}
