/* Generic layout/grid utilities shared by every page template. */

.psc-container {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: var(--space-5);
}

.psc-section {
	padding-block: var(--space-7);
}

.psc-section--muted {
	background: var(--color-surface-muted);
}

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

.psc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.psc-grid--3 { grid-template-columns: repeat(3, 1fr); }
.psc-grid--4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
	.psc-grid--2,
	.psc-grid--3,
	.psc-grid--4 {
		grid-template-columns: 1fr;
	}
}

.psc-flex {
	display: flex;
	gap: var(--space-4);
}

.psc-flex--center {
	align-items: center;
}

.psc-flex--wrap {
	flex-wrap: wrap;
}

.psc-stack > * + * {
	margin-top: var(--space-4);
}

.psc-eyebrow {
	display: inline-block;
	font-family: var(--font-display);
	font-size: var(--text-sm);
	color: var(--color-interface-alt);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: var(--space-2);
}

main:focus {
	outline: none;
}
