/* NOR-127 article-only visual system: NorthLedger ivory, ink and sand. */
.funding-finding { border-left-color: #5e646e; }

.funding-numbers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 34px 0 0;
  border-block: 1px solid #e2e5ea;
}
.funding-numbers > div { padding: 24px 20px; }
.funding-numbers > div + div { border-left: 1px solid #e2e5ea; }
.funding-numbers strong, .funding-numbers span { display: block; }
.funding-numbers strong { color: #0d0f12; font-size: clamp(32px, 6vw, 50px); font-variant-numeric: tabular-nums; letter-spacing: -.055em; line-height: 1; }
.funding-numbers span { margin-top: 10px; color: #16191d; font-size: 13px; line-height: 1.5; }
.blog-article .funding-number-note { margin: 10px 0 38px; color: #5e646e; font-size: 13px; }

.funding-explainer { margin: 38px 0 46px; padding: 30px 0 14px; border-block: 1px solid #e2e5ea; }
.funding-head { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(230px, .9fr); gap: 28px; align-items: end; }
.funding-eyebrow { display: block; margin-bottom: 9px; color: #5e646e; font-size: 11px; font-weight: 600; letter-spacing: .11em; }
.blog-article .funding-head h2 { margin: 0; color: #0d0f12; font-size: clamp(24px, 4vw, 32px); letter-spacing: -.025em; line-height: 1.2; }
.blog-article .funding-head p { margin: 0; color: #5e646e; font-size: 14px; line-height: 1.6; }
.funding-figure { margin: 24px 0 0; }
.funding-system { overflow: hidden; padding: 26px; background: #f7f8fa; border: 1px solid #e2e5ea; border-radius: 8px; }

.funding-project { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding-bottom: 20px; border-bottom: 1px solid #e2e5ea; }
.funding-project > span { display: grid; width: 48px; height: 48px; place-items: center; color: #0d0f12; font-size: 11px; font-weight: 700; background: #e2e5ea; border: 1px solid #9ea4b0; border-radius: 50%; }
.funding-project small, .funding-project strong { display: block; }
.funding-project small { color: #5e646e; font-size: 9px; letter-spacing: .1em; }
.funding-project strong { margin-top: 3px; color: #0d0f12; font-size: 14px; }
.funding-project em { padding: 7px 9px; color: #16191d; font-size: 10px; font-style: normal; font-weight: 600; background: #eaecef; border: 1px solid #9ea4b0; border-radius: 4px; }

.funding-docs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin: 22px 0; }
.funding-docs > div { min-height: 76px; padding: 12px 9px; background: #ffffff; border: 1px dashed #9ea4b0; border-radius: 5px; transition: background 450ms ease, border 450ms ease, transform 450ms ease; }
.funding-docs span, .funding-docs b { display: block; }
.funding-docs span { color: #6e747e; font-size: 10px; }
.funding-docs b { margin-top: 13px; color: #5e646e; font-size: 11px; line-height: 1.3; }
.funding-explainer[data-stage="0"] [data-doc="0"],
.funding-explainer[data-stage="1"] [data-doc="1"],
.funding-explainer[data-stage="2"] [data-doc="2"],
.funding-explainer[data-stage="3"] [data-doc="3"],
.funding-explainer[data-stage="4"] [data-doc="4"] { background: #e2e5ea; border-color: #5e646e; border-style: solid; transform: translateY(-4px); }
.funding-explainer[data-stage="1"] [data-doc="0"],
.funding-explainer[data-stage="2"] [data-doc="0"], .funding-explainer[data-stage="2"] [data-doc="1"],
.funding-explainer[data-stage="3"] [data-doc="0"], .funding-explainer[data-stage="3"] [data-doc="1"], .funding-explainer[data-stage="3"] [data-doc="2"],
.funding-explainer[data-stage="4"] [data-doc="0"], .funding-explainer[data-stage="4"] [data-doc="1"], .funding-explainer[data-stage="4"] [data-doc="2"], .funding-explainer[data-stage="4"] [data-doc="3"] { background: #eaecef; border-color: #107c55; border-style: solid; }

.funding-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.funding-lane { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: center; min-height: 78px; padding: 12px; background: #ffffff; border: 1px solid #e2e5ea; border-radius: 6px; transition: opacity 450ms ease, transform 450ms ease, border 450ms ease, background 450ms ease; }
.funding-lane > span { display: grid; width: 38px; height: 38px; place-items: center; color: #16191d; font-size: 9px; font-weight: 700; border: 1px solid #9ea4b0; border-radius: 50%; }
.funding-lane strong, .funding-lane small { display: block; }
.funding-lane strong { color: #0d0f12; font-size: 12px; }
.funding-lane small { margin-top: 5px; color: #5e646e; font-size: 9px; line-height: 1.3; }
.funding-packet { position: absolute; right: -7px; bottom: -10px; width: 13px; height: 18px; opacity: 0; background: #9ea4b0; border: 1px solid #5e646e; border-radius: 2px; transition: opacity 300ms ease; }
.funding-explainer[data-stage="2"] [data-lane="oxi"], .funding-explainer[data-stage="3"] [data-lane="oxi"], .funding-explainer[data-stage="4"] [data-lane="oxi"] { background: #e2e5ea; border-color: #5e646e; transform: translateY(-3px); }
.funding-explainer[data-stage="2"] [data-lane="nation"], .funding-explainer[data-stage="2"] [data-lane="private"],
.funding-explainer[data-stage="3"] [data-lane="nation"], .funding-explainer[data-stage="3"] [data-lane="private"],
.funding-explainer[data-stage="4"] [data-lane="nation"], .funding-explainer[data-stage="4"] [data-lane="private"] { opacity: .48; }

.funding-outcome { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; margin-top: 18px; }
.funding-vault, .funding-work { min-height: 76px; padding: 15px; background: #eaecef; border: 1px solid #e2e5ea; border-radius: 6px; }
.funding-vault { position: relative; overflow: hidden; }
.funding-vault i { position: absolute; inset: auto 0 0; height: 0; background: #9ea4b0; opacity: .55; transition: height 800ms cubic-bezier(.22, 1, .36, 1); }
.funding-vault span, .funding-work strong { position: relative; z-index: 2; color: #16191d; font-size: 10px; letter-spacing: .07em; }
.funding-outcome > b { color: #6e747e; font-size: 22px; opacity: .35; transition: opacity 450ms ease, transform 450ms ease; }
.funding-work span { display: block; width: 0; height: 8px; margin: 4px 0 12px; background: repeating-linear-gradient(90deg, #5e646e 0 12px, #f4e6e6 12px 18px); border-radius: 5px; transition: width 850ms cubic-bezier(.22, 1, .36, 1); }
.funding-explainer[data-stage="3"] .funding-packet { opacity: 1; animation: funding-check 1.7s ease-in-out infinite; }
.funding-explainer[data-stage="4"] .funding-packet { opacity: 1; transform: translate(36px, 79px); }
.funding-explainer[data-stage="4"] .funding-vault i { height: 64%; }
.funding-explainer[data-stage="4"] .funding-outcome > b { opacity: 1; transform: translateX(3px); }
.funding-explainer[data-stage="4"] .funding-work span { width: 82%; }

.funding-progress { height: 3px; margin-top: 12px; overflow: hidden; background: #e2e5ea; }
.funding-progress span { display: block; width: 20%; height: 100%; background: #5e646e; transition: width 500ms ease; }
.funding-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 14px 0; }
.funding-controls button { min-height: 38px; padding: 8px 12px; color: #16191d; font: inherit; font-size: 11px; background: transparent; border: 1px solid #9ea4b0; border-radius: 5px; cursor: pointer; }
.funding-controls button:hover:not(:disabled) { background: #eaecef; }
.funding-controls button:disabled { cursor: not-allowed; opacity: .4; }
.funding-controls button:focus-visible, .funding-explainer:focus-visible { outline: 3px solid #5e646e; outline-offset: 3px; }
.funding-counter { margin-left: auto; color: #5e646e; font-size: 11px; font-variant-numeric: tabular-nums; }
.funding-figure figcaption { color: #5e646e; font-size: 13px; line-height: 1.6; }
.funding-state-copy { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.funding-state-copy li { padding: 12px 0 0; border-top: 2px solid #e2e5ea; }
.funding-state-copy li.is-current { border-color: #5e646e; }
.funding-state-copy strong, .funding-state-copy span { display: block; }
.funding-state-copy strong { color: #0d0f12; font-size: 11px; line-height: 1.4; }
.funding-state-copy span { margin-top: 7px; color: #5e646e; font-size: 10px; line-height: 1.5; }
#source-1, #source-2, #source-3, #source-4, #source-5, #source-6, #source-7, #source-8, #source-9, #source-10 { scroll-margin-top: 100px; }

@keyframes funding-check { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@media (max-width: 700px) {
  .funding-head { grid-template-columns: 1fr; gap: 12px; }
  .funding-system { padding: 18px 14px; }
  .funding-project { grid-template-columns: auto 1fr; }
  .funding-project em { grid-column: 1 / -1; }
  .funding-docs { grid-template-columns: 1fr; }
  .funding-docs > div { min-height: 0; }
  .funding-docs b { margin-top: 5px; }
  .funding-lanes { grid-template-columns: 1fr; }
  .funding-state-copy { grid-template-columns: 1fr; }
  .funding-outcome { grid-template-columns: 1fr; }
  .funding-outcome > b { justify-self: center; transform: rotate(90deg); }
  .funding-explainer[data-stage="4"] .funding-outcome > b { transform: rotate(90deg) translateX(3px); }
  .funding-explainer[data-stage="4"] .funding-packet { transform: translate(28px, 168px); }
}
@media (max-width: 540px) {
  .funding-numbers { grid-template-columns: 1fr; }
  .funding-numbers > div { display: flex; align-items: center; gap: 18px; padding: 16px 4px; }
  .funding-numbers > div + div { border-top: 1px solid #e2e5ea; border-left: 0; }
  .funding-numbers strong { min-width: 100px; }
  .funding-numbers span { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .funding-explainer *, .funding-explainer *::before, .funding-explainer *::after { animation: none !important; transition: none !important; }
}
@media print {
  .funding-controls, .funding-progress { display: none; }
  .funding-state-copy li { border-color: #e2e5ea; }
}
