/* Service streams and dedicated service pages — Stang Personal 1.3.3. */

.primary-nav .nav-menu {
	gap: clamp(18px, 2.2vw, 36px);
}

.primary-nav a {
	white-space: nowrap;
}

/* Homepage service-stream preview. */
.stang-streams {
	position: relative;
	overflow: hidden;
}

.stang-streams::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 80% 10%, rgba(197, 31, 38, .06), transparent 34%);
}

.stang-stream-heading {
	position: relative;
}

.stang-stream-grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.stang-stream-card {
	display: flex;
	min-height: 510px;
	flex-direction: column;
	padding: 42px 58px 46px 0;
	border-right: 1px solid var(--line);
}

.stang-stream-card + .stang-stream-card {
	padding-right: 0;
	padding-left: 58px;
	border-right: 0;
}

.stang-stream-number,
.stang-card-number {
	margin: 0 0 48px;
	color: var(--red);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
}

.stang-stream-card h3 {
	max-width: 560px;
	font-size: clamp(1.65rem, 2.3vw, 2.35rem);
}

.stang-stream-card > p:not(.stang-stream-number) {
	max-width: 580px;
	margin: 18px 0 23px;
	color: #b5b8ba;
}

.stang-stream-card ul,
.stang-detail-card ul,
.stang-audience-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.stang-stream-card li {
	position: relative;
	padding: 11px 0 11px 22px;
	border-top: 1px solid rgba(255, 255, 255, .08);
	color: #d4d5d6;
	font-size: .84rem;
}

.stang-stream-card li::before {
	content: "";
	position: absolute;
	top: 19px;
	left: 0;
	width: 6px;
	height: 1px;
	background: var(--red);
}

.stang-stream-card .button {
	align-self: flex-start;
	margin-top: auto;
}

/* Shared dedicated service-page structure. */
.stang-service-page {
	background: var(--black);
	color: var(--white);
}

.stang-service-hero {
	position: relative;
	min-height: 690px;
	overflow: hidden;
	background:
		radial-gradient(circle at 76% 34%, rgba(79, 85, 89, .3), transparent 28%),
		linear-gradient(112deg, #07090a 0%, #111518 56%, #090b0c 100%);
}

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

.stang-service-hero::before {
	inset: 0;
	background:
		linear-gradient(90deg, rgba(7, 9, 10, .98) 0%, rgba(7, 9, 10, .77) 54%, rgba(7, 9, 10, .25) 100%),
		repeating-linear-gradient(135deg, transparent 0 110px, rgba(255, 255, 255, .02) 111px 112px);
}

.stang-service-hero::after {
	top: -160px;
	right: 10%;
	width: 1px;
	height: 680px;
	background: rgba(255, 255, 255, .25);
	transform: rotate(34deg);
	transform-origin: bottom;
}

.stang-service-hero--fencing {
	background-image: url("../images/tim-stang-coaching-blank-jacket.png");
	background-position: center 43%;
	background-size: cover;
}

.stang-service-hero--fencing::before {
	background: linear-gradient(90deg, #07090a 0%, rgba(7, 9, 10, .96) 34%, rgba(7, 9, 10, .64) 62%, rgba(7, 9, 10, .38) 100%);
}

.stang-service-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	min-height: 690px;
	align-items: center;
	padding-top: 125px;
	padding-bottom: 70px;
}

.stang-service-hero__copy {
	max-width: 880px;
}

.stang-service-hero__copy h1 {
	max-width: 860px;
	font-size: clamp(3rem, 5vw, 5rem);
	font-weight: 300;
	letter-spacing: -.015em;
}

.stang-service-hero__copy > p:not(.section-label) {
	max-width: 700px;
	color: #c4c6c7;
	font-size: 1rem;
	line-height: 1.7;
}

.stang-service-hero__copy .stang-service-lede {
	margin: 27px 0 15px;
	color: #f1f1f1;
	font-size: clamp(1.15rem, 1.8vw, 1.4rem);
	line-height: 1.5;
}

.stang-service-section {
	padding: 108px 0;
}

.stang-service-section--dark {
	background: linear-gradient(120deg, #0b0e0f, #121619 56%, #0b0d0e);
}

.stang-service-section--light {
	background: var(--paper);
	color: #181b1d;
}

.stang-service-section--mid {
	background: #15191b;
}

.stang-narrow-copy {
	max-width: 950px;
}

.stang-narrow-copy h2,
.stang-section-heading h2,
.stang-split-section h2,
.stang-service-cta h2 {
	font-size: clamp(2.25rem, 4vw, 3.85rem);
	font-weight: 300;
}

.stang-narrow-copy h2 {
	margin-bottom: 30px;
}

.stang-narrow-copy > p:not(.section-label) {
	max-width: 870px;
	color: #b8babc;
	font-size: 1.04rem;
	line-height: 1.8;
}

.stang-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
	gap: 36px 80px;
	align-items: end;
	margin-bottom: 58px;
}

.stang-section-heading .section-label {
	grid-column: 1 / -1;
	margin-bottom: -7px;
}

.stang-section-heading > p:last-child {
	max-width: 570px;
	margin: 0;
	color: #adb0b2;
}

.stang-detail-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
}

.stang-detail-card {
	position: relative;
	padding: 46px 52px 50px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.stang-detail-card .stang-card-number {
	margin-bottom: 35px;
}

.stang-detail-card h3 {
	max-width: 560px;
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	line-height: 1.25;
}

.stang-detail-card > p:not(.stang-card-number, .stang-outcome, .stang-practical-note) {
	margin: 20px 0 30px;
	color: #b0b3b5;
	font-size: .92rem;
	line-height: 1.7;
}

.stang-detail-card h4 {
	margin: 0 0 12px;
	color: #fff;
	font-size: .7rem;
	font-weight: 750;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.stang-detail-card li {
	position: relative;
	padding: 7px 0 7px 20px;
	color: #c6c8c9;
	font-size: .84rem;
}

.stang-detail-card li::before {
	content: "";
	position: absolute;
	top: 16px;
	left: 0;
	width: 6px;
	height: 1px;
	background: var(--red);
}

.stang-outcome {
	margin: 32px 0 0;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: #e4e5e5;
	font-size: .86rem;
	line-height: 1.65;
}

.stang-outcome strong {
	color: #fff;
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.stang-practical-note {
	margin: 25px 0 0;
	padding: 18px 20px;
	border-left: 2px solid var(--red);
	background: rgba(255, 255, 255, .045);
	color: #d8d9da;
	font-size: .82rem;
	line-height: 1.65;
}

.stang-split-section {
	display: grid;
	grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
	gap: 100px;
	align-items: start;
}

.stang-service-section--light .section-label {
	color: #b0181f;
}

.stang-split-section__heading > p:last-child {
	margin-top: 24px;
	color: #555a5d;
	line-height: 1.7;
}

.stang-audience-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid #cfcbc7;
	border-left: 1px solid #cfcbc7;
}

.stang-audience-list li {
	position: relative;
	min-height: 86px;
	padding: 27px 28px 23px 48px;
	border-right: 1px solid #cfcbc7;
	border-bottom: 1px solid #cfcbc7;
	font-size: .88rem;
	font-weight: 650;
	line-height: 1.45;
}

.stang-audience-list li::before {
	content: "";
	position: absolute;
	top: 35px;
	left: 24px;
	width: 9px;
	height: 2px;
	background: var(--red);
}

.stang-engagement-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
}

.stang-engagement-grid--five {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.stang-engagement-grid article {
	min-height: 265px;
	padding: 34px 30px;
	border-right: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.stang-engagement-grid h3 {
	font-size: 1.16rem;
	line-height: 1.35;
}

.stang-engagement-grid p {
	margin: 18px 0 0;
	color: #aeb1b3;
	font-size: .82rem;
	line-height: 1.65;
}

.stang-service-cta {
	padding: 98px 0;
	background: #090b0c;
}

.stang-service-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, .7fr);
	gap: 100px;
	align-items: center;
}

.stang-service-cta__inner > div:last-child > p {
	color: #b5b7b8;
	line-height: 1.7;
}

.stang-crosslink {
	padding: 32px 0;
	border-top: 1px solid rgba(255, 255, 255, .07);
	background: #15191b;
}

.stang-crosslink__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
}

.stang-crosslink p {
	margin: 0;
	color: #9da0a2;
	font-size: .82rem;
}

@media (max-width: 1180px) {
	.stang-engagement-grid--five {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.stang-engagement-grid--five article:nth-child(n + 4) {
		min-height: 220px;
	}
}

@media (max-width: 1000px) {
	.stang-stream-card {
		padding-right: 38px;
	}

	.stang-stream-card + .stang-stream-card {
		padding-left: 38px;
	}

	.stang-detail-card {
		padding: 40px 35px 44px;
	}

	.stang-split-section {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.stang-engagement-grid,
	.stang-engagement-grid--five {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.stang-detail-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 760px) {
	.stang-stream-heading,
	.stang-section-heading {
		display: block;
	}

	.stang-stream-heading .section-label,
	.stang-section-heading .section-label {
		margin-bottom: 24px;
	}

	.stang-stream-heading h2,
	.stang-section-heading h2 {
		margin-bottom: 20px;
	}

	.stang-stream-grid,
	.stang-detail-grid {
		grid-template-columns: 1fr;
	}

	.stang-stream-card,
	.stang-stream-card + .stang-stream-card {
		min-height: 0;
		padding: 34px 0 42px;
		border-right: 0;
	}

	.stang-stream-card + .stang-stream-card {
		border-top: 1px solid var(--line);
	}

	.stang-stream-number,
	.stang-card-number {
		margin-bottom: 28px;
	}

	.stang-stream-card .button {
		margin-top: 34px;
	}

	.stang-service-hero,
	.stang-service-hero__inner {
		min-height: 650px;
	}

	.stang-service-hero--fencing {
		background-position: 61% center;
	}

	.stang-service-hero--fencing::before {
		background: linear-gradient(90deg, rgba(7, 9, 10, .98) 0%, rgba(7, 9, 10, .9) 70%, rgba(7, 9, 10, .68) 100%);
	}

	.stang-service-hero__inner {
		padding-top: 130px;
	}

	.stang-service-hero__copy h1 {
		font-size: clamp(2.6rem, 11vw, 4rem);
	}

	.stang-service-section {
		padding: 78px 0;
	}

	.stang-detail-card {
		padding: 36px 28px 40px;
	}

	.stang-audience-list {
		grid-template-columns: 1fr;
	}

	.stang-service-cta__inner {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.stang-crosslink__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 560px) {
	.stang-service-hero__copy .hero-actions {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
	}

	.stang-service-hero__copy .button {
		width: 100%;
	}

	.stang-engagement-grid,
	.stang-engagement-grid--five {
		grid-template-columns: 1fr;
	}

	.stang-engagement-grid article,
	.stang-engagement-grid--five article:nth-child(n + 4) {
		min-height: 0;
	}

	.stang-service-cta {
		padding: 72px 0;
	}
}
