/* Contenedores y rejillas */
.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--sp-gutter);
}
.container--narrow { max-width: 960px; }
.container--text { max-width: 820px; }

.section { padding-block: var(--sp-section); }
.section--tight { padding-block: calc(var(--sp-section) * 0.6); }
.section--grey { background: var(--c-grey-light); }
.section--brand { background: var(--c-brand-light); }
.section--dark { background: var(--c-footer); color: var(--c-inverse); }
.section--dark h2, .section--dark h3 { color: var(--c-inverse); }
.section__head { max-width: 720px; margin-bottom: var(--sp-xl); }
.section__head--center { margin-inline: auto; text-align: center; }

.grid { display: grid; gap: var(--sp-lg); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.grid--split { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); align-items: center; gap: var(--sp-2xl); }
.grid--sidebar { grid-template-columns: minmax(0, 1fr) 340px; gap: var(--sp-2xl); align-items: start; }

@media (max-width: 1023px) {
	.grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.grid--sidebar { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 719px) {
	.grid--2, .grid--3, .grid--4, .grid--split { grid-template-columns: minmax(0, 1fr); }
	.grid--split { gap: var(--sp-xl); }
}

.stack > * + * { margin-top: var(--sp-md); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--sp-sm) var(--sp-md); align-items: center; }
.flow > * + * { margin-top: var(--sp-xl); }

/* Cabecera de página interior */
.page-hero { padding-block: clamp(40px, 4vw + 8px, 72px) clamp(32px, 3vw + 8px, 56px); }
.page-hero--brand { background: var(--c-brand-light); }
.page-hero--grey { background: var(--c-grey-light); }
.page-hero h1 { max-width: 20ch; }
.page-hero .lead { max-width: 64ch; }
.page-hero__actions { margin-top: var(--sp-lg); }
.page-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); gap: var(--sp-2xl); align-items: start; }
@media (max-width: 1023px) { .page-hero__grid { grid-template-columns: minmax(0, 1fr); } }

/* Migas */
.crumbs { font-size: var(--fs-small); color: var(--c-muted); margin-bottom: var(--sp-md); }
.crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-xs); }
.crumbs li + li::before { content: '›'; margin-right: var(--sp-xs); color: var(--c-border); }
.crumbs a { color: inherit; text-decoration: none; }
.crumbs a:hover { color: var(--c-brand-dark); text-decoration: underline; }
