/* =========================================================================
   Global layout helpers & utilities
   ========================================================================= */
.container {
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.section {
	padding-block: clamp(56px, 8vw, 104px);
}
#pricing {
	background: linear-gradient(135deg, #eef3ff 0%, #f7f9ff 40%, #ffffff 100%);
}
.section--tint {
	background: var(--surface);
}
.section-head {
	text-align: center;
	max-width: 640px;
	margin: 0 auto clamp(36px, 5vw, 60px);
}
.section-head h2 {
	font-size: clamp(28px, 4vw, 40px);
}
.section-head p {
	margin-top: 14px;
	color: var(--text-muted);
	font-size: clamp(15px, 1.6vw, 17px);
}
.eyebrow {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--blue);
	margin-bottom: 14px;
}

/* Visually hidden (screen-reader only) */
.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Scroll reveal */
.reveal {
	opacity: 0;
	transform: translateY(22px);
	transition:
		opacity 0.7s var(--ease),
		transform 0.7s var(--ease);
}
.reveal.is-in {
	opacity: 1;
	transform: none;
}
.reveal[data-d="1"] {
	transition-delay: 0.08s;
}
.reveal[data-d="2"] {
	transition-delay: 0.16s;
}
.reveal[data-d="3"] {
	transition-delay: 0.24s;
}
.reveal[data-d="4"] {
	transition-delay: 0.32s;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
	.reveal {
		opacity: 1;
		transform: none;
	}
	.mockup {
		transform: none;
	}
}
