/* Shared Program Utama visual language for guest and member pages. */
.program-agenda-grid {
	align-items: stretch
}

.program-agenda-card {
	border-radius: 18px !important;
	background: #fff;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease
}

.program-agenda-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 16px 35px rgba(21, 61, 99, .14) !important
}

.program-agenda-card .card-body {
	padding: 28px 22px 24px
}

.program-agenda-icon {
	width: 68px;
	height: 68px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	border-radius: 18px
}

.program-agenda-icon i {
	font-size: 1.8rem
}

.program-agenda-icon-primary {
	background: #eaf2ff
}

.program-agenda-icon-warning {
	background: #fff5df
}

.program-agenda-icon-success {
	background: #e8f8f0
}

.program-agenda-icon-danger {
	background: #fff0f0
}

.program-agenda-type {
	align-self: center;
	color: #5777ba;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase
}

.program-agenda-title {
	min-height: 58px;
	margin: 10px 0 24px;
	color: #153d63;
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.4;
	text-align: center
}

.program-agenda-meta {
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding-top: 16px;
	border-top: 1px solid #edf2f7;
	color: #64748b;
	font-size: .86rem;
	text-align: left
}

.program-agenda-meta span {
	display: flex;
	align-items: center;
	gap: 9px
}

.program-agenda-meta i {
	width: 16px;
	color: #5777ba;
	text-align: center
}

.program-agenda-document {
	display: inline-block;
	margin-top: 16px;
	color: #5777ba;
	font-size: .82rem;
	font-weight: 700;
	text-align: center
}

.program-agenda-document:hover {
	color: #153d63
}

@media (max-width:575px) {
	.program-agenda-title {
		min-height: auto
	}
}

.supply-chain-media-section {
	background: linear-gradient(135deg, #f7faff 0%, #eef4fb 100%);
}

.media-eyebrow {
	color: #5777ba;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .16em;
}

.media-title {
	margin: 12px 0 16px;
	color: #153d63;
	font-size: 2.15rem;
	font-weight: 800;
	line-height: 1.2;
}

.media-description {
	max-width: 540px;
	margin-bottom: 26px;
	color: #64748b;
	line-height: 1.75;
}

.media-links {
	display: grid;
	gap: 12px;
}

.media-link-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 13px 16px;
	border: 1px solid #e2eaf4;
	border-radius: 14px;
	background: rgba(255, 255, 255, .9);
	color: #153d63;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.media-link-card:hover {
	border-color: #b9cceb;
	box-shadow: 0 10px 24px rgba(21, 61, 99, .1);
	color: #153d63;
	transform: translateX(6px);
}

.media-link-icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	border-radius: 12px;
	font-size: 1.15rem;
}

.media-link-icon-blue {
	background: #e6efff;
	color: #2861b2;
}

.media-link-icon-orange {
	background: #fff0dd;
	color: #d77b16;
}

.media-link-icon-green {
	background: #e4f7ee;
	color: #218254;
}

.media-link-card span:nth-child(2) {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.media-link-card strong {
	font-size: 1rem;
}

.media-link-card small {
	color: #7b8798;
	font-size: .78rem;
}

.media-link-arrow {
	margin-left: auto;
	color: #9aabc2;
	font-size: .85rem;
}

.podcast-preview-modal .modal-content {
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	box-shadow: 0 24px 70px rgba(11, 35, 63, .28);
}

.podcast-preview-modal .modal-header {
	align-items: flex-start;
	padding: 20px 24px;
	border-bottom: 1px solid #e8eef6;
}

.podcast-preview-modal .modal-title {
	margin-top: 4px;
	color: #153d63;
	font-weight: 800;
}

.podcast-modal-label {
	color: #5777ba;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.podcast-preview-modal .modal-body {
	padding: 0;
	background: #07111f;
}

.podcast-video-wrapper {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.podcast-video-wrapper video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #000;
	object-fit: contain;
}

.media-image-card {
	position: relative;
	min-height: 390px;
	overflow: hidden;
	border-radius: 24px;
	background: #dfeaf7;
	box-shadow: 0 18px 45px rgba(21, 61, 99, .16);
}

.media-image-card::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(21, 61, 99, 0) 35%, rgba(11, 35, 63, .72) 100%);
	content: "";
}

.media-image-card img {
	width: 100%;
	height: 390px;
	object-fit: cover;
}

.media-image-caption {
	position: absolute;
	right: 24px;
	bottom: 22px;
	left: 24px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: .95rem;
	font-weight: 700;
}

.media-image-caption i {
	color: #f7c873;
	font-size: 1.2rem;
}

@media (max-width: 767px) {
	.media-title {
		font-size: 1.8rem;
	}

	.media-image-card,
	.media-image-card img {
		min-height: 280px;
		height: 280px;
	}
}

.center-excellence-section {
	position: relative;
	overflow: hidden;
	padding: 90px 0;
	scroll-margin-top: 90px;
	background: radial-gradient(circle at 8% 5%, rgba(22, 117, 183, 0.09), transparent 25%), radial-gradient(circle at 92% 95%, rgba(228, 161, 52, 0.1), transparent 23%), #f5f8fb;
}

.center-excellence-section .container {
	position: relative;
	z-index: 1;
}

.center-excellence-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: end;
	gap: 60px;
	margin-bottom: 42px;
}

.center-excellence-eyebrow {
	display: inline-block;
	color: #d58a12;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 1.7px;
	text-transform: uppercase;
}

.center-excellence-heading h2 {
	margin: 9px 0 0;
	color: #103a5c;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	letter-spacing: -1px;
	line-height: 1.15;
}

.center-excellence-heading p {
	margin: 0;
	padding-left: 24px;
	color: #61717e;
	border-left: 3px solid #e3a039;
	font-size: 1rem;
	line-height: 1.75;
}

.center-excellence-grid {
	margin-bottom: 28px;
}

.center-excellence-card {
	position: relative;
	width: 100%;
	min-height: 265px;
	overflow: hidden;
	padding: 30px;
	color: #173a55;
	text-align: left;
	background: #ffffff;
	border: 1px solid #e0e8ef;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(15, 58, 91, 0.07);
	cursor: pointer;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.center-excellence-card::after {
	content: "";
	position: absolute;
	right: -50px;
	bottom: -50px;
	width: 130px;
	height: 130px;
	background: rgba(22, 117, 183, 0.055);
	border-radius: 50%;
}

.center-excellence-card:hover,
.center-excellence-card:focus {
	transform: translateY(-5px);
	border-color: rgba(22, 117, 183, 0.35);
	outline: none;
	box-shadow: 0 20px 40px rgba(15, 58, 91, 0.12);
}

.center-excellence-card-number {
	position: absolute;
	top: 24px;
	right: 25px;
	color: #d9e5ee;
	font-size: 1.7rem;
	font-weight: 850;
	letter-spacing: -1px;
}

.center-excellence-card-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	margin-bottom: 20px;
	color: #1675b7;
	background: #eaf4fb;
	border-radius: 15px;
	font-size: 1.45rem;
}

.center-excellence-card-title {
	display: block;
	min-height: 48px;
	margin-bottom: 9px;
	color: #173a55;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.4;
}

.center-excellence-card-description {
	display: block;
	min-height: 63px;
	margin-bottom: 18px;
	color: #687681;
	font-size: 0.88rem;
	font-weight: 400;
	line-height: 1.55;
}

.center-excellence-card-meta {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 15px;
	color: #1675b7;
	border-top: 1px solid #e7edf2;
	font-size: 0.78rem;
	font-weight: 750;
}

.center-data-block {
	padding: 18px;
	margin-bottom: 14px;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}

.center-data-block h6 {
	color: #123d68;
	font-weight: 800;
}

.member-insight-panel {
	display: grid;
	grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #dde7ee;
	border-radius: 22px;
	box-shadow: 0 18px 45px rgba(15, 58, 91, 0.1);
}

.member-insight-content {
	padding: 42px;
	color: #ffffff;
	background: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.13), transparent 28%), linear-gradient(145deg, #123f62, #092b47);
}

.member-insight-content .center-excellence-eyebrow {
	color: #f1bd57;
}

.member-insight-content h3 {
	margin: 9px 0 12px;
	color: #ffffff;
	font-size: 1.65rem;
	font-weight: 800;
}

.member-insight-content>p {
	margin: 0 0 28px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 0.92rem;
	line-height: 1.7;
}

.member-total-card {
	padding: 20px;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
}

.member-total-card span,
.member-total-card small,
.member-total-card strong {
	display: block;
}

.member-total-card span {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.member-total-card strong {
	margin: 8px 0 5px;
	color: #ffffff;
	font-size: 2.7rem;
	font-weight: 850;
	line-height: 1;
}

.member-total-card small {
	color: #f1bd57;
	font-size: 0.7rem;
}

.member-chart-panel {
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(220px, 1fr);
	align-items: center;
	gap: 35px;
	min-width: 0;
	padding: 38px;
}

.member-chart-wrap {
	position: relative;
	width: 100%;
	max-width: 290px;
	aspect-ratio: 1;
	margin: 0 auto;
	contain: layout size;
}

.member-chart-wrap canvas {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
}

.member-chart-legend {
	display: grid;
	gap: 9px;
	min-width: 0;
}

.member-legend-item {
	display: grid;
	grid-template-columns: 11px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	padding: 11px 12px;
	background: #f7f9fb;
	border: 1px solid #e7edf2;
	border-radius: 10px;
}

.member-legend-color {
	width: 11px;
	height: 11px;
	border-radius: 50%;
}

.member-legend-label {
	overflow: hidden;
	color: #536674;
	font-size: 0.78rem;
	font-weight: 650;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.member-legend-item strong {
	color: #173a55;
	font-size: 0.8rem;
}

.member-legend-item strong small {
	color: #83909a;
	font-size: 0.66rem;
	font-weight: 600;
}

.member-chart-empty {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 260px;
	color: #73818c;
	text-align: center;
}

.member-chart-empty i {
	margin-bottom: 14px;
	color: #bdd0dd;
	font-size: 3rem;
}

.member-chart-empty strong {
	margin-bottom: 5px;
	color: #173a55;
}

.member-chart-empty span {
	font-size: 0.82rem;
}

@media (max-width: 991.98px) {
	.center-excellence-section {
		padding: 70px 0;
	}

	.center-excellence-heading {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.center-excellence-heading p {
		padding-left: 18px;
	}

	.member-insight-panel {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.member-chart-panel {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 575.98px) {
	.center-excellence-section {
		padding: 56px 0;
	}

	.center-excellence-card {
		min-height: 0;
		padding: 25px;
	}

	.center-excellence-card-title,
	.center-excellence-card-description {
		min-height: 0;
	}

	.member-insight-content,
	.member-chart-panel {
		padding: 28px 22px;
	}

	.member-chart-wrap {
		max-width: 245px;
	}
}

.advocacy-mediation-section {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0, rgba(19, 96, 154, 0.08), transparent 25%),
		linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
	scroll-margin-top: 90px;
}

.advocacy-heading {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: end;
	gap: 60px;
	margin-bottom: 42px;
}

.advocacy-eyebrow,
.advocacy-output-label {
	display: inline-block;
	color: #d58a12;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 1.7px;
	text-transform: uppercase;
}

.advocacy-heading h2 {
	margin: 9px 0 0;
	color: #103a5c;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	letter-spacing: -1px;
	line-height: 1.15;
}

.advocacy-heading>p {
	margin: 0;
	padding-left: 24px;
	color: #61717e;
	border-left: 3px solid #e3a039;
	line-height: 1.75;
}

.advocacy-topic-grid {
	margin-bottom: 22px;
}

.advocacy-topic-card {
	position: relative;
	height: 100%;
	overflow: hidden;
	padding: 30px;
	background: #ffffff;
	border: 1px solid #e1e9ef;
	border-radius: 18px;
	box-shadow: 0 12px 30px rgba(15, 58, 91, 0.07);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.advocacy-topic-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(15, 58, 91, 0.12);
}

.advocacy-topic-card-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.advocacy-topic-card-link:hover {
	color: inherit;
	text-decoration: none;
}

.advocacy-topic-card-empty {
	cursor: default;
}

.advocacy-topic-card-empty:hover {
	transform: none;
	box-shadow: 0 12px 30px rgba(15, 58, 91, 0.07);
}

.advocacy-topic-number {
	position: absolute;
	top: 23px;
	right: 25px;
	color: #dce7ee;
	font-size: 1.7rem;
	font-weight: 850;
}

.advocacy-topic-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	margin-bottom: 21px;
	color: #ffffff;
	background: linear-gradient(145deg, #176aa8, #103a5c);
	border-radius: 16px;
	box-shadow: 0 9px 20px rgba(19, 96, 154, 0.2);
	font-size: 1.4rem;
}

.advocacy-topic-card h3 {
	margin: 0 0 10px;
	color: #173a55;
	font-size: 1.08rem;
	font-weight: 800;
}

.advocacy-topic-card>p {
	min-height: 69px;
	margin: 0 0 18px;
	color: #6b7882;
	font-size: 0.88rem;
	line-height: 1.6;
}

.advocacy-topic-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-top: 14px;
	color: #1675b7;
	border-top: 1px solid #e8edf2;
	font-size: 0.76rem;
	font-weight: 700;
}

.advocacy-output-panel {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
	align-items: center;
	gap: 45px;
	padding: 38px 42px;
	margin-bottom: 28px;
	color: #ffffff;
	background:
		radial-gradient(circle at 95% 0, rgba(255, 255, 255, 0.12), transparent 26%),
		linear-gradient(135deg, #103a5c, #0a2d49);
	border-radius: 20px;
	box-shadow: 0 17px 40px rgba(15, 58, 91, 0.18);
}

.advocacy-output-label {
	color: #f2be58;
}

.advocacy-stat-heading h3 {
	margin: 7px 0 8px;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: 800;
}

.advocacy-stat-heading p {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.9rem;
	line-height: 1.65;
}

.advocacy-stat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}

.advocacy-stat-card {
	display: flex;
	align-items: center;
	gap: 13px;
	padding: 18px;
	background: rgba(255, 255, 255, 0.09);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 13px;
}

.advocacy-stat-icon {
	flex: 0 0 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: #f2be58;
	background: rgba(255, 255, 255, 0.09);
	border-radius: 11px;
}

.advocacy-stat-card strong,
.advocacy-stat-card span {
	display: block;
}

.advocacy-stat-card strong {
	margin-bottom: 3px;
	color: #ffffff;
	font-size: 1.8rem;
	font-weight: 850;
	line-height: 1;
}

.advocacy-stat-card div>span {
	color: rgba(255, 255, 255, 0.65);
	font-size: 0.72rem;
	font-weight: 650;
}

@media (max-width: 991.98px) {

	.advocacy-heading,
	.advocacy-output-panel {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.advocacy-heading>p {
		padding-left: 18px;
	}
}

@media (max-width: 575.98px) {
	.advocacy-topic-card>p {
		min-height: 0;
	}

	.advocacy-output-panel {
		padding: 30px 22px;
	}

	.advocacy-stat-grid {
		grid-template-columns: 1fr;
	}
}

.member-program-section {
	position: relative;
	overflow: hidden;
	background: linear-gradient(180deg, #fff 0%, #f5f8fb 100%);
	scroll-margin-top: 90px
}

.member-program-section:nth-of-type(even) {
	background: #f5f8fb
}

.member-program-heading {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	align-items: end;
	gap: 45px;
	margin-bottom: 32px
}

.member-program-heading span {
	color: #d58a12;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: 1.6px;
	text-transform: uppercase
}

.member-program-heading h2 {
	margin: 8px 0 0;
	color: #103a5c;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
	font-weight: 800
}

.member-program-heading p {
	margin: 0;
	padding-left: 20px;
	color: #61717e;
	border-left: 3px solid #e3a039;
	line-height: 1.75
}

.member-content-card {
	height: 100%;
	padding: 28px 24px;
	background: #fff;
	border: 1px solid #e0e8ef;
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(15, 58, 91, .07)
}

.member-content-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 18px;
	color: #fff;
	background: linear-gradient(145deg, #176aa8, #103a5c);
	border-radius: 15px
}

.member-content-card h3 {
	color: #173a55;
	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.4
}

.member-content-card p {
	color: #6b7882;
	font-size: .88rem;
	line-height: 1.6
}

.member-content-meta,
.member-content-type {
	color: #1675b7;
	font-size: .74rem;
	font-weight: 700
}

@media(max-width:991.98px) {
	.member-program-heading {
		grid-template-columns: 1fr;
		gap: 20px
	}

	.member-program-heading p {
		padding-left: 15px
	}
}

.capacity-building-section::before,
.capacity-building-section::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none
}

.capacity-building-section::before {
	top: -180px;
	left: -180px;
	width: 420px;
	height: 420px;
	background: rgba(19, 106, 168, .06)
}

.capacity-building-section::after {
	right: -100px;
	bottom: -160px;
	width: 360px;
	height: 360px;
	border: 70px solid rgba(224, 155, 38, .06)
}