/**
 * Web Fusion 2027 core design system.
 * Homepage-specific section styling will be added as the build progresses.
 */

:root {
	--wf-bg: #f7faf9;
	--wf-bg-top: #829ca9;
	--wf-bg-upper: #a9bec7;
	--wf-bg-mid: #d9e6e6;
	--wf-bg-lower: #f5f8f7;
	--wf-surface: #f4f5f7;
	--wf-surface-strong: #ffffff;
	--wf-ink: #202124;
	--wf-muted: #686b73;
	--wf-border: rgba(32, 33, 36, 0.14);
	--wf-accent: #d9202f;
	--wf-container: 1280px;
	--wf-gutter: clamp(1.25rem, 4vw, 4rem);
	--wf-radius-sm: 12px;
	--wf-radius-md: 20px;
	--wf-radius-lg: 32px;
	--wf-shadow-soft: 12px 12px 30px rgba(42, 45, 52, 0.10), -12px -12px 30px rgba(255, 255, 255, 0.88);
	--wf-shadow-inset: inset 1px 1px 0 rgba(255, 255, 255, 0.82), inset -1px -1px 0 rgba(32, 33, 36, 0.22);
	--wf-transition: 180ms ease;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	min-height: 100%;
	scroll-behavior: smooth;
	background: var(--wf-bg);
}

body {
	position: relative;
	min-height: 100vh;
	margin: 0;
	background: transparent;
	color: var(--wf-ink);
	font-family: Urbanist, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	isolation: isolate;
	padding-top: 92px;
}

/**
 * Global fixed atmospheric background.
 *
 * The page scrolls over this single viewport-sized canvas so translucent
 * glass surfaces always have a stable gradient beneath them. Layered radial
 * fields prevent the backdrop from reading as a simple top-to-bottom fade.
 */
body::before {
	content: "";
	position: fixed;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(90% 62% at 8% 2%, rgba(207, 224, 228, 0.34) 0%, rgba(207, 224, 228, 0) 66%),
		radial-gradient(72% 54% at 92% 10%, rgba(103, 135, 151, 0.25) 0%, rgba(103, 135, 151, 0) 62%),
		radial-gradient(64% 48% at 44% 38%, rgba(224, 237, 236, 0.50) 0%, rgba(224, 237, 236, 0) 72%),
		radial-gradient(78% 58% at 82% 64%, rgba(216, 231, 229, 0.38) 0%, rgba(216, 231, 229, 0) 70%),
		linear-gradient(158deg,
			var(--wf-bg-top) 0%,
			var(--wf-bg-upper) 20%,
			var(--wf-bg-mid) 43%,
			var(--wf-bg-lower) 72%,
			#ffffff 100%
		);
	background-repeat: no-repeat;
	background-size: cover;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-underline-offset: 0.18em;
}

button,
input,
textarea,
select {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	line-height: 1.08;
	letter-spacing: -0.025em;
}

p {
	margin-top: 0;
}

.wf-container {
	width: min(calc(100% - (2 * var(--wf-gutter))), var(--wf-container));
	margin-inline: auto;
}

.wf-content {
	padding-block: clamp(3rem, 7vw, 7rem);
}

.entry,
.no-results {
	max-width: 760px;
	margin-inline: auto;
}

.entry + .entry {
	margin-top: 4rem;
}

.entry-title {
	font-size: clamp(2.25rem, 6vw, 5.25rem);
}

.entry-content > * + * {
	margin-top: 1.25em;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.skip-link:focus {
	z-index: 99999;
	top: 1rem;
	left: 1rem;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	clip: auto !important;
	background: #fff;
	color: #111;
}

.site-header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	border-bottom: 1px solid rgba(255, 255, 255, 0.34);
	background: rgba(230, 238, 240, 0.34);
	box-shadow: 0 10px 34px rgba(23, 37, 45, 0.06);
	backdrop-filter: blur(20px) saturate(126%);
	-webkit-backdrop-filter: blur(20px) saturate(126%);
	transform: translate3d(0, 0, 0);
	will-change: transform;
	transition:
		transform 320ms cubic-bezier(0.22, 1, 0.36, 1),
		background-color 260ms ease,
		box-shadow 260ms ease,
		border-color 260ms ease;
}

.site-header.is-hidden {
	transform: translate3d(0, calc(-100% - 8px), 0);
}

.site-header.is-compact {
	background: rgba(235, 242, 243, 0.58);
	box-shadow: 0 12px 36px rgba(23, 37, 45, 0.09);
	border-bottom-color: rgba(255, 255, 255, 0.48);
}

.site-header.is-menu-open {
	transform: translate3d(0, 0, 0);
}

.site-header__inner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	min-height: 92px;
	gap: clamp(1.25rem, 2.6vw, 2.75rem);
	transition: min-height 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header.is-compact .site-header__inner {
	min-height: 66px;
}

.site-branding {
	position: relative;
	z-index: 2;
	min-width: 0;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
}

.custom-logo {
	width: auto;
	max-width: min(250px, 28vw);
	max-height: 50px;
	transition:
		max-height 300ms cubic-bezier(0.22, 1, 0.36, 1),
		max-width 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.site-header.is-compact .custom-logo {
	max-width: min(205px, 25vw);
	max-height: 38px;
}

.site-title {
	font-weight: 700;
	text-decoration: none;
}

.primary-navigation {
	min-width: 0;
}

.primary-navigation ul,
.header-menu-panel ul,
.site-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.primary-navigation--desktop {
	justify-self: end;
	transition:
		opacity 180ms ease,
		transform 220ms ease,
		visibility 0s linear 0s;
}

.primary-navigation--desktop > ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: clamp(0.9rem, 1.7vw, 1.8rem);
}

.primary-navigation a,
.header-menu-panel__navigation a {
	text-decoration: none;
	font-weight: 550;
}

.primary-navigation a:hover,
.primary-navigation a:focus-visible,
.header-menu-panel__navigation a:hover,
.header-menu-panel__navigation a:focus-visible {
	color: var(--wf-accent);
}

.site-header.is-compact .primary-navigation--desktop {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-6px) scale(0.985);
	transition:
		opacity 150ms ease,
		transform 180ms ease,
		visibility 0s linear 150ms;
}

.site-header__actions {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem;
	white-space: nowrap;
}

.header-cta-wrap {
	position: relative;
	display: inline-grid;
	place-items: center;
	isolation: isolate;
	margin-right: 8px;
	margin-bottom: 8px;
	transition:
		margin-right 300ms cubic-bezier(0.22, 1, 0.36, 1),
		margin-bottom 300ms cubic-bezier(0.22, 1, 0.36, 1);
}

.header-cta-wrap::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: -2px;
	border-radius: 999px;
	background: radial-gradient(ellipse at 50% 50%, rgba(195, 45, 54, 0.56) 0%, rgba(166, 30, 40, 0.40) 26%, rgba(126, 18, 29, 0.22) 52%, rgba(89, 11, 21, 0.10) 68%, rgba(89, 11, 21, 0) 82%);
	filter: blur(10px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease, filter 220ms ease;
}

.header-cta-wrap > * {
	grid-area: 1 / 1;
}

.header-cta-shadow {
	position: absolute;
	z-index: 1;
	inset: 0;
	border-radius: 999px;
	pointer-events: none;
	filter: blur(1.5px);
	opacity: 1;
	transform: translate3d(6px, 7px, 0);
	transition:
		transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
		filter 180ms ease,
		opacity 180ms ease;
}

.header-cta-shadow::before {
	content: none;
}

.header-cta-shadow::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(180deg, rgba(30, 43, 54, 0.50), rgba(84, 99, 115, 0.26));
	box-shadow:
		0 12px 18px rgba(31, 44, 55, 0.22),
		0 4px 8px rgba(31, 44, 55, 0.14);
	mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	mask-composite: exclude;
	-webkit-mask-composite: xor;
}

.wf-button.header-cta {
	position: relative;
	z-index: 2;
	isolation: isolate;
	min-width: 178px;
	min-height: 60px;
	padding: 0.58rem 1.7rem 0.62rem;
	border: 0 solid transparent;
	border-radius: 999px;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(226, 234, 239, 0.10));
	color: #20252b;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.84),
		inset 0 -1px 0 rgba(54, 67, 80, 0.20),
		0 -1px 1px rgba(255, 255, 255, 0.46);
	backdrop-filter: blur(18px) saturate(118%);
	-webkit-backdrop-filter: blur(18px) saturate(118%);
	overflow: hidden;
	flex-direction: column;
	gap: 0;
	line-height: 0.92;
	text-align: center;
	transition:
		min-width 300ms cubic-bezier(0.22, 1, 0.36, 1),
		min-height 300ms cubic-bezier(0.22, 1, 0.36, 1),
		padding 300ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 180ms ease,
		box-shadow 180ms ease,
		background 180ms ease;
}

.header-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 1px 7px auto;
	height: 45%;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0));
	pointer-events: none;
}

.header-cta::after {
	content: "";
	position: absolute;
	inset: 0.5px;
	border-radius: inherit;
	border: 1px solid rgba(255, 255, 255, 0);
	box-shadow:
		inset 0 0 0 rgba(255, 255, 255, 0),
		0 0 0 rgba(255, 255, 255, 0);
	opacity: 0;
	pointer-events: none;
	transition: opacity 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.header-cta__line {
	display: block;
	font-size: 0.93rem;
	font-weight: 430;
	letter-spacing: -0.02em;
}

.header-cta__line--strong {
	font-size: 1rem;
	font-weight: 760;
	margin-bottom: 0.1rem;
}

.site-header.is-compact .header-cta-wrap {
	margin-right: 6px;
	margin-bottom: 6px;
}

.site-header.is-compact .header-cta-shadow {
	transform: translate3d(5px, 6px, 0);
}

.site-header.is-compact .header-cta {
	min-width: 134px;
	min-height: 46px;
	padding: 0.42rem 1.12rem 0.46rem;
}

.site-header.is-compact .header-cta__line {
	font-size: 0.82rem;
}

.site-header.is-compact .header-cta__line--strong {
	font-size: 0.89rem;
}

.menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	padding: 5px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wf-ink);
	box-shadow: none;
	cursor: pointer;
	transition:
		width 300ms cubic-bezier(0.22, 1, 0.36, 1),
		height 300ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 180ms ease,
		opacity 180ms ease;
}

.menu-toggle:hover,
.menu-toggle:focus-visible {
	transform: translateY(-1px) scale(1.04);
	background: transparent;
	box-shadow: none;
	opacity: 0.72;
}

.menu-toggle:focus-visible {
	outline: 2px solid var(--wf-accent);
	outline-offset: 3px;
}

.menu-toggle__icon {
	width: 27px;
	height: 27px;
	object-fit: contain;
}

.site-header.is-compact .menu-toggle {
	width: 32px;
	height: 32px;
	padding: 4px;
}

.site-header.is-compact .menu-toggle__icon {
	width: 24px;
	height: 24px;
}

.header-menu-panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	max-height: calc(100vh - 66px);
	overflow-y: auto;
	border-bottom: 1px solid rgba(255, 255, 255, 0.48);
	background: rgba(239, 245, 246, 0.82);
	box-shadow: 0 22px 46px rgba(23, 37, 45, 0.10);
	backdrop-filter: blur(24px) saturate(130%);
	-webkit-backdrop-filter: blur(24px) saturate(130%);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-10px);
	transition:
		opacity 180ms ease,
		transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 240ms;
}

.header-menu-panel.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		opacity 180ms ease,
		transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0s linear 0s;
}

.header-menu-panel__inner {
	padding-block: clamp(1.25rem, 3vw, 2rem);
}

.header-menu-panel__navigation > ul {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.65rem 1.5rem;
}

.header-menu-panel__navigation a {
	display: block;
	padding: 0.75rem 0;
}

body.wf-menu-open {
	overflow: hidden;
}

.admin-bar .site-header {
	top: 32px;
}

.wf-button,
button.wf-button,
input[type="submit"].wf-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.78rem 1.25rem;
	border: 1px solid rgba(0, 0, 0, 0.28);
	border-radius: 999px;
	box-shadow: var(--wf-shadow-inset);
	background: #3f4146;
	color: #fff;
	font-weight: 650;
	line-height: 1;
	text-decoration: none;
	transition: transform var(--wf-transition), box-shadow var(--wf-transition), background var(--wf-transition);
}

.wf-button:hover,
.wf-button:focus-visible {
	transform: translateY(-1px);
	background: #35373b;
	box-shadow: var(--wf-shadow-inset), 0 8px 22px rgba(0, 0, 0, 0.10);
}

.wf-button.header-cta {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(226, 234, 239, 0.10));
	color: #20252b;
}

.wf-button.header-cta:hover,
.wf-button.header-cta:focus-visible {
	transform: none;
	color: #20252b;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.54), rgba(248, 250, 252, 0.34));
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.92),
		inset 0 -1px 0 rgba(93, 106, 118, 0.18),
		inset 0 0 22px rgba(255, 255, 255, 0.28),
		0 -1px 1px rgba(255, 255, 255, 0.58);
	backdrop-filter: blur(26px) saturate(112%);
	-webkit-backdrop-filter: blur(26px) saturate(112%);
}

.wf-button.header-cta:hover .header-cta__line,
.wf-button.header-cta:focus-visible .header-cta__line {
	color: #20252b;
	text-shadow: none;
}

.wf-button.header-cta:hover::after,
.wf-button.header-cta:focus-visible::after {
	opacity: 1;
	border-color: rgba(255, 255, 255, 0.42);
	box-shadow:
		inset 0 0 18px rgba(255, 255, 255, 0.14),
		0 0 10px rgba(255, 255, 255, 0.08);
}

.header-cta-wrap:hover,
.header-cta-wrap:focus-within {
	transform: none;
}

.header-cta-wrap:hover::before,
.header-cta-wrap:focus-within::before {
	opacity: 0;
	filter: blur(10px);
}

.header-cta-wrap:hover .header-cta-shadow,
.header-cta-wrap:focus-within .header-cta-shadow {
	transform: translate3d(6px, 7px, 0);
	filter: blur(1.5px);
}

.wf-button.header-cta:focus-visible {
	outline: 2px solid var(--wf-accent);
	outline-offset: 3px;
}

.wf-surface--neumorphic {
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: var(--wf-radius-lg);
	background: var(--wf-surface);
	box-shadow: var(--wf-shadow-soft);
}

.wf-surface--glass {
	border: 1px solid rgba(255, 255, 255, 0.52);
	border-radius: var(--wf-radius-lg);
	background: rgba(255, 255, 255, 0.42);
	box-shadow: 0 18px 50px rgba(22, 24, 29, 0.09);
	backdrop-filter: blur(20px) saturate(130%);
	-webkit-backdrop-filter: blur(20px) saturate(130%);
}

.site-footer {
	margin-top: clamp(3rem, 7vw, 7rem);
	padding-block: 3rem 1.5rem;
	border-top: 1px solid var(--wf-border);
}

.site-footer__inner,
.site-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}

.site-footer__brand {
	max-width: 34rem;
}

.site-footer__bottom {
	align-items: center;
	margin-top: 2.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--wf-border);
	color: var(--wf-muted);
}

.site-footer__bottom ul {
	display: flex;
	gap: 1.25rem;
}

.wf-error-page {
	min-height: 56vh;
}

.eyebrow {
	font-weight: 700;
	color: var(--wf-accent);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

@media (max-width: 1040px) {
	.site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 1rem;
	}

	.primary-navigation--desktop {
		display: none;
	}

	.site-header__actions {
		grid-column: 2;
	}

	.header-menu-panel__navigation > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 640px) {
	body {
		padding-top: 78px;
	}

	.site-header__inner {
		min-height: 78px;
		gap: 0.65rem;
	}

	.site-header.is-compact .site-header__inner {
		min-height: 60px;
	}

	.custom-logo {
		max-width: min(165px, 34vw);
		max-height: 42px;
	}

	.site-header.is-compact .custom-logo {
		max-width: min(145px, 31vw);
		max-height: 34px;
	}

	.site-header__actions {
		gap: 0.45rem;
	}

	.header-cta-wrap {
		margin-right: 6px;
		margin-bottom: 7px;
	}

	.header-cta-shadow {
		transform: translate3d(5px, 7px, 0);
	}

	.wf-button.header-cta {
		min-width: 140px;
		min-height: 50px;
		padding: 0.44rem 1rem 0.48rem;
	}

	.header-cta__line {
		font-size: 0.78rem;
	}

	.header-cta__line--strong {
		font-size: 0.86rem;
	}

	.site-header.is-compact .header-cta-wrap {
		margin-right: 5px;
		margin-bottom: 5px;
	}

	.site-header.is-compact .header-cta-shadow {
		transform: translate3d(4px, 6px, 0);
	}

	.site-header.is-compact .header-cta {
		min-width: 116px;
		min-height: 42px;
		padding: 0.38rem 0.8rem 0.42rem;
	}

	.site-header.is-compact .header-cta__line {
		font-size: 0.72rem;
	}

	.site-header.is-compact .header-cta__line--strong {
		font-size: 0.79rem;
	}

	.menu-toggle {
		width: 36px;
		height: 36px;
		padding: 4px;
	}

	.site-header.is-compact .menu-toggle {
		width: 32px;
		height: 32px;
		padding: 3px;
	}

	.header-menu-panel__navigation > ul {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.header-menu-panel__navigation a {
		padding: 0.9rem 0;
		border-bottom: 1px solid rgba(32, 33, 36, 0.08);
	}

	.site-footer__inner,
	.site-footer__bottom {
		flex-direction: column;
	}
}

@media (max-width: 420px) {
	.wf-button.header-cta {
		min-width: 126px;
		padding-inline: 0.82rem;
	}

	.custom-logo {
		max-width: min(132px, 31vw);
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/**
 * Single Service experience.
 *
 * The Service template combines editorial Gutenberg chapters with reusable
 * Web Fusion Core fields. The visual language stays within the site's existing
 * atmospheric glass / soft-neumorphic system and does not require page-builder
 * markup inside the editor.
 */
.service-single {
	overflow: clip;
}

.service-page {
	--service-section-space: clamp(4.5rem, 8vw, 8rem);
	--service-card-border: rgba(255, 255, 255, 0.56);
	--service-line: rgba(32, 33, 36, 0.11);
	--service-soft-ink: rgba(32, 33, 36, 0.68);
}

.service-hero {
	position: relative;
	padding-block: clamp(4.25rem, 7.5vw, 7.5rem) clamp(3.8rem, 6.5vw, 6rem);
}

.service-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -12%;
	right: -12%;
	width: min(58vw, 860px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.12) 34%, rgba(255, 255, 255, 0) 70%);
	filter: blur(4px);
	pointer-events: none;
}

.service-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);
	align-items: center;
	gap: clamp(3rem, 6vw, 6.25rem);
}

.service-hero__copy {
	max-width: 790px;
}

.service-kicker,
.service-section-heading__eyebrow {
	margin: 0 0 1.1rem;
	color: var(--wf-accent);
	font-size: 0.78rem;
	font-weight: 760;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.service-kicker {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0.5rem 0.82rem;
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.20);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 10px 26px rgba(28, 43, 52, 0.07);
	backdrop-filter: blur(16px) saturate(122%);
	-webkit-backdrop-filter: blur(16px) saturate(122%);
}

.service-title {
	max-width: 860px;
	margin: 0;
	font-size: clamp(3.25rem, 7.4vw, 7.1rem);
	font-weight: 610;
	line-height: 0.94;
	letter-spacing: -0.055em;
	text-wrap: balance;
}

.service-hero__value {
	max-width: 690px;
	margin: clamp(1.8rem, 3vw, 2.6rem) 0 0;
	color: rgba(32, 33, 36, 0.76);
	font-size: clamp(1.15rem, 1.7vw, 1.45rem);
	line-height: 1.5;
}

.service-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.2rem;
	margin-top: 2.2rem;
}

.wf-button.service-primary-cta {
	position: relative;
	gap: 0.72rem;
	min-height: 56px;
	padding: 0.9rem 1.35rem 0.9rem 1.55rem;
	border: 1px solid rgba(12, 14, 16, 0.72);
	background: linear-gradient(180deg, #46494f 0%, #37393e 100%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18),
		inset 0 -1px 0 rgba(0, 0, 0, 0.42),
		0 12px 28px rgba(31, 37, 42, 0.13);
	font-weight: 700;
	transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.wf-button.service-primary-cta:hover,
.wf-button.service-primary-cta:focus-visible {
	transform: none;
	border-color: rgba(12, 14, 16, 0.86);
	background: linear-gradient(180deg, #3e4146 0%, #303237 100%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.20),
		inset 0 -1px 0 rgba(0, 0, 0, 0.46),
		0 14px 34px rgba(31, 37, 42, 0.16);
}

.wf-button.service-primary-cta:focus-visible {
	outline: 2px solid var(--wf-accent);
	outline-offset: 4px;
}

.service-primary-cta svg {
	flex: 0 0 auto;
	transition: transform 180ms ease;
}

.service-primary-cta:hover svg,
.service-primary-cta:focus-visible svg {
	transform: translateX(2px);
}

.service-price-cue {
	color: rgba(32, 33, 36, 0.62);
	font-size: 0.94rem;
	font-weight: 600;
}

.service-markets {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-top: 1.7rem;
}

.service-markets__label {
	margin-right: 0.15rem;
	color: rgba(32, 33, 36, 0.52);
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

.service-market-chip {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0.36rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.50);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
	font-size: 0.78rem;
	font-weight: 580;
}

.service-hero__outcomes {
	position: relative;
}

.service-hero__outcomes::before,
.service-hero__outcomes::after {
	content: "";
	position: absolute;
	z-index: -1;
	border-radius: 50%;
	pointer-events: none;
}

.service-hero__outcomes::before {
	width: 190px;
	height: 190px;
	top: -70px;
	right: -35px;
	background: radial-gradient(circle, rgba(217, 32, 47, 0.11), rgba(217, 32, 47, 0) 70%);
	filter: blur(10px);
}

.service-hero__outcomes::after {
	width: 250px;
	height: 250px;
	bottom: -110px;
	left: -95px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0) 68%);
}

.service-hero-panel {
	position: relative;
	padding: clamp(1.45rem, 2.8vw, 2.2rem);
	border-radius: 30px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.42), rgba(241, 247, 248, 0.20)),
		rgba(255, 255, 255, 0.18);
	box-shadow:
		0 28px 70px rgba(28, 43, 52, 0.13),
		inset 0 1px 0 rgba(255, 255, 255, 0.82),
		inset 0 -1px 0 rgba(91, 109, 118, 0.12);
	transform: rotate(1.5deg);
}

.service-hero-panel::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(255, 255, 255, 0.26);
	border-radius: 22px;
	pointer-events: none;
}

.service-hero-panel__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(32, 33, 36, 0.10);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.service-status-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--wf-accent);
	box-shadow: 0 0 0 5px rgba(217, 32, 47, 0.09), 0 0 18px rgba(217, 32, 47, 0.28);
}

.service-hero-panel__list {
	display: grid;
	gap: 0;
	padding: 0;
	margin: 0.55rem 0 0;
	list-style: none;
}

.service-hero-panel__list li {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 0.72rem;
	align-items: start;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(32, 33, 36, 0.08);
	color: rgba(32, 33, 36, 0.78);
	font-size: 0.95rem;
	line-height: 1.45;
}

.service-hero-panel__list li:last-child {
	border-bottom: 0;
}

.service-hero-panel__marker {
	width: 8px;
	height: 8px;
	margin-top: 0.34rem;
	border: 1px solid rgba(32, 33, 36, 0.26);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.58);
	box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.80), 1px 1px 3px rgba(46, 57, 63, 0.18);
}

.service-hero-panel__meter {
	height: 7px;
	margin-top: 1.2rem;
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 999px;
	background: rgba(225, 233, 235, 0.52);
	box-shadow: inset 2px 2px 5px rgba(52, 65, 72, 0.13), inset -2px -2px 5px rgba(255, 255, 255, 0.65);
	overflow: hidden;
}

.service-hero-panel__meter span {
	display: block;
	width: 68%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(217, 32, 47, 0.46), var(--wf-accent));
	box-shadow: 0 0 16px rgba(217, 32, 47, 0.18);
}

.service-section {
	padding-block: var(--service-section-space);
}

.service-lead-section {
	padding-block: 0 clamp(4.2rem, 7vw, 6.5rem);
}

.service-lead-section__grid {
	display: grid;
	grid-template-columns: minmax(64px, 0.24fr) minmax(0, 1fr);
	gap: clamp(1.4rem, 3vw, 3.5rem);
	align-items: start;
	max-width: 1120px;
}

.service-section-label,
.service-editorial__number,
.service-card-index,
.service-process-step__number {
	color: rgba(32, 33, 36, 0.36);
	font-variant-numeric: tabular-nums;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.service-section-label {
	padding-top: 0.46rem;
}

.service-section-label,
.service-editorial__number,
.service-card-index {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
}

.service-section-label::after,
.service-editorial__number::after,
.service-card-index::after {
	content: "";
	display: block;
	width: 24px;
	height: 1px;
	background: linear-gradient(90deg, rgba(217, 32, 47, 0.78), rgba(217, 32, 47, 0.12));
}

.service-prose {
	color: rgba(32, 33, 36, 0.78);
	font-size: 1.05rem;
	line-height: 1.72;
}

.service-prose--lead {
	max-width: 820px;
	font-size: clamp(1.18rem, 1.65vw, 1.42rem);
	line-height: 1.62;
}

.service-prose > * {
	margin-top: 0;
}

.service-prose > * + * {
	margin-top: 1.25em;
}

.service-prose a {
	text-decoration-thickness: 1px;
}

.service-prose ul,
.service-prose ol {
	padding-left: 1.2rem;
}

.service-prose li + li {
	margin-top: 0.55rem;
}

.service-prose--compact {
	font-size: 0.98rem;
	line-height: 1.62;
}

.service-section-heading {
	max-width: 820px;
	margin-bottom: clamp(2.1rem, 4vw, 3.6rem);
}

.service-section-heading h2,
.service-editorial__heading h2 {
	margin: 0;
	font-size: clamp(2.4rem, 4.8vw, 4.65rem);
	font-weight: 600;
	letter-spacing: -0.045em;
	line-height: 1;
	text-wrap: balance;
}

.service-section-heading--split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.6fr);
	gap: 3rem;
	align-items: end;
	max-width: none;
}

.service-section-heading--split > p {
	max-width: 480px;
	margin: 0 0 0.35rem;
	color: var(--service-soft-ink);
	font-size: 1.03rem;
}

.service-fit-section {
	position: relative;
}

.service-fit-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 8% 0;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.18) 28%, rgba(255, 255, 255, 0.18) 72%, rgba(255, 255, 255, 0));
}

.service-fit-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(1.2rem, 2.2vw, 2rem);
	align-items: stretch;
}

.service-problem-card,
.service-audience-card {
	padding: clamp(1.55rem, 2.5vw, 2.35rem);
}

.service-problem-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 100%;
	background: rgba(255, 255, 255, 0.28);
}

.service-problem-card h3,
.service-audience-card h3 {
	margin: clamp(2rem, 3.8vw, 3.6rem) 0 0.9rem;
	font-size: clamp(1.55rem, 2.5vw, 2.25rem);
	font-weight: 620;
	letter-spacing: -0.035em;
}

.service-problem-card p {
	margin: 0;
	color: var(--service-soft-ink);
	font-size: clamp(1.02rem, 1.35vw, 1.18rem);
	line-height: 1.65;
}

.service-audience-card {
	border: 1px solid rgba(255, 255, 255, 0.44);
	background: rgba(241, 245, 246, 0.72);
}

.service-card-head {
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}

.service-card-head h3 {
	margin-top: 0;
	max-width: 520px;
}

.service-audience-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-audience-list li {
	position: relative;
	padding: 1.05rem 1.5rem 1.05rem 1.05rem;
	border-top: 1px solid var(--service-line);
	color: rgba(32, 33, 36, 0.72);
	line-height: 1.48;
}

.service-audience-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.52rem;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--wf-accent);
	box-shadow: 0 0 0 4px rgba(217, 32, 47, 0.07);
}

.service-editorial {
	padding-top: clamp(3.5rem, 6vw, 5.5rem);
}

.service-editorial__chapter {
	display: grid;
	grid-template-columns: minmax(230px, 0.38fr) minmax(0, 1fr);
	gap: clamp(2.2rem, 4.2vw, 4.8rem);
	padding-block: clamp(3rem, 5.5vw, 5.5rem);
	border-top: 1px solid var(--service-line);
}

.service-editorial__chapter:last-child {
	border-bottom: 1px solid var(--service-line);
}

.service-editorial__heading {
	position: relative;
}

.service-editorial__heading h2 {
	margin-top: 1rem;
	font-size: clamp(2rem, 3.35vw, 3.35rem);
}

.service-editorial__body {
	min-width: 0;
}

.service-editorial__lead {
	max-width: 850px;
}

.service-editorial__lead > ul,
.service-editorial__lead > ol {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	padding: 0;
	margin-top: 1.9rem;
	border-top: 1px solid rgba(32, 33, 36, 0.12);
	list-style: none;
}

.service-editorial__lead > ul li,
.service-editorial__lead > ol li {
	position: relative;
	padding: 0.92rem 1.25rem 0.92rem 1.35rem;
	border-bottom: 1px solid var(--service-line);
}

.service-editorial__lead > ul li::before,
.service-editorial__lead > ol li::before {
	content: "";
	position: absolute;
	left: 0.1rem;
	top: 1.28rem;
	width: 8px;
	height: 8px;
	border: 1px solid rgba(217, 32, 47, 0.38);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.45);
	box-shadow: inset 0 0 0 2px rgba(217, 32, 47, 0.08);
}

.service-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin-top: 1.85rem;
}

.service-feature-card {
	min-height: 170px;
	padding: 1.45rem;
	border-color: rgba(255, 255, 255, 0.46);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.20);
	box-shadow: 0 12px 30px rgba(28, 43, 52, 0.045), inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.service-feature-card h3 {
	margin-bottom: 0.95rem;
	font-size: 1.22rem;
	font-weight: 680;
	letter-spacing: -0.025em;
}

.service-benefits {
	position: relative;
}

.service-benefit-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-benefit-card {
	position: relative;
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	min-height: 126px;
	padding: 1.18rem;
	border-top: 1px solid rgba(255, 255, 255, 0.60);
	border-left: 1px solid rgba(255, 255, 255, 0.34);
	border-right: 1px solid rgba(32, 33, 36, 0.07);
	border-bottom: 1px solid rgba(32, 33, 36, 0.10);
	border-radius: 22px;
	background: rgba(244, 247, 248, 0.40);
	box-shadow: 8px 10px 20px rgba(48, 60, 66, 0.07), -6px -6px 18px rgba(255, 255, 255, 0.28);
	color: rgba(32, 33, 36, 0.76);
	font-size: 1rem;
	line-height: 1.52;
}

.service-benefit-card::after {
	content: "";
	position: absolute;
	left: 1.18rem;
	bottom: 0;
	width: 30px;
	height: 1px;
	background: rgba(217, 32, 47, 0.34);
}

.service-check {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(255, 255, 255, 0.62);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.46);
	box-shadow: inset 1px 1px 2px rgba(255, 255, 255, 0.86), 2px 3px 8px rgba(46, 57, 63, 0.12);
	color: var(--wf-accent);
}

.service-process {
	position: relative;
}

.service-process::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 8% 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.16) 25%, rgba(255, 255, 255, 0.16) 75%, rgba(255, 255, 255, 0));
}

.service-process-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	padding: 0;
	margin: 0;
	list-style: none;
	counter-reset: service-process;
}

.service-process-step {
	position: relative;
	min-height: 166px;
	padding: 1.3rem;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.22);
}

.service-process-step::after {
	content: "";
	position: absolute;
	top: 1.7rem;
	right: -0.6rem;
	z-index: 2;
	width: 1.2rem;
	height: 1px;
	background: linear-gradient(90deg, rgba(32, 33, 36, 0.14), rgba(217, 32, 47, 0.42));
}

.service-process-step:nth-child(3n)::after,
.service-process-step:last-child::after {
	display: none;
}

.service-process-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 32px;
	padding-inline: 0.55rem;
	border: 1px solid rgba(217, 32, 47, 0.22);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.38);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78), 0 4px 14px rgba(217, 32, 47, 0.06);
	color: var(--wf-accent);
}

.service-process-step p {
	margin: clamp(1.8rem, 3vw, 2.8rem) 0 0;
	color: rgba(32, 33, 36, 0.76);
	font-size: 1.02rem;
	font-weight: 580;
	line-height: 1.5;
}

.service-deliverables__grid {
	display: grid;
	grid-template-columns: minmax(260px, 0.52fr) minmax(0, 1fr);
	gap: clamp(2.7rem, 5vw, 5.5rem);
	align-items: start;
}

.service-section-heading--sticky {
	position: sticky;
	top: 110px;
	margin-bottom: 0;
}

.service-deliverables-card {
	padding: clamp(1rem, 1.6vw, 1.35rem) clamp(1.35rem, 2.5vw, 2rem);
	border: 1px solid rgba(255, 255, 255, 0.46);
	background: rgba(241, 245, 246, 0.64);
}

.service-deliverables-card ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-deliverables-card li {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding: 1.05rem 0;
	border-bottom: 1px solid var(--service-line);
}

.service-deliverables-card li:last-child {
	border-bottom: 0;
}

.service-deliverables-card li > span {
	color: rgba(217, 32, 47, 0.64);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.service-deliverables-card p {
	margin: 0;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	font-weight: 590;
	line-height: 1.45;
}

.service-faq__grid {
	display: grid;
	grid-template-columns: minmax(240px, 0.48fr) minmax(0, 1fr);
	gap: clamp(2.7rem, 5vw, 5.5rem);
	align-items: start;
}

.service-faq__items {
	display: grid;
	gap: 0.8rem;
}

.service-faq-item {
	padding: 0;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.24);
	overflow: hidden;
}

.service-faq-item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1.3rem 1.45rem;
	font-weight: 650;
	cursor: pointer;
	list-style: none;
}

.service-faq-item summary::-webkit-details-marker {
	display: none;
}

.service-faq-item summary span {
	display: grid;
	place-items: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.34);
	transition: transform 180ms ease;
}

.service-faq-item[open] summary span {
	transform: rotate(45deg);
}

.service-faq-item__answer {
	padding: 0 1.45rem 1.4rem;
	color: var(--service-soft-ink);
}

.service-faq-item__answer p:last-child {
	margin-bottom: 0;
}

.service-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.service-related-group__label {
	margin: 0 0 0.8rem;
	color: rgba(32, 33, 36, 0.46);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-related-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.2rem;
	padding: 1.1rem 1.2rem;
	margin-top: 0.7rem;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.24);
	font-weight: 620;
	line-height: 1.35;
	text-decoration: none;
	transition: background 180ms ease, border-color 180ms ease;
}

.service-related-card:hover,
.service-related-card:focus-visible {
	background: rgba(255, 255, 255, 0.44);
	border-color: rgba(255, 255, 255, 0.72);
}

.service-final-cta {
	padding-top: clamp(3.5rem, 6vw, 5.5rem);
	padding-bottom: clamp(6rem, 10vw, 9rem);
}

.service-final-cta__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
	padding: clamp(2.25rem, 4.5vw, 4rem);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: clamp(28px, 4vw, 44px);
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.40), rgba(235, 242, 243, 0.24)),
		rgba(255, 255, 255, 0.18);
	box-shadow:
		0 30px 80px rgba(27, 42, 50, 0.10),
		inset 0 1px 0 rgba(255, 255, 255, 0.88),
		inset 0 -1px 0 rgba(68, 83, 91, 0.10);
	backdrop-filter: blur(26px) saturate(126%);
	-webkit-backdrop-filter: blur(26px) saturate(126%);
	overflow: hidden;
}

.service-final-cta__panel::before {
	content: "";
	position: absolute;
	top: 0;
	left: clamp(2.25rem, 4.5vw, 4rem);
	width: 54px;
	height: 2px;
	background: linear-gradient(90deg, var(--wf-accent), rgba(217, 32, 47, 0.08));
}

.service-final-cta__glow {
	position: absolute;
	width: 360px;
	height: 260px;
	right: -80px;
	bottom: -150px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(217, 32, 47, 0.13), rgba(217, 32, 47, 0) 70%);
	filter: blur(10px);
	pointer-events: none;
}

.service-final-cta__copy {
	position: relative;
	max-width: 760px;
}

.service-final-cta__copy h2 {
	margin: 0;
	font-size: clamp(2.4rem, 5vw, 5rem);
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 0.98;
}

.service-final-cta__copy > p:last-child {
	max-width: 620px;
	margin: 1.35rem 0 0;
	color: var(--service-soft-ink);
	font-size: 1.05rem;
}

.service-primary-cta--large {
	min-width: 224px;
	min-height: 66px;
	padding-inline: 1.7rem;
	font-size: 1rem;
}

@media (max-width: 1080px) {
	.service-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 0.62fr);
		gap: 3rem;
	}

	.service-title {
		font-size: clamp(3.1rem, 7vw, 6rem);
	}

	.service-fit-grid,
	.service-deliverables__grid,
	.service-faq__grid {
		grid-template-columns: 1fr;
	}

	.service-section-heading--sticky {
		position: static;
	}

	.service-benefit-grid,
	.service-process-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.service-process-step:nth-child(3n)::after {
		display: block;
	}

	.service-process-step:nth-child(2n)::after,
	.service-process-step:last-child::after {
		display: none;
	}
}

@media (max-width: 860px) {
	.service-hero {
		padding-top: clamp(3.3rem, 7vw, 5rem);
	}

	.service-hero__grid {
		grid-template-columns: 1fr;
	}

	.service-hero__copy {
		max-width: 760px;
	}

	.service-hero__outcomes {
		max-width: 620px;
	}

	.service-hero-panel {
		transform: none;
	}

	.service-section-heading--split {
		grid-template-columns: 1fr;
		gap: 1.3rem;
	}

	.service-editorial__chapter {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.service-editorial__heading {
		max-width: 680px;
	}

	.service-related-grid {
		grid-template-columns: 1fr;
	}

	.service-final-cta__panel {
		grid-template-columns: 1fr;
	}

	.service-final-cta__panel .service-primary-cta {
		justify-self: start;
	}
}

@media (max-width: 640px) {
	.service-page {
		--service-section-space: clamp(3.8rem, 12vw, 5.3rem);
	}

	.service-hero {
		padding-block: 3.4rem 4.3rem;
	}

	.service-title {
		font-size: clamp(2.75rem, 14vw, 4.6rem);
		line-height: 0.96;
	}

	.service-hero__value {
		font-size: 1.08rem;
	}

	.service-hero__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.wf-button.service-primary-cta {
		width: 100%;
	}

	.service-markets {
		align-items: flex-start;
	}

	.service-markets__label {
		flex-basis: 100%;
	}

	.service-lead-section__grid {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.service-section-label {
		padding-top: 0;
	}

	.service-prose--lead {
		font-size: 1.12rem;
	}

	.service-audience-list,
	.service-editorial__lead > ul,
	.service-editorial__lead > ol,
	.service-feature-grid,
	.service-benefit-grid,
	.service-process-grid {
		grid-template-columns: 1fr;
	}

	.service-audience-list li {
		padding-right: 0;
	}

	.service-feature-card,
	.service-benefit-card,
	.service-process-step {
		min-height: auto;
	}

	.service-process-step::after,
	.service-process-step:nth-child(3n)::after {
		display: none;
	}

	.service-deliverables-card li {
		grid-template-columns: 38px minmax(0, 1fr);
	}

	.service-final-cta__panel {
		padding: 1.6rem;
		border-radius: 28px;
	}
}


/* Visual enrichment — v0.12.2 */
.service-inline-icon {
	display: inline-grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 999px;
	color: var(--wf-accent);
}

.service-inline-icon svg {
	display: block;
	width: 1.05rem;
	height: 1.05rem;
}

.service-inline-icon--surface {
	border: 1px solid rgba(255, 255, 255, 0.66);
	background: rgba(255, 255, 255, 0.42);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 6px 14px rgba(31, 43, 51, 0.07);
}

.service-inline-icon--accent {
	border: 1px solid rgba(217, 32, 47, 0.16);
	background: rgba(255, 255, 255, 0.32);
	box-shadow: 0 8px 18px rgba(217, 32, 47, 0.08);
}

.service-hero__outcomes {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.service-hero-visual {
	position: relative;
	padding: 1.25rem;
	border-radius: 28px;
	background:
		linear-gradient(145deg, rgba(255, 255, 255, 0.44), rgba(241, 247, 248, 0.24)),
		rgba(255, 255, 255, 0.18);
	box-shadow:
		0 26px 60px rgba(28, 43, 52, 0.11),
		inset 0 1px 0 rgba(255, 255, 255, 0.78),
		inset 0 -1px 0 rgba(91, 109, 118, 0.10);
	overflow: hidden;
}

.service-hero-visual::after {
	content: "";
	position: absolute;
	width: 220px;
	height: 160px;
	right: -70px;
	bottom: -80px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(217, 32, 47, 0.10), rgba(217, 32, 47, 0) 72%);
	pointer-events: none;
}

.service-hero-visual__topline {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
	font-size: 0.84rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.service-hero-visual__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.7rem;
	margin-bottom: 1rem;
}

.service-hero-stat {
	padding: 0.8rem 0.72rem;
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.26);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.service-hero-stat strong {
	display: block;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1;
}

.service-hero-stat span {
	display: block;
	margin-top: 0.35rem;
	color: rgba(32, 33, 36, 0.62);
	font-size: 0.75rem;
	line-height: 1.35;
}

.service-hero-visual__chart {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) 78px;
	gap: 0.8rem;
	align-items: end;
}

.service-hero-sparkline {
	width: 100%;
	height: auto;
	overflow: visible;
}

.service-hero-sparkline__area {
	fill: rgba(217, 32, 47, 0.10);
}

.service-hero-sparkline__line {
	fill: none;
	stroke: var(--wf-accent);
	stroke-width: 2.3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 320;
	stroke-dashoffset: 320;
	animation: wf-service-line-reveal 1.8s ease forwards;
}

.service-hero-bars {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	align-items: end;
	gap: 0.4rem;
	height: 100%;
	min-height: 86px;
}

.service-hero-bars span,
.service-mini-chart span {
	display: block;
	align-self: end;
	border-radius: 999px 999px 0 0;
	background: linear-gradient(180deg, rgba(217, 32, 47, 0.28), rgba(217, 32, 47, 0.8));
	box-shadow: 0 0 14px rgba(217, 32, 47, 0.10);
	transform-origin: bottom center;
	transform: scaleY(0.35);
	animation: wf-service-bar-grow 0.9s ease forwards;
}

.service-hero-bars span {
	height: var(--bar);
}

.service-hero-bars span:nth-child(2) { animation-delay: 0.08s; }
.service-hero-bars span:nth-child(3) { animation-delay: 0.16s; }
.service-hero-bars span:nth-child(4) { animation-delay: 0.24s; }
.service-hero-bars span:nth-child(5) { animation-delay: 0.32s; }

.service-hero-visual__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.9rem;
}

.service-hero-visual__chips span {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0.28rem 0.62rem;
	border: 1px solid rgba(255, 255, 255, 0.56);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.26);
	font-size: 0.76rem;
	font-weight: 600;
}

.service-card-head--split {
	justify-content: space-between;
}

.service-audience-card .service-card-head {
	align-items: start;
	gap: 0.9rem;
}

.service-audience-card .service-card-head > div {
	display: grid;
	gap: 0.55rem;
}

.service-feature-card__head,
.service-process-step__topline,
.service-deliverables-card__meta {
	display: flex;
	align-items: center;
	gap: 0.8rem;
}

.service-feature-card__head {
	margin-bottom: 0.85rem;
}

.service-feature-card__head h3,
.service-audience-card .service-card-head h3 {
	margin: 0;
}

.service-benefit-card__content {
	display: grid;
	gap: 0.85rem;
}

.service-mini-chart {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.3rem;
	align-items: end;
	width: 76px;
	height: 26px;
}

.service-mini-chart span {
	height: var(--bar);
	background: linear-gradient(180deg, rgba(217, 32, 47, 0.22), rgba(217, 32, 47, 0.64));
}

.service-process-step__topline {
	justify-content: space-between;
}

.service-deliverables-card__meta {
	gap: 0.6rem;
}

.service-deliverables-card__meta .service-inline-icon {
	width: 1.9rem;
	height: 1.9rem;
}

.service-final-cta__support {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	padding: 0;
	margin: 1.3rem 0 0;
	list-style: none;
}

.service-final-cta__support li {
	display: grid;
	grid-template-columns: 2.2rem minmax(0, 1fr);
	gap: 0.7rem;
	align-items: start;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.18);
	font-size: 0.92rem;
	line-height: 1.45;
}

.service-final-cta__support li .service-inline-icon {
	width: 1.95rem;
	height: 1.95rem;
}

@keyframes wf-service-line-reveal {
	to {
		stroke-dashoffset: 0;
	}
}

@keyframes wf-service-bar-grow {
	to {
		transform: scaleY(1);
	}
}

@media (max-width: 1080px) {
	.service-hero-visual__chart {
		grid-template-columns: minmax(0, 1fr) 78px;
	}

	.service-final-cta__support {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 860px) {
	.service-hero-visual__stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.service-hero-visual,
	.service-hero-panel {
		padding: 1rem;
		border-radius: 22px;
	}

	.service-hero-visual__stats,
	.service-hero-visual__chart {
		grid-template-columns: 1fr;
	}

	.service-hero-bars {
		min-height: 56px;
	}

	.service-inline-icon {
		width: 2rem;
		height: 2rem;
	}
}


/* ==========================================================================\n   Service Experience v0.13.0 — editorial technology direction\n   ========================================================================== */
.service-v13 {
	--sv13-dark: #17191d;
	--sv13-dark-soft: #202329;
	--sv13-line: rgba(32, 33, 36, 0.14);
	--sv13-copy: rgba(32, 33, 36, 0.74);
	--sv13-space: clamp(6rem, 10vw, 10.5rem);
	overflow: clip;
}

.service-v13-section {
	position: relative;
	padding-block: var(--sv13-space);
}

.service-v13-kicker,
.service-v13-heading > p {
	margin: 0 0 1rem;
	color: var(--wf-accent);
	font-size: 0.76rem;
	font-weight: 760;
	letter-spacing: 0.16em;
	line-height: 1.2;
	text-transform: uppercase;
}

.service-v13-heading {
	max-width: 900px;
}

.service-v13-heading h2 {
	margin: 0;
	font-size: clamp(3rem, 6vw, 6.3rem);
	font-weight: 590;
	letter-spacing: -0.055em;
	line-height: 0.94;
	text-wrap: balance;
}

.service-v13-number {
	display: inline-block;
	margin-bottom: 1.1rem;
	color: var(--wf-accent);
	font-size: 0.76rem;
	font-weight: 760;
	letter-spacing: 0.14em;
}

.service-v13-icon {
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.28);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
	color: var(--wf-accent);
}

.service-v13-icon svg {
	width: 1.3rem;
	height: 1.3rem;
}

/* Hero */
.service-v13-hero {
	position: relative;
	min-height: min(880px, calc(100vh - 92px));
	padding-block: clamp(4.5rem, 8vw, 8.5rem) clamp(5rem, 9vw, 8rem);
	display: grid;
	align-items: center;
}

.service-v13-hero__ambient {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(44% 56% at 76% 42%, rgba(255, 255, 255, 0.33), rgba(255, 255, 255, 0) 72%),
		radial-gradient(26% 32% at 84% 30%, rgba(217, 32, 47, 0.08), rgba(217, 32, 47, 0) 76%);
}

.service-v13-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(390px, 0.95fr);
	gap: clamp(3.5rem, 7vw, 8rem);
	align-items: center;
}

.service-v13-hero__copy {
	max-width: 760px;
}

.service-v13-title {
	max-width: 900px;
	margin: 0;
	font-size: clamp(4rem, 8.2vw, 8rem);
	font-weight: 585;
	letter-spacing: -0.067em;
	line-height: 0.89;
	text-wrap: balance;
}

.service-v13-hero__value {
	max-width: 680px;
	margin: clamp(2rem, 3vw, 2.7rem) 0 0;
	color: rgba(32, 33, 36, 0.72);
	font-size: clamp(1.18rem, 1.7vw, 1.48rem);
	line-height: 1.48;
}

.service-v13-hero__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 2.35rem;
}

.service-v13-markets {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.1rem;
	margin-top: 1.5rem;
	font-size: 0.82rem;
}

.service-v13-markets > span {
	color: rgba(32, 33, 36, 0.48);
	font-weight: 650;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.service-v13-markets strong {
	font-weight: 620;
}

.service-v13-hero__visual {
	position: relative;
	min-height: 560px;
	display: grid;
	place-items: center;
	perspective: 1200px;
}

.service-v13-browser {
	position: relative;
	width: min(100%, 620px);
	aspect-ratio: 1.08;
	border: 1px solid rgba(255, 255, 255, 0.56);
	border-radius: 34px;
	background: linear-gradient(150deg, rgba(255, 255, 255, 0.46), rgba(227, 237, 239, 0.24));
	box-shadow:
		0 44px 100px rgba(29, 43, 51, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.9),
		inset 0 -1px 0 rgba(83, 101, 110, 0.12);
	backdrop-filter: blur(30px) saturate(122%);
	-webkit-backdrop-filter: blur(30px) saturate(122%);
	transform: rotateY(-8deg) rotateX(3deg) rotateZ(1deg);
	overflow: hidden;
}

.service-v13-browser::before,
.service-v13-browser::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.service-v13-browser::before {
	inset: 10px;
	border: 1px solid rgba(255, 255, 255, 0.27);
	border-radius: 26px;
}

.service-v13-browser::after {
	width: 180px;
	height: 180px;
	right: -70px;
	bottom: -80px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(217, 32, 47, 0.16), rgba(217, 32, 47, 0) 70%);
	filter: blur(8px);
}

.service-v13-browser__chrome {
	display: flex;
	align-items: center;
	gap: 0.42rem;
	height: 58px;
	padding-inline: 1.25rem;
	border-bottom: 1px solid rgba(32, 33, 36, 0.08);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.service-v13-browser__chrome i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(32, 33, 36, 0.16);
}

.service-v13-browser__chrome i:first-child {
	background: var(--wf-accent);
}

.service-v13-browser__chrome span {
	margin-left: auto;
	color: rgba(32, 33, 36, 0.5);
	text-transform: uppercase;
}

.service-v13-browser__canvas {
	position: relative;
	height: calc(100% - 58px);
	padding: 2rem;
	overflow: hidden;
}

.service-v13-browser__skeleton {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	grid-template-rows: 1fr 0.7fr;
	gap: 1rem;
	height: 100%;
	opacity: 0.5;
}

.service-v13-browser__skeleton span {
	border: 1px solid rgba(32, 33, 36, 0.08);
	border-radius: 22px;
	background: rgba(255, 255, 255, 0.18);
}

.service-v13-browser__skeleton span:first-child {
	grid-row: 1 / 3;
}

.service-v13-trace {
	position: absolute;
	left: 7%;
	right: 7%;
	bottom: 13%;
	width: 86%;
	filter: drop-shadow(0 0 10px rgba(217, 32, 47, 0.13));
}

.service-v13-trace path {
	fill: none;
	stroke: var(--wf-accent);
	stroke-width: 2.3;
	stroke-linecap: round;
	stroke-dasharray: 1100;
	stroke-dashoffset: 1100;
}

.service-v13-hero__visual.is-visible .service-v13-trace path {
	animation: sv13-draw 2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards 0.2s;
}

.service-v13-scanline {
	position: absolute;
	z-index: 4;
	left: 3%;
	right: 3%;
	top: 15%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(217, 32, 47, 0.2) 8%, var(--wf-accent) 50%, rgba(217, 32, 47, 0.2) 92%, transparent);
	box-shadow: 0 0 22px rgba(217, 32, 47, 0.24);
	opacity: 0;
}

.service-v13-hero__visual.is-visible .service-v13-scanline {
	animation: sv13-scan 4.2s ease-in-out 0.5s infinite;
}

.service-v13-signal {
	position: absolute;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.52rem 0.72rem;
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 999px;
	background: rgba(245, 249, 249, 0.72);
	box-shadow: 0 8px 24px rgba(31, 44, 52, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.92);
	font-size: 0.74rem;
	font-weight: 650;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

.service-v13-signal b {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wf-accent);
	box-shadow: 0 0 0 4px rgba(217, 32, 47, 0.07);
}

.service-v13-signal--a { top: 20%; left: 9%; }
.service-v13-signal--b { top: 29%; right: 6%; }
.service-v13-signal--c { bottom: 30%; left: 17%; }
.service-v13-signal--d { bottom: 16%; right: 13%; }

.service-v13-hero__orb {
	position: absolute;
	z-index: -1;
	width: 310px;
	height: 310px;
	right: -30px;
	bottom: -20px;
	border-radius: 50%;
	background: radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.58), rgba(180, 201, 208, 0.16) 38%, rgba(217, 32, 47, 0.05) 60%, transparent 72%);
	filter: blur(1px);
}

/* Intro */
.service-v13-intro {
	padding-top: clamp(4rem, 7vw, 6.5rem);
}

.service-v13-intro__grid {
	display: grid;
	grid-template-columns: minmax(150px, 0.28fr) minmax(0, 1fr);
	gap: clamp(2rem, 6vw, 7rem);
	max-width: 1180px;
}

.service-v13-section-id {
	display: grid;
	align-content: start;
	gap: 0.5rem;
	padding-top: 0.45rem;
}

.service-v13-section-id span {
	color: var(--wf-accent);
	font-size: 0.78rem;
	font-weight: 760;
	letter-spacing: 0.14em;
}

.service-v13-section-id small {
	color: rgba(32, 33, 36, 0.44);
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-v13-intro__copy {
	max-width: 920px;
}

.service-v13-intro__copy p:first-child {
	font-size: clamp(1.75rem, 3.25vw, 3.05rem);
	font-weight: 540;
	line-height: 1.22;
	letter-spacing: -0.032em;
	color: rgba(32, 33, 36, 0.9);
}

.service-v13-intro__copy p:not(:first-child) {
	max-width: 780px;
	font-size: clamp(1.06rem, 1.25vw, 1.22rem);
}

/* Fit + system map */
.service-v13-fit {
	background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.2) 24%, rgba(255,255,255,0.2) 78%, rgba(255,255,255,0));
}

.service-v13-fit__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(420px, 1.1fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
	margin-top: clamp(3.5rem, 6vw, 6rem);
}

.service-v13-fit__statement {
	max-width: 610px;
}

.service-v13-fit__statement p {
	margin: 2rem 0 0;
	font-size: clamp(1.4rem, 2.1vw, 2.05rem);
	font-weight: 510;
	line-height: 1.35;
	letter-spacing: -0.022em;
}

.service-v13-system-map {
	position: relative;
	min-height: 480px;
	border-radius: 50%;
	background: radial-gradient(circle at center, rgba(255,255,255,0.36), rgba(255,255,255,0.06) 54%, transparent 72%);
}

.service-v13-system-map svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.service-v13-system-map svg path {
	fill: none;
	stroke: rgba(32, 33, 36, 0.14);
	stroke-width: 1.2;
	stroke-dasharray: 8 9;
}

.service-v13-system-map svg circle {
	fill: rgba(255,255,255,0.75);
	stroke: rgba(217,32,47,0.4);
	stroke-width: 2;
}

.service-v13-system-map__core {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: grid;
	place-items: center;
	gap: 0.7rem;
	width: 150px;
	aspect-ratio: 1;
	border: 1px solid rgba(255,255,255,0.62);
	border-radius: 50%;
	background: rgba(245,248,248,0.55);
	box-shadow: 0 24px 56px rgba(31,44,52,0.1), inset 0 1px 0 rgba(255,255,255,0.9);
	text-align: center;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

.service-v13-system-map__core span {
	color: var(--wf-accent);
}

.service-v13-system-map__core span svg {
	position: static;
	width: 26px;
	height: 26px;
}

.service-v13-system-map__core b {
	max-width: 110px;
	font-size: 0.82rem;
	line-height: 1.25;
}

.service-v13-system-map__label {
	position: absolute;
	font-size: 0.78rem;
	font-weight: 680;
	letter-spacing: 0.03em;
}

.service-v13-system-map__label--1 { top: 14%; left: 9%; }
.service-v13-system-map__label--2 { top: 14%; right: 7%; }
.service-v13-system-map__label--3 { bottom: 14%; left: 7%; }
.service-v13-system-map__label--4 { bottom: 14%; right: 4%; }

.service-v13-audience {
	margin-top: clamp(4rem, 7vw, 6.5rem);
	padding-top: 1.6rem;
	border-top: 1px solid var(--sv13-line);
}

.service-v13-audience__label {
	margin: 0 0 1.4rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-v13-audience ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 3rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v13-audience li {
	display: grid;
	grid-template-columns: 42px minmax(0,1fr);
	gap: 1rem;
	padding: 1.05rem 0;
	border-bottom: 1px solid rgba(32,33,36,0.09);
}

.service-v13-audience li span,
.service-v13-signal-list > div span,
.service-v13-benefit-list li span,
.service-v13-editorial-row > div > span {
	color: rgba(217,32,47,0.62);
	font-size: 0.74rem;
	font-weight: 760;
	letter-spacing: 0.08em;
}

.service-v13-audience li p {
	margin: 0;
	line-height: 1.45;
}

/* First editorial chapter */
.service-v13-signals__grid {
	display: grid;
	grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: start;
}

.service-v13-signals__heading {
	position: sticky;
	top: 112px;
}

.service-v13-signals__heading h2 {
	margin: 0;
	max-width: 520px;
	font-size: clamp(2.9rem, 5.2vw, 5.5rem);
	font-weight: 590;
	letter-spacing: -0.052em;
	line-height: 0.96;
}

.service-v13-signals__content .service-prose {
	max-width: 780px;
	font-size: 1.08rem;
}

.service-v13-signal-list {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	column-gap: 2.5rem;
	margin-top: 2.6rem;
	border-top: 1px solid var(--sv13-line);
}

.service-v13-signal-list > div {
	display: grid;
	grid-template-columns: 42px minmax(0,1fr);
	gap: 0.8rem;
	padding: 1.05rem 0;
	border-bottom: 1px solid var(--sv13-line);
}

.service-v13-signal-list p {
	margin: 0;
	font-weight: 570;
	line-height: 1.45;
}

/* Dark interpretation chapter */
.service-v13-dark {
	background: var(--sv13-dark);
	color: #f4f5f6;
}

.service-v13-dark__glow {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(40% 55% at 80% 22%, rgba(217,32,47,0.16), transparent 72%),
		radial-gradient(35% 50% at 12% 80%, rgba(114,145,157,0.16), transparent 76%);
}

.service-v13-dark .wf-container {
	position: relative;
}

.service-v13-dark__top {
	display: grid;
	grid-template-columns: minmax(0,0.9fr) minmax(0,1.1fr);
	gap: clamp(3rem,7vw,8rem);
	align-items: end;
}

.service-v13-dark__top h2 {
	margin: 0;
	font-size: clamp(3.2rem,6.4vw,6.8rem);
	font-weight: 560;
	letter-spacing: -0.058em;
	line-height: 0.92;
	color: #f7f7f8;
}

.service-v13-dark__copy {
	color: rgba(244,245,246,0.68);
	font-size: 1.05rem;
}

.service-v13-dark__visual {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 1rem;
	align-items: end;
	min-height: 250px;
	margin-top: clamp(4rem,7vw,7rem);
	padding-bottom: 2rem;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.service-v13-dark__visual > span {
	position: relative;
	z-index: 2;
	padding-top: 12rem;
	color: rgba(255,255,255,0.52);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-v13-dark__visual svg {
	position: absolute;
	inset: 0 0 1rem;
	width: 100%;
	height: calc(100% - 1rem);
}

.service-v13-dark__visual svg path {
	fill: none;
	stroke: var(--wf-accent);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 1700;
	stroke-dashoffset: 1700;
	filter: drop-shadow(0 0 14px rgba(217,32,47,0.28));
}

.service-v13-dark__visual.is-visible svg path {
	animation: sv13-draw 2.2s cubic-bezier(0.2,0.8,0.2,1) forwards 0.2s;
}

.service-v13-dark__features {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	column-gap: 4rem;
	margin-top: 2rem;
}

.service-v13-dark-feature {
	display: grid;
	grid-template-columns: 42px minmax(0,1fr);
	gap: 1rem;
	padding: 1.8rem 0;
	border-bottom: 1px solid rgba(255,255,255,0.12);
}

.service-v13-dark-feature > span {
	color: var(--wf-accent);
	font-size: 0.74rem;
	font-weight: 760;
}

.service-v13-dark-feature h3 {
	margin: 0 0 0.65rem;
	font-size: clamp(1.35rem,1.9vw,1.8rem);
	font-weight: 590;
	color: #fff;
}

.service-v13-dark-feature .service-prose {
	color: rgba(244,245,246,0.62);
}

/* Remaining editorial chapters */
.service-v13-editorial-row {
	display: grid;
	grid-template-columns: minmax(260px,0.75fr) minmax(0,1.25fr);
	gap: clamp(3rem,7vw,8rem);
	padding-block: clamp(3.2rem,5vw,5.2rem);
	border-top: 1px solid var(--sv13-line);
}

.service-v13-editorial-row:last-child {
	border-bottom: 1px solid var(--sv13-line);
}

.service-v13-editorial-row h2 {
	margin: 0.8rem 0 0;
	max-width: 470px;
	font-size: clamp(2.6rem,4.3vw,4.7rem);
	font-weight: 585;
	letter-spacing: -0.05em;
	line-height: 0.97;
}

.service-v13-editorial-row > .service-prose {
	max-width: 760px;
	font-size: 1.08rem;
}

/* Benefits */
.service-v13-benefits__grid {
	display: grid;
	grid-template-columns: minmax(0,0.75fr) minmax(320px,0.55fr) minmax(0,1fr);
	gap: clamp(2.5rem,5vw,5rem);
	align-items: center;
}

.service-v13-benefits__visual {
	position: relative;
	min-height: 360px;
	display: grid;
	place-items: center;
}

.service-v13-benefits__visual > span {
	position: relative;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--sv13-dark);
	color: #fff;
	box-shadow: 0 20px 50px rgba(25,28,33,0.18), 0 0 0 12px rgba(255,255,255,0.3);
}

.service-v13-orbit {
	position: absolute;
	left: 50%;
	top: 50%;
	border: 1px solid rgba(32,33,36,0.12);
	border-radius: 50%;
	transform: translate(-50%,-50%);
}

.service-v13-orbit::after {
	content: "";
	position: absolute;
	top: -4px;
	left: 50%;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wf-accent);
	box-shadow: 0 0 0 6px rgba(217,32,47,0.08);
}

.service-v13-orbit--1 { width: 140px; height: 140px; }
.service-v13-orbit--2 { width: 230px; height: 230px; opacity: 0.75; }
.service-v13-orbit--3 { width: 320px; height: 320px; opacity: 0.52; }

.service-v13-benefits__visual.is-visible .service-v13-orbit--1 { animation: sv13-rotate 12s linear infinite; }
.service-v13-benefits__visual.is-visible .service-v13-orbit--2 { animation: sv13-rotate 18s linear reverse infinite; }
.service-v13-benefits__visual.is-visible .service-v13-orbit--3 { animation: sv13-rotate 24s linear infinite; }

.service-v13-benefit-list {
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v13-benefit-list li {
	display: grid;
	grid-template-columns: 42px minmax(0,1fr);
	gap: 1rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--sv13-line);
}

.service-v13-benefit-list p {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 570;
	line-height: 1.42;
}

/* Process timeline */
.service-v13-process {
	background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,0.26) 34%, rgba(255,255,255,0.26) 70%, rgba(255,255,255,0));
}

.service-v13-process__grid {
	display: grid;
	grid-template-columns: minmax(280px,0.75fr) minmax(0,1.25fr);
	gap: clamp(4rem,8vw,9rem);
	align-items: start;
}

.service-v13-process__heading {
	position: sticky;
	top: 110px;
}

.service-v13-timeline {
	position: relative;
	padding: 0 0 0 5.5rem;
	margin: 0;
	list-style: none;
}

.service-v13-timeline::before {
	content: "";
	position: absolute;
	left: 1.55rem;
	top: 1rem;
	bottom: 1rem;
	width: 1px;
	background: linear-gradient(180deg, rgba(217,32,47,0.7), rgba(32,33,36,0.12));
	transform-origin: top;
}

.service-v13-timeline li {
	position: relative;
	display: grid;
	grid-template-columns: 70px minmax(0,1fr);
	gap: 1.3rem;
	align-items: start;
	padding: 1.25rem 0 2.6rem;
	border-bottom: 1px solid var(--sv13-line);
}

.service-v13-timeline li::before {
	content: "";
	position: absolute;
	left: -4.4rem;
	top: 1.55rem;
	width: 11px;
	height: 11px;
	border: 2px solid rgba(217,32,47,0.5);
	border-radius: 50%;
	background: #eef4f3;
	box-shadow: 0 0 0 8px rgba(217,32,47,0.05);
}

.service-v13-timeline li > span {
	color: var(--wf-accent);
	font-size: 0.78rem;
	font-weight: 760;
	letter-spacing: 0.1em;
}

.service-v13-timeline p {
	margin: 0;
	font-size: clamp(1.18rem,1.7vw,1.48rem);
	font-weight: 550;
	line-height: 1.42;
}

/* Deliverable artifact */
.service-v13-deliverables__grid {
	display: grid;
	grid-template-columns: minmax(280px,0.7fr) minmax(430px,1.3fr);
	gap: clamp(4rem,8vw,9rem);
	align-items: center;
}

.service-v13-report {
	position: relative;
	min-height: 560px;
	perspective: 1200px;
}

.service-v13-report__sheet {
	position: absolute;
	inset: 2rem 0 0 8%;
	border: 1px solid rgba(255,255,255,0.65);
	border-radius: 28px;
	background: rgba(250,252,252,0.76);
	box-shadow: 0 28px 70px rgba(31,43,51,0.11), inset 0 1px 0 rgba(255,255,255,0.95);
	backdrop-filter: blur(22px);
	-webkit-backdrop-filter: blur(22px);
}

.service-v13-report__sheet--back {
	transform: translate(32px,-18px) rotate(3deg);
	opacity: 0.42;
}

.service-v13-report__sheet--mid {
	transform: translate(16px,-8px) rotate(1.4deg);
	opacity: 0.68;
}

.service-v13-report__sheet--front {
	position: relative;
	inset: auto;
	width: 92%;
	min-height: 500px;
	margin-top: 2rem;
	padding: 2rem;
	transform: rotate(-0.6deg);
}

.service-v13-report__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 1.4rem;
	border-bottom: 1px solid var(--sv13-line);
}

.service-v13-report__head span {
	color: var(--wf-accent);
}

.service-v13-report__head strong {
	font-size: 0.8rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-v13-report ol {
	padding: 0;
	margin: 1rem 0 0;
	list-style: none;
}

.service-v13-report li {
	display: grid;
	grid-template-columns: 44px minmax(0,1fr);
	gap: 1rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid rgba(32,33,36,0.1);
}

.service-v13-report li span {
	color: var(--wf-accent);
	font-size: 0.74rem;
	font-weight: 760;
}

.service-v13-report li p {
	margin: 0;
	font-size: 1.08rem;
	font-weight: 580;
	line-height: 1.4;
}

/* FAQ / related */
.service-v13-faq__grid {
	display: grid;
	grid-template-columns: minmax(280px,0.75fr) minmax(0,1.25fr);
	gap: clamp(4rem,8vw,9rem);
}

.service-v13-faq-item {
	border-top: 1px solid var(--sv13-line);
}

.service-v13-faq-item:last-child {
	border-bottom: 1px solid var(--sv13-line);
}

.service-v13-faq-item summary {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.4rem 0;
	font-weight: 620;
	cursor: pointer;
	list-style: none;
}

.service-v13-faq-item summary::-webkit-details-marker { display: none; }
.service-v13-faq-item > div { padding: 0 0 1.5rem; color: var(--sv13-copy); }

.service-v13-related__grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 2rem;
	margin-top: 3rem;
}

.service-v13-related__grid > div > p {
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.service-v13-related__grid a {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	border-top: 1px solid var(--sv13-line);
	font-weight: 590;
	text-decoration: none;
}

/* Final CTA */
.service-v13-cta {
	padding-top: clamp(4rem,7vw,6rem);
	padding-bottom: clamp(7rem,11vw,11rem);
}

.service-v13-cta__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0,1fr) auto;
	gap: clamp(3rem,7vw,7rem);
	align-items: end;
	padding: clamp(3rem,6vw,6rem);
	border-radius: clamp(34px,5vw,58px);
	background: linear-gradient(145deg, #17191d 0%, #20242a 72%, #17191d 100%);
	box-shadow: 0 38px 90px rgba(24,28,33,0.18), inset 0 1px 0 rgba(255,255,255,0.06);
	color: #f6f7f8;
	overflow: hidden;
}

.service-v13-cta__glow {
	position: absolute;
	width: 520px;
	height: 420px;
	right: -90px;
	bottom: -260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(217,32,47,0.28), rgba(217,32,47,0) 68%);
	filter: blur(16px);
	pointer-events: none;
}

.service-v13-cta__panel > div:not(.service-v13-cta__glow) {
	position: relative;
	max-width: 900px;
}

.service-v13-cta__panel h2 {
	margin: 0;
	font-size: clamp(3.2rem,6.8vw,7.2rem);
	font-weight: 560;
	letter-spacing: -0.06em;
	line-height: 0.9;
	color: #fff;
}

.service-v13-cta__panel > div > p:last-child {
	max-width: 650px;
	margin: 1.5rem 0 0;
	color: rgba(246,247,248,0.62);
	font-size: 1.08rem;
}

.wf-button.service-v13-cta__button {
	position: relative;
	z-index: 2;
	min-width: 220px;
	min-height: 64px;
	border: 1px solid rgba(255,255,255,0.34);
	background: rgba(255,255,255,0.92);
	color: #202124;
	box-shadow: inset 0 1px 0 #fff, 0 20px 50px rgba(0,0,0,0.22);
	font-weight: 720;
}

.wf-button.service-v13-cta__button:hover,
.wf-button.service-v13-cta__button:focus-visible {
	transform: none;
	background: #fff;
	border-color: rgba(255,255,255,0.7);
	box-shadow: inset 0 1px 0 #fff, 0 24px 58px rgba(0,0,0,0.28);
}

/* Reveal motion */
.service-reveal {
	opacity: 1;
	transform: none;
}

.service-v13.has-reveal-motion .service-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 700ms cubic-bezier(0.2,0.8,0.2,1), transform 700ms cubic-bezier(0.2,0.8,0.2,1);
}

.service-v13.has-reveal-motion .service-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@keyframes sv13-draw { to { stroke-dashoffset: 0; } }
@keyframes sv13-scan {
	0%, 100% { top: 15%; opacity: 0; }
	12% { opacity: 0.85; }
	55% { opacity: 0.55; }
	88% { opacity: 0.85; }
	100% { top: 82%; opacity: 0; }
}
@keyframes sv13-rotate { to { transform: translate(-50%,-50%) rotate(360deg); } }

@media (max-width: 1080px) {
	.service-v13-hero__grid {
		grid-template-columns: minmax(0,1fr) minmax(340px,0.78fr);
		gap: 3rem;
	}
	.service-v13-title { font-size: clamp(3.6rem,7.3vw,6.5rem); }
	.service-v13-fit__grid,
	.service-v13-benefits__grid,
	.service-v13-deliverables__grid {
		grid-template-columns: 1fr 1fr;
	}
	.service-v13-benefits__grid .service-v13-heading { grid-column: 1 / -1; }
	.service-v13-benefits__visual { min-height: 320px; }
}

@media (max-width: 860px) {
	.service-v13 { --sv13-space: clamp(5rem,11vw,7rem); }
	.service-v13-hero { min-height: auto; }
	.service-v13-hero__grid,
	.service-v13-fit__grid,
	.service-v13-signals__grid,
	.service-v13-dark__top,
	.service-v13-editorial-row,
	.service-v13-process__grid,
	.service-v13-deliverables__grid,
	.service-v13-faq__grid {
		grid-template-columns: 1fr;
	}
	.service-v13-hero__visual { min-height: 500px; max-width: 650px; }
	.service-v13-signals__heading,
	.service-v13-process__heading { position: static; }
	.service-v13-system-map { min-height: 430px; }
	.service-v13-benefits__grid { grid-template-columns: 1fr; }
	.service-v13-benefits__visual { min-height: 340px; }
	.service-v13-dark__features { grid-template-columns: 1fr; }
	.service-v13-related__grid { grid-template-columns: 1fr; }
	.service-v13-cta__panel { grid-template-columns: 1fr; }
	.service-v13-cta__button { justify-self: start; }
}

@media (max-width: 640px) {
	.service-v13-hero { padding-block: 3.5rem 4.8rem; }
	.service-v13-title { font-size: clamp(3rem,14vw,4.8rem); }
	.service-v13-hero__value { font-size: 1.08rem; }
	.service-v13-hero__visual { min-height: 390px; }
	.service-v13-browser { border-radius: 24px; }
	.service-v13-browser__canvas { padding: 1.1rem; }
	.service-v13-signal { font-size: 0.66rem; padding: 0.42rem 0.55rem; }
	.service-v13-intro__grid { grid-template-columns: 1fr; gap: 1.3rem; }
	.service-v13-intro__copy p:first-child { font-size: 1.65rem; }
	.service-v13-heading h2 { font-size: clamp(2.7rem,12vw,4rem); }
	.service-v13-fit__grid { margin-top: 2.5rem; }
	.service-v13-fit__statement p { font-size: 1.3rem; }
	.service-v13-system-map { min-height: 350px; }
	.service-v13-system-map__core { width: 120px; }
	.service-v13-audience ul,
	.service-v13-signal-list { grid-template-columns: 1fr; }
	.service-v13-dark__visual { grid-template-columns: repeat(2,1fr); min-height: 210px; }
	.service-v13-dark__visual > span { padding-top: 6rem; }
	.service-v13-dark__top h2 { font-size: clamp(2.8rem,12vw,4.4rem); }
	.service-v13-benefits__visual { min-height: 300px; transform: scale(0.88); }
	.service-v13-timeline { padding-left: 3.4rem; }
	.service-v13-timeline li { grid-template-columns: 50px minmax(0,1fr); }
	.service-v13-timeline li::before { left: -2.3rem; }
	.service-v13-timeline::before { left: 1.25rem; }
	.service-v13-report { min-height: 500px; }
	.service-v13-report__sheet--front { width: 100%; padding: 1.4rem; }
	.service-v13-report__sheet--mid,
	.service-v13-report__sheet--back { inset-inline-start: 0; }
	.service-v13-cta__panel { padding: 2.2rem; border-radius: 32px; }
	.service-v13-cta__panel h2 { font-size: clamp(3rem,13vw,4.8rem); }
	.wf-button.service-v13-cta__button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.service-v13.has-reveal-motion .service-reveal,
	.service-v13.has-reveal-motion .service-reveal.is-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.service-v13-trace path,
	.service-v13-scanline,
	.service-v13-orbit {
		animation: none !important;
	}
	.service-v13-trace path,
	.service-v13-dark__visual svg path {
		stroke-dashoffset: 0;
	}
}

/* -------------------------------------------------------------------------- */
/* Service template v0.14.0 — refined premium redesign                       */
/* -------------------------------------------------------------------------- */
.service-v14 {
	--service-bg: #f7f8fb;
	--service-surface: #ffffff;
	--service-surface-2: #eef2f8;
	--service-ink: #111827;
	--service-muted: #576273;
	--service-line: #dbe1ea;
	--service-accent: #5663ff;
	--service-accent-2: #7a5cff;
	--service-red: #d9202f;
	--service-dark: #08101f;
	--service-dark-2: #101b31;
	background: linear-gradient(180deg, #fbfcfe 0%, #f5f7fb 100%);
	color: var(--service-ink);
}

.service-v14 .wf-container {
	max-width: 1220px;
}

.service-v14-section {
	padding: clamp(4.2rem, 7vw, 7rem) 0;
}

.service-v14-kicker,
.service-v14-section-kicker,
.service-v14-heading > p {
	margin: 0 0 0.95rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--service-red);
}

.service-v14-heading {
	display: grid;
	gap: 0.85rem;
	margin-bottom: 2rem;
}

.service-v14-heading--center {
	max-width: 840px;
	margin-inline: auto;
	text-align: center;
}

.service-v14-heading h2,
.service-v14-action__copy h2,
.service-v14-extra__row h2,
.service-v14-challenge__content h2,
.service-v14-cta__copy h2 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 4.2rem);
	line-height: 0.98;
	letter-spacing: -0.045em;
}

.service-v14-heading__copy {
	max-width: 64ch;
	margin-inline: auto;
}

.service-v14-hero {
	position: relative;
	padding: clamp(3.8rem, 7vw, 7rem) 0 2.5rem;
	overflow: hidden;
}

.service-v14-hero::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 52%;
	height: 100%;
	background: radial-gradient(circle at 0% 25%, rgba(86, 99, 255, 0.18), rgba(86, 99, 255, 0) 46%), linear-gradient(145deg, #121b34 0%, #08101f 58%, #11162d 100%);
	clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
}

.service-v14-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(360px, 0.98fr);
	gap: clamp(2rem, 4vw, 4.2rem);
	align-items: center;
}

.service-v14-title {
	margin: 0;
	font-size: clamp(3.1rem, 7vw, 6.4rem);
	line-height: 0.92;
	letter-spacing: -0.065em;
	max-width: 8.3ch;
}

.service-v14-hero__value {
	max-width: 34rem;
	margin: 1.35rem 0 0;
	font-size: clamp(1.04rem, 1.7vw, 1.22rem);
	line-height: 1.7;
	color: var(--service-muted);
}

.service-v14-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
}

.service-v14-button {
	display: inline-flex;
	align-items: center;
	gap: 0.62rem;
	padding: 0.95rem 1.25rem;
	border-radius: 999px;
	background: #0f172a;
	color: #fff;
	box-shadow: 0 18px 30px rgba(15, 23, 42, 0.12);
}

.service-v14-button:hover,
.service-v14-button:focus-visible {
	background: #111827;
	color: #fff;
}

.service-v14-price {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--service-muted);
}

.service-v14-proof {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	padding: 0;
	margin: 2.1rem 0 0;
	list-style: none;
}

.service-v14-proof li,
.service-v14-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 2.4rem;
	padding: 0.5rem 0.82rem;
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 8px 20px rgba(16, 24, 40, 0.05);
	font-size: 0.88rem;
	line-height: 1.35;
	color: #243041;
}

.service-v14-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 1.1rem;
}

.service-v14-hero__visual {
	position: relative;
}

.service-v14-hero-panel {
	position: relative;
	padding: 1.35rem;
	border-radius: 32px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 24px 60px rgba(5, 10, 25, 0.22);
}

.service-v14-hero-panel::after {
	content: "";
	position: absolute;
	width: 230px;
	height: 230px;
	right: -36px;
	bottom: -36px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(217, 32, 47, 0.16), rgba(217, 32, 47, 0) 68%);
	pointer-events: none;
}

.service-v14-hero-panel__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #55606f;
}

.service-v14-hero-panel__eyebrow span {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--service-red);
}

.service-v14-overview {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: 1rem;
	align-items: center;
}

.service-v14-ring-card,
.service-v14-trace-card {
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 253, 0.98));
}

.service-v14-ring-card {
	position: relative;
	padding: 1.2rem;
	min-height: 210px;
	display: grid;
	place-items: center;
}

.service-v14-ring-card svg {
	width: 100%;
	max-width: 158px;
	height: auto;
}

.service-v14-ring-card circle {
	fill: none;
	stroke: #ebeff6;
	stroke-width: 16;
}

.service-v14-ring-card .is-accent {
	stroke: var(--service-accent);
	stroke-dasharray: 250 120;
	stroke-linecap: round;
	transform: rotate(-86deg);
	transform-origin: 50% 50%;
	animation: service-v14-ring 2s ease forwards;
}


.service-v14-ring-card__center {
	position: absolute;
	display: grid;
	place-items: center;
	text-align: center;
	gap: 0.15rem;
}

.service-v14-ring-card__center strong {
	font-size: 1.35rem;
	letter-spacing: -0.03em;
}

.service-v14-ring-card__center span {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--service-muted);
}

.service-v14-metrics {
	display: grid;
	gap: 0.8rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v14-metrics li {
	display: grid;
	grid-template-columns: 0.55rem minmax(0, 1fr);
	column-gap: 0.7rem;
	row-gap: 0.16rem;
	align-items: center;
	padding: 0.72rem 0.85rem;
	border: 1px solid rgba(17, 24, 39, 0.07);
	border-radius: 18px;
	background: rgba(245, 248, 252, 0.8);
}

.service-v14-metrics li span {
	grid-row: 1 / span 2;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--service-accent);
	box-shadow: 0 0 0 6px rgba(86, 99, 255, 0.11);
}

.service-v14-metrics b {
	font-size: 0.96rem;
}

.service-v14-metrics small {
	font-size: 0.76rem;
	color: var(--service-muted);
}

.service-v14-trace-card {
	margin-top: 1rem;
	padding: 1rem 1rem 0.9rem;
}

.service-v14-trace-card__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

.service-v14-trace-card__header strong {
	font-size: 0.95rem;
}

.service-v14-trace-card__header small {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--service-muted);
}

.service-v14-trace-card svg { width: 100%; height: auto; }
.service-v14-trace-card .grid {
	fill: none;
	stroke: rgba(17, 24, 39, 0.09);
	stroke-width: 1;
	stroke-linecap: round;
}
.service-v14-trace-card .trace {
	fill: none;
	stroke: var(--service-accent);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 520;
	stroke-dashoffset: 520;
	animation: service-v14-trace 2.2s ease forwards;
}

.service-v14-trace-card__labels {
	display: flex;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.4rem;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--service-muted);
}

.service-v14-intro {
	padding-top: 2.6rem;
}

.service-v14-intro__grid {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

.service-v14-intro__label {
	display: grid;
	gap: 0.6rem;
	align-content: start;
	padding-top: 0.2rem;
}

.service-v14-intro__label span {
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--service-red);
}

.service-v14-intro__label small {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--service-muted);
}

.service-v14-intro__copy {
	max-width: 52rem;
	font-size: clamp(1.24rem, 1.85vw, 1.52rem);
	line-height: 1.62;
}

.service-v14-intro__copy p:first-child {
	font-size: clamp(2rem, 3.2vw, 3rem);
	line-height: 1.08;
	letter-spacing: -0.045em;
	max-width: 16ch;
	color: var(--service-ink);
}

.service-v14-challenge__grid,
.service-v14-action__grid,
.service-v14-deliverables__grid,
.service-v14-faq__grid {
	display: grid;
	grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}

.service-v14-device {
	position: relative;
	padding: 1.2rem;
	border-radius: 30px;
	background: linear-gradient(180deg, #ffffff, #f4f7fb);
	border: 1px solid rgba(17, 24, 39, 0.06);
	box-shadow: 0 18px 40px rgba(16, 24, 40, 0.08);
}

.service-v14-device::before {
	content: "";
	position: absolute;
	inset: 8% auto auto 8%;
	width: 36%;
	height: 52%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(86, 99, 255, 0.16), rgba(86, 99, 255, 0) 72%);
}

.service-v14-device__screen {
	position: relative;
	padding: 1rem;
	border-radius: 24px;
	background: linear-gradient(145deg, #0e1630 0%, #111b35 56%, #121727 100%);
	aspect-ratio: 1.08;
	overflow: hidden;
}

.service-v14-device__bar {
	height: 9px;
	width: 42%;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.24);
}

.service-v14-device__chart {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.45rem;
	align-items: end;
	height: 72px;
	margin: 1rem 0 0.8rem;
}

.service-v14-device__chart span {
	display: block;
	height: var(--h);
	border-radius: 999px 999px 0 0;
	background: linear-gradient(180deg, rgba(123, 139, 255, 0.35), rgba(123, 139, 255, 0.92));
	animation: service-v14-bars 1.3s ease forwards;
	transform-origin: bottom center;
	transform: scaleY(0.3);
}

.service-v14-device__chart span:nth-child(1) { --h: 38px; }
.service-v14-device__chart span:nth-child(2) { --h: 52px; animation-delay: .1s; }
.service-v14-device__chart span:nth-child(3) { --h: 64px; animation-delay: .2s; }
.service-v14-device__chart span:nth-child(4) { --h: 48px; animation-delay: .3s; }

.service-v14-device__screen svg { width: 100%; height: auto; }
.service-v14-device__screen svg path {
	fill: none;
	stroke: #ffffff;
	stroke-opacity: .88;
	stroke-width: 2.6;
	stroke-dasharray: 420;
	stroke-dashoffset: 420;
	animation: service-v14-trace 2s ease forwards;
}

.service-v14-device__checks {
	display: flex;
	gap: 0.5rem;
	margin-top: 1rem;
}

.service-v14-device__checks i {
	width: 2rem;
	height: 0.38rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.22);
}

.service-v14-challenge__statement {
	margin: 1rem 0 0;
	font-size: 1.08rem;
	line-height: 1.72;
	color: var(--service-muted);
	max-width: 42rem;
}

.service-v14-bullets {
	display: grid;
	gap: 0.82rem;
	padding: 0;
	margin: 1.4rem 0 0;
	list-style: none;
}

.service-v14-bullets li {
	position: relative;
	padding-left: 1.55rem;
	color: #293444;
	line-height: 1.65;
}

.service-v14-bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--service-accent);
	box-shadow: 0 0 0 5px rgba(86, 99, 255, 0.11);
}

.service-v14-uncover {
	border-top: 1px solid var(--service-line);
}

.service-v14-uncover__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem;
}

.service-v14-feature-card {
	padding: 1.35rem;
	border-radius: 22px;
	border: 1px solid rgba(17, 24, 39, 0.08);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 12px 26px rgba(16, 24, 40, 0.04);
}

.service-v14-feature-card__icon {
	display: inline-grid;
	place-items: center;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 16px;
	background: rgba(86, 99, 255, 0.10);
	color: var(--service-accent);
}

.service-v14-feature-card h3 {
	margin: 1rem 0 0.45rem;
	font-size: 1rem;
	letter-spacing: -0.02em;
}

.service-v14-feature-card p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--service-muted);
}

.service-v14-insights {
	padding-top: 1.5rem;
}

.service-v14-insights__panel {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 0.9fr);
	gap: 2rem;
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: 32px;
	background: radial-gradient(circle at 82% 20%, rgba(86, 99, 255, 0.18), rgba(86, 99, 255, 0) 36%), linear-gradient(135deg, var(--service-dark), var(--service-dark-2));
	color: #fff;
	overflow: hidden;
}

.service-v14-insights__panel::before,
.service-v14-insights__panel::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}

.service-v14-insights__panel::before {
	width: 420px;
	height: 420px;
	left: -180px;
	bottom: -240px;
	background: radial-gradient(circle, rgba(86, 99, 255, 0.18), rgba(86, 99, 255, 0) 72%);
}

.service-v14-insights__panel::after {
	width: 260px;
	height: 260px;
	right: -120px;
	top: -60px;
	background: radial-gradient(circle, rgba(217, 32, 47, 0.18), rgba(217, 32, 47, 0) 72%);
}

.service-v14-insights__copy,
.service-v14-insights__visual {
	position: relative;
	z-index: 1;
}

.service-v14-insights__copy h2 { color: #fff; }
.service-v14-insights__copy .service-prose,
.service-v14-insights__copy p { color: rgba(255,255,255,.80); }

.service-v14-insights__list {
	display: grid;
	gap: 0.95rem;
	padding: 0;
	margin: 1.6rem 0 0;
	list-style: none;
}

.service-v14-insights__list li {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	gap: 0.9rem;
	align-items: start;
}

.service-v14-insights__list span {
	display: inline-grid;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 14px;
	background: rgba(255,255,255,.08);
	color: #c6ceff;
}

.service-v14-insights__list strong {
	display: block;
	margin-bottom: 0.25rem;
	font-size: 0.98rem;
}

.service-v14-insights__list p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.6;
	color: rgba(255,255,255,.74);
}

.service-v14-insights__visual {
	display: grid;
	gap: 1.4rem;
	align-content: center;
	justify-items: center;
	padding: 1.35rem;
	border-radius: 24px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	backdrop-filter: blur(10px);
}

.service-v14-donut {
	position: relative;
	width: min(100%, 270px);
	aspect-ratio: 1;
}

.service-v14-donut svg {
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.service-v14-donut .track,
.service-v14-donut .seg {
	fill: none;
	stroke-width: 16;
	stroke-linecap: round;
	cx: 100;
	cy: 100;
	r: 66;
}

.service-v14-donut .track { stroke: rgba(255,255,255,.10); }
.service-v14-donut .seg { stroke-dasharray: 414.7; }
.service-v14-donut .seg--1 { stroke: #6c79ff; stroke-dashoffset: 270; }
.service-v14-donut .seg--2 { stroke: #875dff; stroke-dashoffset: 180; }
.service-v14-donut .seg--3 { stroke: #ff5465; stroke-dashoffset: 110; }
.service-v14-donut .seg--4 { stroke: #f9b24d; stroke-dashoffset: 40; }

.service-v14-donut__center {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	text-align: center;
}

.service-v14-donut__center strong {
	font-size: 1.65rem;
	letter-spacing: -0.04em;
}

.service-v14-donut__center span {
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255,255,255,.72);
}

.service-v14-topic-list {
	display: grid;
	gap: 0.7rem;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v14-topic-list li {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	font-size: 0.92rem;
	color: rgba(255,255,255,.88);
}

.service-v14-topic-list li span {
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
}

.service-v14-topic-list .tone-1 { background: #6c79ff; }
.service-v14-topic-list .tone-2 { background: #875dff; }
.service-v14-topic-list .tone-3 { background: #ff5465; }
.service-v14-topic-list .tone-4 { background: #f9b24d; }

.service-v14-action__copy {
	display: grid;
	gap: 2.2rem;
}

.service-v14-editorial-block {
	display: grid;
	gap: 0.75rem;
}

.service-v14-steps {
	position: relative;
	display: grid;
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v14-steps::before {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1rem;
	bottom: 1rem;
	width: 1px;
	background: linear-gradient(180deg, rgba(86, 99, 255, 0.22), rgba(86, 99, 255, 0));
}

.service-v14-steps li {
	position: relative;
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1rem 1rem 1rem 0;
	border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

.service-v14-steps li:last-child { border-bottom: 0; }

.service-v14-steps li > span {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #fff;
	border: 1px solid rgba(86, 99, 255, 0.22);
	font-size: 0.74rem;
	font-weight: 700;
	color: var(--service-accent);
	z-index: 1;
}

.service-v14-steps strong {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 1rem;
}

.service-v14-steps p {
	margin: 0;
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--service-muted);
}

.service-v14-benefits {
	border-top: 1px solid var(--service-line);
}

.service-v14-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
}

.service-v14-benefit {
	display: grid;
	gap: 0.95rem;
	padding: 1.25rem 1rem;
	border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.service-v14-benefit span {
	display: inline-grid;
	place-items: center;
	width: 2.7rem;
	height: 2.7rem;
	border-radius: 16px;
	background: rgba(86, 99, 255, 0.08);
	color: var(--service-accent);
}

.service-v14-benefit strong {
	font-size: 0.98rem;
	line-height: 1.5;
}

.service-v14-report {
	position: relative;
	padding: 1.5rem 0 1.2rem 2.4rem;
	min-height: 330px;
}

.service-v14-report__stack,
.service-v14-report__sheet {
	position: absolute;
	inset: auto 0 0 auto;
	width: min(100%, 480px);
	border-radius: 28px;
}

.service-v14-report__stack--back {
	top: 28px;
	right: 0;
	bottom: 0;
	background: rgba(211, 217, 229, 0.55);
	transform: rotate(-3deg);
}

.service-v14-report__stack--mid {
	top: 14px;
	right: 10px;
	bottom: 0;
	background: rgba(233, 238, 247, 0.9);
	transform: rotate(-1.5deg);
}

.service-v14-report__sheet {
	position: relative;
	top: 0;
	right: 18px;
	padding: 1.5rem;
	background: #fff;
	border: 1px solid rgba(17, 24, 39, 0.08);
	box-shadow: 0 24px 44px rgba(16, 24, 40, 0.08);
}

.service-v14-report__head {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-bottom: 1.1rem;
}

.service-v14-report__head span {
	display: inline-grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 16px;
	background: rgba(86, 99, 255, 0.08);
	color: var(--service-accent);
}

.service-v14-report__head strong {
	font-size: 1.02rem;
}

.service-v14-report__head small {
	margin-left: auto;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--service-muted);
}

.service-v14-report__sheet ol {
	display: grid;
	gap: 0.88rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v14-report__sheet li {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding-top: 0.88rem;
	border-top: 1px solid rgba(17, 24, 39, 0.08);
}

.service-v14-report__sheet li:first-child {
	padding-top: 0;
	border-top: 0;
}

.service-v14-report__sheet li span {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--service-accent);
}

.service-v14-report__sheet li p { margin: 0; line-height: 1.55; }

.service-v14-extra__row {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 2rem;
	padding-top: 2rem;
	margin-top: 2rem;
	border-top: 1px solid var(--service-line);
}

.service-v14-extra__row span {
	display: inline-block;
	margin-bottom: 0.8rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--service-red);
}

.service-v14-faq__items { display: grid; gap: 0.8rem; }
.service-v14-faq-item {
	border: 1px solid rgba(17, 24, 39, 0.08);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.85);
	overflow: hidden;
}
.service-v14-faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.1rem 1.2rem;
	cursor: pointer;
	list-style: none;
	font-weight: 600;
}
.service-v14-faq-item summary::-webkit-details-marker { display: none; }
.service-v14-faq-item[open] summary span { transform: rotate(45deg); }
.service-v14-faq-item summary span { transition: transform .2s ease; }
.service-v14-faq-item div { padding: 0 1.2rem 1.2rem; color: var(--service-muted); }

.service-v14-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

.service-v14-related__group {
	padding: 1.2rem;
	border-radius: 22px;
	border: 1px solid rgba(17, 24, 39, 0.08);
	background: rgba(255,255,255,.84);
}

.service-v14-related__group > p {
	margin: 0 0 0.8rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--service-muted);
}

.service-v14-related__group a {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-top: 1px solid rgba(17, 24, 39, 0.08);
	font-weight: 500;
	color: var(--service-ink);
}
.service-v14-related__group a:first-of-type { border-top: 0; }

.service-v14-cta {
	padding-top: 2.5rem;
}

.service-v14-cta__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2rem;
	align-items: center;
	padding: clamp(1.8rem, 4vw, 2.8rem);
	border-radius: 28px;
	background: radial-gradient(circle at 85% 110%, rgba(217, 32, 47, 0.25), rgba(217, 32, 47, 0) 22%), linear-gradient(135deg, #0d1529 0%, #151f38 60%, #1c2143 100%);
	color: #fff;
	box-shadow: 0 26px 54px rgba(7, 13, 24, 0.12);
}

.service-v14-cta__copy h2 { color: #fff; max-width: 10.5ch; }
.service-v14-cta__copy p:last-child {
	max-width: 42rem;
	color: rgba(255,255,255,.82);
}

.service-v14-cta__button { white-space: nowrap; }

.service-reveal {
	opacity: 1;
	transform: none;
}

.service-v14.has-reveal-motion .service-reveal {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: opacity .75s ease, transform .75s cubic-bezier(.22, 1, .36, 1);
}

.service-v14.has-reveal-motion .service-reveal.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@keyframes service-v14-trace {
	to { stroke-dashoffset: 0; }
}

@keyframes service-v14-bars {
	to { transform: scaleY(1); }
}

@keyframes service-v14-ring {
	from { stroke-dasharray: 0 370; }
	to { stroke-dasharray: 250 120; }
}

@media (max-width: 1120px) {
	.service-v14-hero::before {
		inset: 44% 0 0 0;
		clip-path: none;
		height: auto;
	}

	.service-v14-hero__grid,
	.service-v14-challenge__grid,
	.service-v14-action__grid,
	.service-v14-deliverables__grid,
	.service-v14-faq__grid,
	.service-v14-insights__panel,
	.service-v14-extra__row {
		grid-template-columns: 1fr;
	}

	.service-v14-hero__copy {
		padding-bottom: 1rem;
	}

	.service-v14-intro__grid {
		grid-template-columns: 1fr;
	}

	.service-v14-benefits__grid,
	.service-v14-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.service-v14 {
		--service-gutter: 1rem;
	}

	.service-v14-title { max-width: none; }

	.service-v14-hero__grid,
	.service-v14-overview,
	.service-v14-insights__panel {
		gap: 1.2rem;
	}

	.service-v14-overview,
	.service-v14-uncover__grid,
	.service-v14-benefits__grid,
	.service-v14-related__grid,
	.service-v14-cta__panel {
		grid-template-columns: 1fr;
	}

	.service-v14-proof { gap: 0.6rem; }
	.service-v14-heading h2,
	.service-v14-action__copy h2,
	.service-v14-extra__row h2,
	.service-v14-challenge__content h2,
	.service-v14-cta__copy h2 {
		font-size: clamp(2rem, 11vw, 3.3rem);
	}

	.service-v14-intro__copy p:first-child {
		font-size: clamp(1.7rem, 8vw, 2.4rem);
	}

	.service-v14-report {
		padding-left: 0;
		min-height: 0;
	}

	.service-v14-report__stack,
	.service-v14-report__sheet {
		position: relative;
		inset: auto;
		width: 100%;
	}

	.service-v14-report__stack--back,
	.service-v14-report__stack--mid {
		display: none;
	}

	.service-v14-report__sheet {
		right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.service-v14 .service-v14-trace-card .trace,
	.service-v14 .service-v14-device__screen svg path,
	.service-v14 .service-v14-ring-card .is-accent,
	.service-v14 .service-v14-device__chart span {
		animation: none;
		stroke-dashoffset: 0;
		transform: none;
	}
}

/* -------------------------------------------------------------------------- */
/* Service template v0.15.0 — credibility-first, photographic, conversion-led */
/* -------------------------------------------------------------------------- */
.service-v15 {
	--sv15-bg: #f7f8fa;
	--sv15-surface: #fff;
	--sv15-ink: #121820;
	--sv15-muted: #596474;
	--sv15-line: #e2e7ed;
	--sv15-red: #d9202f;
	--sv15-red-dark: #bd1826;
	--sv15-blue: #5266ff;
	--sv15-dark: #09111f;
	--sv15-dark-2: #101a2d;
	background: var(--sv15-bg);
	color: var(--sv15-ink);
}

.service-v15 .wf-container { max-width: 1220px; }
.service-v15-section { padding: clamp(4rem, 7vw, 7rem) 0; }
.service-v15 .service-prose { color: var(--sv15-muted); line-height: 1.72; }
.service-v15 .service-prose > *:first-child { margin-top: 0; }
.service-v15 .service-prose > *:last-child { margin-bottom: 0; }

.service-v15-kicker,
.service-v15-section-kicker,
.service-v15-heading > p {
	margin: 0 0 .9rem;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--sv15-red);
}

.service-v15-heading { display: grid; gap: .85rem; align-content: start; }
.service-v15-heading h2,
.service-v15-challenge__content h2,
.service-v15-insights__copy h2,
.service-v15-editorial-block h2,
.service-v15-mid-cta__panel h2,
.service-v15-final__panel h2 {
	margin: 0;
	font-size: 50px;
	line-height: .98;
	letter-spacing: -.045em;
}

.service-v15-hero {
	position: relative;
	min-height: clamp(620px, 73vh, 780px);
	display: grid;
	align-items: center;
	background: #fff;
	overflow: hidden;
}

.service-v15-hero.has-image {
	background-image: var(--service-v15-hero-image);
	background-size: cover;
	background-position: var(--service-v15-hero-position, center);
}

.service-v15-hero__veil {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.97) 37%, rgba(255,255,255,.78) 52%, rgba(255,255,255,.18) 70%, rgba(255,255,255,0) 100%),
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(7,12,22,.08));
}

.service-v15-hero__inner { position: relative; z-index: 1; }
.service-v15-hero__copy { max-width: 610px; padding: clamp(3rem, 6vw, 5.5rem) 0; }
.service-v15-title {
	margin: 0;
	font-size: 51px;
	font-weight: 640;
	line-height: .94;
	letter-spacing: -.06em;
}

.service-v15-hero__value {
	max-width: 590px;
	margin: 1.35rem 0 0;
	font-size: clamp(1.05rem, 1.55vw, 1.25rem);
	line-height: 1.65;
	color: #374151;
}

.service-v15-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.25rem; margin-top: 1.8rem; }
.service-v15-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	min-height: 50px;
	padding: .82rem 1.2rem;
	border-radius: 10px;
	font-size: .95rem;
	font-weight: 720;
	text-decoration: none;
	transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.service-v15-button--primary {
	border: 1px solid #be1825;
	background: linear-gradient(180deg, #e22838, #cf1d2c);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 24px rgba(217,32,47,.18);
}
.service-v15-button--primary:hover,
.service-v15-button--primary:focus-visible {
	background: linear-gradient(180deg, #d91f31, #bd1726);
	color: #fff;
	transform: none;
}
.service-v15-secondary-link {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-weight: 680;
	color: #1d2733;
	text-decoration: none;
}
.service-v15-secondary-link:hover,
.service-v15-secondary-link:focus-visible { color: var(--sv15-red); }
.service-v15-price { color: var(--sv15-muted); font-size: .9rem; }

.service-v15-trust-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 1rem;
	margin-top: 2.6rem;
	max-width: 760px;
}
.service-v15-trust-row > div {
	display: grid;
	grid-template-columns: 36px minmax(0,1fr);
	gap: .7rem;
	align-items: start;
}
.service-v15-trust-row span {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(17,24,39,.08);
	color: var(--sv15-red);
}
.service-v15-trust-row p { margin: 0; font-size: .82rem; line-height: 1.45; color: #334155; }

.service-v15-intro { padding: clamp(3.2rem,5vw,5.2rem) 0; background: #fff; }
.service-v15-intro__copy { max-width: 1030px; margin-inline: auto; }
.service-v15-intro__copy p:first-child {
	font-size: clamp(1.65rem,2.55vw,2.55rem);
	font-weight: 590;
	line-height: 1.22;
	letter-spacing: -.03em;
	color: var(--sv15-ink);
}
.service-v15-intro__copy p:not(:first-child) { max-width: 900px; font-size: 1.06rem; }

.service-v15-markets { background: #f1f3f6; border-top: 1px solid var(--sv15-line); border-bottom: 1px solid var(--sv15-line); }
.service-v15-markets__inner { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.service-v15-market {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1.4rem 2rem;
}
.service-v15-market + .service-v15-market { border-left: 1px solid #d5dbe4; }
.service-v15-market__icon { font-size: 1.75rem; line-height: 1; }
.service-v15-market strong { display: block; font-size: .96rem; }
.service-v15-market small { display: block; margin-top: .18rem; font-size: .78rem; color: var(--sv15-muted); }

.service-v15-challenge { background: #fff; }
.service-v15-challenge__grid {
	display: grid;
	grid-template-columns: minmax(320px,.9fr) minmax(0,1.1fr);
	gap: clamp(2.2rem,5vw,5rem);
	align-items: center;
}
.service-v15-photo {
	position: relative;
	overflow: hidden;
	border-radius: 24px;
	background: #e9edf3;
	box-shadow: 0 22px 45px rgba(16,24,40,.08);
}
.service-v15-photo::after {
	content:"";
	position:absolute;
	inset:0;
	background: linear-gradient(180deg, transparent 60%, rgba(8,17,31,.08));
	pointer-events:none;
}
.service-v15-photo img { width:100%; height:100%; object-fit:cover; display:block; }
.service-v15-photo--challenge { aspect-ratio: 1.25; }
.service-v15-challenge__problem { margin: 1rem 0 0; max-width: 700px; font-size: 1.04rem; line-height: 1.7; color: var(--sv15-muted); }
.service-v15-checklist { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.72rem 1.3rem; padding:0; margin:1.5rem 0 0; list-style:none; }
.service-v15-checklist li { position:relative; padding-left:1.45rem; font-size:.93rem; line-height:1.55; color:#2c3746; }
.service-v15-checklist li::before {
	content:"";
	position:absolute;
	left:0;
	top:.48rem;
	width:.58rem;
	height:.58rem;
	border-radius:50%;
	border:1.5px solid var(--sv15-red);
	box-shadow: inset 0 0 0 2px #fff;
	background: var(--sv15-red);
}

.service-v15-uncover { background:#fbfcfd; border-top:1px solid var(--sv15-line); border-bottom:1px solid var(--sv15-line); }
.service-v15-uncover__grid { display:grid; grid-template-columns: minmax(245px,.42fr) minmax(0,1fr); gap: clamp(2rem,4vw,4rem); align-items:start; }
.service-v15-heading .service-prose { font-size:.98rem; }
.service-v15-inline-cta { margin-top:1.1rem; width:max-content; }
.service-v15-feature-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:1rem; }
.service-v15-feature-card {
	min-height: 150px;
	padding:1.2rem;
	border:1px solid #e3e7ed;
	border-radius:18px;
	background:#fff;
	box-shadow: 0 10px 24px rgba(16,24,40,.035);
}
.service-v15-feature-card > span { display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:#f4f6f9; color:var(--sv15-red); }
.service-v15-feature-card p { margin:1rem 0 0; font-size:.92rem; line-height:1.55; color:#354152; }

.service-v15-insights { background:#fff; padding-top:2.2rem; }
.service-v15-insights__panel {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);
	gap: clamp(2rem,4vw,4rem);
	padding: clamp(2rem,4vw,3rem);
	border-radius:26px;
	background: radial-gradient(circle at 86% 12%, rgba(217,32,47,.18), rgba(217,32,47,0) 32%), linear-gradient(135deg,var(--sv15-dark),var(--sv15-dark-2));
	color:#fff;
}
.service-v15-insights__copy h2 { color:#fff; }
.service-v15-insights__copy .service-prose { color:rgba(255,255,255,.76); }
.service-v15-insight-points { display:grid; gap:.9rem; margin-top:1.5rem; }
.service-v15-insight-points > div { display:grid; grid-template-columns:38px minmax(0,1fr); gap:.8rem; align-items:start; }
.service-v15-insight-points > div > span { display:grid; place-items:center; width:36px; height:36px; border-radius:12px; background:rgba(217,32,47,.13); color:#ff6b78; }
.service-v15-insight-points strong { display:block; font-size:.96rem; }
.service-v15-insight-points p { margin:.18rem 0 0; color:rgba(255,255,255,.66); font-size:.85rem; line-height:1.5; }
.service-v15-insights__visual { align-self:stretch; display:grid; }
.service-v15-insights__visual > img { width:100%; height:100%; object-fit:cover; border-radius:20px; border:1px solid rgba(255,255,255,.1); }
.service-v15-coverage-visual,
.service-v15-chart {
	display:grid;
	align-content:center;
	gap:1.2rem;
	min-height:100%;
	padding:1.5rem;
	border-radius:20px;
	border:1px solid rgba(255,255,255,.1);
	background:rgba(255,255,255,.04);
}
.service-v15-coverage-visual__ring { margin-inline:auto; display:grid; place-items:center; width:190px; height:190px; border-radius:50%; background: radial-gradient(circle at center, #101a2d 0 47%, transparent 48%), conic-gradient(#ff6b78 0 24%, #fbbf24 24% 49%, #66c57b 49% 74%, #6373ff 74% 100%); }
.service-v15-coverage-visual__ring span { display:grid; place-items:center; width:70px; height:70px; border-radius:50%; background:#0c1526; color:#fff; }
.service-v15-coverage-visual ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; padding:0; margin:0; list-style:none; }
.service-v15-coverage-visual li { font-size:.8rem; color:rgba(255,255,255,.78); }
.service-v15-coverage-visual small { text-align:center; color:rgba(255,255,255,.46); font-size:.72rem; }
.service-v15-chart h3 { margin:0; color:#fff; font-size:1rem; }
.service-v15-metric-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.service-v15-metric-grid > div { padding:.9rem; border-radius:14px; background:rgba(255,255,255,.05); }
.service-v15-metric-grid strong { display:block; font-size:1.35rem; }
.service-v15-metric-grid span { display:block; font-size:.8rem; color:rgba(255,255,255,.78); }
.service-v15-metric-grid small { display:block; margin-top:.2rem; font-size:.68rem; color:rgba(255,255,255,.5); }
.service-v15-bars { display:grid; grid-template-columns:repeat(auto-fit,minmax(42px,1fr)); gap:.8rem; align-items:end; min-height:180px; }
.service-v15-bars > div { display:grid; grid-template-rows:1fr auto auto; gap:.3rem; align-items:end; min-height:180px; text-align:center; }
.service-v15-bars > div > span { width:100%; height:var(--bar-height); min-height:4px; border-radius:8px 8px 2px 2px; background:linear-gradient(180deg,#ff6473,var(--sv15-red)); transform-origin:bottom; animation:sv15-bar 1s ease both; }
.service-v15-bars strong { font-size:.78rem; }
.service-v15-bars small { font-size:.68rem; color:rgba(255,255,255,.55); }
.service-v15-line-chart { width:100%; height:auto; }
.service-v15-line-chart .grid { fill:none; stroke:rgba(255,255,255,.08); stroke-width:1; }
.service-v15-line-chart .trace { fill:none; stroke:#ff6977; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:700; stroke-dashoffset:700; animation:sv15-line 1.8s ease forwards; }
.service-v15-chart-labels { display:flex; justify-content:space-between; gap:.5rem; font-size:.66rem; color:rgba(255,255,255,.48); }
.service-v15-donut { display:grid; grid-template-columns:180px minmax(0,1fr); gap:1.2rem; align-items:center; }
.service-v15-donut__ring { width:180px; height:180px; border-radius:50%; background: radial-gradient(circle at center,#101a2d 0 48%, transparent 49%), var(--donut-gradient, conic-gradient(#ff6473 0 25%, #f8b84d 25% 50%, #5fc67a 50% 75%, #6373ff 75% 100%)); }
.service-v15-donut__legend { display:grid; gap:.65rem; }
.service-v15-donut__legend > div { display:grid; grid-template-columns:10px auto 1fr; gap:.55rem; align-items:center; }
.service-v15-donut__legend > div > span { width:9px; height:9px; border-radius:50%; background:#ff6473; }
.service-v15-donut__legend strong { font-size:.8rem; }
.service-v15-donut__legend small { color:rgba(255,255,255,.55); font-size:.74rem; }
.service-v15-chart__note { margin:0; color:rgba(255,255,255,.55); font-size:.72rem; line-height:1.5; }

.service-v15-mid-cta { padding-top:2.6rem; padding-bottom:2.6rem; background:#fff; }
.service-v15-mid-cta__panel {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:2rem;
	align-items:center;
	padding:1.65rem 1.8rem;
	border:1px solid var(--sv15-line);
	border-radius:20px;
	background:#fafbfc;
}
.service-v15-mid-cta__panel h2 { font-size:50px; }
.service-v15-mid-cta__panel p:last-child { max-width:700px; margin:.7rem 0 0; color:var(--sv15-muted); }

.service-v15-reviews { background:linear-gradient(180deg,#fff,#fafafa); border-top:1px solid var(--sv15-line); border-bottom:1px solid var(--sv15-line); }
.service-v15-reviews__grid { display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.15fr) minmax(220px,.65fr); gap:1.4rem; align-items:stretch; }
.service-v15-review-summary,
.service-v15-testimonial,
.service-v15-leave-review { padding:1.45rem; border:1px solid var(--sv15-line); border-radius:18px; background:#fff; }
.service-v15-review-summary h2 { margin:0; font-size:clamp(1.7rem,3vw,2.6rem); letter-spacing:-.035em; }
.service-v15-review-summary > p:not(.service-v15-section-kicker) { color:var(--sv15-muted); line-height:1.6; font-size:.9rem; }
.service-v15-review-summary a,
.service-v15-leave-review a { display:inline-flex; gap:.5rem; align-items:center; margin-top:.6rem; font-weight:700; color:var(--sv15-ink); }
.service-v15-testimonial { margin:0; }
.service-v15-stars { margin-bottom:.8rem; color:#f5a623; letter-spacing:.12em; }
.service-v15-testimonial > p { margin:0; font-size:1.04rem; line-height:1.7; color:#263242; }
.service-v15-testimonial footer { display:grid; gap:.15rem; margin-top:1.1rem; }
.service-v15-testimonial footer span { font-size:.8rem; color:var(--sv15-muted); }
.service-v15-leave-review { display:grid; align-content:center; }
.service-v15-leave-review p { margin:0; color:var(--sv15-muted); }
.service-v15-leave-review a { color:var(--sv15-red); }

.service-v15-after { background:#fff; }
.service-v15-after__grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(2.5rem,5vw,5rem); align-items:start; }
.service-v15-after__editorial { display:grid; gap:2.6rem; }
.service-v15-editorial-block { display:grid; gap:.7rem; }
.service-v15-editorial-block h2 { font-size:50px; }
.service-v15-process { position:relative; display:grid; gap:.2rem; padding:0; margin:0; list-style:none; }
.service-v15-process::before { content:""; position:absolute; left:20px; top:20px; bottom:20px; width:1px; background:#d7dce4; }
.service-v15-process li { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr); gap:1rem; align-items:start; padding:1rem 0; border-bottom:1px solid #edf0f4; }
.service-v15-process li:last-child { border-bottom:0; }
.service-v15-process li > span { position:relative; z-index:1; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#fff; border:1px solid #d9dfe8; color:var(--sv15-blue); font-size:.75rem; font-weight:800; }
.service-v15-process p { margin:.55rem 0 0; line-height:1.55; color:#354152; }

.service-v15-benefits { border-top:1px solid var(--sv15-line); background:#fbfcfd; }
.service-v15-benefits__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:1.8rem; border-top:1px solid var(--sv15-line); border-left:1px solid var(--sv15-line); }
.service-v15-benefits__grid > div { min-height:145px; padding:1.2rem; border-right:1px solid var(--sv15-line); border-bottom:1px solid var(--sv15-line); background:#fff; }
.service-v15-benefits__grid span { display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:#f5f7fa; color:var(--sv15-blue); }
.service-v15-benefits__grid p { margin:1rem 0 0; font-size:.92rem; line-height:1.55; color:#354152; }

.service-v15-deliverables { background:#fff; }
.service-v15-deliverables__grid { display:grid; grid-template-columns:minmax(240px,.52fr) minmax(0,1fr); gap:clamp(2.2rem,4vw,4rem); align-items:center; }
.service-v15-deliverables .service-v15-heading > p:last-child { color:var(--sv15-muted); line-height:1.6; }
.service-v15-deliverables__content { display:grid; grid-template-columns:minmax(0,.9fr) minmax(260px,1.1fr); gap:1rem; align-items:stretch; }
.service-v15-deliverables__content ol { padding:1.2rem; margin:0; list-style:none; border:1px solid var(--sv15-line); border-radius:18px; background:#fbfcfd; }
.service-v15-deliverables__content li { display:grid; grid-template-columns:34px minmax(0,1fr); gap:.75rem; align-items:start; padding:.75rem 0; border-bottom:1px solid var(--sv15-line); }
.service-v15-deliverables__content li:last-child { border-bottom:0; }
.service-v15-deliverables__content li span { color:var(--sv15-blue); }
.service-v15-deliverables__content li p { margin:0; font-size:.9rem; line-height:1.5; }
.service-v15-deliverables__content img { width:100%; height:100%; min-height:300px; object-fit:cover; border-radius:18px; border:1px solid var(--sv15-line); }

.service-v15-faq { background:#fbfcfd; border-top:1px solid var(--sv15-line); }
.service-v15-faq__grid { display:grid; grid-template-columns:minmax(240px,.5fr) minmax(0,1fr); gap:3rem; align-items:start; }
.service-v15-faq__items { display:grid; gap:.8rem; }
.service-v15-faq details { border:1px solid var(--sv15-line); border-radius:16px; background:#fff; overflow:hidden; }
.service-v15-faq summary { display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1rem 1.15rem; cursor:pointer; list-style:none; font-weight:650; }
.service-v15-faq summary::-webkit-details-marker { display:none; }
.service-v15-faq details > div { padding:0 1.15rem 1rem; color:var(--sv15-muted); }

.service-v15-related { background:#fff; }
.service-v15-related__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.6rem; }
.service-v15-related__grid > div { padding:1.2rem; border:1px solid var(--sv15-line); border-radius:16px; background:#fbfcfd; }
.service-v15-related__grid > div > p { margin:0 0 .6rem; font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--sv15-muted); }
.service-v15-related__grid a { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-top:1px solid var(--sv15-line); color:var(--sv15-ink); text-decoration:none; }
.service-v15-related__grid a:first-of-type { border-top:0; }

.service-v15-final { padding-top:2.5rem; background:#fff; }
.service-v15-final__panel {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:2rem;
	align-items:center;
	padding:clamp(2rem,4vw,3.2rem);
	border-radius:22px;
	background: radial-gradient(circle at 72% 120%, rgba(217,32,47,.34), rgba(217,32,47,0) 32%), linear-gradient(135deg,#0a1322,#111b2f);
	color:#fff;
	box-shadow:0 24px 48px rgba(8,17,31,.12);
}
.service-v15-final__panel h2 { color:#fff; max-width:12ch; }
.service-v15-final__panel > div:first-child > p:last-child { max-width:650px; color:rgba(255,255,255,.74); line-height:1.6; }
.service-v15-final__actions { display:grid; gap:.85rem; justify-items:end; }
.service-v15-final__actions > a:last-child { color:#fff; text-decoration:none; font-weight:680; display:inline-flex; gap:.5rem; align-items:center; }

.service-v15-nav { padding:2.2rem 0; background:#f6f7f9; border-top:1px solid var(--sv15-line); border-bottom:1px solid var(--sv15-line); }
.service-v15-nav__grid { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:1.5rem; align-items:center; }
.service-v15-nav__item { display:flex; gap:.9rem; align-items:center; color:var(--sv15-ink); text-decoration:none; }
.service-v15-nav__item--next { justify-content:flex-end; text-align:right; }
.service-v15-nav__item > span { font-size:1.4rem; color:var(--sv15-muted); }
.service-v15-nav__item small { display:block; margin-bottom:.25rem; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--sv15-muted); }
.service-v15-nav__item strong { display:block; max-width:280px; line-height:1.35; }
.service-v15-nav__all { display:inline-flex; align-items:center; gap:.55rem; padding:.75rem 1rem; border-radius:999px; color:var(--sv15-ink); text-decoration:none; font-weight:700; background:#fff; border:1px solid var(--sv15-line); }

.service-reveal { opacity:1; transform:none; }
.service-v15.has-reveal-motion .service-reveal { opacity:0; transform:translate3d(0,20px,0); transition:opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.service-v15.has-reveal-motion .service-reveal.is-visible { opacity:1; transform:none; }

@keyframes sv15-line { to { stroke-dashoffset:0; } }
@keyframes sv15-bar { from { transform:scaleY(.25); } to { transform:scaleY(1); } }

@media (max-width:1080px) {
	.service-v15-hero__veil { background:linear-gradient(90deg,rgba(255,255,255,.99) 0%,rgba(255,255,255,.96) 52%,rgba(255,255,255,.55) 76%,rgba(255,255,255,.12) 100%); }
	.service-v15-trust-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.service-v15-challenge__grid,
	.service-v15-uncover__grid,
	.service-v15-insights__panel,
	.service-v15-after__grid,
	.service-v15-deliverables__grid,
	.service-v15-faq__grid { grid-template-columns:1fr; }
	.service-v15-reviews__grid { grid-template-columns:1fr 1fr; }
	.service-v15-leave-review { grid-column:1 / -1; }
	.service-v15-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.service-v15-deliverables__content { grid-template-columns:1fr 1fr; }
}

@media (max-width:760px) {
	.service-v15-section { padding:3.4rem 0; }
	.service-v15-heading h2,
	.service-v15-challenge__content h2,
	.service-v15-insights__copy h2,
	.service-v15-editorial-block h2,
	.service-v15-mid-cta__panel h2,
	.service-v15-final__panel h2 { font-size:clamp(2.25rem,10vw,3.125rem); }
	.service-v15-hero { min-height:720px; align-items:end; }
	.service-v15-hero.has-image { background-position:center top; }
	.service-v15-hero__veil { background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,.28) 34%,rgba(255,255,255,.97) 58%,#fff 100%); }
	.service-v15-hero__copy { padding:15rem 0 2.5rem; }
	.service-v15-title { max-width:none; font-size:clamp(2.65rem,12vw,3.2rem); }
	.service-v15-trust-row,
	.service-v15-checklist,
	.service-v15-feature-grid,
	.service-v15-benefits__grid,
	.service-v15-reviews__grid,
	.service-v15-related__grid,
	.service-v15-markets__inner,
	.service-v15-deliverables__content,
	.service-v15-mid-cta__panel,
	.service-v15-final__panel,
	.service-v15-nav__grid { grid-template-columns:1fr; }
	.service-v15-market + .service-v15-market { border-left:0; border-top:1px solid #d5dbe4; }
	.service-v15-market { justify-content:flex-start; padding-inline:1rem; }
	.service-v15-donut { grid-template-columns:1fr; }
	.service-v15-mid-cta__panel { align-items:start; }
	.service-v15-final__actions { justify-items:start; }
	.service-v15-nav__all { justify-self:stretch; justify-content:center; order:-1; }
	.service-v15-nav__item--next { justify-content:flex-start; text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
	.service-v15 .service-v15-line-chart .trace,
	.service-v15 .service-v15-bars > div > span { animation:none; stroke-dashoffset:0; transform:none; }
	.service-v15.has-reveal-motion .service-reveal,
	.service-v15.has-reveal-motion .service-reveal.is-visible { opacity:1; transform:none; transition:none; }
}

.service-v15-visual-note {
	position: absolute;
	right: max(1rem, calc((100vw - min(1220px, 100vw - 2rem)) / 2));
	bottom: 1rem;
	z-index: 2;
	padding: .45rem .7rem;
	border-radius: 999px;
	background: rgba(8,17,31,.64);
	backdrop-filter: blur(8px);
	color: rgba(255,255,255,.86);
	font-size: .68rem;
	letter-spacing: .04em;
}
.service-v15-photo small,
.service-v15-output-image small {
	position:absolute;
	left:.75rem;
	bottom:.75rem;
	z-index:2;
	padding:.35rem .55rem;
	border-radius:999px;
	background:rgba(8,17,31,.66);
	color:rgba(255,255,255,.9);
	font-size:.65rem;
}
.service-v15-output-image { position:relative; min-width:0; }
.service-v15-output-image img { width:100%; height:100%; min-height:300px; object-fit:cover; border-radius:18px; border:1px solid var(--sv15-line); }
.service-v15-deliverables__content > img { display:none; }

/* Service hero trust panel — v0.15.2 */
.service-v15-hero__copy {
	padding-bottom: clamp(8.5rem, 12vw, 10.5rem);
}

.service-v15-trust-shell {
	position: absolute;
	z-index: 3;
	left: 0;
	bottom: 0;
	width: min(860px, 59vw);
	padding:
		1.45rem
		clamp(1.5rem, 3vw, 2.4rem)
		1.5rem
		max(1.5rem, calc((100vw - 1220px) / 2));
	border-radius: 0 64px 0 0;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 18px -12px 42px rgba(15, 23, 42, 0.045);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.service-v15-trust-row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.65rem);
	max-width: none;
	margin: 0;
}

.service-v15-trust-row > .service-v15-trust-item {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.62rem;
	align-items: start;
	min-width: 0;
}

.service-v15-trust-item__icon,
.service-v15-trust-row .service-v15-trust-item__icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #17202b;
}

.service-v15-trust-item__icon svg {
	width: 28px;
	height: 28px;
}

.service-v15-trust-item strong {
	display: block;
	margin: 0 0 0.25rem;
	font-size: 0.84rem;
	font-weight: 760;
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: #111827;
}

.service-v15-trust-item p,
.service-v15-trust-row .service-v15-trust-item p {
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.42;
	color: #536071;
}

@media (max-width: 1080px) {
	.service-v15-trust-shell {
		width: min(820px, 72vw);
		padding-left: max(1.25rem, calc((100vw - 920px) / 2));
		border-radius: 0 48px 0 0;
	}

	.service-v15-trust-row {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}
}

@media (max-width: 760px) {
	.service-v15-hero__copy {
		padding-bottom: 2rem;
	}

	.service-v15-trust-shell {
		position: relative;
		left: auto;
		bottom: auto;
		width: 100%;
		padding: 1.25rem 1rem 1.4rem;
		border-radius: 28px 28px 0 0;
		box-shadow: 0 -12px 34px rgba(15, 23, 42, 0.055);
	}

	.service-v15-trust-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.2rem 1rem;
	}

	.service-v15-trust-row > .service-v15-trust-item {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 0.7rem;
	}

	.service-v15-trust-item__icon,
	.service-v15-trust-row .service-v15-trust-item__icon {
		width: 34px;
		height: 34px;
	}

	.service-v15-trust-item__icon svg {
		width: 24px;
		height: 24px;
	}
}

/* -------------------------------------------------------------------------- */
/* Service template v0.15.3 — fidelity refinements                           */
/* -------------------------------------------------------------------------- */

/* Hero trust panel: more breathing room, wider reach, aligned labels. */
.service-v15-hero__copy {
	padding-bottom: clamp(10.5rem, 14vw, 12.5rem);
}

.service-v15-actions {
	margin-bottom: 1.5rem;
}

.service-v15-trust-shell {
	width: min(930px, 64vw);
	padding-top: 1.65rem;
	padding-bottom: 1.7rem;
}

.service-v15-trust-row > .service-v15-trust-item {
	grid-template-rows: 40px auto;
	gap: 0.72rem;
}

.service-v15-trust-item__icon,
.service-v15-trust-row .service-v15-trust-item__icon {
	width: 40px;
	height: 40px;
}

.service-v15-trust-item__icon svg {
	width: 29px;
	height: 29px;
}

.service-v15-trust-item > div {
	display: grid;
	grid-template-rows: minmax(1.25rem, auto) auto;
	align-content: start;
}

.service-v15-trust-item strong {
	min-height: 1.25rem;
	margin-bottom: 0.32rem;
	line-height: 1.25;
}

/* Section 02 — larger checkmarks for the audience/use-case list. */
.service-v15-checklist {
	gap: 1rem 1.7rem;
	margin-top: 1.8rem;
}

.service-v15-checklist li {
	padding-left: 2rem;
	font-size: 0.96rem;
	line-height: 1.62;
}

.service-v15-checklist li::before {
	content: "✓";
	display: grid;
	place-items: center;
	left: 0;
	top: 0.08rem;
	width: 1.3rem;
	height: 1.3rem;
	border: 1.6px solid var(--sv15-red);
	border-radius: 50%;
	background: #fff;
	box-shadow: none;
	color: var(--sv15-red);
	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
}

/* Section 03 — icon + concise title, with the original copy retained below. */
.service-v15-feature-card {
	min-height: 174px;
	padding: 1.35rem;
}

.service-v15-feature-card__head {
	display: flex;
	align-items: center;
	gap: 0.9rem;
}

.service-v15-feature-card__head > span {
	display: grid;
	place-items: center;
	flex: 0 0 50px;
	width: 50px;
	height: 50px;
	border-radius: 16px;
	background: #f4f6f9;
	color: var(--sv15-red);
}

.service-v15-feature-card__head > span svg {
	width: 25px;
	height: 25px;
}

.service-v15-feature-card__head h3 {
	margin: 0;
	font-size: 1rem;
	font-weight: 760;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--sv15-ink);
}

.service-v15-feature-card > p {
	margin: 1.05rem 0 0;
	font-size: 0.92rem;
	line-height: 1.58;
	color: #4a5666;
}

/* Section 04 — stronger separation after the title and a reusable review panel. */
.service-v15-insights__copy h2 {
	margin-bottom: 1.65rem;
}

.service-v15-review-overview {
	display: grid;
	gap: 1rem;
	min-height: 100%;
	padding: 1.15rem;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 20px;
	background: rgba(255,255,255,.035);
}

.service-v15-review-overview__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 190px;
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border-radius: 16px;
	background: rgba(255,255,255,.035);
	border: 1px solid rgba(255,255,255,.07);
}

.service-v15-review-overview__label {
	margin: 0 0 0.7rem;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.74);
}

.service-v15-review-overview__areas {
	display: grid;
	gap: 0.55rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v15-review-overview__areas li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.8rem;
	color: rgba(255,255,255,.84);
}

.service-v15-review-overview__areas li > span {
	width: 0.62rem;
	height: 0.62rem;
	border-radius: 50%;
	background: #ff5b67;
}

.service-v15-review-overview__areas .tone-2 { background: #f7a83b; }
.service-v15-review-overview__areas .tone-3 { background: #60c878; }
.service-v15-review-overview__areas .tone-4 { background: #6475ff; }

.service-v15-review-overview__donut {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 180px;
}

.service-v15-review-overview__ring {
	width: 156px;
	height: 156px;
	border-radius: 50%;
	background:
		radial-gradient(circle at center, #121c30 0 52%, transparent 53%),
		conic-gradient(#ff5b67 0 25%, #f7a83b 25% 50%, #60c878 50% 75%, #6475ff 75% 100%);
	box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.service-v15-review-overview__donut > div:last-child {
	position: absolute;
	display: grid;
	place-items: center;
	text-align: center;
	gap: 0.1rem;
}

.service-v15-review-overview__donut strong {
	font-size: 1.45rem;
	line-height: 1;
	color: #fff;
}

.service-v15-review-overview__donut span {
	font-size: 0.65rem;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
}

.service-v15-review-overview__focus {
	padding: 1rem;
	border-radius: 16px;
	background: rgba(255,255,255,.035);
	border: 1px solid rgba(255,255,255,.07);
}

.service-v15-review-overview__focus ul {
	display: grid;
	gap: 0;
	padding: 0;
	margin: 0;
	list-style: none;
}

.service-v15-review-overview__focus li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.62rem 0;
	border-top: 1px solid rgba(255,255,255,.07);
	font-size: 0.78rem;
	color: rgba(255,255,255,.82);
}

.service-v15-review-overview__focus li:first-child {
	border-top: 0;
	padding-top: 0;
}

.service-v15-review-overview__focus li small {
	color: #ff7a84;
	font-size: 0.68rem;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.service-v15-review-overview__note {
	margin: 0;
	text-align: center;
	font-size: 0.68rem;
	color: rgba(255,255,255,.44);
}

/* What happens after the audit — red sequence numbers. */
.service-v15-process li > span {
	border-color: rgba(217,32,47,.28);
	background: #fff;
	color: var(--sv15-red);
	box-shadow: 0 0 0 4px rgba(217,32,47,.05);
}

/* Deliverables — red icons, consistent with the locked visual direction. */
.service-v15-deliverables__content li span {
	color: var(--sv15-red);
}

.service-v15-deliverables__content li span svg {
	width: 21px;
	height: 21px;
}

@media (max-width: 1080px) {
	.service-v15-trust-shell {
		width: min(900px, 76vw);
	}

	.service-v15-review-overview__top {
		grid-template-columns: minmax(0, 1fr) 160px;
	}

	.service-v15-review-overview__ring {
		width: 138px;
		height: 138px;
	}
}

@media (max-width: 760px) {
	.service-v15-hero__copy {
		padding-bottom: 2.4rem;
	}

	.service-v15-actions {
		margin-bottom: 0;
	}

	.service-v15-trust-shell {
		width: 100%;
	}

	.service-v15-trust-row > .service-v15-trust-item {
		grid-template-rows: auto;
	}

	.service-v15-checklist {
		grid-template-columns: 1fr;
	}

	.service-v15-feature-card {
		min-height: auto;
	}

	.service-v15-review-overview__top {
		grid-template-columns: 1fr;
	}

	.service-v15-review-overview__donut {
		min-height: 150px;
	}
}
