.services-hero {
	min-height: min(680px, calc(100svh - 88px));
	border-bottom: var(--border-width) solid var(--color-border);
}

.services-hero__grid,
.services-position__grid,
.service-index__grid,
.services-approach__grid,
.services-closing__grid {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.services-hero__grid {
	position: relative;
	min-height: 480px;
	align-content: space-between;
	padding-block: var(--space-2xl);
}

.services-hero__grid > .section-label {
	grid-column: 1 / 4;
}

.services-hero__title {
	grid-column: 2 / 9;
	grid-row: 2;
	align-self: center;
}

.services-hero h1 {
	font-size: clamp(4.5rem, 9vw, 8rem);
	font-weight: 400;
	line-height: 0.98;
}

.services-hero__arabic {
	margin-top: var(--space-xl);
	color: var(--color-text-muted);
	font-size: var(--type-body-large);
}

.services-hero__support {
	grid-column: 9 / 13;
	grid-row: 2;
	align-self: center;
	max-width: 280px;
	padding-top: var(--space-3xl);
}

.services-hero__support p,
.services-position__support,
.service-item__content p,
.approach-list p {
	color: var(--color-text-muted);
	font-size: var(--type-small);
	line-height: 1.6;
}

.services-hero__index {
	grid-column: 1 / 3;
	grid-row: 3;
	align-self: end;
}

.services-position,
.service-index,
.services-approach,
.services-closing {
	border-bottom: var(--border-width) solid var(--color-border);
}

.services-position__grid {
	row-gap: var(--space-3xl);
}

.services-position__grid > .section-label {
	grid-column: 1 / 3;
}

.services-position h2 {
	grid-column: 4 / 11;
	max-width: 820px;
	font-size: clamp(2.75rem, 5vw, 5rem);
	font-weight: 400;
	line-height: 1.05;
}

.services-position__support {
	grid-column: 8 / 12;
	margin: 0;
}

.service-index__intro {
	grid-column: 1 / 5;
}

.service-index__intro h2 {
	margin-top: var(--space-3xl);
	font-size: clamp(2.5rem, 4vw, 4rem);
	font-weight: 400;
}

.service-list {
	grid-column: 6 / 13;
}

.service-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 24px;
	align-items: start;
	gap: var(--space-lg);
	padding-block: var(--space-xl);
	border-top: var(--border-width) solid var(--color-border);
	transition: padding-left var(--duration-hover) var(--ease-khayal), color var(--duration-hover) var(--ease-khayal);
}

.service-item:last-child {
	border-bottom: var(--border-width) solid var(--color-border);
}

.service-item:hover,
.service-item:focus-within {
	padding-left: var(--space-md);
	color: var(--color-accent);
}

.service-item__content h3 {
	font-size: clamp(2rem, 3.2vw, 3rem);
	font-weight: 400;
	line-height: 1.05;
}

.service-item__content p {
	max-width: 520px;
	margin-top: var(--space-md);
}

.service-item__marker {
	padding-top: var(--space-sm);
	color: var(--color-accent);
	opacity: 0;
	transition: opacity var(--duration-hover) var(--ease-khayal);
}

.service-item:hover .service-item__marker,
.service-item:focus-within .service-item__marker {
	opacity: 1;
}

.services-approach {
	background: var(--color-mineral);
}

.services-approach__grid > .section-label {
	grid-column: 1 / 4;
}

.services-approach__heading {
	grid-column: 4 / 9;
}

.services-approach h2 {
	font-size: clamp(2.5rem, 4vw, 4rem);
	font-weight: 400;
	line-height: 1.08;
}

.approach-list {
	grid-column: 10 / 13;
}

.approach-list li {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: var(--space-sm);
	padding-block: var(--space-md);
	border-top: var(--border-width) solid var(--color-stone-line);
}

.approach-list li:last-child {
	border-bottom: var(--border-width) solid var(--color-stone-line);
}

.approach-list li > span:not(.index-number) {
	font-family: var(--font-latin-display);
	font-size: 1.5rem;
}

.approach-list p {
	grid-column: 2;
	margin-top: var(--space-sm);
}

.services-closing__grid > .section-label {
	grid-column: 1 / 4;
}

.services-closing__grid > div {
	grid-column: 5 / 11;
}

.services-closing h2 {
	font-size: clamp(3rem, 5vw, 5rem);
	font-weight: 400;
}

.services-closing .editorial-link {
	margin-top: var(--space-2xl);
}

@media (max-width: 1023px) {
	.services-hero__grid,
	.services-position__grid,
	.service-index__grid,
	.services-approach__grid,
	.services-closing__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}

	.services-hero__title {
		grid-column: 1 / 6;
	}

	.services-hero__support {
		grid-column: 6 / 9;
	}

	.services-position h2 {
		grid-column: 3 / 8;
	}

	.services-position__support {
		grid-column: 6 / 9;
	}

	.service-index__intro {
		grid-column: 1 / 4;
	}

	.service-list {
		grid-column: 4 / 9;
	}

	.services-approach__heading {
		grid-column: 3 / 6;
	}

	.approach-list {
		grid-column: 6 / 9;
	}

	.services-closing__grid > div {
		grid-column: 3 / 8;
	}
}

@media (max-width: 767px) {
	.services-hero {
		min-height: auto;
	}

	.services-hero__grid,
	.services-position__grid,
	.service-index__grid,
	.services-approach__grid,
	.services-closing__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.services-hero__grid {
		min-height: 600px;
		row-gap: var(--space-2xl);
	}

	.services-hero__grid > .section-label,
	.services-hero__title,
	.services-hero__support,
	.services-hero__index,
	.services-position__grid > .section-label,
	.services-position h2,
	.services-position__support,
	.service-index__intro,
	.service-list,
	.services-approach__grid > .section-label,
	.services-approach__heading,
	.approach-list,
	.services-closing__grid > .section-label,
	.services-closing__grid > div {
		grid-column: 1 / 5;
	}

	.services-hero__title {
		grid-row: 2;
	}

	.services-hero__support {
		grid-row: 3;
		padding-top: 0;
	}

	.services-hero__index {
		grid-row: 4;
	}

	.services-position__support {
		justify-self: end;
		max-width: 270px;
	}

	.service-index__intro h2 {
		margin-top: var(--space-xl);
	}

	.service-list {
		margin-top: var(--space-3xl);
	}

	.service-item {
		grid-template-columns: 32px minmax(0, 1fr) 20px;
		gap: var(--space-md);
	}

	.services-approach__heading h2 {
		margin-top: var(--space-xl);
	}

	.approach-list {
		margin-top: var(--space-3xl);
	}

	.services-closing__grid > div {
		margin-top: var(--space-3xl);
	}
}

@media (prefers-reduced-motion: reduce) {
	.service-item,
	.service-item:hover,
	.service-item:focus-within {
		padding-left: 0;
	}
}
