/**
 * Native (Elementor-free) styles for the Global EbA Fund rebuild.
 * Tokens measured from live computed styles (see _reference/shots/measure-hero.mjs).
 *
 * @package astra-child
 */

:root {
	--geba-maxw:  1140px;
	--geba-blue:  #0a97d9;   /* brand blue — page titles, accents */
	--geba-dark:  #4a4a4a;   /* section headings */
	--geba-text:  #000000;   /* body copy */
	--geba-muted: #6b7280;
	--geba-line:  #e7e7e7;
	--geba-head:  "League Spartan", sans-serif;
	--geba-body:  Helvetica, "Helvetica Neue", Arial, sans-serif;
}

/* Full-bleed main, centered content lane (matches Elementor full-width pages). */
body.geba-native #content > .ast-container,
body.geba-native .ast-container { max-width: 100%; padding-left: 0; padding-right: 0; }
.geba-main { width: 100%; max-width: 100%; }
.geba-main, .geba-main p, .geba-main li { font-family: var(--geba-body); color: var(--geba-text); }
.geba-container { max-width: var(--geba-maxw); margin: 0 auto; padding: 0 20px; }
.geba-section { padding: 56px 0; }
.geba-main h1, .geba-main h2, .geba-main h3, .geba-main h4 { font-family: var(--geba-head) !important; }

/* ---- Page-title hero (reused site-wide) ----
   live: hero h550-650, boxed 1280 (panel at x80), panel = 704px wide,
   pad 50, title LS 47/51.7 600 #0a97d9 capitalize, no overlay. */
.geba-hero {
	position: relative;
	min-height: 650px;
	display: flex; align-items: center;
	background: #1a3a4a center/cover no-repeat;
}
.geba-hero__inner { position: relative; z-index: 1; width: 100%; max-width: 1280px; margin: 0 auto; padding: 0; text-align: left; box-sizing: border-box; }
.geba-hero__inner[style*="--geba-top"] { padding-top: var(--geba-top); }
@media (max-width: 1024px){
	/* live tablet/mobile: panel sits ~0.88x of the desktop offset */
	.geba-hero__inner[style*="--geba-top"] { padding-top: calc(var(--geba-top) * 0.95); }
}
/* inner-page page-title hero: blue title inside a frosted light panel */
.geba-hero:not(.geba-hero--center) .geba-hero__title:not(.geba-hero__title--bare) {
	display: inline-block;
	background: rgba(237, 237, 237, 0.89);
	padding: 50px;
	width: min(704px, 94%);
	box-sizing: border-box;
	font-family: var(--geba-head) !important;
	font-size: 47px !important; line-height: 51.7px !important; font-weight: 600 !important;
	color: var(--geba-blue);
	text-transform: capitalize;
	margin: 0;
	text-shadow: none;
}
/* hero panel with subtitle (live /resources/: panel 704w pad 50, sub LS 25/32.5 500 #4a4a4a, 30px below title) */
/* live panel is a flex column: padding 50px, gap 20px between title and subtitle.
   Panel height therefore follows the subtitle's own height (about 237, resources 284,
   faqs 289 @1440) — do NOT hard-code a bottom padding, it over-tallens short subtitles. */
.geba-hero__panel {
	display: inline-flex;
	flex-direction: column;
	gap: 20px;
	background: rgba(237, 237, 237, 0.89);
	padding: 50px;
	width: min(704px, 94%);
	box-sizing: border-box;
}
.geba-hero__panel .geba-hero__title--bare {
	background: none; padding: 0; width: auto;
	display: block;
	font-family: var(--geba-head) !important;
	font-size: 47px !important; line-height: 51.7px !important; font-weight: 600 !important;
	color: var(--geba-blue); text-transform: capitalize; margin: 0;
}
.geba-hero__subtitle {
	font-family: var(--geba-head);
	font-size: 25px; line-height: 32.5px; font-weight: 500;
	color: var(--geba-dark);
	margin: 0; /* spacing comes from the panel's 20px flex gap, as on live */
}
/* live carries an extra trailing gap on these two heroes (Elementor per-widget margin) */
#geba-resources .geba-hero__subtitle { margin-bottom: 47px; }
#geba-faqs .geba-hero__subtitle { margin-bottom: 19px; }
@media (max-width: 1300px){
	.geba-hero__inner { padding: 0 20px; }
}
/* live tablet (768): hero keeps height, panel flush-left (w = 100%-50), title 45/49.5 */
@media (max-width: 1024px){
	.geba-hero__inner { padding: 0; }
	.geba-hero:not(.geba-hero--center) .geba-hero__title:not(.geba-hero__title--bare),
	.geba-hero__panel {
		width: calc(100% - 50px);
	}
	.geba-hero:not(.geba-hero--center) .geba-hero__title:not(.geba-hero__title--bare) {
		font-size: 45px !important; line-height: 49.5px !important; padding: 50px;
	}
	.geba-hero__panel .geba-hero__title--bare { font-size: 45px !important; line-height: 49.5px !important; }
	/* live tablet subtitle-panel: x15, pad 35, tighter type */
	.geba-hero__panel { width: calc(100% - 30px); margin-left: 15px; padding: 35px 35px 60px; }
	.geba-hero__subtitle { font-size: 22.8px; line-height: 29.6px; margin-top: 28px; }
}
/* live mobile (390): title 35/38.5 */
@media (max-width: 767.9px){
	.geba-hero:not(.geba-hero--center) .geba-hero__title:not(.geba-hero__title--bare) { font-size: 35px !important; line-height: 38.5px !important; padding: 28px 32px; }
	.geba-hero__panel .geba-hero__title--bare { font-size: 35px !important; line-height: 38.5px !important; }
	.geba-hero__panel { padding: 28px 32px 40px; }
	.geba-hero__subtitle { font-size: 22px; line-height: 28px; margin-top: 18px; }
}

/* ---- Homepage display hero + blue intro band (live: hero h700, bg pos top-left) ---- */
.geba-hero--home { min-height: 700px; text-align: center; background-position: 0 0; }
.geba-hero--home::before { background: rgba(0,0,0,.22); }
.geba-hero--home .geba-hero__inner { text-align: center; margin: 0 auto; max-width: 1200px; }
.geba-hero__display {
	font-family: var(--geba-head) !important;
	font-size: clamp(54px, 9.5vw, 132px); line-height: 1.02; font-weight: 600;
	color: #fff; margin: 0; text-shadow: 0 3px 22px rgba(0,0,0,.45);
}
.geba-hero__line { display: block; }
.geba-hero__globe { display: inline-block; height: .92em; width: auto; vertical-align: -0.16em; margin: 0 -0.04em; filter: drop-shadow(0 3px 22px rgba(0,0,0,.35)); }
/* blue band wraps intro + pillars (live: 700→1330, pad 80/40 top) */
.geba-band-blue { background: var(--geba-blue); padding: 80px 40px 94px; text-align: center; } /* live band 632h @1440 */
.geba-band-blue__intro { max-width: 1027px; margin: 0 auto; }
.geba-band-blue__title { font-family: var(--geba-head); font-size: 32px; line-height: 24px; font-weight: 600; color: #ededed; margin: 0 0 40px; }
.geba-main .geba-band-blue__lead { color: #ededed; font-family: var(--geba-body); font-size: 22.4px; line-height: 26.88px; margin: 0 0 40px; }
.geba-band-blue__cta { margin: 0; }
/* homepage band button: white pill, League Spartan, black text (live: 19.2px/500, r50) */
.geba-button.geba-button--white { background: #fff; color: #000; font-family: var(--geba-head); font-size: 19.2px; font-weight: 500; border-radius: 50px; padding: 12px 24px; margin-top: 0; }
.geba-button.geba-button--white:hover { background: #eef6fb; color: #000; }

/* ---- Single project (live layout) ----
   hero: white bg, photo right (840x460 @x600,y110), gold panel x60 w710 h390 y172,
   title LS 40/44 600 #003478; content two-col [774 | 490] @x60 gap 50 */
.geba-projhero { position: relative; height: 570px; background: #fff; margin-top: 82px; overflow: hidden; /* live header is static (82px); clip the photo's 90px right bleed */ }
/* Both blocks scale with the viewport on live, which is what keeps the gold panel
   overlapping the photo at every width. Fixed px sizes here (840/710) happened to
   line up at 1440 but pulled apart above it — by 1920 there was a 310px gap.
   live: photo is 64.2% wide and bleeds 90px past the right edge; panel is 50%-10px. */
.geba-projhero__img {
	position: absolute; right: -90px; top: 10px;
	width: 64.2%; height: 550px;
	background: #cdd4db center/cover no-repeat;
}
.geba-projhero__panel {
	position: absolute; left: 60px; top: 90px; z-index: 2;
	width: calc(50% - 10px); max-width: 80%; min-height: 390px;
	background: #dda63a;
	padding: 40px 70px;
	box-sizing: border-box;
	display: flex; align-items: center;
}
.geba-projhero__title {
	font-family: var(--geba-head) !important;
	font-size: 40px !important; line-height: 44px !important; font-weight: 600 !important;
	color: #003478; margin: 0;
}
/* live runs this full-bleed — 60px left gutter, 6% right gutter, no max-width — so the
   text column and Key Metrics card grow with the window (774/450 @1440 → 1062/613 @1920).
   The old 1374px cap left the whole body marooned in the middle on wide screens. */
.geba-proj-container { max-width: none; margin: 0; padding: 0 6% 0 60px; box-sizing: border-box; }
.geba-project-info { padding: 60px 0 40px; }
.geba-proj-heading { font-family: var(--geba-head) !important; font-size: 32px; line-height: 41.6px; font-weight: 600; color: var(--geba-dark); text-align: center; margin: 0 0 20px; } /* live gap heading->body is 20px, not 69 */
.geba-proj-split { display: grid; grid-template-columns: 774fr 450fr; gap: 70px; align-items: start; }
/* ---- Project "Resources" link cards (live: 2-up grid, coloured panel + photo) ---- */
.geba-projres { padding-top: 0; }
.geba-projres__heading {
	font-family: var(--geba-head) !important;
	font-size: 24px; line-height: 1.2; font-weight: 600;
	color: #003478; margin: 0 0 18px;
}
.geba-projres__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; } /* live lets each card hug its own content rather than stretching the row */
.geba-projres__card { display: grid; grid-template-columns: 55fr 45fr; min-height: 390px; overflow: hidden; }
/* text-only cards hug their content on live (242px, not the 390px image-card height) */
.geba-projres__card--noimg { grid-template-columns: 1fr; min-height: 0; }
.geba-projres__card--noimg .geba-projres__panel { padding-bottom: 38px; }
.geba-projres__panel { padding: 40px; display: flex; flex-direction: column; align-items: flex-start; }
/* scoped under .geba-main so `.geba-main p { color: var(--geba-text) }` (which is more
   specific than a bare class) doesn't turn the org line black */
.geba-main .geba-projres__org {
	font-family: var(--geba-head); font-size: 14px; font-weight: 300; line-height: 16.8px;
	color: #fff; margin: 0 0 16px;
}
/* live: Poppins 16/400, lh 20.8, title capped at 281px so it wraps early.
   Scoped under .geba-main to beat `.geba-main h1..h4 { font-family: var(--geba-head) !important }`. */
.geba-main .geba-projres__title {
	font-family: "Poppins", var(--geba-body) !important;
	font-size: 16px; line-height: 20.8px; font-weight: 400;
	color: #fff; margin: 0 0 22px;
	max-width: min(281px, 100%);
}
.geba-projres__ctawrap { margin: 0; }
.geba-projres__cta {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	font-family: var(--geba-body); font-size: 15px; line-height: 1;
	color: #fff; text-decoration: none;
	border: 2px solid #fff;
	min-width: 149px; min-height: 43px; box-sizing: border-box;
	padding: 12px 18px;
}
.geba-projres__cta:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.geba-projres__photo { background: #cdd4db center/cover no-repeat; min-height: 200px; }
@media (max-width: 1024px){
	.geba-projres__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.9px){
	.geba-projres__card { grid-template-columns: 1fr; min-height: 0; }
	.geba-projres__photo { min-height: 220px; }
}

/* storymap embed: live is 88.8% wide, centred, 16:9 (1276x720 @1440 -> 1708x961 @1920).
   It was pinned to 1200x720, so it shrank away from the page on wide screens. */
.geba-storymap__inner { width: 88.8%; margin: 0 auto; }
.geba-storymap__inner .storymap-iframe-wrapper,
.geba-storymap__inner iframe {
	display: block;
	width: 100% !important;
	aspect-ratio: 16 / 9;
	height: auto !important;
	border: 0;
}

/* project photo gallery: live is a 3-column masonry under the description */
.geba-proj-gallery { column-count: 3; column-gap: 10px; margin-top: 34px; }
.geba-proj-gallery__item { display: block; margin: 0 0 10px; break-inside: avoid; }
.geba-proj-gallery__item img { display: block; width: 100%; height: auto; }
@media (max-width: 767.9px){ .geba-proj-gallery { column-count: 2; } }
.geba-proj-desc, .geba-proj-desc p, .geba-proj-desc li { font-family: var(--geba-body); font-size: 18px; line-height: 29.7px; color: #000; text-align: justify; }
.geba-proj-desc p { margin: 0 0 20px; }
.geba-proj-desc ul, .geba-proj-desc ol { margin: 0 0 24px; padding-left: 24px; }
/* Key Metrics: white shadow card, centered rows */
.geba-proj-metrics {
	background: #fff; border: none; border-radius: 0;
	box-shadow: 3px 3px 12px 2px rgba(0, 0, 0, 0.18);
	padding: 20px; text-align: center;
}
.geba-proj-metrics__h { font-family: var(--geba-head) !important; font-size: 24px; font-weight: 600; color: #000; margin: 0 0 18px; text-align: center; }
.geba-proj-metrics__row { font-family: var(--geba-body); font-size: 16px; line-height: 27px; color: #000; padding: 0; border: none; }
.geba-proj-metrics__implh { font-family: var(--geba-head) !important; font-size: 20px; font-weight: 600; color: #000; margin: 22px 0 15px; }
.geba-proj-metrics__impl { font-family: var(--geba-body); font-size: 16px; }
.geba-proj-metrics__impl a { color: #0a97d9; }
.geba-proj-metrics__impl img { max-width: 100%; height: auto; margin-top: 14px; }
/* prev/next row */
.geba-proj-nav { display: flex; justify-content: space-between; max-width: 1400px; margin: 0 auto; padding: 10px 20px 40px; }
.geba-proj-nav a { font-family: var(--geba-body); font-size: 14px; color: #0a97d9; text-decoration: none; }
/* gold explore band (live: full-width #dda63a h251, heading 32 center + Learn More) */
.geba-explore-band { background: #dda63a; text-align: center; padding: 60px 20px 56px; }
.geba-explore-band__h { font-family: var(--geba-head) !important; font-size: 32px; line-height: 41.6px; font-weight: 600; color: var(--geba-dark); margin: 0 0 20px; }
@media (max-width: 880px){
	.geba-proj-split { grid-template-columns: 1fr; }
	/* live mobile: panel y87 x10 w370 pad30, photo 550 tall overlapping panel by 37px */
	.geba-projhero { height: auto; display: flex; flex-direction: column; margin-top: 0; padding: 87px 10px 0; }
	.geba-projhero__img { position: static; width: 100%; max-width: 100%; height: 550px; order: 2; margin-top: -37px; }
	.geba-projhero__panel { position: relative; z-index: 1; left: auto; top: auto; width: 100%; max-width: 100%; min-height: 0; padding: 30px; order: 1; }
	.geba-projhero__title { font-size: 36.48px !important; line-height: 40.13px !important; }
	.geba-proj-container { padding: 0 20px; }
	.geba-project-info { padding-top: 90px; }
	.geba-proj-heading { margin-bottom: 30px; }
}

/* ---- Homepage centered hero ---- */
.geba-hero--center { text-align: center; }
.geba-hero--center .geba-hero__inner { text-align: center; margin: 0 auto; }
.geba-hero--center::before { background: linear-gradient(rgba(10,116,150,.72), rgba(13,80,110,.78)); }
.geba-hero__eyebrow { font-family: var(--geba-head); color: #ededed; font-size: 32px; font-weight: 600; margin: 0 0 18px; text-shadow: 0 2px 14px rgba(0,0,0,.5); }
.geba-hero__lead { color: #fff; font-size: 18px; line-height: 1.6; margin: 0 0 26px; text-shadow: 0 1px 10px rgba(0,0,0,.5); }

/* ---- Homepage pillars (inside blue band; live: icons 120px, labels LS 32/600 #ededed lowercase) ---- */
.geba-pillars__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; text-align: center; max-width: 990px; margin: 50px auto 0; }
.geba-pillar__icon { width: 120px; height: 120px; object-fit: contain; margin: 0 auto 20px; display: block;
	/* recolour the dark source SVGs to brand gold (matches live) */
	filter: invert(0.43) sepia(0.62) saturate(9.67) hue-rotate(21deg) brightness(1.65) contrast(0.97); }
.geba-pillar__label { font-family: var(--geba-head); font-size: 32px; line-height: 24px; font-weight: 600; color: #ededed; margin: 0; text-transform: lowercase; }
@media (max-width: 1024px){
	/* live tablet: 0.912 type scale, band content 510 wide */
	.geba-band-blue__intro { max-width: 510px; }
	.geba-band-blue__title { font-size: 29.184px; }
	.geba-main .geba-band-blue__lead { font-size: 20.43px; line-height: 24.51px; }
	.geba-button.geba-button--white { font-size: 17.51px; }
	.geba-pillar__label { font-size: 29.184px; }
}
@media (max-width: 768px){ .geba-pillars__grid { grid-template-columns: repeat(2, 1fr); gap: 24px 0; } }

/* ---- Homepage news carousel ---- */
/* live is full-bleed with a 60px gutter each side and NO max-width: the row spans
   viewport-120px at every size, so the 3 cards grow with the window
   (413px @1440, 573px @1920, 787px @2560). Capping it at 1320 left it marooned
   in the middle of wide screens. */
/* live also leaves a 60px white gap between the blue band and the first card */
.geba-newscar { position: relative; background: #fff; padding: 70px 0 24px; }
.geba-newscar__viewport { overflow: hidden; width: calc(100% - 120px); max-width: none; margin: 0 auto; }
.geba-newscar__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 80px) / 3); gap: 40px; transition: transform .4s ease; }
.geba-newscar__card { display: flex; flex-direction: column; min-height: 640px; }
/* live keeps each thumbnail's natural aspect ratio (cards end up unequal height) */
.geba-newscar__media { display: block; width: 100%; background: #cdd4db; }
.geba-newscar__media img { display: block; width: 100%; height: auto; }
.geba-newscar__meta {
	display: flex; align-items: center; gap: 6px;
	margin-top: 18px;
	font-family: var(--geba-body); font-size: 13.6px; color: #003478;
}
.geba-newscar__meta svg { flex: 0 0 auto; }
.geba-newscar__title { font-family: var(--geba-head); font-size: 20.8px; line-height: 24.96px; font-weight: 600; margin: 8px 0 0; }
.geba-newscar__title a { color: #003478; text-decoration: none; }
.geba-newscar__nav {
	position: absolute; top: 500px; transform: translateY(-50%);
	background: none; border: none; padding: 0; cursor: pointer;
	color: #b9bcc0; line-height: 0;
}
.geba-newscar__nav--prev { left: 10px; }
.geba-newscar__nav--next { right: 10px; }
.geba-newscar__nav:hover { color: #8a8f94; }
.geba-newscar__dots { display: flex; justify-content: center; gap: 12px; margin-top: 36px; }
.geba-newscar__dot { width: 8px; height: 8px; border-radius: 50%; background: #c7cbd0; cursor: pointer; }
.geba-newscar__dot.is-active { background: #1e2226; }
@media (max-width: 1024px){
	.geba-newscar__viewport { width: calc(100% - 80px); }
	.geba-newscar__track { grid-auto-columns: calc((100% - 40px) / 2); }
	.geba-newscar__card { min-height: 0; }
	.geba-newscar__nav { top: 40%; }
}
@media (max-width: 767px){
	.geba-newscar__track { grid-auto-columns: 100%; }
}

/* ---- News card grid (homepage + archive) ---- */
.geba-news__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.geba-news__card { display: flex; flex-direction: column; background: #fff; border-radius: 4px; overflow: hidden; text-decoration: none; color: var(--geba-text); box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.geba-news__media { height: 160px; background: #cdd4db center/cover no-repeat; }
.geba-news__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.geba-news__date { font-family: var(--geba-head); font-size: 12px; font-weight: 600; color: var(--geba-blue); text-transform: uppercase; letter-spacing: .04em; }
/* published date on a single news article — body type with a "Date:" label so it reads
   as part of the article rather than a stray line above it */
.geba-news__posted {
	font-family: var(--geba-body);
	font-size: 16px; line-height: 26.4px;
	color: #000;
	margin: 0 0 24px;
}
.geba-news__posted strong { font-weight: 700; }
.geba-news__posted-cat { color: #959595; font-style: italic; }
.geba-news__title { font-family: var(--geba-head); font-size: 16px; line-height: 1.35; color: var(--geba-dark); margin: 0; }
.geba-news__grid--home { grid-template-columns: repeat(3, 1fr); gap: 30px; }
.geba-news__grid--home .geba-news__media { height: 230px; }
.geba-news__grid--home .geba-news__body { padding: 20px 20px 22px; }
.geba-news__grid--home .geba-news__title { font-size: 18px; }
@media (max-width: 1024px){ .geba-news__grid, .geba-news__grid--home { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px){ .geba-news__grid, .geba-news__grid--home { grid-template-columns: 1fr; } }

/* live /projects/: hero(650) → 69px → Grantees */
#geba-archive-project .geba-grantees { padding: 69px 0 0; }

/* what-we-fund has no hero: live content starts at header(82) + 70 */
#geba-page-what-we-fund .geba-body > .geba-sec:first-child { padding-top: 152px; }
@media (max-width: 1024px){
	#geba-page-what-we-fund .geba-body > .geba-sec:first-child { padding-top: 130px; }
}

/* ---- Two-column split (text + image), e.g. Grantees intro ----
   live /projects/: boxed 1280, cols 620/620 gap 40, image 620x443 */
.geba-split { display: grid; grid-template-columns: 620fr 620fr; gap: 40px; align-items: start; max-width: 1280px; margin: 0 auto; }
.geba-split__text { padding: 0; }
.geba-split__text .geba-h2 { margin-bottom: 0; }
.geba-split__text .geba-prose { font-size: 16px; line-height: 26.4px; color: #000; }
.geba-split__text .geba-prose p { margin: 0 0 17.6px; }
.geba-split__text .geba-button { margin-top: 24px; } /* 2px sat the button right on the last line of copy */
.geba-split__text p:last-child { margin-bottom: 0; }
.geba-split__media { min-height: 443px; background: #ccc center/cover no-repeat; }
@media (max-width: 1320px){ .geba-split { padding: 0 20px; } }
@media (max-width: 768px){ .geba-split { grid-template-columns: 1fr; } .geba-split__text { padding: 0; } .geba-split__media { min-height: 240px; } }

/* ---- Section headings + intro copy ---- */
.geba-h2 {
	font-family: var(--geba-head) !important;
	font-size: 30px; line-height: 39px; font-weight: 600;
	color: var(--geba-dark); margin: 0 0 22px;
}
.geba-lead { font-size: 16px; line-height: 1.65; color: var(--geba-text); max-width: 920px; margin: 0 auto 8px; }
.geba-prose { font-size: 16px; line-height: 1.65; }
.geba-prose p { margin: 0 0 18px; }

/* ---- Contact page: two columns, matched to live ----
   live @1440: copy column x=80..700, form column x=740..1360 (620 each, 40px gutter);
   labels 14px #344054 above square-cornered fields (1px #d0d5dd, radius 0, textarea 130h);
   submit is plain uppercase black text, not a filled pill; pull-quote italic 20.8px. */
.geba-contact-split {
	display: grid;
	grid-template-columns: 620fr 620fr;
	gap: 40px;
	align-items: start;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}
@media (max-width: 1320px) { .geba-contact-split { padding: 0 20px; } }
.geba-contact__h { text-align: left; margin: 0 0 18px; }
.geba-contact__intro p { margin: 0 0 17.6px; }
/* live: 4px #939393 rule, 20px indent, italic 20.8px */
.geba-contact__quote {
	border-left: 4px solid #939393;
	padding: 0 0 0 20px;
	margin: 34px 0 0;
}
.geba-contact__quote p {
	font-family: var(--geba-body);
	font-style: italic;
	font-size: 20.8px; line-height: 1.5; font-weight: 400;
	color: #000;
	margin: 0;
}
/* live: 60px filled circles — LinkedIn brand blue, IUCN link grey — with 30px icons */
.geba-contact__social { display: flex; gap: 18px; align-items: center; margin: 30px 0 0; padding-left: 30px; }
.geba-contact__social a {
	width: 60px; height: 60px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	color: #fff;
}
.geba-contact__social a svg { width: 30px; height: 30px; }
.geba-contact__social a:nth-child(1) { background: #0077b5; }
.geba-contact__social a:nth-child(2) { background: #818a91; }
.geba-contact__social a:hover { opacity: .88; color: #fff; }
/* photo under the form in the right column */
.geba-contact__photo { display: block; width: 100%; height: 270px; object-fit: cover; margin: 44px 0 0; }

@media (max-width: 1023.9px) {
	.geba-contact-split { grid-template-columns: 1fr; gap: 34px; }
}

/* ---- Contact Form 7 (Formidable replacement) ---- */
.geba-contact-form { margin: 0; max-width: none; text-align: left; }
.geba-contact-form .wpcf7-form-control-wrap { display: block; }
.geba-contact-form .geba-cf__row { margin: 0 0 18px; }
.geba-contact-form label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--geba-body);
	font-size: 14px; font-weight: 400; line-height: 1.4;
	color: #344054;
}
.geba-contact-form .geba-cf__req { color: #344054; }
.geba-contact-form .geba-cf__hp { margin: 0; }
.geba-contact-form input[type="text"],
.geba-contact-form input[type="email"],
.geba-contact-form textarea {
	width: 100%; box-sizing: border-box; padding: 8px 10px; margin: 0;
	border: 1px solid #d0d5dd; border-radius: 0;
	font-family: var(--geba-body); font-size: 14px; background: #fff;
}
.geba-contact-form input[type="text"],
.geba-contact-form input[type="email"] { height: 40px; }
.geba-contact-form textarea { height: 130px; min-height: 130px; resize: vertical; }
.geba-contact-form input:focus, .geba-contact-form textarea:focus { outline: none; border-color: var(--geba-blue); }
.geba-contact-form .geba-cf__actions { margin: 4px 0 0; text-align: right; } /* live aligns SUBMIT to the form's right edge */
.geba-contact-form .wpcf7-submit {
	background: transparent; color: #000; border: 0; border-radius: 0;
	font-family: var(--geba-body); font-size: 14px; font-weight: 600;
	text-transform: uppercase; padding: 8px 16px; cursor: pointer;
}
.geba-contact-form .wpcf7-submit:hover { color: #0a97d9; background: transparent; }
.geba-contact-form .wpcf7-spinner { margin: 0 0 0 12px; }

/* ---- Buttons (Elementor button parity) ---- */
.geba-button {
	display: inline-block;
	background: var(--geba-blue); color: #fff;
	font-family: "Nunito", var(--geba-body); font-size: 15px; font-weight: 500; line-height: 15px;
	padding: 12px 24px; border-radius: 3px; text-decoration: none;
	transition: background .2s ease; margin-top: 8px;
}
.geba-button:hover { background: #0982bd; color: #fff; }

/* ---- Extracted content sections (live: boxed 1280, 620/620 cols, gap 40) ---- */
.geba-sec { padding: 50px 0; }
.geba-sec + .geba-sec { padding-top: 0; }
.geba-sec__inner { max-width: 1280px; margin: 0 auto; padding: 0; }
@media (max-width: 1320px){ .geba-sec__inner { padding: 0 20px; } }
/* text column vertically centred against a taller photo, with extra room above the row
   (default .geba-cols stretches, which left the copy stranded at the top of the photo) */
/* .geba-cols sets align-items:stretch later in this file, so match both classes to win */
.geba-cols.geba-cols--vcenter { align-items: center; margin-top: 40px; }

/* pull-quote callout: live uses a 5px navy left rule with a 35px indent */
.geba-callout { border-left: 5px solid #003478; padding-left: 35px; }

.geba-cols { display: flex; gap: 40px; justify-content: space-between; align-items: stretch; }
.geba-col { min-width: 0; }
.geba-col > .geba-img, .geba-col > a > .geba-img { display: block; }
/* live typography: p/li Helvetica 16/26.4 #000, p mb 17.6, ul mb 24; h2 LS 30/39 600 #4a4a4a */
.geba-text { font-family: var(--geba-body); font-size: 16px; line-height: 26.4px; color: #000; }
.geba-text p { margin: 0 0 17.6px; font-size: inherit; line-height: inherit; }
.geba-text li { font-size: inherit; line-height: inherit; }
.geba-text ul, .geba-text ol { margin: 0 0 24px; padding-left: 22px; }
.geba-text h2, .geba-text h3, .geba-text h4 { font-family: var(--geba-head) !important; color: var(--geba-dark); }
.geba-text h2 { font-size: 30px; line-height: 39px; font-weight: 600; margin: 0 0 12px; }
.geba-text h4 { font-size: 20px; line-height: 1.3; font-weight: 600; margin: 0 0 10px; }
.geba-text table { border-collapse: collapse; width: 100%; }
.geba-video { width: 100%; background: #000; }
.geba-video iframe { width: 100%; aspect-ratio: 16 / 9; display: block; background: #000; }
.geba-img { max-width: 100%; }
@media (max-width: 1024px){
	/* live scales type by 0.912 below desktop */
	.geba-text { font-size: 14.592px; line-height: 24.08px; }
	.geba-text p { margin-bottom: 16px; }
	.geba-text ul, .geba-text ol { margin-bottom: 21.9px; }
	.geba-text h2 { font-size: 25px; line-height: 32.5px; }
}
/* live tablet (≤1024): columns stack in DOM order, first section starts at hero, gap 30 */
@media (max-width: 1024px){
	.geba-cols { flex-direction: column; gap: 30px; }
	.geba-col { flex: 1 1 auto !important; }
	/* live: image blocks use per-section measured heights (extractor: --htab/--hmob) */
	.geba-col[style*="background-image"] { min-height: var(--htab, 400px); }
	.geba-img { width: 100% !important; height: auto !important; object-fit: cover; }
	.geba-col[style*="--htab"] .geba-img { height: var(--htab, 400px) !important; }
	.geba-body > .geba-sec:first-child { padding-top: 0; }
	.geba-sec__inner { padding: 0 15px; }
	/* scaling-eba live uses 70px section spacing below desktop */
	#geba-page-scaling-eba .geba-sec { padding-bottom: 70px; }
}
@media (max-width: 767.9px){
	/* live mobile: ~24px gap between hero and first section */
	.geba-body > .geba-sec:first-child { padding-top: 24px; }
}
/* per-section Elementor "reverse columns" (detected from live at 768/390 by the extractor) */
@media (max-width: 1024px){
	.geba-cols--revtab { flex-direction: column-reverse; }
	.geba-col--hidetab { display: none !important; }
}
@media (max-width: 767.9px){
	.geba-cols { flex-direction: column; }
	.geba-cols--revtab { flex-direction: column; }
	.geba-cols--revmob { flex-direction: column-reverse; }
	.geba-col--hidemob { display: none !important; }
	.geba-col--hidetab:not(.geba-col--hidemob) { display: block !important; }
	.geba-col[style*="background-image"] { min-height: var(--hmob, 400px); }
	.geba-col[style*="--hmob"] .geba-img { height: var(--hmob, 400px) !important; }
}

/* about page: overlay cards (live: 720px band overlapping the image col bottom) */
.geba-about-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; width: 720px; margin-left: -120px; position: relative; z-index: 2; }
.geba-about-card { padding: 35px; box-sizing: border-box; }
.geba-about-card--white { background: #fff; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18); }
.geba-about-card--blue { background: linear-gradient(160deg, #d9edf8 0%, #7fc5e8 100%); }
.geba-about-card h4 { font-family: var(--geba-head) !important; font-size: 32px; line-height: 38.4px; font-weight: 600; color: #003478; margin: 0 0 14px; }
.geba-about-card p { font-family: var(--geba-body); font-size: 16px; line-height: 26.4px; color: #000; margin: 0 0 12px; }
#geba-page-about-the-global-eba-fund .geba-body > .geba-sec:first-child .geba-col[style*="background-image"] { min-height: 1055px; }
@media (max-width: 1024px){
	.geba-about-cards { width: auto; margin-left: 0; grid-template-columns: 1fr; gap: 20px; margin-top: 20px; }
	#geba-page-about-the-global-eba-fund .geba-body > .geba-sec:first-child .geba-col[style*="background-image"] { min-height: var(--htab, 400px); }
}

/* content dividers (live Elementor divider widgets) */
.geba-divider { border: none; border-top: 1px solid #d5d8dc; margin: 28px 0; width: 100%; }

/* resources intro: live buttons are full-width bars with centered text */
#geba-resources .geba-body .geba-button { display: block; text-align: center; }

/* ---- FAQs headings: live uses League Spartan 25px/500 ---- */
#geba-faqs .geba-h2 { font-size: 25px; font-weight: 500; line-height: 32.5px; }

/* ---- Native search (SearchWP replacement) ---- */
.geba-search-form { display: flex; gap: 10px; margin-bottom: 22px; }
.geba-search__summary { color: var(--geba-muted); font-size: 14px; margin-bottom: 18px; }
.geba-search__list { display: flex; flex-direction: column; gap: 14px; }
.geba-search__item { display: block; padding: 18px 20px; background: #fff; border: 1px solid var(--geba-line); border-radius: 4px; text-decoration: none; color: var(--geba-text); transition: box-shadow .15s; }
.geba-search__item:hover { box-shadow: 0 3px 12px rgba(0,0,0,.08); }
.geba-search__type { font-family: var(--geba-head); font-size: 11px; font-weight: 600; color: var(--geba-blue); text-transform: uppercase; letter-spacing: .05em; }
.geba-search__title { font-family: var(--geba-head); font-size: 19px; color: var(--geba-dark); margin: 4px 0 6px; }
.geba-search__excerpt { font-size: 14px; line-height: 1.55; color: #555; margin: 0; }
.geba-search__pager { display: flex; gap: 6px; justify-content: center; margin-top: 28px; flex-wrap: wrap; }
.geba-search__pager .page-numbers { padding: 8px 13px; border: 1px solid var(--geba-line); border-radius: 3px; text-decoration: none; color: var(--geba-text); }
.geba-search__pager .page-numbers.current { background: var(--geba-blue); color: #fff; border-color: var(--geba-blue); }

/* ---- Resources/News native filter (FacetWP replacement): sidebar + list ----
   live: content 1260 centered (x90..1350), sidebar 397, rows [body | 251px thumb] */
.geba-res-container { max-width: 1260px; margin: 0 auto; padding: 0 20px; }
.geba-res-heading { font-family: var(--geba-head) !important; font-size: 30px; line-height: 39px; font-weight: 600; color: var(--geba-dark); text-transform: capitalize; margin: 0 0 26px; }
.geba-resources-list { background: #fff; padding: 40px 0 60px; }
.geba-res__meta { font-family: var(--geba-body); font-style: italic; font-size: 16px; line-height: 26px; color: #959595; }
.geba-res__thumb img { width: 251px; height: auto; display: block; }
.geba-res-layout { display: grid; grid-template-columns: 397px 1fr; gap: 30px; align-items: start; margin-top: 24px; }
.geba-res-sidebar { position: sticky; top: 20px; }
.geba-res-filter__search { width: 100%; box-sizing: border-box; padding: 11px 14px; border: 1px solid #d6dbe0; border-radius: 3px; font-family: var(--geba-body); font-size: 14px; background: #fff; margin-bottom: 20px; }
.geba-res-facet { margin-bottom: 22px; }
.geba-res-facet__h { font-family: var(--geba-head); font-size: 15px; color: var(--geba-dark); margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid var(--geba-blue); }
.geba-res-facet__opt { display: block; font-size: 13.5px; color: #444; margin-bottom: 7px; cursor: pointer; line-height: 1.3; }
.geba-res-facet__opt input { margin-right: 7px; accent-color: var(--geba-blue); }
.geba-res-facet__opt span { color: var(--geba-muted); }
.geba-res-filter__reset { width: 100%; padding: 9px 14px; border: 1px solid var(--geba-blue); background: #fff; color: var(--geba-blue); border-radius: 3px; cursor: pointer; font-family: "Nunito", var(--geba-body); font-weight: 600; }
.geba-res-filter__reset:hover { background: var(--geba-blue); color: #fff; }
.geba-res-filter__select { padding: 9px 12px; border: 1px solid #d6dbe0; border-radius: 3px; font-family: var(--geba-body); font-size: 13px; background: #fff; }
.geba-res-main__top { display: flex; align-items: center; justify-content: flex-end; padding-bottom: 14px; margin-bottom: 4px; }
.geba-res-filter__count { font-size: 13px; color: var(--geba-muted); }
/* Show-filters toggle: only visible on mobile */
.geba-showfilters { display: none; }
/* live facet sidebar: white bordered cards */
/* live: soft-shadowed card, square corners, 20px padding, no border */
.geba-facet-card { background: #fff; border: 0; border-radius: 0; padding: 20px; margin-bottom: 22px; box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 10px 4px; }
/* live facet headings: Helvetica 17.6/600 — Keyword slate, the accordion ones near-black */
.geba-facet-card .geba-res-facet__h { border-bottom: none; padding-bottom: 0; margin-bottom: 10px; font-size: 17.6px; font-weight: 600; color: #334155; font-family: var(--geba-body); }

/* --- Resource Type / Tags accordion (one card, Tags closed on load) --- */
.geba-facet-card--acc { padding: 20px 20px 6px; }
.geba-facet-acc { border: 0; }
.geba-facet-acc + .geba-facet-acc { border-top: 1px solid #e8ebee; margin-top: 4px; }
.geba-facet-acc > summary.geba-res-facet__h {
	display: flex; align-items: center; justify-content: space-between;
	color: #1f2124;
	margin: 0; padding: 14px 0;
	cursor: pointer; list-style: none;
}
.geba-facet-acc > summary::-webkit-details-marker { display: none; }
.geba-facet-acc > summary::after {
	content: ""; flex: 0 0 auto;
	width: 8px; height: 8px; margin-left: 12px;
	border-right: 2px solid #1f2124; border-bottom: 2px solid #1f2124;
	transform: rotate(-45deg) translateY(2px);   /* points right when closed */
	transition: transform 180ms ease;
}
.geba-facet-acc[open] > summary::after { transform: rotate(45deg) translateY(-2px); } /* points down when open */
.geba-facet-acc__body { padding: 2px 0 14px; }
/* Collapse explicitly rather than relying on the UA's details behaviour — some engines
   (and Chromium 151 headless) don't hide the content, which would show every tag on load. */
.geba-facet-acc:not([open]) > .geba-facet-acc__body { display: none; }
/* live shows a magnifier inside the keyword field */
.geba-facet-search { position: relative; }
.geba-facet-card .geba-res-filter__search {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808a94' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.5' y1='16.5' x2='21' y2='21'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px 18px;
	padding-right: 40px;
}
.geba-facet-card .geba-res-filter__search { margin-bottom: 0; }
/* year-range slider (visual parity with FacetWP slider) */
.geba-facet-slider { padding: 14px 6px 6px; }
.geba-facet-slider__track { display: block; position: relative; height: 5px; border-radius: 3px; background: #d8d8d8; }
.geba-facet-slider__dot { position: absolute; top: 50%; width: 15px; height: 15px; border-radius: 50%; background: #fff; border: 1px solid #bbb; box-shadow: 0 1px 3px rgba(0,0,0,.25); transform: translateY(-50%); }
.geba-facet-slider__dot--l { left: -2px; }
.geba-facet-slider__dot--r { right: -2px; }
.geba-facet-slider__labels { display: flex; justify-content: space-between; font-size: 12.5px; color: #444; margin-top: 10px; padding: 0 2px; }
.geba-res__list { display: flex; flex-direction: column; }
.geba-res__row { display: grid; grid-template-columns: 1fr 251px; gap: 20px; padding: 20px 0 26px; align-items: start; border-bottom: 1px solid #e8e8e8; }
.geba-res__row:last-child { border-bottom: none; }
.geba-res__thumb { display: block; }
.geba-res__body { display: flex; flex-direction: column; gap: 5px; }
.geba-res__title { font-family: var(--geba-head); font-size: 24px; line-height: 28.8px; font-weight: 600; color: #003478; margin: 0; }
.geba-res__title a { color: inherit; text-decoration: none; }
.geba-res__title a:hover { color: var(--geba-blue); }
.geba-res__desc { font-family: var(--geba-body); font-size: 16px; line-height: 26.4px; color: #000; margin: 6px 0 0; }
.geba-res__tags { font-family: var(--geba-body); font-size: 16px; line-height: 26px; color: #334155; margin-top: 12px; }
/* news rows (live: meta #334155 normal, desc #334155, Read more » navy 500, thumb 251x167 cover) */
.geba-news__meta { font-style: normal; color: #334155; }
.geba-news__desc { color: #334155; }
.geba-news__more { font-family: var(--geba-body); font-size: 16px; font-weight: 500; color: #003478; text-decoration: none; margin-top: 5px; align-self: flex-start; }
.geba-news__thumb { width: 251px; height: 167px; background: #cdd4db center/cover no-repeat; display: block; }
.geba-res__empty { text-align: center; color: var(--geba-muted); padding: 40px; }
.geba-res__spinner { height: 3px; background: linear-gradient(90deg, transparent, var(--geba-blue), transparent); background-size: 40% 100%; animation: geba-res-load 1s infinite; margin-top: 16px; }
@keyframes geba-res-load { 0%{background-position: -40% 0;} 100%{background-position: 140% 0;} }
@media (max-width: 1024px){
	/* live tablet: sidebar 226px + two-column cards with 47x31 thumbs top-right */
	.geba-res-container { padding: 0 25px; }
	.geba-res-layout { grid-template-columns: 226px 1fr; gap: 20px; }
	.geba-res__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; align-items: start; }
	.geba-res__row { display: block; border-bottom: none; padding: 20px 0; }
	.geba-res__thumb, .geba-news__thumb { float: right; width: 47px; height: 31px; margin-left: 8px; background-size: cover; }
	.geba-res__thumb img { width: 47px; }
	.geba-res__title { font-size: 21.9px; line-height: 26.27px; }
}
@media (max-width: 767.9px){
	/* live mobile: facets hidden behind a Show-filters button; single column cards, 300x200 image below text */
	.geba-res-layout { grid-template-columns: 1fr; }
	.geba-res-sidebar, .geba-res-main__top { display: none; }
	.geba-showfilters { display: block; width: 340px; margin: 0 auto 24px; background: #0a97d9; color: #fff; border: none; border-radius: 3px; padding: 10px 0; font-family: var(--geba-body); font-size: 15px; cursor: pointer; }
	.geba-res__row { padding: 20px 20px 25px; }
	.geba-res__list { grid-template-columns: 1fr; }
	.geba-res__row { display: flex; flex-direction: column; width: 340px; margin: 0 auto; padding: 15px 20px; }
	.geba-res__thumb, .geba-news__thumb { float: none; order: 4; width: 300px; height: 200px; margin: 12px 0 0; }
	.geba-res__thumb img { width: 300px; }
	.geba-news__more { order: 5; }
}

/* ---- Project Information WYSIWYG ---- */
.geba-project-info .geba-prose h4 { font-family: var(--geba-head); color: var(--geba-dark); font-size: 20px; margin: 26px 0 10px; }
.geba-project-info .geba-prose img { max-width: 100%; height: auto; }

/* ---- Related projects grid ---- */
.geba-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 28px; }
.geba-related__card { display: flex; flex-direction: column; background: #fff; border-radius: 4px; overflow: hidden; text-decoration: none; box-shadow: 0 2px 10px rgba(0,0,0,.06); color: var(--geba-text); }
.geba-related__media { height: 180px; background: #cdd4db center/cover no-repeat; }
.geba-related__body { padding: 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.geba-related__loc { font-family: var(--geba-head); font-size: 13px; font-weight: 600; color: var(--geba-blue); text-transform: uppercase; letter-spacing: .04em; }
.geba-related__title { font-family: var(--geba-head); font-size: 18px; line-height: 1.3; color: var(--geba-dark); margin: 0 0 auto; }
.geba-related__card .geba-button { align-self: flex-start; }
@media (max-width: 768px){ .geba-related__grid { grid-template-columns: 1fr; } }

/* ---- Portfolio-in-numbers counters (live: heading 32 center; LS 48/48 600 #003478;
        titles Poppins 19.2 400 #003478; 3×440 cells, block tight above map) ---- */
.geba-counters { text-align: center; margin-top: 90px; }
.geba-counters__heading { font-family: var(--geba-head) !important; font-size: 32px; line-height: 62px; font-weight: 600; color: var(--geba-dark); margin: 0; padding: 0; text-align: center; }
.geba-counters__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; max-width: 1400px; margin: 30px auto 0; }
.geba-counter__num { font-family: var(--geba-head); font-size: 48px; line-height: 48px; font-weight: 600; color: #003478; }
.geba-counter__label { font-family: Poppins, sans-serif; font-size: 19.2px; font-weight: 400; line-height: 20px; color: #003478; margin-top: 0; text-transform: none; }
@media (max-width: 1024px){
	.geba-counters__heading { font-size: 29.2px; line-height: 56px; }
	.geba-counter__num { font-size: 43.8px; line-height: 44px; }
	.geba-counter__label { font-size: 17.5px; }
	.geba-counters__grid { gap: 20px; }
}

/* ---- Projects map/filter/grid wrapper (live: 10px side inset, filters centered) ---- */
.geba-projects-map { padding: 0 10px 80px; }
.geba-projects-map .filters-container { width: fit-content; margin: 0 auto; }

/* style.css pulls the map up with a stack of negative margins (-10 on the section,
   -50 on .acf-map-wrapper) which drags the map tiles over the "in Numbers" counter
   labels, and -42/-35 on the notice/filter row which collapses them together.
   Unwind them here so the sections sit clear of each other. */
/* keep the -10px section pull (live has it) but drop the -50px on the wrapper: that
   combination is what put the map tiles over the labels. Net result matches live —
   ~30px between the counter labels and the top of the map, same as above the numbers. */
#geba-archive-project .geba-projects-map { margin-top: -10px; }
#geba-archive-project .acf-map-wrapper { margin-top: 0; }
#geba-archive-project .map-notice { margin: 28px 0 0; }
#geba-archive-project .geba-projects-map .filters-container { margin: 40px auto 0; padding: 0; }
#geba-archive-project .project-grid { margin-top: 56px; }

/* ---- The Team grid (About page) — photo on top, name, role (NABSA /contact format) ---- */
.geba-sec.geba-team { padding-top: 54px; }
.geba-team__heading { font-family: var(--geba-head) !important; font-size: 30px; line-height: 39px; font-weight: 600; color: var(--geba-dark); text-align: center; margin: 0 0 38px; }
.geba-team__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px 30px; }
.geba-team__member { text-align: center; }
.geba-team__photo { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: top center; border-radius: 4px; display: block; background: #eef1f3; }
.geba-team__name { font-family: var(--geba-head); font-size: 20px; line-height: 1.25; font-weight: 600; color: #003478; margin: 16px 0 4px; }
.geba-team__role { font-family: var(--geba-body); font-size: 14.5px; line-height: 1.45; color: var(--geba-muted); margin: 0; }
@media (max-width: 1024px){ .geba-team__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px){ .geba-team__grid { grid-template-columns: repeat(2, 1fr); gap: 30px 20px; } .geba-team__name { font-size: 18px; } }

/* ---- Grievance Mechanism + Privacy Policy (native content pages, added post-migration) ---- */
/* Privacy has no hero: clear the transparent header like what-we-fund does. */
#geba-page-privacy-policy .geba-body > .geba-section:first-child { padding-top: 152px; }
#geba-page-privacy-policy .geba-text h3 { font-size: 22px; line-height: 1.3; font-weight: 600; margin: 26px 0 10px; }
@media (max-width: 767px){
	#geba-page-privacy-policy .geba-body > .geba-section:first-child { padding-top: 130px; }
}
