.qcb-cards-grid {
	box-sizing: border-box;
	padding-block: var(--qcb-design-spacing-top, var(--qcb-space-section)) var(--qcb-design-spacing-bottom, var(--qcb-space-section));
	padding-inline: var(--qcb-space-4);
	font-family: var(--qcb-font-body);
	color: var(--qcb-design-heading-color, var(--qcb-color-text));
	background-color: var(--qcb-design-section-background, transparent);
}

.qcb-cards-grid,
.qcb-cards-grid * {
	box-sizing: border-box;
}

.qcb-cards-grid__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--qcb-space-4);
	inline-size: min(100%, var(--qcb-content-width));
	margin-inline: auto;
}

.qcb-card {
	min-inline-size: 0;
	padding: var(--qcb-space-4);
	border: 1px solid transparent;
	border-radius: var(--qcb-radius);
	background: var(--qcb-design-surface-color, var(--qcb-color-surface));
	box-shadow: var(--qcb-shadow-card);
	text-align: start;
	overflow-wrap: anywhere;
}

.qcb-cards-grid--outline .qcb-card {
	border-color: var(--qcb-design-border-color, var(--qcb-color-border));
	box-shadow: none;
}

.qcb-cards-grid--accent:not(.qcb-design--color-light):not(.qcb-design--color-purple):not(.qcb-design--color-dark) .qcb-card {
	background: var(--qcb-color-accent-soft);
	box-shadow: none;
}

.qcb-cards-grid--center .qcb-card {
	text-align: center;
}

.qcb-card__media {
	margin-block: 0 var(--qcb-space-4);
	margin-inline: 0;
}

.qcb-card__image {
	display: block;
	max-inline-size: 100%;
	block-size: auto;
	margin-inline: auto;
	border-radius: calc(var(--qcb-radius) * 0.7);
}

.qcb-card__content {
	min-inline-size: 0;
}

.qcb-card__eyebrow {
	margin-block: 0 var(--qcb-space-1);
	color: var(--qcb-design-accent-color, var(--qcb-color-accent));
	font-weight: 700;
}

.qcb-card__title {
	margin-block: 0;
	color: var(--qcb-design-heading-color, var(--qcb-color-text));
	font-size: var(--qcb-design-heading-size, clamp(1.2rem, 2vw, 1.55rem));
	line-height: 1.35;
}

.qcb-card__description {
	margin-block: var(--qcb-space-2) 0;
	color: var(--qcb-design-body-color, var(--qcb-color-muted));
	font-size: var(--qcb-design-body-size, inherit);
	line-height: 1.8;
}

.qcb-card__link {
	display: inline-flex;
	margin-block-start: var(--qcb-space-3);
	color: var(--qcb-design-accent-color, var(--qcb-color-accent));
	font-weight: 700;
	text-underline-offset: 0.2em;
}

.qcb-card__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 0.2rem;
}

/* Opt-in methodology presentation. Default Cards Grid markup and styles stay above. */
.qcb-cards-grid--process .qcb-process-grid {
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	padding: 0;
	border: 3px solid var(--qcb-design-border-color, var(--ink, var(--qcb-color-text)));
	box-shadow: 8px 8px 0 var(--qcb-design-shadow-color, var(--ink, var(--qcb-color-text)));
	list-style: none;
}

.qcb-cards-grid--process {
	padding-block: var(--qcb-design-spacing-top, 0) var(--qcb-design-spacing-bottom, 4.125rem);
	padding-inline: 1.5rem;
	background-color: var(--qcb-design-section-background, var(--bg-page-alt, #f2ede6));
	transform: none;
	transition: none;
	animation: none;
}

.qcb-cards-grid--process .qcb-cards-grid__inner {
	inline-size: min(100%, 71rem);
}

.qcb-process-grid__item {
	position: relative;
	min-inline-size: 0;
	min-block-size: 17.5rem;
	padding: 2rem;
	background: transparent;
	overflow-wrap: anywhere;
}

.qcb-process-grid__item + .qcb-process-grid__item {
	border-block-start: 2px solid var(--qcb-design-border-color, var(--ink, var(--qcb-color-text)));
}

.qcb-process-grid__number {
	display: block;
	margin-block-end: 1.5rem;
	color: var(--qcb-design-accent-color, var(--pp, var(--qcb-color-accent)));
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1;
}

.qcb-process-grid__title {
	margin: 0;
	color: var(--qcb-design-heading-color, var(--qcb-color-text));
	font-size: var(--qcb-design-heading-size, 1.5rem);
	font-weight: 800;
	line-height: 1.25;
}

.qcb-process-grid__description {
	margin: .75rem 0 0;
	color: var(--qcb-design-body-color, var(--gy-mid, var(--qcb-color-muted)));
	font-size: var(--qcb-design-body-size, inherit);
	line-height: 1.7;
}

@media (min-width: 53.8125rem) {
	.qcb-cards-grid--process .qcb-process-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.qcb-process-grid__item + .qcb-process-grid__item {
		border-block-start: 0;
		border-inline-start: 2px solid var(--qcb-design-border-color, var(--ink, var(--qcb-color-text)));
	}
}

@media (min-width: 53.8125rem) {
	.qcb-process-grid__item:first-child {
		border-inline-start: 0;
	}
}

@media (max-width: 53.75rem) {
	.qcb-process-grid__item {
		min-block-size: 0;
	}

	.qcb-process-grid__item:last-child {
		border-block-end: 0;
	}
}

@media (min-width: 48rem) {
	.qcb-cards-grid--tablet-2 .qcb-cards-grid__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.qcb-cards-grid--desktop-2 .qcb-cards-grid__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.qcb-cards-grid--desktop-3 .qcb-cards-grid__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.qcb-cards-grid--desktop-4 .qcb-cards-grid__inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.qcb-cards-grid--image-start .qcb-card {
		display: grid;
		grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
		gap: var(--qcb-space-4);
		align-items: start;
	}

	.qcb-cards-grid--image-start .qcb-card__media {
		margin-block: 0;
		margin-inline: 0;
	}
}

@media (max-width: 25rem) {
	.qcb-cards-grid {
		padding-inline: var(--qcb-space-3);
	}

	.qcb-card {
		padding: var(--qcb-space-3);
	}
}

@media (prefers-reduced-motion: reduce) {
	.qcb-cards-grid *,
	.qcb-cards-grid *::before,
	.qcb-cards-grid *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
