.ff-site-header__inner,
.ff-footer__inner,
.ff-container {
	width: min(100% - 32px, var(--ff-container));
	margin-inline: auto;
}

.ff-page {
	padding: var(--ff-space-12) 0 var(--ff-space-16);
}

.ff-page--flush {
	padding-top: 0;
}

.ff-section {
	padding: var(--ff-space-12) 0;
}

.ff-section--compact {
	padding: var(--ff-space-8) 0;
}

.ff-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--ff-space-5);
	margin-bottom: var(--ff-space-6);
}

.ff-section-head__body {
	max-width: 720px;
}

.ff-grid {
	display: grid;
	gap: var(--ff-space-5);
}

.ff-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ff-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ff-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ff-grid--5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.ff-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
	gap: var(--ff-space-8);
	align-items: start;
}

@media (max-width: 980px) {

	.ff-grid--3,
	.ff-grid--4,
	.ff-grid--5,
	.ff-split,
	.ff-article-layout {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.ff-site-header__inner,
	.ff-footer__inner,
	.ff-container {
		width: min(100% - 24px, var(--ff-container));
	}

	.ff-section {
		padding: var(--ff-space-10) 0;
	}

	.ff-section-head {
		display: block;
	}

	.ff-grid--2 {
		grid-template-columns: 1fr;
	}
}
