/* GENERATED - do not edit by hand.
 * The theme's real header / search overlay / footer styles, extracted from: 01-apcc-tokens.css, 03-style.css, 04-apcc-network.css, 04b-apcc-network-inline.css, 05-apcc-components.css.
 * Loaded on africahied plugin pages (research / paper / summary), which can't load style.css.
 * Regenerate after changing header/footer CSS in those files. */
@media (max-width: 992px) { :where(.site-header, .search-overlay, .site-footer) { --apcc-rem: 15px; } }
@media (max-width: 768px) { :where(.site-header, .search-overlay, .site-footer) { --apcc-rem: 14px; } }
@media (max-width: 480px) { :where(.site-header, .search-overlay, .site-footer) { --apcc-rem: 13px; } }
:where(.site-header, .search-overlay, .site-footer) {
	--apcc-green-950: #062a17;
	--apcc-green-900: #0b3a20;
	--apcc-green-700: #125c2e;
	--apcc-green-600: #16763a;
	--apcc-green-500: #1b8c3b;
	--apcc-mint-50:  #f3f6f2;
	--apcc-mint-100: #e6f1e9;
	--apcc-mint-200: #d6e3da;
	--apcc-mint-300: #b2c7b8;
	--apcc-ink:      #102218;
	--apcc-text:     #33473b;
	--apcc-muted:    #5b6e63;
	--apcc-ochre:       #96461a;
	--apcc-ochre-soft:  #f6e7d9;
	--apcc-sand:        #e7e2d6;
	--apcc-gold:        #ffc107;
	--apcc-gold-dark:   #e0a800;
	--apcc-gold-soft:   #fff3cd;
	--apcc-gold-bright: #ffde17;
	--apcc-cyan:        #3ec6e0;
	--apcc-danger: #b42318;  --apcc-danger-bg: #fef3f2;  --apcc-danger-line: #fecdca;
	--apcc-info:   #175cd3;  --apcc-info-bg:   #eff8ff;  --apcc-info-line:   #b2ddff;
	--apcc-warn:   #b54708;  --apcc-warn-bg:   #fffaeb;  --apcc-warn-line:   #fedf89;
	--apcc-warn-ink: #7a5b00;
	--apcc-ok:     var(--apcc-green-600); --apcc-ok-bg: var(--apcc-mint-100); --apcc-ok-line: #bce7cc;
	--apcc-white: #ffffff;
	--apcc-radius-sm: 8px;
	--apcc-radius:    14px;
	--apcc-radius-lg: 20px;
	--apcc-shadow-sm: 0 1px 0 var(--apcc-mint-200);
	--apcc-shadow:    0 10px 28px rgba(13, 61, 26, .06);
	--apcc-shadow-lg: 0 24px 60px -24px rgba(4, 23, 13, .35);
	--apcc-hero-gradient: linear-gradient(160deg, var(--apcc-green-950) 0%, var(--apcc-green-900) 70%, #0f4626 100%);
	--apcc-focus: 0 0 0 3px #fff, 0 0 0 6px var(--apcc-green-600);
	--apcc-ease: cubic-bezier(.2, .7, .2, 1);
	--apcc-tap: 44px;
	--apcc-header-h: 87px;
	--apcc-hero-gap: calc(3.5 * var(--apcc-rem, 1rem));
	--apcc-font-display: "Segoe UI", Helvetica, "Merriweather Sans", sans-serif;
	--apcc-grid-line: rgba(233, 244, 236, .10);
	--apcc-font: "Segoe UI", Helvetica, "Merriweather Sans", sans-serif;
}
@media (max-width: 1200px) { :where(.site-header, .search-overlay, .site-footer) { --apcc-header-h: 73px; } }
@media (max-width: 992px)  { :where(.site-header, .search-overlay, .site-footer) { --apcc-header-h: 71px; } }
@media (max-width: 900px)  { :where(.site-header, .search-overlay, .site-footer) { --apcc-hero-gap: calc(3 * var(--apcc-rem, 1rem)); } }
@media (max-width: 768px)  { :where(.site-header, .search-overlay, .site-footer) { --apcc-header-h: 70px; } }
@media (max-width: 480px)  { :where(.site-header, .search-overlay, .site-footer) { --apcc-header-h: 54px; } }
:where(.site-header, .search-overlay, .site-footer) :where(input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"], [type="range"], [type="color"], [type="file"]), select, textarea) {
	border-color: var(--apcc-mint-300);
}
:where(.site-header, .search-overlay, .site-footer) :where(input, select, textarea)::placeholder { color: var(--apcc-muted); opacity: 1; }
:where(.site-header, .search-overlay, .site-footer) ::selection { background: var(--apcc-gold); color: var(--apcc-green-900); }
:where(.site-header, .search-overlay, .site-footer) :where(a) { text-underline-offset: 3px; }
:where(.site-header, .search-overlay, .site-footer) :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--apcc-green-600);
	outline-offset: 2px;
	border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
	:where(.site-header, .search-overlay, .site-footer) *, :where(.site-header, .search-overlay, .site-footer) *::before, :where(.site-header, .search-overlay, .site-footer) *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
:where(.site-header, .search-overlay, .site-footer) {
	--apcc-font-family: "Segoe UI", Helvetica, "Merriweather Sans", sans-serif;
	--font-heading: var(--apcc-font-family);
	--primary: var(--apcc-green-600);
	--primary-dark: var(--apcc-green-900);
	--primary-light: var(--apcc-mint-100);
	--accent-cyan: var(--apcc-cyan);
	--accent-yellow: var(--apcc-gold);
	--accent-yellow-light: var(--apcc-gold-soft);
	--text-dark: var(--apcc-ink);
	--text-mid: var(--apcc-text);
	--text-light: var(--apcc-muted);
	--white: var(--apcc-white);
	--bg-light: var(--apcc-mint-50);
	--glass: rgba(255, 255, 255, 0.9);
	--shadow: var(--apcc-shadow);
	--shadow-lg: var(--apcc-shadow-lg);
	--radius: 16px;
	--radius-sm: 8px;
	--transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	--site-wrapper-width: 1400px;
	--site-wrapper-gutter: calc(2 * var(--apcc-rem, 1rem));
}
html body :where(.site-header, .search-overlay, .site-footer) * {
	box-sizing: border-box !important;
}
:where(.site-header, .search-overlay, .site-footer) {
	font-family: var(--apcc-font-family);
	line-height: 1.7;
	color: var(--text-dark);
	-webkit-font-smoothing: antialiased;
}
html .site-header,
html .site-footer,
html :where(.site-header, .search-overlay, .site-footer) .btn,
html .nav-menu {
	box-sizing: border-box !important;
}
:where(.site-header, .search-overlay, .site-footer) * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
:where(.site-header, .search-overlay, .site-footer) {
	font-family: var(--apcc-font-family);
	line-height: 1.7;
	color: var(--text-dark);
	-webkit-font-smoothing: antialiased;
}
:where(.site-header, .search-overlay, .site-footer) img {
	max-width: 100%;
	height: auto;
}
:where(.site-header, .search-overlay, .site-footer) a {
	text-decoration: none;
	color: inherit;
	transition: var(--transition);
}
:where(.site-header, .search-overlay, .site-footer) h1,
:where(.site-header, .search-overlay, .site-footer) h2,
:where(.site-header, .search-overlay, .site-footer) h3,
:where(.site-header, .search-overlay, .site-footer) h4 {
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: calc(1 * var(--apcc-rem, 1rem));
	color: var(--primary-dark);
}
:where(.site-header, .search-overlay, .site-footer) .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(0.5 * var(--apcc-rem, 1rem));
	padding: calc(1.2 * var(--apcc-rem, 1rem)) calc(2.5 * var(--apcc-rem, 1rem));
	border-radius: 50px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-size: calc(0.9 * var(--apcc-rem, 1rem));
	cursor: pointer;
	border: none;
	transition: var(--transition);
	text-decoration: none;
	position: relative;
	overflow: hidden;
	line-height: 1;
}
:where(.site-header, .search-overlay, .site-footer) .btn-primary {
	background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
	color: var(--white);
	box-shadow: none;
	border: 2px solid var(--primary);
}
:where(.site-header, .search-overlay, .site-footer) .btn-primary:hover {
	background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
	transform: translateY(-3px);
	box-shadow: none;
}
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 100%;
	background: var(--apcc-white);
	z-index: 1000;
	border-bottom: 1px solid var(--apcc-mint-200);
	padding: calc(0.8 * var(--apcc-rem, 1rem)) 0;
	border-radius: 0;
	box-shadow: var(--apcc-shadow-sm);
	transition: none;
}
body.admin-bar .site-header {
	top: 32px;
}
@media (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}
.header-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	padding: 0 calc(2 * var(--apcc-rem, 1rem));
	position: relative;
	z-index: 1;
}
.logo-container {
	display: flex;
	align-items: center;
	gap: calc(.85 * var(--apcc-rem, 1rem));
	flex-shrink: 0;
}
:where(.site-header, .search-overlay, .site-footer) .custom-logo-link {
	flex-shrink: 0;
}
:where(.site-header, .search-overlay, .site-footer) .custom-logo-link img {
	height: 54px;
	width: auto;
	display: block;
}
@media (max-width: 1200px) and (min-width: 769px) {
	.header-left, .logo-container { flex-shrink: 0; }
}
@media (max-width: 1200px) and (min-width: 769px) {
	.logo-container { margin-right: calc(1.25 * var(--apcc-rem, 1rem)); gap: calc(.6 * var(--apcc-rem, 1rem)); }
}
@media (max-width: 1200px) and (min-width: 769px) {
	:where(.site-header, .search-overlay, .site-footer) .custom-logo-link img { height: 44px; }
}
.nav-menu {
	display: flex;
	list-style: none;
	gap: calc(2 * var(--apcc-rem, 1rem));
}
.nav-menu > li {
	position: relative;
}
.nav-menu a {
	font-weight: 600;
	color: var(--text-mid);
	font-size: calc(0.95 * var(--apcc-rem, 1rem));
	text-decoration: none;
	transition: var(--transition);
	display: block;
}
@media (min-width: 993px) {
	:where(.site-header, .search-overlay, .site-footer) .menu-item-has-children {
		padding-right: 10px;
	}
}
.nav-menu a:hover,
:where(.site-header, .search-overlay, .site-footer) .current-menu-item > a {
	color: var(--primary);
}
.nav-menu .sub-menu {
	position: absolute;
	top: calc(100% + 12px);
	left: 50%;
	background: var(--white);
	width: max-content;
	list-style: none;
	padding: calc(0.5 * var(--apcc-rem, 1rem));
	margin: 0;
	border-radius: 14px;
	box-shadow: none;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 8px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
	z-index: 1000;
}
.nav-menu .sub-menu::before {
	content: '';
	position: absolute;
	top: -12px;
	left: 0;
	right: 0;
	height: 12px;
}
@media (min-width: 993px) {
	.nav-menu li:is(:hover, :focus-within) > .sub-menu {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, 0);
	}
}
.nav-menu .sub-menu a {
	padding: calc(0.7 * var(--apcc-rem, 1rem)) calc(1.1 * var(--apcc-rem, 1rem));
	border-radius: 9px;
	color: var(--text-dark);
	font-size: calc(0.92 * var(--apcc-rem, 1rem));
	font-weight: 500;
	transition: background 0.2s ease, color 0.2s ease;
	display: flex;
	align-items: center;
	gap: calc(0.5 * var(--apcc-rem, 1rem));
	white-space: nowrap;
}
.nav-menu .sub-menu a:hover {
	background: var(--primary-light);
	color: var(--primary-dark);
}
.nav-menu .sub-menu a::before,
.nav-menu .sub-menu a:hover::before {
	content: none;
	display: none;
}
:where(.site-header, .search-overlay, .site-footer) .menu-item-has-children > a::after {
	content: '\f107';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: calc(1.2 * var(--apcc-rem, 1rem));
    margin-top: -3px;
    transition: transform 0.3s ease;
    position: absolute;
    margin-left: 5px;
}
.submenu-toggle {
	display: none;
}
.nav-menu .sub-menu .current-menu-item > a {
	color: var(--primary);
	font-weight: 600;
}
body.page-template-africa-research .nav-menu a[href*="publications"],
body[class*="africa-research"] .nav-menu a[href*="publications"] {
	color: var(--primary);
	font-weight: 600;
}
.nav-menu .sub-menu .sub-menu {
	top: 0;
	left: 100%;
	margin-left: calc(0.5 * var(--apcc-rem, 1rem));
	transform: translate(0, 8px);
}
.nav-menu .sub-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translate(0, 0);
}
.mobile-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 10001;
	position: relative;
}
.menu-icon {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 22px;
}
.menu-icon span {
	display: block;
	height: 2px;
	background: var(--text-dark);
	border-radius: 2px;
	transition: var(--transition);
}
.mobile-menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.mobile-menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) {
	opacity: 0;
}
.mobile-menu-toggle[aria-expanded="true"] .menu-icon span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}
.header-actions {
	display: flex;
	align-items: center;
	gap: calc(1 * var(--apcc-rem, 1rem));
	position: relative;
	z-index: 10001;
}
.search-toggle {
	background: none;
	border: none;
	color: var(--text-mid);
	font-size: calc(1.2 * var(--apcc-rem, 1rem));
	cursor: pointer;
	padding: calc(0.5 * var(--apcc-rem, 1rem));
	transition: var(--transition);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 10002;
	pointer-events: auto;
}
.search-toggle:hover {
	color: var(--primary);
	transform: scale(1.1);
}
.search-toggle i {
	pointer-events: none;
}
.search-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(13, 61, 26, 0.97);
	backdrop-filter: blur(10px);
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease;
}
.search-overlay.active {
	opacity: 1;
	visibility: visible;
}
.search-overlay-content {
	position: relative;
	width: 100%;
	max-width: 800px;
	padding: calc(2 * var(--apcc-rem, 1rem));
	transform: translateY(30px);
	transition: transform 0.4s ease;
}
.search-overlay.active .search-overlay-content {
	transform: translateY(0);
}
.search-close {
	position: absolute;
	top: calc(1.25 * var(--apcc-rem, 1rem));
	right: calc(2 * var(--apcc-rem, 1rem));
	background: rgba(255, 255, 255, 0.1);
	border: none;
	color: var(--white);
	width: 50px;
	height: 50px;
	border-radius: 50%;
	cursor: pointer;
	transition: var(--transition);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: calc(1.5 * var(--apcc-rem, 1rem));
}
.search-close:hover {
	background: var(--white);
	color: var(--primary);
	transform: rotate(90deg);
}
.search-overlay-inner {
	text-align: center;
}
.header-search-form {
	margin-bottom: calc(2 * var(--apcc-rem, 1rem));
}
.search-input-wrapper {
	display: flex;
	align-items: center;
	background: var(--white);
	border-radius: 50px;
	padding: calc(0.75 * var(--apcc-rem, 1rem)) calc(0.75 * var(--apcc-rem, 1rem)) calc(0.75 * var(--apcc-rem, 1rem)) calc(2 * var(--apcc-rem, 1rem));
	box-shadow: none;
}
.header-search-field {
	flex: 1;
	border: none;
	outline: none;
	font-size: calc(1.5 * var(--apcc-rem, 1rem));
	padding: calc(1 * var(--apcc-rem, 1rem));
	font-family: inherit;
	color: var(--text-dark);
	background: transparent;
}
.header-search-field::placeholder {
	color: var(--text-light);
}
.header-search-submit {
	background: var(--primary);
	color: var(--white);
	border: none;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: var(--transition);
	font-size: calc(1.2 * var(--apcc-rem, 1rem));
	flex-shrink: 0;
}
.header-search-submit:hover {
	background: var(--primary-dark);
	transform: scale(1.1);
}
.search-quick-links {
	color: var(--white);
	opacity: 0.9;
}
.search-quick-links p {
	margin-bottom: calc(1 * var(--apcc-rem, 1rem));
	font-size: calc(0.9 * var(--apcc-rem, 1rem));
	opacity: 0.7;
}
.search-quick-links a {
	display: inline-block;
	padding: calc(0.5 * var(--apcc-rem, 1rem)) calc(1.25 * var(--apcc-rem, 1rem));
	margin: calc(0.25 * var(--apcc-rem, 1rem));
	background: rgba(255, 255, 255, 0.1);
	border-radius: 20px;
	color: var(--white);
	transition: var(--transition);
	font-size: calc(0.95 * var(--apcc-rem, 1rem));
}
.search-quick-links a:hover {
	background: var(--white);
	color: var(--primary);
	transform: translateY(-2px);
}
:where(.site-header, .search-overlay, .site-footer) section {
	padding: calc(4 * var(--apcc-rem, 1rem)) 0;
}
:where(.site-header, .search-overlay, .site-footer) select {
	/* Remove default arrow */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
	/* Custom arrow using background SVG - Green arrow */
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231b8c3b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right calc(0.75 * var(--apcc-rem, 1rem)) center;
	background-size: 16px 12px;
	padding-right: calc(2.5 * var(--apcc-rem, 1rem)) !important;
	cursor: pointer;
}
:where(.site-header, .search-overlay, .site-footer) select:hover {
	border-color: var(--primary);
	/* Darker green arrow on hover */
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23185c2a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
:where(.site-header, .search-overlay, .site-footer) select:focus {
	outline: none;
	border-color: var(--primary);
	box-shadow: none;
	/* Darker green arrow on focus */
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23185c2a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
:where(.site-header, .search-overlay, .site-footer) select:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	/* Gray arrow for disabled state */
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23999999' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
}
:where(.site-header, .search-overlay, .site-footer) select[multiple],
:where(.site-header, .search-overlay, .site-footer) select[size] {
	background-image: none !important;
	padding-right: calc(1 * var(--apcc-rem, 1rem)) !important;
}
:where(.site-header, .search-overlay, .site-footer) select option {
	padding: calc(0.5 * var(--apcc-rem, 1rem));
	color: var(--text-dark);
	background: var(--white);
}
:where(.site-header, .search-overlay, .site-footer) select:active {
	border-color: var(--primary);
}
:where(.site-header, .search-overlay, .site-footer) select:focus {
	-webkit-tap-highlight-color: transparent;
}
:where(.site-header, .search-overlay, .site-footer) select {
	height: auto;
	min-height: calc(2.5 * var(--apcc-rem, 1rem));
	line-height: 1.5;
}
:where(.site-header, .search-overlay, .site-footer) select:not(:disabled):hover {
	box-shadow: none;
}
:where(.site-header, .search-overlay, .site-footer) select optgroup {
	font-weight: 700;
	color: var(--primary-dark);
	font-style: normal;
	background: var(--bg-light);
}
:where(.site-header, .search-overlay, .site-footer) [dir="rtl"] select {
	background-position: left calc(0.75 * var(--apcc-rem, 1rem)) center;
	padding-right: calc(1 * var(--apcc-rem, 1rem)) !important;
	padding-left: calc(2.5 * var(--apcc-rem, 1rem)) !important;
}
.site-footer {
	background: var(--primary-dark);
	color: var(--white);
	margin: 0;
	border-radius: 0;
	overflow: hidden;
}
.footer-main {
	padding: calc(4 * var(--apcc-rem, 1rem)) 0;
}
.footer-container {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1.2fr;
	gap: calc(5 * var(--apcc-rem, 1rem));
	max-width: var(--site-wrapper-width);
	margin: 0 auto;
	padding: 0 var(--site-wrapper-gutter);
}
.footer-brand {
	display: flex;
	flex-direction: column;
	gap: calc(1.5 * var(--apcc-rem, 1rem));
}
.footer-logo-box {
	background: var(--white);
	padding: calc(2 * var(--apcc-rem, 1rem));
	border-radius: var(--radius);
	display: inline-block;
	width: fit-content;
	margin-bottom: 14px;
}
.footer-logo-box img {
	max-height: 80px;
	width: auto;
}
.footer-tagline {
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.7;
	font-size: calc(0.95 * var(--apcc-rem, 1rem));
	margin: 0;
}
.footer-social {
	display: flex;
	gap: calc(1 * var(--apcc-rem, 1rem));
	margin-top: auto;
}
.footer-social a {
	width: 45px;
	height: 45px;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--white);
	font-size: calc(1.2 * var(--apcc-rem, 1rem));
	transition: var(--transition);
}
.footer-social a:hover {
	background: var(--accent-cyan);
	transform: translateY(-3px);
}
.footer-column {
	display: flex;
	flex-direction: column;
}
.footer-widget {
	margin-bottom: calc(1.5 * var(--apcc-rem, 1rem));
}
.footer-widget:last-child {
	margin-bottom: 0;
}
.footer-widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.footer-widget ul li {
	margin-bottom: calc(0.75 * var(--apcc-rem, 1rem));
}
.footer-widget a {
	color: rgba(255, 255, 255, 0.8);
	transition: var(--transition);
}
.footer-widget a:hover {
	color: var(--accent-cyan);
}
.footer-widget .footer-social a:hover {
	color: var(--white);
}
.footer-widget p {
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.7;
	margin-bottom: calc(1 * var(--apcc-rem, 1rem));
}
.footer-title {
	color: var(--white);
	font-size: calc(1.3 * var(--apcc-rem, 1rem));
	margin-bottom: 20px;
	position: relative;
	padding-bottom: calc(0.75 * var(--apcc-rem, 1rem));
}
.footer-title::after {
	content: none;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 3px;
	background: var(--accent-yellow);
}
.footer-contact {
	list-style: none;
	padding: 0;
	margin: calc(1 * var(--apcc-rem, 1rem)) 0 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.footer-contact li {
	display: flex;
	align-items: start;
	gap: calc(0.75 * var(--apcc-rem, 1rem));
	color: rgba(255, 255, 255, 0.8);
	font-size: calc(1 * var(--apcc-rem, 1rem));
}
.footer-contact i {
	color: var(--accent-cyan);
	font-size: calc(1.1 * var(--apcc-rem, 1rem));
	margin-top: calc(0.15 * var(--apcc-rem, 1rem));
	flex-shrink: 0;
}
.footer-contact i.fa-map-marker-alt {
	margin-right: 5px;
}
.footer-contact a {
	color: rgba(255, 255, 255, 0.8);
	transition: var(--transition);
}
.footer-contact a:hover {
	color: var(--accent-cyan);
}
.footer-bottom {
	background: rgba(62, 198, 224, 0.15);
	padding: calc(1.5 * var(--apcc-rem, 1rem)) 0;
	border-top: 1px solid rgba(62, 198, 224, 0.2);
}
.footer-bottom .footer-container {
	display: block;
	text-align: center;
}
.footer-bottom p {
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	font-size: calc(0.95 * var(--apcc-rem, 1rem));
}
@media (max-width: 992px) {

	.footer-container {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 992px) {
	
	.header-container {
		padding: 0 calc(1.5 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 992px) {
	
	.footer-container {
		grid-template-columns: 1fr 1fr;
		gap: calc(3 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 992px) {
	
	.footer-brand {
		grid-column: 1 / -1;
	}
}
.mobile-nav-foot {
	display: none;
}
@media (max-width: 992px) {
	.mobile-menu-toggle {
		display: flex;
	}
}
@media (max-width: 992px) {

	.main-navigation {
		position: fixed;
		top: var(--apcc-header-h);
		left: 0;
		right: 0;
		height: calc(100dvh - var(--apcc-header-h));
		display: flex;
		flex-direction: column;
		padding: 8px var(--site-wrapper-gutter, calc(2 * var(--apcc-rem, 1rem))) calc(24px + env(safe-area-inset-bottom));
		background: var(--apcc-white);
		overflow-y: auto;
		overscroll-behavior: contain;
		z-index: 10000;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		transition: opacity .22s var(--apcc-ease), transform .22s var(--apcc-ease), visibility 0s linear .22s;
	}
}
@media (max-width: 992px) {

	.main-navigation.active {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition-delay: 0s;
	}
}
@media (max-width: 992px) {

	.nav-menu {
		flex-direction: column;
		gap: 0;
	}
}
@media (max-width: 992px) {
	.nav-menu > li {
		position: relative;
		border-bottom: 1px solid var(--apcc-mint-200);
		opacity: 0;
		transform: translateY(6px);
		transition: opacity .3s var(--apcc-ease), transform .3s var(--apcc-ease);
	}
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li { opacity: 1; transform: none; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(2) { transition-delay: .03s; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(3) { transition-delay: .06s; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(4) { transition-delay: .09s; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(5) { transition-delay: .12s; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(6) { transition-delay: .15s; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(7) { transition-delay: .18s; }
}
@media (max-width: 992px) {
	.main-navigation.active .nav-menu > li:nth-child(n+8) { transition-delay: .21s; }
}
@media (max-width: 992px) {

	.nav-menu > li > a {
		display: flex;
		align-items: center;
		gap: 10px;
		min-height: 52px;
		padding: 0;
		font-size: calc(1.15 * var(--apcc-rem, 1rem));
		font-weight: 700;
		color: var(--apcc-green-900);
	}
}
@media (max-width: 992px) {
	.nav-menu > li:is(.current-menu-item, .current_page_item) > a { color: var(--apcc-green-700); }
}
@media (max-width: 992px) {
	.nav-menu > li:is(.current-menu-item, .current_page_item) > a::before {
		content: "";
		order: 2;
		width: 7px;
		height: 7px;
		border-radius: 50%;
		background: var(--apcc-ochre);
	}
}
@media (max-width: 992px) {
	:where(.site-header, .search-overlay, .site-footer) .menu-item-has-children > a {
		padding-right: 56px;
	}
}
@media (max-width: 992px) {
	:where(.site-header, .search-overlay, .site-footer) .menu-item-has-children > a::after {
		display: none;
	}
}
@media (max-width: 992px) {
	.submenu-toggle {
		position: absolute;
		top: 4px;
		right: -8px;
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: none;
		color: var(--apcc-green-700);
		font-size: calc(1 * var(--apcc-rem, 1rem));
		cursor: pointer;
	}
}
@media (max-width: 992px) {
	.submenu-toggle:hover {
		background: var(--apcc-mint-100);
	}
}
@media (max-width: 992px) {
	.submenu-toggle i {
		transition: transform .25s var(--apcc-ease);
	}
}
@media (max-width: 992px) {
	.menu-item-has-children.submenu-open > .submenu-toggle i {
		transform: rotate(180deg);
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		border-radius: 0;
		background: none;
		min-width: 0;
		width: auto;
		max-width: none;
		margin: 0;
		padding: 0 0 0 16px;
		max-height: 0;
		overflow: hidden;
		transition: max-height .3s var(--apcc-ease), padding .3s var(--apcc-ease);
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu::before {
		display: none;
	}
}
@media (max-width: 992px) {
	.menu-item-has-children.submenu-open > .sub-menu {
		max-height: 400px;
		padding-bottom: 12px;
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu li {
		border: 0;
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 0;
		font-size: calc(1 * var(--apcc-rem, 1rem));
		font-weight: 600;
		color: var(--apcc-text);
		white-space: normal;
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu a:hover {
		padding-left: 0;
		color: var(--apcc-green-700);
		background: transparent;
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu a::before {
		display: none;
	}
}
@media (max-width: 992px) {
	.nav-menu .sub-menu .current-menu-item > a {
		color: var(--apcc-green-700);
	}
}
@media (max-width: 992px) {
	.mobile-nav-foot {
		display: block;
		margin-top: auto;
		padding-top: 28px;
	}
}
@media (max-width: 992px) {
	.mobile-nav-foot .btn {
		display: flex;
		justify-content: center;
		width: 100%;
		min-height: 52px;
	}
}
@media (max-width: 992px) {

	@media (prefers-reduced-motion: reduce) {
		.main-navigation,
		.nav-menu > li {
			transition: none;
			transform: none;
		}
	}
}
@media (max-width: 992px) {
	:where(.site-header, .search-overlay, .site-footer) .custom-logo-link img {
		height: 48px;
	}
}
@media (max-width: 768px) {
	
	.site-header {
		top: 0;
		left: 0;
		right: 0;
		border-radius: 0;
		width: 100%;
		max-width: 100%;
	}
}
@media (max-width: 768px) {
	
	.header-container {
		padding: 0 calc(0.75 * var(--apcc-rem, 1rem));
		max-width: 100%;
	}
}
@media (max-width: 768px) {
	
	:where(.site-header, .search-overlay, .site-footer) .custom-logo-link img {
		height: 42px;
		width: auto;
	}
}
@media (max-width: 768px) {
	
	.logo-container {
		gap: calc(.6 * var(--apcc-rem, 1rem));
		padding-left: calc(.6 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	.logo-container { padding-left: 0; }
}
@media (max-width: 768px) {
	
	.site-footer {
		margin: 0;
		border-radius: 0;
	}
}
@media (max-width: 768px) {
	
	.footer-container {
		padding: 0 calc(1.5 * var(--apcc-rem, 1rem));
		grid-template-columns: 1fr;
		gap: calc(1 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	
	.footer-brand {
		grid-column: 1;
	}
}
@media (max-width: 768px) {
	
	.footer-social {
		margin-top: calc(1.5 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	
	.header-search-field {
		font-size: calc(1.2 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	
	.search-overlay-content {
		padding: calc(1 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	.search-close {
		display: none;
	}
}
@media (max-width: 480px) {
	.site-header {
		top: 0;
		left: 0;
		right: 0;
		border-radius: 0;
		width: 100%;
		max-width: 100%;
	}
}
@media (max-width: 480px) {
	
	.header-container {
		padding: 0 calc(0.5 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 480px) {
	
	:where(.site-header, .search-overlay, .site-footer) .custom-logo-link img {
		height: 40px;
	}
}
@media (max-width: 480px) {
	
	.header-actions {
		gap: calc(0.5 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 480px) {
	
	.search-toggle {
		font-size: calc(1.5 * var(--apcc-rem, 1rem));
		padding: calc(0.4 * var(--apcc-rem, 1rem));
	}
}
:where(.site-header, .search-overlay, .site-footer) [data-phase2] {
	position: relative !important;
}
:where(.site-header, .search-overlay, .site-footer) [data-phase2]:after {
	content: '🤖 AI Ready' !important;
	position: absolute !important;
	top: -20px !important;
	right: 0 !important;
	background: var(--accent-yellow) !important;
	color: var(--text-dark) !important;
	padding: 2px 8px!important;
	border-radius: 4px !important;
	font-size: calc(0.7 * var(--apcc-rem, 1rem)) !important;
	font-weight: bold !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
@media (max-width: 992px) {
	
	:where(.site-header, .search-overlay, .site-footer) {
		font-size: calc(1 * var(--apcc-rem, 1rem));
		line-height: 1.6;
	}
}
@media (max-width: 992px) {
	
	:where(.site-header, .search-overlay, .site-footer) h4 {
		font-size: calc(1.15 * var(--apcc-rem, 1rem)) !important;
		line-height: 1.4;
	}
}
@media (max-width: 992px) {
	
	:where(.site-header, .search-overlay, .site-footer) section {
		padding: calc(3 * var(--apcc-rem, 1rem)) 0;
	}
}
@media (max-width: 992px) {
	:where(.site-header, .search-overlay, .site-footer) .btn {
		padding: calc(0.85 * var(--apcc-rem, 1rem)) calc(2 * var(--apcc-rem, 1rem));
		font-size: calc(0.85 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	
	:where(.site-header, .search-overlay, .site-footer) {
		font-size: calc(0.95 * var(--apcc-rem, 1rem));
		line-height: 1.65;
	}
}
@media (max-width: 768px) {
	
	:where(.site-header, .search-overlay, .site-footer) h4 {
		font-size: calc(1 * var(--apcc-rem, 1rem)) !important;
		line-height: 1.4;
		margin-bottom: calc(0.5 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	
	:where(.site-header, .search-overlay, .site-footer) p {
		margin-bottom: calc(1 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	
	:where(.site-header, .search-overlay, .site-footer) section {
		padding: calc(2.5 * var(--apcc-rem, 1rem)) 0;
	}
}
@media (max-width: 768px) {
	:where(.site-header, .search-overlay, .site-footer) .btn {
		padding: calc(0.75 * var(--apcc-rem, 1rem)) calc(1.5 * var(--apcc-rem, 1rem));
		font-size: calc(0.8 * var(--apcc-rem, 1rem));
		width: 100%;
		max-width: 100%;
	}
}
@media (max-width: 768px) {
	:where(.site-header, .search-overlay, .site-footer) select {
		background-position: right calc(0.5 * var(--apcc-rem, 1rem)) center;
		background-size: 14px 10px;
		padding-right: calc(2 * var(--apcc-rem, 1rem)) !important;
		font-size: calc(0.9 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 768px) {
	.site-footer {
		padding: calc(2.5 * var(--apcc-rem, 1rem)) 0 calc(1 * var(--apcc-rem, 1rem)) !important;
	}
}
@media (max-width: 768px) {
	
	.footer-column {
		margin-bottom: calc(2 * var(--apcc-rem, 1rem)) !important;
	}
}
@media (max-width: 768px) {
	
	.footer-title {
		font-size: calc(1.1 * var(--apcc-rem, 1rem)) !important;
		margin-bottom: calc(1 * var(--apcc-rem, 1rem)) !important;
	}
}
@media (max-width: 768px) {
	.footer-title::after {
		left: 0;
		right: 0;
		margin: auto;
		transform: none;
	}
}
@media (max-width: 768px) {
	.footer-contact {
		align-items: center;
	}
}
@media (max-width: 480px) {

	.footer-contact li {
		display: flex;
		align-items: start;
		gap: calc(0.75 * var(--apcc-rem, 1rem));
		color: rgba(255, 255, 255, 0.8);
		font-size: calc(1 * var(--apcc-rem, 1rem));
		justify-content: center;
	}
}
@media (max-width: 480px) {

	.footer-title::after {
		content: none;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		width: 40px;
		height: 3px;
		background: var(--accent-yellow);
		margin: auto;
	}
}
@media (max-width: 480px) {
	
	:where(.site-header, .search-overlay, .site-footer) section {
		padding: calc(2 * var(--apcc-rem, 1rem)) 0;
	}
}
@media (max-width: 480px) {
	
	
	:where(.site-header, .search-overlay, .site-footer) .btn {
		padding: calc(1 * var(--apcc-rem, 1rem)) calc(1.25 * var(--apcc-rem, 1rem));
		font-size: calc(0.75 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 480px) {
	:where(.site-header, .search-overlay, .site-footer) select {
		background-position: right calc(0.4 * var(--apcc-rem, 1rem)) center;
		background-size: 12px 9px;
		padding-right: calc(1.75 * var(--apcc-rem, 1rem)) !important;
		font-size: calc(0.85 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 480px) {
	.site-header {
		padding: calc(0.4 * var(--apcc-rem, 1rem)) 0;
	}
}
@media (max-width: 768px) {
	:where(.site-header, .search-overlay, .site-footer) h2::after {
		width: 50px;
		height: 3px;
	}
}
@media (max-width: 768px) {
	.footer-main {
		grid-template-columns: 1fr !important;
		padding: 0 !important;
	}
}
@media (max-width: 768px) {
	
	.footer-column {
		text-align: center;
	}
}
@media (max-width: 768px) {
	
	.footer-social {
		justify-content: center;
	}
}
@media (max-width: 768px) {
	
	.footer-bottom {
		flex-direction: column;
		gap: calc(1 * var(--apcc-rem, 1rem));
		text-align: center;
	}
}
.header-container,
.footer-container {
	max-width: var(--site-wrapper-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--site-wrapper-gutter) !important;
	padding-right: var(--site-wrapper-gutter) !important;
}
@media (max-width: 768px) {
	:where(.site-header, .search-overlay, .site-footer) {
		--site-wrapper-gutter: calc(1.5 * var(--apcc-rem, 1rem));
	}
}
@media (max-width: 480px) {
	:where(.site-header, .search-overlay, .site-footer) {
	--site-wrapper-gutter: calc(1 * var(--apcc-rem, 1rem));
}
}
.site-footer {
	padding: 0 !important;
	background: var(--primary-dark);
}
.site-footer .footer-main {
	padding: 56px 0 44px !important;
}
.site-footer .footer-main .footer-container {
	display: grid;
	grid-template-columns: minmax(280px, 1.05fr) minmax(190px, .7fr) minmax(420px, 1.35fr) !important;
	gap: 48px !important;
	align-items: start;
	max-width: var(--site-wrapper-width);
	margin: 0 auto;
	padding: 0 var(--site-wrapper-gutter);
}
.site-footer .footer-column {
	min-width: 0;
	margin-bottom: 0 !important;
	text-align: left;
}
.site-footer .footer-brand {
	gap: 18px;
}
.site-footer .footer-logo-box {
	padding: 18px;
	border-radius: 8px;
	margin-bottom: 14px;
}
.site-footer .footer-logo-box img.custom-logo,
.site-footer .footer-logo-box img {
	width: auto !important;
	height: 72px !important;
	max-height: 72px;
}
.site-footer .footer-tagline,
.site-footer .footer-widget p {
	max-width: 420px;
	font-size: calc(.98 * var(--apcc-rem, 1rem));
	line-height: 1.65;
	color: rgba(255, 255, 255, .82);
}
.site-footer .footer-title {
	margin: 0 0 18px !important;
	padding-bottom: 12px;
	font-size: calc(1.05 * var(--apcc-rem, 1rem)) !important;
	line-height: 1.3;
	letter-spacing: .02em;
}
.site-footer .footer-title::after {
	left: 0;
	right: auto;
	width: 34px;
	height: 2px;
	margin: 0;
	transform: none;
	background: var(--accent-yellow);
}
.site-footer .footer-widget ul {
	margin: 0;
	display: grid;
	gap: 10px;
}
.site-footer .footer-widget li {
	margin: 0;
}
.site-footer .footer-widget a,
.site-footer .footer-contact a {
	color: rgba(255, 255, 255, .82);
	text-decoration: none;
	line-height: 1.45;
}
.site-footer .footer-widget a:hover,
.site-footer .footer-contact a:hover {
	color: var(--accent-cyan);
	padding-left: 0;
}
.site-footer .footer-contact {
	align-items: stretch !important;
	gap: 12px;
	margin: 0;
}
.site-footer .footer-contact li {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	justify-content: start;
	margin: 0;
	font-size: calc(.98 * var(--apcc-rem, 1rem));
	line-height: 1.5;
	color: rgba(255, 255, 255, .82);
}
.site-footer .footer-contact i {
	width: 24px;
	margin: 3px 0 0;
	text-align: center;
	color: var(--accent-cyan);
}
.site-footer .footer-contact a,
.site-footer .footer-contact span {
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: normal;
}
.site-footer .footer-social {
	justify-content: flex-start;
	gap: 10px;
	margin-top: 20px;
}
.site-footer .footer-social a {
	width: 38px;
	height: 38px;
	font-size: calc(1 * var(--apcc-rem, 1rem));
}
.site-footer .footer-bottom {
	padding: 18px 0 !important;
	background: rgba(62, 198, 224, .12);
}
.site-footer .footer-bottom .footer-container {
	display: block !important;
	max-width: var(--site-wrapper-width);
	padding: 0 var(--site-wrapper-gutter);
	text-align: left;
}
.site-footer .footer-bottom p {
	font-size: calc(.9 * var(--apcc-rem, 1rem));
	line-height: 1.5;
}
@media (max-width: 1024px) {
	.site-footer .footer-main .footer-container {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr) !important;
		gap: 36px !important;
	}
}
@media (max-width: 1024px) {

	.site-footer .footer-brand {
		grid-column: 1 / -1;
	}
}
@media (max-width: 640px) {
	.site-footer .footer-main {
		padding: 40px 0 32px !important;
	}
}
@media (max-width: 640px) {

	.site-footer .footer-main .footer-container {
		grid-template-columns: 1fr !important;
		gap: 30px !important;
	}
}
@media (max-width: 640px) {

	.site-footer .footer-column,
	.site-footer .footer-bottom .footer-container {
		text-align: left !important;
	}
}
@media (max-width: 640px) {

	.site-footer .footer-widget ul {
		gap: 9px;
	}
}
@media (max-width: 640px) {

	.site-footer .footer-contact li {
		grid-template-columns: 22px minmax(0, 1fr);
	}
}
.site-logo-lockup { display: block; line-height: 0; flex-shrink: 0; }
.site-logo-lockup img { display: block; height: 56px; width: auto; max-width: 100%; }
@media (max-width: 1200px) { .site-logo-lockup img { height: 46px; } }
@media (max-width: 1200px) { .logo-container { margin-right: calc(1 * var(--apcc-rem, 1rem)); } }
@media (max-width: 1100px) and (min-width: 769px) { .site-logo-lockup img { height: 46px; } }
@media (max-width: 480px) { .site-logo-lockup img { height: 42px; } }
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		transform: translateX(-50%) translateY(0);
	}
	40% {
		transform: translateX(-50%) translateY(-10px);
	}
	60% {
		transform: translateX(-50%) translateY(-5px);
	}
}
@keyframes spin {
	to { transform: rotate(360deg); }
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes spin {
	to { 
		transform: translate(-50%, -50%) rotate(360deg);
	}
}
@keyframes fadeInOverlay {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
:where(.site-header, .search-overlay, .site-footer) {
	color: var(--apcc-ink);
	font-family: var(--apcc-font);
}
html body :where(.site-header, .search-overlay, .site-footer) :is(h1, h2, h3, h4) {
	font-family: var(--apcc-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
	color: var(--apcc-green-900);
}
html body :where(.site-header, .search-overlay, .site-footer) main :is(h2) {
	font-size: clamp(calc(1.75 * var(--apcc-rem, 1rem)), 2.8vw, calc(2.4 * var(--apcc-rem, 1rem)));
	text-align: left;
	margin: 0 0 calc(1 * var(--apcc-rem, 1rem));
	padding: 0;
}
html body :where(.site-header, .search-overlay, .site-footer) main :is(h3, h4) { text-align: left; }
html body :where(.site-header, .search-overlay, .site-footer) main h3 { font-size: clamp(calc(1.1 * var(--apcc-rem, 1rem)), 1.5vw, calc(1.3 * var(--apcc-rem, 1rem))); }
html body :where(.site-header, .search-overlay, .site-footer) main :is(h2, h3)::after { content: none; }
html body :where(.site-header, .search-overlay, .site-footer) a { text-underline-offset: 3px; }
html body :where(.site-header, .search-overlay, .site-footer) main section { padding-top: calc(4.5 * var(--apcc-rem, 1rem)); padding-bottom: calc(4.5 * var(--apcc-rem, 1rem)); }
html body :where(.site-header, .search-overlay, .site-footer) main section + section { padding-top: 0; }
html body .site-header { background: var(--apcc-white); border-bottom: 1px solid var(--apcc-mint-200); box-shadow: none; }
@media (min-width: 993px) {
	html body .nav-menu > li > a { font-weight: 600; font-size: calc(.95 * var(--apcc-rem, 1rem)); position: relative; }
}
html body .nav-menu > li:is(.current-menu-item, .current_page_item) > a { color: var(--apcc-green-700); }
@media (min-width: 993px) {
	html body .nav-menu > li:is(.current-menu-item, .current_page_item) > a::after {
		content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--apcc-ochre);
	}
}
html body :where(.site-header, .search-overlay, .site-footer) :is(.btn) {
	border-radius: var(--apcc-radius-sm);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
	box-shadow: none;
	transform: none;
}
html body :where(.site-header, .search-overlay, .site-footer) .btn { font-size: calc(1 * var(--apcc-rem, 1rem)); padding: calc(.85 * var(--apcc-rem, 1rem)) calc(1.4 * var(--apcc-rem, 1rem)); min-height: var(--apcc-tap); }
html body :where(.site-header, .search-overlay, .site-footer) :is(.btn-primary) {
	background: var(--apcc-green-700); border: 2px solid var(--apcc-green-700); color: #fff;
}
html body :where(.site-header, .search-overlay, .site-footer) :is(.btn-primary):hover {
	background: var(--apcc-green-900); border-color: var(--apcc-green-900); color: #fff; transform: none;
}
html body :where(.site-header, .search-overlay, .site-footer) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], select, textarea) {
	border-radius: var(--apcc-radius-sm);
}
html body .site-footer { background: var(--apcc-green-900); }
html body .site-footer::before, html body .site-footer::after { content: none; }
html body .site-footer .footer-bottom { background: var(--apcc-green-950); }
html body .footer-title { font-family: var(--apcc-font-display); color: #fff; }
html body .footer-title::after { content: none; }
@media (max-width: 768px) {
	html body :where(.site-header, .search-overlay, .site-footer) main section { padding-top: calc(3 * var(--apcc-rem, 1rem)); padding-bottom: calc(3 * var(--apcc-rem, 1rem)); }
}
@media (max-width: 768px) {
	html body :where(.site-header, .search-overlay, .site-footer) main section + section { padding-top: 0; }
}
html body :where(.site-header, .search-overlay, .site-footer) main :is(h2) { display: block; margin-left: 0; margin-right: 0; }
:where(.site-header, .search-overlay, .site-footer){--apcc-map-url:url("https://apcc.africa/wp-content/uploads/apcc-network-map.svg")}
:where(.site-header, .search-overlay, .site-footer) {
	--ax-fs-h1: clamp(calc(2 * var(--apcc-rem, 1rem)), calc(1.55 * var(--apcc-rem, 1rem)) + 1.5vw, calc(2.75 * var(--apcc-rem, 1rem)));
	--ax-fs-h2: clamp(calc(1.5 * var(--apcc-rem, 1rem)), calc(1.25 * var(--apcc-rem, 1rem)) + .9vw, calc(2 * var(--apcc-rem, 1rem)));
	--ax-fs-h3: clamp(calc(1.05 * var(--apcc-rem, 1rem)), calc(1 * var(--apcc-rem, 1rem)) + .2vw, calc(1.2 * var(--apcc-rem, 1rem)));
	--ax-fs-statement: clamp(calc(1.3 * var(--apcc-rem, 1rem)), calc(1.1 * var(--apcc-rem, 1rem)) + .8vw, calc(1.75 * var(--apcc-rem, 1rem)));
	--ax-lh-heading: 1.25;
	--ax-lh-body: 1.7;
	--ax-fs-lede: calc(1.125 * var(--apcc-rem, 1rem));
	--ax-fs-body: calc(1 * var(--apcc-rem, 1rem));
	--ax-fs-meta: calc(.875 * var(--apcc-rem, 1rem));
	--ax-band-y: clamp(calc(3.5 * var(--apcc-rem, 1rem)), calc(2.5 * var(--apcc-rem, 1rem)) + 3vw, calc(5.5 * var(--apcc-rem, 1rem)));
	--ax-gap: clamp(calc(1 * var(--apcc-rem, 1rem)), calc(.75 * var(--apcc-rem, 1rem)) + .8vw, calc(1.5 * var(--apcc-rem, 1rem)));
}
html body .site-footer :is(.footer-contact i, .footer-contact .fas) { color: var(--apcc-gold-bright); }
html body .site-footer .footer-social a { background: rgba(255, 255, 255, .1); color: #fff; }
html body .site-footer .footer-social a:hover { background: var(--apcc-gold-bright); color: var(--apcc-green-950); }
html body .site-footer a:not(.footer-logo-link):hover { color: var(--apcc-gold-bright); }
html body :where(.site-header, .search-overlay, .site-footer) main :is(h2) { font-size: var(--ax-fs-h2); line-height: var(--ax-lh-heading); letter-spacing: 0; }
html body :where(.site-header, .search-overlay, .site-footer) main :is(p, li) { font-size: var(--ax-fs-body); }
:where(.site-header, .search-overlay, .site-footer) { line-height: var(--ax-lh-body); }
html body :is(main, .site-footer) :is(p, li, dd, td) { line-height: var(--ax-lh-body); }
html body :is(h1, h2, h3, h4, h5, h6, .footer-title) {
	font-family: var(--apcc-font-display);
	letter-spacing: 0;
	font-weight: 700;
}
html body :where(.site-header, .search-overlay, .site-footer) main :is(h2) {
	font-size: var(--ax-fs-h2);
	line-height: var(--ax-lh-heading);
	letter-spacing: 0;
}
html body :where(.site-header, .search-overlay, .site-footer) main :is(h3, h4, h5) {
	font-size: var(--ax-fs-h3);
	line-height: 1.35;
	letter-spacing: 0;
}
html body :where(.site-header, .search-overlay, .site-footer) :is(.btn)[aria-disabled="true"] {
	background: var(--apcc-mint-100);
	border-color: var(--apcc-mint-200);
	color: #56685e;
	box-shadow: none;
	transform: none;
	cursor: not-allowed;
	pointer-events: auto;
	opacity: 1;
}
html body :where(.site-header, .search-overlay, .site-footer) :is(.btn) { white-space: nowrap; }
@media (max-width: 600px) { html body :where(.site-header, .search-overlay, .site-footer) :is(.btn) { white-space: normal; } }
/* Font Awesome 5.15.4 (CC BY 4.0 / SIL OFL 1.1 / MIT) for header/footer icons, as on other pages */

@font-face {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.eot");
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2") format("woff2"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.eot");
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.woff2") format("woff2"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.eot");
  src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2") format("woff2"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff") format("woff"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.ttf") format("truetype"), url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
:where(.site-header, .search-overlay, .site-footer) .fa,
:where(.site-header, .search-overlay, .site-footer) .fas,
:where(.site-header, .search-overlay, .site-footer) .far,
:where(.site-header, .search-overlay, .site-footer) .fal,
:where(.site-header, .search-overlay, .site-footer) .fad,
:where(.site-header, .search-overlay, .site-footer) .fab {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1; }
:where(.site-header, .search-overlay, .site-footer) .fa-arrow-right:before {
  content: "\f061"; }
:where(.site-header, .search-overlay, .site-footer) .fa-chevron-down:before {
  content: "\f078"; }
:where(.site-header, .search-overlay, .site-footer) .fa-envelope:before {
  content: "\f0e0"; }
:where(.site-header, .search-overlay, .site-footer) .fa-facebook:before {
  content: "\f09a"; }
:where(.site-header, .search-overlay, .site-footer) .fa-instagram:before {
  content: "\f16d"; }
:where(.site-header, .search-overlay, .site-footer) .fa-linkedin:before {
  content: "\f08c"; }
:where(.site-header, .search-overlay, .site-footer) .fa-map-marker-alt:before {
  content: "\f3c5"; }
:where(.site-header, .search-overlay, .site-footer) .fa-phone:before {
  content: "\f095"; }
:where(.site-header, .search-overlay, .site-footer) .fa-search:before {
  content: "\f002"; }
:where(.site-header, .search-overlay, .site-footer) .fa-times:before {
  content: "\f00d"; }
:where(.site-header, .search-overlay, .site-footer) .fa-twitter:before {
  content: "\f099"; }
:where(.site-header, .search-overlay, .site-footer) .fab {
  font-family: 'Font Awesome 5 Brands';
  font-weight: 400; }
:where(.site-header, .search-overlay, .site-footer) .far {
  font-family: 'Font Awesome 5 Free';
  font-weight: 400; }
:where(.site-header, .search-overlay, .site-footer) .fa,
:where(.site-header, .search-overlay, .site-footer) .fas {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900; }
:where(.site-header, .search-overlay, .site-footer) :is(.fa, .fas, .far, .fab) { width: auto; }
