/* ═══════════════════════════════════════════════════════════════
   LAYOUT
   ═══════════════════════════════════════════════════════════════ */

.container {
	max-width: var(--kk-grid-max);
	margin-inline: auto;
	padding-inline: var(--s4);
}

.container--wide { max-width: var(--kk-grid-wide); }

/* Content + sidebar */
.content-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s6);
}

@media (min-width: 900px) {
	.content-grid { grid-template-columns: 1fr 300px; }
}

/* Story block: 7fr / 5fr */
.story-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s5);
}

@media (min-width: 600px) {
	.story-grid { grid-template-columns: 7fr 5fr; }
}

/* Card grid */
.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--s5);
}

/* Duo grid: two equal columns */
.duo-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--s5);
}

@media (min-width: 600px) {
	.duo-grid { grid-template-columns: 1fr 1fr; }
}

/* Divider */
.rule {
	border: none;
	border-top: 1px solid var(--kk-rule);
}

.rule--strong {
	border-top-width: 2px;
	border-top-color: var(--kk-ink);
}
