/* Funding guides: semantic figures remain readable without scripts or images. */
.fund-toc { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; padding-block:22px; border-bottom:1px solid var(--line-strong); background:var(--ice-050); }
.fund-toc strong { color:var(--navy-800); margin-right:8px; }
.fund-toc a { padding-block:8px; text-underline-offset:4px; }
.fund-section { overflow-wrap:anywhere; }
.fund-section > p, .fund-note, .fund-example { max-width:82ch; }
.fund-section > p { color:var(--text-700); }
.fund-heading { max-width:900px; margin-bottom:28px; }
.fund-heading .h2 { max-width:27ch; }
.fund-heading .eyebrow { margin-bottom:12px; }
.fund-date, .fund-tag { display:block; color:var(--navy-800); font-size:.875rem; font-weight:600; }
.fund-date { margin-block:22px; }
.fund-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-block:28px; }
.fund-cards article { min-width:0; padding:26px; border:1px solid var(--line-strong); border-radius:14px; background:white; }
.fund-cards h3, .fund-flow h3 { margin:0 0 12px; font-family:var(--font-display); font-size:1.25rem; line-height:1.3; }
.fund-cards p { margin:0 0 12px; color:var(--text-700); }
.fund-cards p:last-child { margin-bottom:0; }
.fund-cards .fund-tag { color:var(--navy-800); }
.fund-note { padding:20px 24px; border-left:4px solid var(--blue-600); background:var(--blue-050); margin-block:28px; }
.fund-note p { margin-bottom:0; }
.fund-figure { margin:32px 0; padding:28px; background:white; border:1px solid var(--line-strong); border-radius:18px; }
.fund-figure figcaption { max-width:85ch; margin-bottom:28px; color:var(--text-700); }
.fund-figure figcaption strong { display:block; font:600 1.25rem/1.4 var(--font-display); color:var(--navy-800); margin-bottom:8px; }
.fund-figure figcaption span { display:block; }
.fund-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.fund-flow li { position:relative; min-width:0; border-top:3px solid var(--blue-600); padding-top:18px; }
.fund-flow li:not(:last-child)::after { content:'→'; position:absolute; top:-18px; right:-23px; color:var(--blue-600); font-size:24px; font-weight:600; background:white; }
.fund-step { display:block; color:var(--blue-600); font:400 2.2rem/1 var(--font-display); margin-bottom:18px; }
.fund-flow p { margin:0; color:var(--text-700); }
.fund-map { background:linear-gradient(145deg,#f4fbfe,white); }
.fund-map__centre { max-width:620px; padding:22px 28px; margin:0 auto; border-radius:12px; background:var(--navy-800); color:white; font:600 1.25rem/1.4 var(--font-display); text-align:center; }
.fund-map__branches { list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; padding:28px 0 0; margin:0; }
.fund-map__branches li { position:relative; padding:24px; border:1px solid var(--line-strong); border-top:3px solid var(--blue-600); background:white; border-radius:0 0 12px 12px; }
.fund-map__branches li::before { content:''; position:absolute; width:2px; height:28px; left:50%; top:-31px; background:var(--blue-600); }
.fund-map__branches strong { display:block; font:600 1.125rem/1.4 var(--font-display); color:var(--navy-800); margin-bottom:10px; }
.fund-map__branches span { color:var(--text-700); }
.fund-table-wrap { margin-block:30px; border:1px solid var(--line-strong); border-radius:12px; overflow:auto; background:white; }
.fund-table { width:100%; border-collapse:collapse; font-size:1rem; text-align:left; }
.fund-table caption { text-align:left; padding:18px 20px; font-weight:600; background:var(--blue-050); color:var(--navy-800); }
.fund-table th, .fund-table td { padding:18px 20px; vertical-align:top; border-bottom:1px solid var(--line-strong); }
.fund-table thead th { background:var(--navy-800); color:white; font-weight:600; }
.fund-table tbody th { width:23%; font-weight:600; }
.fund-table td { color:var(--text-700); }
.fund-table tr:last-child > * { border-bottom:0; }
.fund-ref { text-underline-offset:3px; }
.fund-example { padding:24px 28px; background:var(--blue-050); border-radius:14px; }
.fund-example p:first-child { font-size:.9rem; }
.fund-example p:last-child { margin-bottom:0; }
.fund-faq { max-width:900px; }
.fund-faq details { border-top:1px solid var(--line-strong); padding:18px 0; }
.fund-faq details:last-child { border-bottom:1px solid var(--line-strong); }
.fund-faq summary { cursor:pointer; font-weight:600; padding:8px 0; }
.fund-faq details p { max-width:80ch; color:var(--text-700); }
.fund-sources { max-width:1000px; padding-left:24px; }
.fund-sources li { padding:12px 0 18px 8px; border-bottom:1px solid var(--line-strong); }
.fund-sources li > a { font-weight:600; }
.fund-sources p { font-size:.9rem; color:var(--text-700); margin:8px 0 0; }
.fund-related { display:flex; flex-wrap:wrap; gap:16px 30px; margin-top:28px; }
.fund-related a { padding-block:10px; font-weight:600; }
.fund-filter { display:grid; gap:10px; max-width:520px; padding:24px; background:white; border:1px solid var(--line-strong); border-radius:14px; }
.fund-filter label { font-weight:600; }
.fund-filter select { width:100%; padding:12px; font:inherit; color:var(--navy-800); background:white; border:1px solid var(--text-500); border-radius:6px; }
.fund-filter p { margin:0; font-size:.9rem; }
.fund-filter[hidden], .fund-routes article[hidden] { display:none; }
.fund-routes article { display:flex; flex-direction:column; }
.fund-routes h3 a { color:var(--navy-800); }
.fund-open { margin-top:auto; padding-top:16px; font-weight:600; text-underline-offset:4px; }
@media (max-width:1000px) {
  .fund-flow { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
  .fund-flow li::after { display:none; }
}
@media (max-width:700px) {
  .fund-cards, .fund-map__branches { grid-template-columns:minmax(0,1fr); }
  .fund-figure { padding:22px 18px; }
  .fund-cards article, .fund-map__branches li { padding:22px; }
  .fund-table { display:block; }
  .fund-table caption, .fund-table tbody, .fund-table tr, .fund-table th, .fund-table td { display:block; width:auto; }
  .fund-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .fund-table tr { border-bottom:2px solid var(--line-strong); }
  .fund-table tr:last-child { border:0; }
  .fund-table tbody th { width:auto; background:var(--blue-050); padding:18px; }
  .fund-table td { border:0; padding:12px 18px; }
  .fund-table td::before { content:attr(data-label); display:block; font-size:.8125rem; font-weight:700; color:var(--navy-800); margin-bottom:6px; }
  .fund-table td:last-child { padding-bottom:22px; }
  .fund-toc { gap:4px 18px; }
  .fund-toc strong { flex-basis:100%; }
}
@media (max-width:480px) {
  .fund-flow { grid-template-columns:minmax(0,1fr); gap:32px; }
  .fund-flow li { border-top:0; border-left:3px solid var(--blue-600); padding:0 0 0 18px; }
  .fund-flow li:not(:last-child)::after { display:block; content:'↓'; left:-12px; right:auto; top:auto; bottom:-32px; }
  .fund-step { font-size:1.7rem; margin-bottom:10px; }
  .fund-map__centre { padding:20px; }
}
@media print {
  .fund-toc, .fund-filter, .fund-related { display:none; }
  .fund-section { padding-block:20px; }
  .fund-cards article, .fund-flow li, .fund-map__branches li, .fund-table tr { break-inside:avoid; }
  .fund-figure { box-shadow:none; }
  .fund-faq details > div { display:block; }
}
