/* Certifications and Affiliations — two columns of heading, intro, logo row and
   closing text. Colours, spacing and typography come from Style-tab controls. */

.ca-28399 {
	padding: 96px 32px;
	box-sizing: border-box;
}

.ca-28399 *,
.ca-28399 *::before,
.ca-28399 *::after {
	box-sizing: border-box;
}

.ca-28399 .ca-28399__inner {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 160px;
	row-gap: 72px;
	max-width: 1620px;
	margin-inline: auto;
}

.ca-28399 .ca-28399__col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ca-28399 .ca-28399__heading {
	margin: 0 0 1.25rem;
	color: #333333;
	font-size: 1.75rem;
	line-height: 1.02;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}

.ca-28399 .ca-28399__text {
	color: #333333;
	font-size: var(--tw-body-size, clamp(18px, 1.5vw, 24px));
	line-height: 1.3;
}

.ca-28399 .ca-28399__text > *:first-child {
	margin-top: 0;
}

.ca-28399 .ca-28399__text > *:last-child {
	margin-bottom: 0;
}

/* Logo row: equal slots so four logos of different proportions still line up,
   each image contained inside its slot at a shared height. */
.ca-28399 .ca-28399__logos {
	--ca-logo-h: 5rem;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	align-items: center;
	gap: 40px;
	margin: 40px 0;
	padding: 0;
	list-style: none;
}

.ca-28399 .ca-28399__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: var(--ca-logo-h);
	margin: 0;
	padding: 0;
}

.ca-28399 .ca-28399__logo:first-child {
	justify-content: flex-start;
}

.ca-28399 .ca-28399__logo-link {
	display: flex;
	align-items: center;
	justify-content: inherit;
	width: 100%;
	height: 100%;
}

.ca-28399 .ca-28399__logo-img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

/* Shown until a logo image is uploaded, so the layout is readable in the editor. */
.ca-28399 .ca-28399__logo-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 8px;
	border: 1px dashed #b8bcc0;
	color: #6b6f73;
	font-size: 0.75rem;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.ca-28399 .ca-28399__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.ca-28399 {
		padding: 56px 20px;
	}

	.ca-28399 .ca-28399__heading {
		margin-bottom: 1.25rem;
	}

	.ca-28399 .ca-28399__logos {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ca-28399 .ca-28399__logo,
	.ca-28399 .ca-28399__logo:first-child {
		justify-content: center;
	}
}
