/*
Lamy — Shared service-page section styles.
Enqueued on ALL service page templates via lamy_site_enqueue_assets().
All selectors scoped to .site-service-*. Zero conflict with LP, site-base,
or page-specific styles. Uses only tokens from style.css :root.
*/

/* ============================================================
   Hero
   ============================================================ */
.site-service-hero {
	padding-block: clamp(80px, 14vw, 160px) clamp(48px, 6vw, 72px);
	position: relative;
	text-align: center;
}

.site-service-hero__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 60% at 50% 0%, var(--purple-atmosphere) 0%, transparent 70%);
	opacity: 0.4;
	pointer-events: none;
}

.site-service-hero__inner {
	position: relative;
}

.site-service-hero__eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold-primary);
	margin: 0 0 16px;
}

.site-service-hero__title {
	font-family: 'Rubik', 'Heebo', sans-serif;
	font-weight: 800;
	font-size: clamp(34px, 5.5vw, 68px);
	color: var(--text-heading);
	letter-spacing: -0.02em;
	line-height: 1.1;
	margin: 0 0 24px;
	max-width: 820px;
	margin-inline: auto;
	margin-bottom: 24px;
}

.site-service-hero__body {
	font-size: clamp(16px, 1.4vw, 19px);
	color: var(--text-body);
	max-width: 620px;
	margin-inline: auto;
	line-height: 1.7;
	margin-bottom: 40px;
}

/* ============================================================
   Problem / Challenge
   ============================================================ */
.site-service-problem {
	background: var(--bg-section);
	text-align: center;
	position: relative;
}

.site-service-problem::before {
	content: '';
	display: block;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gold-primary), var(--purple-electric), var(--gold-primary), transparent);
	opacity: 0.35;
	position: absolute;
	inset-inline: 0;
	top: 0;
}

.site-service-problem__inner {
	max-width: 720px;
	margin-inline: auto;
}

.site-service-problem__title {
	font-family: 'Rubik', 'Heebo', sans-serif;
	font-weight: 700;
	font-size: clamp(26px, 3.5vw, 40px);
	color: var(--gold-primary);
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0 0 20px;
}

.site-service-problem__body {
	font-size: clamp(16px, 1.3vw, 18px);
	color: var(--text-body);
	line-height: 1.75;
	margin: 0;
}

/* ============================================================
   Included / What we do (cards grid)
   ============================================================ */
.site-service-included {
	background: var(--bg-primary);
}

.site-service-included__title {
	font-family: 'Rubik', 'Heebo', sans-serif;
	font-weight: 700;
	font-size: clamp(24px, 3vw, 38px);
	color: var(--text-heading);
	letter-spacing: -0.01em;
	text-align: center;
	margin: 0 0 40px;
}

.site-service-included__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.site-service-included__card {
	padding: 28px 24px;
}

.site-service-included__card-title {
	font-size: clamp(16px, 1.2vw, 18px);
	font-weight: 700;
	color: var(--text-heading);
	margin: 0 0 10px;
}

.site-service-included__card-body {
	font-size: clamp(15px, 1.1vw, 16px);
	color: var(--text-body);
	line-height: 1.65;
	margin: 0;
}

/* ============================================================
   Engine / Crosslink
   ============================================================ */
.site-service-engine {
	background: var(--bg-section);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.site-service-engine::before {
	content: '';
	display: block;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gold-primary), var(--purple-electric), var(--gold-primary), transparent);
	opacity: 0.35;
	position: absolute;
	inset-inline: 0;
	top: 0;
}

.site-service-engine__accent {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 70% 80% at 50% 50%, var(--purple-atmosphere) 0%, transparent 70%);
	opacity: 0.2;
	pointer-events: none;
}

.site-service-engine__inner {
	position: relative;
	max-width: 680px;
	margin-inline: auto;
}

.site-service-engine__title {
	font-family: 'Rubik', 'Heebo', sans-serif;
	font-weight: 700;
	font-size: clamp(24px, 3vw, 36px);
	color: var(--text-heading);
	letter-spacing: -0.01em;
	margin: 0 0 20px;
}

.site-service-engine__body {
	font-size: clamp(16px, 1.3vw, 18px);
	color: var(--text-body);
	line-height: 1.75;
	margin: 0;
}

/* ============================================================
   CTA + Form
   ============================================================ */
.site-service-cta {
	text-align: center;
	position: relative;
}

.site-service-cta__glow {
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 80% at 50% 100%, var(--purple-atmosphere) 0%, transparent 70%);
	opacity: 0.25;
	pointer-events: none;
}

.site-service-cta__inner {
	position: relative;
}

.site-service-cta__title {
	font-family: 'Rubik', 'Heebo', sans-serif;
	font-weight: 800;
	font-size: clamp(24px, 3vw, 38px);
	color: var(--text-heading);
	letter-spacing: -0.01em;
	margin: 0 0 28px;
}

.site-service-cta__form {
	max-width: 480px;
	margin-inline: auto;
	margin-top: 32px;
}

/* ============================================================
   Mobile
   ============================================================ */
@media (max-width: 640px) {
	.site-service-included__grid {
		grid-template-columns: 1fr;
	}
}
