/* Salween-Mekong Project section (page 569 and its child pages): sticky project menu, two-rivers map,
   numbers, plan cards, budget chart and table. Loaded only on those pages (functions.php). */

/* ------------------------------------------------------------ project menu */
.afc-subnav { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 25; margin: 0; background: rgba(var(--afc-paper-rgb), 0.94); -webkit-backdrop-filter: saturate(1.4) blur(10px); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--wp--preset--color--rule); box-shadow: 0 8px 24px -18px rgba(var(--afc-ink-rgb), 0.35); }
.afc-subnav-inner { box-sizing: border-box; display: flex; align-items: center; gap: 2rem; max-width: 1248px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--gutter, 1.5rem); min-height: 3.75rem; }
.afc-subnav-name { flex: 0 0 auto; font-family: var(--wp--preset--font-family--serif); font-size: 1.0625rem; color: var(--wp--preset--color--ink); white-space: nowrap; }
.afc-subnav-name:hover { color: var(--wp--preset--color--clay-deep); }
.afc-subnav-list { display: flex; gap: 0.25rem; margin: 0 0 0 auto; padding: 0; list-style: none; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.afc-subnav-list::-webkit-scrollbar { display: none; }
.afc-subnav-list li { flex: 0 0 auto; margin: 0; }
.afc-subnav-list a { position: relative; display: block; padding: 1.2rem 0.9rem 1.1rem; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.01em; color: var(--wp--preset--color--ink-70); white-space: nowrap; transition: color .15s; }
.afc-subnav-list a::after { content: ""; position: absolute; left: 0.9rem; right: 0.9rem; bottom: -1px; height: 2px; border-radius: 2px; background: var(--wp--preset--color--clay); transform: scaleX(0); transition: transform .2s; }
.afc-subnav-list a:hover { color: var(--wp--preset--color--ink); }
.afc-subnav-list a:hover::after { transform: scaleX(0.4); }
.afc-subnav-list a[aria-current="page"] { color: var(--wp--preset--color--ink); }
.afc-subnav-list a[aria-current="page"]::after { transform: scaleX(1); }
.afc-subnav-list a:focus-visible { outline: 2px solid var(--wp--preset--color--clay); outline-offset: -4px; border-radius: 6px; }
@media (max-width: 781px) {
	.afc-subnav-inner { padding: 0; min-height: 0; justify-content: center; }
	.afc-subnav-name { display: none; }
	.afc-subnav-list { margin: 0; width: 100%; padding: 0 0.5rem; scroll-padding-inline: 0.5rem; }
	.afc-subnav-list a { padding: 1rem 0.8rem 0.9rem; }
	.afc-subnav-list a::after { left: 0.8rem; right: 0.8rem; }
}
@media (max-width: 480px) {
	.afc-subnav-list { justify-content: flex-start; padding: 0 0.4rem; }
	.afc-subnav-list a { padding: 0.95rem 0.5rem 0.85rem; font-size: 0.78rem; letter-spacing: 0; }
	.afc-subnav-list a::after { left: 0.5rem; right: 0.5rem; }
}
/* Anchor jumps land below the sticky menu. */
.afc-sections section[id] { scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 4.5rem); }

/* ------------------------------------------------------------ two-rivers map */
.afc-map-card { padding: clamp(1rem, 0.6rem + 1.5vw, 1.75rem); border-radius: var(--afc-radius); background: var(--wp--preset--color--paper); box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.05), 0 0 0 1px rgba(var(--afc-ink-rgb), 0.06), 0 30px 60px -40px rgba(var(--afc-ink-rgb), 0.4); }
.afc-map-card > * { margin: 0 !important; }
.afc-map { display: block; width: 100%; height: auto; max-height: 78svh; border-radius: 8px; font-family: var(--wp--preset--font-family--sans); }
.afc-map .m-sea { fill: #e7edef; }
.afc-map .m-land { fill: #f7f2ea; stroke: #d9cfbf; stroke-width: 0.8; stroke-linejoin: round; }
.afc-map .m-proj { fill: #efd8ca; stroke: #c99a83; stroke-width: 0.9; stroke-linejoin: round; }
.afc-map .m-rvl { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 3.2; }
.afc-map .m-rvl-s { stroke: var(--wp--preset--color--clay); }
.afc-map .m-rvl-m { stroke: #2f6f7e; }
.afc-map .m-dot-s { fill: var(--wp--preset--color--clay); }
.afc-map .m-dot-m { fill: #2f6f7e; }
.afc-map text { paint-order: stroke; stroke: rgba(247, 242, 234, 0.85); stroke-width: 3px; stroke-linejoin: round; }
.afc-map .m-c { font-size: 11px; font-weight: 500; fill: #8d8478; letter-spacing: 0.04em; }
.afc-map .m-cp { font-size: 13px; font-weight: 700; fill: var(--wp--preset--color--ink); letter-spacing: 0.08em; text-transform: uppercase; stroke: rgba(239, 216, 202, 0.9); }
.afc-map .m-sm { font-size: 9.5px; }
.afc-map .m-r { font-size: 12px; font-style: italic; fill: #8d8478; }
.afc-map .m-s { font-size: 11px; font-style: italic; fill: #64818b; letter-spacing: 0.06em; stroke: rgba(231, 237, 239, 0.9); }
.afc-map .m-rv { font-size: 13.5px; font-weight: 600; font-style: italic; font-family: var(--wp--preset--font-family--serif); }
.afc-map .m-rv-s { fill: var(--wp--preset--color--clay-deep); }
.afc-map .m-rv-m { fill: #245a66; }
.afc-map-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 1.25rem 0 0 !important; padding: 0; list-style: none; font-size: 0.875rem; color: var(--wp--preset--color--ink-soft); }
.afc-map-legend li { display: flex; align-items: center; gap: 0.6rem; margin: 0; }
.afc-map-key { flex: 0 0 auto; width: 1.5rem; height: 4px; border-radius: 4px; }
.afc-map-key--s { background: var(--wp--preset--color--clay); }
.afc-map-key--m { background: #2f6f7e; }
.afc-map-key--c { width: 1rem; height: 1rem; border-radius: 4px; background: #efd8ca; box-shadow: inset 0 0 0 1px #c99a83; }
.afc-sw-countries { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-left: 0; padding: 0; list-style: none; }
.afc-sw-countries li { margin: 0; padding: 0.45rem 0.95rem; border-radius: 999px; background: var(--wp--preset--color--paper); box-shadow: inset 0 0 0 1px rgba(177, 97, 72, 0.35); font-size: 0.875rem; font-weight: 500; color: var(--wp--preset--color--ink); }

/* ------------------------------------------------------------ numbers */
.afc-sw-numbers { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; }
.afc-sw-numbers > * { margin: 0 !important; grid-column: span 2; }
.afc-sw-numbers > :nth-child(-n+2) { grid-column: span 3; }
.afc-sw-numbers .afc-sw-stat-label { max-width: 30ch; }
@media (max-width: 1023px) { .afc-sw-numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); } .afc-sw-numbers > *, .afc-sw-numbers > :nth-child(-n+2) { grid-column: auto; } .afc-sw-numbers > :last-child { grid-column: 1 / -1; } }
@media (max-width: 599px) { .afc-sw-numbers { grid-template-columns: 1fr; } }
.afc-sw-crowd { display: grid; grid-template-columns: minmax(0, 960px) minmax(10rem, 1fr); gap: 1.25rem; align-items: stretch; }
.afc-sw-crowd > * { margin: 0 !important; }
/* The whole crowd at its natural 960:390 ratio, never wider than the 960px source. */
.afc-sw-crowd-img { max-width: 960px; overflow: hidden; border-radius: var(--afc-radius); background: var(--wp--preset--color--sand); }
.afc-sw-crowd-img img { display: block; width: 100%; height: auto; aspect-ratio: 960 / 390; object-fit: cover; object-position: center bottom; }
.afc-sw-crowd-cap { display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--sand); border-left: 3px solid var(--wp--preset--color--clay); }
.afc-sw-crowd-cap > * { margin: 0; }
.afc-sw-crowd-num { font-size: clamp(2rem, 1.6rem + 1.4vw, 2.75rem); line-height: 1; letter-spacing: -0.02em; }
.afc-sw-crowd-text { margin-top: 0.5rem !important; font-size: 0.95rem; line-height: 1.5; }
/* Narrower content: the photo full width (still capped at 960px and centered), the caption as a bar beneath. */
@media (max-width: 1279px) {
	.afc-sw-crowd { grid-template-columns: 1fr; gap: 0.75rem; justify-items: center; }
	.afc-sw-crowd > * { width: 100%; max-width: 960px; box-sizing: border-box; }
	.afc-sw-crowd-cap { flex-direction: row; justify-content: flex-start; align-items: baseline; flex-wrap: wrap; gap: 0.25rem 0.85rem; padding: 1rem 1.25rem; }
	.afc-sw-crowd-text { margin-top: 0 !important; }
	.afc-sw-crowd-num { font-size: 1.75rem; }
}

/* ------------------------------------------------------------ evangelize · equip · empower */
.afc-sw-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(var(--afc-paper-rgb), 0.14); }
.afc-sw-pillars > * { margin: 0 !important; }
.afc-sw-pillar { padding: 2rem 2rem 0 0; }
.afc-sw-pillar + .afc-sw-pillar { padding-left: 2rem; border-left: 1px solid rgba(var(--afc-paper-rgb), 0.14); }
.afc-sw-pillar p, .afc-sw-pillar h3 { margin: 0; }
.afc-sw-pillar-title { margin-top: 1rem !important; line-height: 1.15; }
.afc-sw-pillar-text { margin-top: 0.875rem !important; line-height: 1.65; max-width: 36ch; }
@media (max-width: 781px) { .afc-sw-pillars { grid-template-columns: 1fr; } .afc-sw-pillar, .afc-sw-pillar + .afc-sw-pillar { padding: 1.75rem 0; border-left: 0; border-bottom: 1px solid rgba(var(--afc-paper-rgb), 0.14); } }

/* First five: the country route stacked beside the copy. */
.afc-sw-route.afc-sw-route--stack { grid-template-columns: 1fr; row-gap: 1.25rem; }
.afc-sw-route--stack::before { left: 0.6875rem; right: auto; top: 0.6875rem; bottom: 0.6875rem; width: 2px; height: auto; background: linear-gradient(180deg, rgba(177, 97, 72, 0.25), var(--wp--preset--color--clay)); }
.afc-sw-route--stack li { padding: 0 0 0 2.75rem; text-align: left; }
.afc-sw-route--stack li::before { left: 0; transform: none; top: 0.05rem; }
#first-team .afc-progress { margin-top: 2rem; }

/* ------------------------------------------------------------ cards to the other pages */
.afc-sw-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.afc-sw-cards > * { margin: 0 !important; }
.afc-sw-card { position: relative; display: flex; flex-direction: column; border-radius: var(--afc-radius); overflow: hidden; background: var(--wp--preset--color--paper); box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.05), 0 0 0 1px rgba(var(--afc-ink-rgb), 0.07); transition: box-shadow .2s, transform .2s; }
.afc-sw-card:hover, .afc-sw-card:focus-within { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(177, 97, 72, 0.45), 0 24px 48px -28px rgba(var(--afc-ink-rgb), 0.45); }
.afc-sw-card-img { margin: 0 !important; aspect-ratio: 16 / 10; overflow: hidden; background: var(--wp--preset--color--sand); }
.afc-sw-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.afc-sw-card:hover .afc-sw-card-img img { transform: scale(1.03); }
.afc-sw-card-body { display: flex; flex: 1; flex-direction: column; margin: 0 !important; padding: 1.5rem 1.5rem 1.6rem; }
.afc-sw-card-body > * { margin: 0; }
.afc-sw-card-title { line-height: 1.2; }
.afc-sw-card-text { margin-top: 0.6rem !important; line-height: 1.6; font-size: 0.975rem; }
.afc-sw-card-link { margin-top: auto !important; padding-top: 1.25rem; }
.afc-sw-card-link a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.afc-sw-card-link a:focus-visible { outline: none; }
.afc-sw-card:has(a:focus-visible) { outline: 2px solid var(--wp--preset--color--clay); outline-offset: 3px; }
@media (max-width: 1023px) { .afc-sw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 639px) { .afc-sw-cards { grid-template-columns: 1fr; } }
@media (min-width: 782px) { .afc-md-right-btns { justify-content: flex-end; } }

/* ------------------------------------------------------------ our story */
.afc-sw-chapter .is-style-eyebrow { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 1.25rem; letter-spacing: 0; text-transform: none; }
.afc-sw-photoband + .afc-sw-chapter, .afc-sw-chapter + .afc-sw-photoband { padding-top: 0; }
.afc-sw-photos { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem; }
.afc-sw-photos > * { margin: 0 !important; }
.afc-sw-photos .wp-element-caption, .afc-sw-chapter .wp-element-caption { font-size: 0.85rem; color: var(--wp--preset--color--ink-muted); }

/* ------------------------------------------------------------ the plan */
.afc-sw-horizons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; position: relative; }
.afc-sw-horizons > * { margin: 0 !important; }
.afc-sw-horizon { position: relative; padding: 2rem 1.75rem 1.75rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--sand); border-top: 3px solid var(--wp--preset--color--clay); }
.afc-sw-horizon:nth-child(2) { background: #ecdfd1; } .afc-sw-horizon:nth-child(3) { background: #e8d6c6; }
.afc-sw-horizon > * { margin: 0; }
.afc-sw-horizon-when { font-size: clamp(1.35rem, 1.2rem + 0.5vw, 1.65rem); line-height: 1.2; letter-spacing: -0.01em; }
.afc-sw-horizon-title { margin-top: 1rem !important; line-height: 1.2; }
.afc-sw-horizon-text { margin-top: 0.6rem !important; line-height: 1.6; }
@media (max-width: 781px) { .afc-sw-horizons { grid-template-columns: 1fr; } }
.afc-sw-reasons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.afc-sw-reasons > * { margin: 0 !important; }
.afc-sw-reason { padding: 1.6rem 1.6rem 1.5rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--paper); box-shadow: 0 0 0 1px rgba(var(--afc-ink-rgb), 0.06); }
.afc-sw-reason > * { margin: 0; }
.afc-sw-reason-num { font-size: 1.75rem; font-style: italic; line-height: 1; }
.afc-sw-reason-title { margin-top: 0.75rem !important; line-height: 1.25; font-family: var(--wp--preset--font-family--sans); font-weight: 600; }
.afc-sw-reason-text { margin-top: 0.5rem !important; line-height: 1.6; font-size: 0.95rem; }
@media (max-width: 599px) { .afc-sw-reasons { grid-template-columns: 1fr; } }
.afc-sw-workcards { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.25rem; }
.afc-sw-workcards > * { margin: 0 !important; grid-column: span 2; }
.afc-sw-workcards > :nth-child(n+4) { grid-column: span 3; }
.afc-sw-workcard { padding: 2rem 1.75rem 1.75rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--paper); box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.05), 0 0 0 1px rgba(var(--afc-ink-rgb), 0.08); }
.afc-sw-workcard > * { margin: 0; }
.afc-sw-workcard-title { margin-top: 0.9rem !important; line-height: 1.2; }
.afc-sw-workcard-text { margin-top: 0.75rem !important; line-height: 1.6; font-size: 0.975rem; }
.afc-sw-targets { margin: 1.25rem 0 0 !important; padding: 1.1rem 0 0; list-style: none; border-top: 1px solid var(--wp--preset--color--rule); }
.afc-sw-targets li { position: relative; margin: 0; padding-left: 1.5rem; font-size: 0.925rem; line-height: 1.55; color: var(--wp--preset--color--ink); }
.afc-sw-targets li + li { margin-top: 0.55rem; }
.afc-sw-targets li::before { content: ""; position: absolute; left: 0.1rem; top: 0.42em; width: 0.7rem; height: 0.4rem; border-left: 2px solid var(--wp--preset--color--clay); border-bottom: 2px solid var(--wp--preset--color--clay); transform: rotate(-45deg); }
@media (max-width: 1023px) { .afc-sw-workcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .afc-sw-workcards > *, .afc-sw-workcards > :nth-child(n+4) { grid-column: auto; } .afc-sw-workcards > :last-child { grid-column: 1 / -1; } }
@media (max-width: 639px) { .afc-sw-workcards { grid-template-columns: 1fr; } }
.afc-sw-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem 2rem; }
.afc-sw-checks > * { margin: 0 !important; }
.afc-sw-check { padding-top: 1.25rem; border-top: 1px solid rgba(var(--afc-paper-rgb), 0.18); }
.afc-sw-check > * { margin: 0; }
.afc-sw-check-title { line-height: 1.25; font-family: var(--wp--preset--font-family--sans); font-weight: 600; }
.afc-sw-check-text { margin-top: 0.5rem !important; line-height: 1.6; font-size: 0.95rem; }
@media (max-width: 1023px) { .afc-sw-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .afc-sw-checks { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------ budget & giving */
.afc-budget-total { padding: 2rem 2rem 1.75rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--sand); border-left: 3px solid var(--wp--preset--color--clay); }
.afc-budget-total > * { margin-bottom: 0; }
.afc-budget-total > :first-child { margin-top: 0; }
.afc-budget-total-value { font-size: clamp(3rem, 2.3rem + 2.8vw, 4.75rem); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: lining-nums; }
.afc-budget-total-note { line-height: 1.6; max-width: 40ch; }
.afc-budget-chart { margin: 0; padding: clamp(1.25rem, 0.8rem + 1.5vw, 2rem); border-radius: var(--afc-radius); background: #fff; box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.05), 0 0 0 1px rgba(var(--afc-ink-rgb), 0.07); }
.afc-budget-chart-cap { margin: 0 0 1.25rem; font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--wp--preset--color--ink-faint); }
.afc-budget-bars { display: grid; gap: 0.95rem 2.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(7, auto); grid-auto-flow: column; margin: 0; padding: 0; list-style: none; }
.afc-budget-bar { display: grid; grid-template-columns: 1fr auto; gap: 0.35rem 1rem; align-items: baseline; margin: 0; }
.afc-budget-bar-label { font-size: 0.9rem; line-height: 1.35; color: var(--wp--preset--color--ink-soft); }
.afc-budget-bar-amt { font-size: 0.95rem; font-weight: 600; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.afc-budget-bar-pct { font-weight: 400; color: var(--wp--preset--color--ink-faint); }
.afc-budget-bar-track { grid-column: 1 / -1; height: 8px; border-radius: 8px; background: var(--wp--preset--color--sand); overflow: hidden; }
.afc-budget-bar-fill { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--wp--preset--color--clay), var(--wp--preset--color--clay-deep)); }
@media (max-width: 781px) { .afc-budget-bars { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; } }
.afc-budget-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.afc-budget-table { margin: 0; }
.afc-budget-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 0.925rem; font-variant-numeric: tabular-nums; }
.afc-budget-table th, .afc-budget-table td { padding: 0.85rem 1rem; border: 0; border-bottom: 1px solid var(--wp--preset--color--rule); text-align: left; vertical-align: top; line-height: 1.45; }
.afc-budget-table thead th { font-size: 0.7rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--wp--preset--color--ink-faint); border-bottom: 1px solid var(--wp--preset--color--ink-faint); }
.afc-budget-table tbody th { font-weight: 500; color: var(--wp--preset--color--ink); }
.afc-budget-table td { color: var(--wp--preset--color--ink-soft); }
.afc-budget-table td:last-child, .afc-budget-table thead th:last-child { text-align: right; white-space: nowrap; color: var(--wp--preset--color--ink); }
.afc-budget-table tfoot { border-top: 0; }
.afc-budget-table tfoot th, .afc-budget-table tfoot td { font-weight: 600; color: var(--wp--preset--color--ink); border-bottom: 0; }
.afc-budget-table tfoot tr:first-child th, .afc-budget-table tfoot tr:first-child td { border-top: 2px solid var(--wp--preset--color--ink); font-size: 1.05rem; }
.afc-budget-table tfoot tr:first-child td { color: var(--wp--preset--color--clay-deep); }
.afc-budget-table tfoot tr + tr th, .afc-budget-table tfoot tr + tr td { font-weight: 500; color: var(--wp--preset--color--ink-soft); }
.afc-budget-table td:empty::before { content: "—"; color: var(--wp--preset--color--ink-faint); }
@media (max-width: 639px) {
	.afc-budget-table-wrap { overflow: visible; }
	.afc-budget-table table { min-width: 0; }
	.afc-budget-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.afc-budget-table tr { display: grid; grid-template-columns: 1fr auto; column-gap: 1rem; row-gap: 0.2rem; padding: 0.85rem 0; border-bottom: 1px solid var(--wp--preset--color--rule); }
	.afc-budget-table th, .afc-budget-table td { display: block; padding: 0; border: 0 !important; }
	.afc-budget-table tr > :first-child { grid-column: 1; grid-row: 1; }
	.afc-budget-table tr > :last-child { grid-column: 2; grid-row: 1; }
	.afc-budget-table tbody td:nth-child(2), .afc-budget-table tbody td:nth-child(3) { grid-column: 1; font-size: 0.8125rem; color: var(--wp--preset--color--ink-muted); }
	.afc-budget-table tbody td:nth-child(2):not(:empty)::before { content: "Units: "; }
	.afc-budget-table tbody td:nth-child(3):not(:empty)::before { content: "Each: "; }
	.afc-budget-table td:empty { display: none; }
	.afc-budget-table tfoot tr:first-child { border-top: 2px solid var(--wp--preset--color--ink); border-bottom: 0; }
	.afc-budget-table tfoot tr:first-child th, .afc-budget-table tfoot tr:first-child td { border-top: 0; }
}
.afc-budget-table .wp-element-caption { margin-top: 0.85rem; font-size: 0.85rem; color: var(--wp--preset--color--ink-muted); text-align: left; }
.afc-sw-ways .afc-sw-way-desc { margin-top: 0.6rem !important; line-height: 1.6; font-size: 0.95rem; }
.afc-sw-ways .afc-sw-option-line { margin-top: 1rem !important; }
.afc-sw-ways .afc-sw-option-line .wp-block-button__link { color: var(--wp--preset--color--paper); font-weight: 600; }

/* Verse at the close of the overview: the full verse, verbatim. */
.afc-sw-stand .afc-sw-verse-text { max-width: 44ch; font-style: normal; font-size: clamp(1.25rem, 1rem + 0.9vw, 1.75rem) !important; line-height: 1.45; text-wrap: pretty; }

/* First five: the full vision beside the starting goal. */
.afc-sw-vision70 { padding: 2rem 2rem 1.75rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--paper); box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.05), 0 0 0 1px rgba(var(--afc-ink-rgb), 0.06); }
.afc-sw-vision70 > * { margin-bottom: 0; }
.afc-sw-vision70 > :first-child { margin-top: 0; }
.afc-sw-vision70-num { font-size: clamp(3.5rem, 2.8rem + 2.8vw, 5.5rem); line-height: 0.95; letter-spacing: -0.03em; }
.afc-sw-vision70-text { line-height: 1.6; max-width: 34ch; }

/* Scripture band (overview): the verse on its own, centered, calm serif, small-caps reference. */
.afc-sw-scripture { text-align: center; }
.afc-sw-scripture .afc-sw-scripture-q { margin: 0 auto; padding: 0; border: 0; max-width: 820px; background: none; }
.afc-sw-scripture .afc-sw-scripture-q::before { content: ""; display: block; width: 3rem; height: 2px; margin: 0 auto 2rem; background: var(--wp--preset--color--clay); }
.afc-sw-scripture .afc-sw-scripture-text { margin: 0; font-style: normal; font-size: clamp(1.25rem, 1rem + 0.9vw, 1.75rem); line-height: 1.45; letter-spacing: -0.005em; text-wrap: pretty; }
.afc-sw-scripture .afc-sw-scripture-ref { margin: 1.5rem 0 0 !important; font-family: var(--wp--preset--font-family--sans); font-style: normal; font-variant: all-small-caps; font-size: 1.0625rem; letter-spacing: 0.12em; color: var(--wp--preset--color--paper-soft); }
.afc-sw-scripture .afc-sw-scripture-q cite { display: none; }

/* Budget & Giving: one-time gifts in a row of four (2×2 on tablets, stacked on phones). */
.afc-sw-ways--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1099px) { .afc-sw-ways--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .afc-sw-ways--4 { grid-template-columns: 1fr; } }

/* How the project grows: a words-only step path. Six across on wide screens, three per row on tablets,
   a vertical path on phones. Numbered nodes on a thin clay line. */
/* ------------------------------------------------------------ growth timeline */
.afc-tl-wrap { align-items: flex-start !important; }
@media (min-width: 900px) { .afc-tl-intro { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 6.5rem); } }
.afc-tl { position: relative; list-style: none; margin: 0; padding: 0; display: grid; gap: 1.25rem; }
.afc-tl-step { position: relative; margin: 0; padding: 0 0 0 4.25rem; }
/* Rail: solid between the steps already planned, dashed into the long-term goals. */
.afc-tl-step::before { content: ""; position: absolute; left: 1.375rem; top: 2.75rem; bottom: -1.25rem; width: 0; border-left: 2px solid color-mix(in srgb, var(--wp--preset--color--clay) 40%, transparent); }
.afc-tl-step:nth-child(4)::before, .afc-tl-step.is-goal::before { border-left-style: dashed; }
.afc-tl-step:last-child::before { display: none; }
.afc-tl-node { position: absolute; left: 0; top: 0.25rem; display: flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--wp--preset--color--paper); border: 2px solid var(--wp--preset--color--clay); color: var(--wp--preset--color--clay-deep); font-family: var(--wp--preset--font-family--serif); font-size: 1.15rem; line-height: 1; font-variant-numeric: lining-nums; }
.afc-tl-step.is-current .afc-tl-node { background: var(--wp--preset--color--clay); color: #fff; box-shadow: 0 0 0 6px color-mix(in srgb, var(--wp--preset--color--clay) 18%, transparent); }
.afc-tl-step.is-goal .afc-tl-node { border-style: dashed; }
.afc-tl-step.is-done .afc-tl-node { background: var(--wp--preset--color--sage); border-color: var(--wp--preset--color--sage); color: #fff; }
.afc-tl-step.is-done .afc-tl-card { box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.04), 0 0 0 1px rgba(118, 142, 118, 0.55); }
.afc-tl-card { padding: 1.4rem 1.6rem 1.5rem; border-radius: var(--afc-radius); background: #fff; box-shadow: 0 1px 2px rgba(var(--afc-ink-rgb), 0.04), 0 0 0 1px rgba(var(--afc-ink-rgb), 0.07); }
.afc-tl-step.is-current .afc-tl-card { box-shadow: 0 10px 30px -12px rgba(var(--afc-ink-rgb), 0.18), 0 0 0 1.5px var(--wp--preset--color--clay); }
.afc-tl-step.is-goal .afc-tl-card { background: transparent; box-shadow: 0 0 0 1px rgba(var(--afc-ink-rgb), 0.12); }
.afc-tl-badge { display: inline-block; margin: 0 0 0.75rem; padding: 0.3rem 0.7rem; border-radius: 999px; background: var(--wp--preset--color--clay); color: #fff; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.04em; line-height: 1.2; }
.afc-tl-badge.afc-tl-badge--done { background: #5c7a5c; }
.afc-tl-title { margin: 0; font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: clamp(1.2rem, 1.1rem + 0.35vw, 1.4rem); line-height: 1.25; color: var(--wp--preset--color--ink); }
.afc-tl-text { margin: 0.55rem 0 0; font-size: 1rem; line-height: 1.65; color: var(--wp--preset--color--ink-soft); }
@media (max-width: 599px) {
	.afc-tl-step { padding-left: 3.25rem; }
	.afc-tl-node { width: 2.25rem; height: 2.25rem; font-size: 1rem; }
	.afc-tl-step::before { left: 1.125rem; top: 2.5rem; }
	.afc-tl-card { padding: 1.15rem 1.2rem 1.25rem; }
}

/* ------------------------------------------------------------ balanced section header */
.afc-split-head { margin-bottom: 0 !important; }
.afc-split-intro { margin: 0 !important; line-height: 1.65; max-width: 46ch; }

/* ------------------------------------------------------------ one-time gift cards */
.afc-gifts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.afc-gifts > * { margin: 0 !important; }
.afc-gift-card { display: flex; flex-direction: column; padding: 1.75rem 1.6rem 1.6rem; border-radius: var(--afc-radius); background: rgba(var(--afc-paper-rgb), 0.06); border: 1px solid rgba(var(--afc-paper-rgb), 0.16); transition: border-color .2s, background .2s, transform .2s; }
.afc-gift-card:hover, .afc-gift-card:focus-within { border-color: var(--wp--preset--color--clay); background: rgba(var(--afc-paper-rgb), 0.09); transform: translateY(-2px); }
.afc-gift-card > * { margin: 0 !important; }
.afc-gift-tag { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #e3a98a; }
.afc-gift-title { margin-top: 0.8rem !important; font-family: var(--wp--preset--font-family--serif); font-weight: 400; font-size: 1.35rem; line-height: 1.2; color: var(--wp--preset--color--paper); min-height: 2.4em; }
.afc-gift-amt { margin-top: 1.1rem !important; padding-bottom: 1.1rem; border-bottom: 1px solid rgba(var(--afc-paper-rgb), 0.14); font-size: clamp(2.1rem, 1.8rem + 1vw, 2.6rem); line-height: 1; letter-spacing: -0.02em; color: #fff; font-variant-numeric: lining-nums; }
.afc-gift-desc { margin-top: 1.1rem !important; flex: 1 1 auto; font-size: 0.975rem; line-height: 1.6; color: rgba(var(--afc-paper-rgb), 0.82); }
.afc-gift-btn { margin-top: 1.5rem !important; }
.afc-gift-btn .wp-block-button { width: 100%; }
.afc-gift-btn .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; }
.afc-gift-btn .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--paper); border-color: rgba(var(--afc-paper-rgb), 0.5); background: transparent; }
.afc-gift-btn .is-style-outline .wp-block-button__link:hover { border-color: var(--wp--preset--color--paper); }
@media (max-width: 1099px) { .afc-gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .afc-gifts { grid-template-columns: 1fr; } .afc-gift-title { min-height: 0; } }

/* Figure labels on the first-five tiles: readable sentence case instead of tiny spaced caps. */
.afc-sw-figure-label.afc-sw-figure-label { text-transform: none; letter-spacing: 0; font-size: 0.95rem; line-height: 1.45; font-weight: 500; color: var(--wp--preset--color--ink-soft); }

/* The full project budget: native <details>, collapsed by default. */
.afc-budget-details { border-radius: var(--afc-radius); background: var(--wp--preset--color--paper); border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent); }
.afc-budget-details > summary { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 1.75rem; cursor: pointer; list-style: none; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); line-height: 1.25; color: var(--wp--preset--color--ink); border-radius: var(--afc-radius); }
.afc-budget-details > summary::-webkit-details-marker { display: none; }
.afc-budget-details > summary::after { content: ""; flex: 0 0 auto; width: 0.7rem; height: 0.7rem; margin-right: 0.25rem; border-right: 2px solid var(--wp--preset--color--clay); border-bottom: 2px solid var(--wp--preset--color--clay); transform: translateY(-25%) rotate(45deg); transition: transform 0.2s ease; }
.afc-budget-details[open] > summary::after { transform: translateY(25%) rotate(-135deg); }
.afc-budget-details > summary:hover { color: var(--wp--preset--color--clay-deep); }
.afc-budget-details > summary:focus-visible { outline: 2px solid var(--wp--preset--color--clay); outline-offset: 3px; }
.afc-budget-details[open] > summary { border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 10%, transparent); border-radius: var(--afc-radius) var(--afc-radius) 0 0; }
.afc-budget-details > :not(summary) { margin-left: 1.75rem; margin-right: 1.75rem; }
.afc-budget-details > :not(summary):first-of-type { margin-top: 1.75rem; }
.afc-budget-details > :last-child { margin-bottom: 1.75rem; }
@media (max-width: 599px) {
	.afc-budget-details > summary { padding: 1.1rem 1.25rem; }
	.afc-budget-details > :not(summary) { margin-left: 1rem; margin-right: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .afc-budget-details > summary::after { transition: none; } }
.afc-budget-lead { margin: 0; max-width: 62ch; line-height: 1.65; }
.afc-budget-total-cap { font-weight: 600; font-size: 0.95rem; line-height: 1.5; max-width: 44ch; }
/* Line up tag, title, amount, text and button across all gift cards, whatever the title length. */
@supports (grid-template-rows: subgrid) {
  .afc-gifts { grid-auto-rows: auto; }
  .afc-gift-card { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; }
  .afc-gift-title { min-height: 0; }
  .afc-gift-amt { align-self: end; }
  .afc-gift-btn { align-self: end; }
}
/* "Who we send": AFC graduates, with 1 Corinthians 2:2 beside it. */
.afc-sw-who { margin-top: 1.25rem !important; padding: 2rem 2.25rem; border-radius: var(--afc-radius); background: var(--wp--preset--color--sand, #efe6da); border: 1px solid var(--wp--preset--color--rule); align-items: center !important; }
.afc-sw-who-text { font-size: 1.0625rem; line-height: 1.65; margin-bottom: 0; }
.afc-sw-who-q.wp-block-quote { margin: 0; padding: 0 0 0 1.75rem; border-left: 3px solid var(--wp--preset--color--clay); }
.afc-sw-who-verse { margin: 0; font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.55rem); line-height: 1.4; color: var(--wp--preset--color--ink); }
.afc-sw-who-ref { margin: 0.85rem 0 0 !important; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--wp--preset--color--clay-deep, #9a4a33); }
@media (max-width: 781px) { .afc-sw-who { padding: 1.5rem 1.35rem; } .afc-sw-who-q.wp-block-quote { padding-left: 1.1rem; } }
