.sfb-home-module {
	box-sizing: border-box;
	margin-block: clamp(0.9rem, 2vw, 1.75rem);
}

.sfb-home-module:first-child {
	margin-top: 0;
}

.sfb-home-module > :first-child {
	margin-top: 0;
}

.sfb-home-module > :last-child {
	margin-bottom: 0;
}

.sfb-home-module--intro {
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 0.9rem;
	background: color-mix(in srgb, Canvas 96%, currentColor 4%);
}

.sfb-home-module--intro h1 {
	max-width: 22ch;
	margin-bottom: 0.6rem;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.08;
}

.sfb-home-module--intro p {
	max-width: 64ch;
	margin-block: 0.55rem;
	font-size: 1.03em;
}

.sfb-home-module--method {
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	border-radius: 0.9rem;
}

.sfb-home-module--method pre {
	box-sizing: border-box;
	max-width: 36rem;
	margin: 0.8rem auto 1rem;
	padding: 0.8rem 1rem;
	overflow-x: auto;
	text-align: center;
	line-height: 1.3;
}

.sfb-home-module--method pre code {
	display: block;
	text-align: center;
	white-space: pre;
}

.sfb-home-card-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.sfb-home-card {
	box-sizing: border-box;
	min-width: 0;
	padding: 1rem 1.1rem;
	border: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	border-radius: 0.8rem;
	background: color-mix(in srgb, Canvas 97%, currentColor 3%);
	overflow-wrap: break-word;
}

.sfb-home-card > :first-child,
.sfb-home-card .wp-block-heading:first-child {
	margin-top: 0;
}

.sfb-home-card > :last-child {
	margin-bottom: 0;
}

.sfb-home-card h3,
.sfb-home-card .wp-block-heading {
	font-size: 1.12em;
	line-height: 1.25;
}

.sfb-home-module a {
	font-weight: 650;
}

@media (max-width: 760px) {
	.sfb-home-card-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.sfb-home-module--intro,
	.sfb-home-module--method {
		padding: 1rem;
	}
}
