/**
 * Base element styles + shared layout primitives.
 */

body {
	font-family: var(--font-heading);
	font-weight: var(--weight-regular);
	font-size: var(--text-body);
	line-height: var(--text-body-lh);
	color: var(--color-text);
	background: var(--color-white);
}

h1, h2, h3, h4, h5, h6 {
	font-weight: var(--weight-regular);
	line-height: 1.1;
}

a {
	transition: opacity 0.15s ease;
}

.is-highlight {
	color: var(--color-primary-text);
}

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

.glass-overlay {
	backdrop-filter: blur(13px);
	background: rgba(81, 94, 101, 0.09);
	color: var(--color-white);
}

/* Generic page (About, First Visit, Partnerships, Contact, blog, single service…)
   until each gets its own Figma design. */
.generic-page {
	padding: var(--space-13) 0;
}

.generic-page__inner {
	max-width: 860px;
	margin-inline: auto;
	padding-inline: var(--container-padding);
}

.generic-page__title {
	font-size: var(--text-h1);
	line-height: var(--text-h1-lh);
	font-weight: var(--weight-light);
	margin-bottom: var(--space-6);
}

.generic-page__thumb {
	border-radius: var(--radius-xl);
	overflow: hidden;
	margin-bottom: var(--space-6);
}

.generic-page__lead {
	font-family: var(--font-body);
	font-size: var(--text-body-lg);
	color: var(--color-text-muted);
	margin-bottom: var(--space-6);
}

.generic-page__content {
	font-family: var(--font-body);
	font-size: var(--text-paragraph);
	line-height: var(--text-paragraph-lh);
	color: var(--color-gray-900);
}

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

.generic-page__cta {
	margin-top: var(--space-8);
}

.generic-page__inner--404 {
	text-align: center;
	padding-block: var(--space-13);
}

.generic-page__inner--404 p {
	font-family: var(--font-body);
	color: var(--color-text-muted);
	margin-block: var(--space-4) var(--space-6);
}

.services-archive {
	padding: var(--space-13) 0;
}

.services-archive__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-padding);
}

.services-archive__title {
	font-size: var(--text-h1);
	line-height: var(--text-h1-lh);
	font-weight: var(--weight-light);
	margin-bottom: var(--space-9);
}
