/* AeroTickets — layout primitives. */

.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: var(--space-5);
}
@media (min-width: 768px) {
	.container { padding-inline: var(--space-8); }
}

.container--narrow { max-width: var(--container-narrow); }

.section {
	padding-block: clamp(4rem, 8vw, 8rem);
	position: relative;
}
.section--alt { background: var(--canvas-soft); }
.section--dark {
	background: var(--brand-navy);
	color: var(--ink-on-dark);
}
.section--dark h1, .section--dark h2, .section--dark h3, .section--dark h4 { color: #fff; }

.section__header { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.section__eyebrow {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-wider);
	text-transform: uppercase;
	color: var(--brand-blue);
	margin: 0 0 var(--space-3);
	padding: var(--space-1) var(--space-3);
	background: var(--brand-gradient-soft);
	border-radius: var(--radius-pill);
}
.section--dark .section__eyebrow {
	color: var(--brand-green-soft);
	background: rgba(255,255,255,0.08);
}
.section__title {
	max-width: 28ch;
	margin-inline: auto;
}
.section__header.text-center .section__title { margin-inline: auto; }
.section__lede {
	font-size: var(--text-lg);
	color: var(--ink-muted);
	max-width: 52ch;
	line-height: var(--leading-relaxed);
}
.section__header.text-center .section__lede { margin-inline: auto; }

.text-center { text-align: center; }
.text-left   { text-align: left; }
