.bf-service-page,
.bf-service-page * {
	box-sizing: border-box;
}

.bf-service-page {
	background: var(--bf-ink);
	color: var(--bf-text);
	font-family: var(--bf-body);
	font-size: 16.5px;
	line-height: 1.72;
}

.bf-service-page h1,
.bf-service-page h2,
.bf-service-page h3 {
	font-family: var(--bf-display);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.02;
	margin-top: 0;
}

.bf-service-page p {
	margin-top: 0;
}

.bf-service-hero {
	background: #090a0d;
	min-height: 248px;
	overflow: hidden;
	position: relative;
}

.bf-service-hero__background,
.bf-service-hero__shade {
	position: absolute;
}

.bf-service-hero__background {
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.3);
	height: min(124px, 48%);
	inset: auto max(24px, calc((100vw - 1240px) / 2)) 34px auto;
	max-width: 260px;
	object-fit: cover;
	object-position: center 58%;
	opacity: 0.34;
	width: min(22vw, 260px);
}

.bf-service-hero__shade {
	background:
		linear-gradient(90deg, #090a0d 0%, rgba(9, 10, 13, 0.96) 52%, rgba(9, 10, 13, 0.72) 100%),
		linear-gradient(180deg, rgba(255, 90, 31, 0.08), transparent 58%);
	inset: 0;
}

.bf-service-hero__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: inherit;
	padding-block: 42px 38px;
	position: relative;
	z-index: 1;
}

.bf-service-hero h1 {
	font-size: clamp(2.35rem, 4.8vw, 3.65rem);
	margin-bottom: 14px;
	max-width: 720px;
	text-transform: uppercase;
}

.bf-service-hero p:not(.bf-kicker) {
	color: var(--bf-muted);
	font-size: 1rem;
	max-width: 580px;
}

.bf-service-nav {
	background: #0b0c10;
	border-bottom: 1px solid var(--bf-line);
	border-top: 1px solid var(--bf-line);
}

.bf-service-nav__inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bf-service-nav a {
	border-right: 1px solid var(--bf-line);
	color: var(--bf-muted);
	font-family: var(--bf-display);
	font-size: 0.86rem;
	font-weight: 850;
	padding: 19px 22px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}

.bf-service-nav a:first-child {
	border-left: 1px solid var(--bf-line);
}

.bf-service-nav a:hover,
.bf-service-nav a:focus-visible,
.bf-service-nav a[aria-current="page"] {
	background: #151219;
	color: var(--bf-flame);
}

.bf-service-facts,
.bf-service-details,
.bf-service-contact {
	padding-block: 64px;
}

.bf-service-facts {
	background: #0b0c10;
}

.bf-service-facts__grid {
	display: grid;
	gap: 34px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	max-width: 900px;
}

.bf-service-facts article {
	border-top: 4px solid var(--bf-flame);
	padding-top: 24px;
}

.bf-service-facts article:nth-child(2) {
	border-top-color: var(--bf-berry);
}

.bf-service-facts article:nth-child(3) {
	border-top-color: var(--bf-blue);
}

.bf-service-facts span {
	color: var(--bf-flame);
	display: block;
	font-size: 0.76rem;
	font-weight: 850;
	margin-bottom: 18px;
}

.bf-service-facts article:nth-child(2) span {
	color: var(--bf-berry);
}

.bf-service-facts article:nth-child(3) span {
	color: var(--bf-blue);
}

.bf-service-facts h2 {
	font-size: 1.35rem;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.bf-service-facts p,
.bf-service-details__list p,
.bf-service-contact p:not(.bf-kicker) {
	color: var(--bf-muted);
}

.bf-service-details {
	background: #100f15;
}

.bf-service-details .bf-shell,
.bf-service-contact__inner {
	max-width: 900px;
}

.bf-service-details .bf-section-heading {
	gap: 36px;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 0.54fr);
	margin-bottom: 42px;
}

.bf-service-details .bf-section-heading h2 {
	font-size: clamp(1.95rem, 3.6vw, 2.85rem);
}

.bf-service-details__list {
	border-top: 1px solid var(--bf-line);
}

.bf-service-details__list article {
	align-items: start;
	border-bottom: 1px solid var(--bf-line);
	display: grid;
	gap: 38px;
	grid-template-columns: minmax(190px, 0.54fr) minmax(0, 1.46fr);
	padding-block: 32px;
}

.bf-service-details__list h3 {
	font-size: 1.18rem;
	margin-bottom: 0;
	text-transform: uppercase;
}

.bf-service-details__list p {
	margin-bottom: 0;
}

.bf-service-contact {
	background: #0d0e12;
	text-align: center;
}

.bf-service-contact__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.bf-service-contact h2 {
	font-size: clamp(2rem, 4vw, 2.9rem);
	margin-bottom: 18px;
}

.bf-service-contact p:not(.bf-kicker) {
	max-width: 590px;
}

.bf-service-contact .bf-button {
	margin-top: 36px;
}

@media (max-width: 900px) {
	.bf-service-hero__background {
		bottom: 30px;
		width: 220px;
	}

	.bf-service-facts__grid {
		gap: 32px;
	}
}

@media (max-width: 700px) {
	.bf-service-page {
		font-size: 16px;
		max-width: 100vw;
		overflow-x: hidden;
	}

	.bf-service-page .bf-shell {
		margin-inline: auto;
		max-width: calc(100vw - 28px);
		min-width: 0;
		width: calc(100vw - 28px);
	}

	.bf-service-hero {
		min-height: auto;
	}

	.bf-service-hero__background {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		height: 100%;
		inset: 0;
		max-width: none;
		opacity: 0.2;
		width: 100%;
	}

	.bf-service-hero__shade {
		background:
			linear-gradient(90deg, rgba(9, 10, 13, 0.98) 0%, rgba(9, 10, 13, 0.94) 58%, rgba(9, 10, 13, 0.86) 100%),
			linear-gradient(180deg, rgba(255, 90, 31, 0.1), rgba(9, 10, 13, 0.9) 100%);
	}

	.bf-service-hero__inner {
		max-width: calc(100vw - 28px);
		padding-block: 44px 40px;
		width: 100%;
	}

	.bf-service-hero h1 {
		font-size: clamp(2rem, 8.8vw, 2.35rem);
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.bf-service-hero p:not(.bf-kicker),
	.bf-service-facts p,
	.bf-service-details__list p,
	.bf-service-contact p:not(.bf-kicker) {
		font-size: 0.96rem;
		line-height: 1.58;
		max-width: 100%;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.bf-service-nav__inner {
		grid-template-columns: 1fr 1fr;
		width: 100%;
	}

	.bf-service-facts__grid {
		grid-template-columns: 1fr;
	}

	.bf-service-nav a:nth-child(odd) {
		border-left: 1px solid var(--bf-line);
	}

	.bf-service-nav a {
		border-bottom: 1px solid var(--bf-line);
		font-size: 0.74rem;
		line-height: 1.12;
		min-width: 0;
		overflow-wrap: anywhere;
		padding: 18px 10px;
		white-space: normal;
	}

	.bf-service-facts,
	.bf-service-details,
	.bf-service-contact {
		padding-block: 50px;
	}

	.bf-service-facts__grid {
		gap: 38px 24px;
	}

	.bf-service-facts article,
	.bf-service-details__list article,
	.bf-service-contact__inner {
		min-width: 0;
		overflow: hidden;
	}

	.bf-service-details__list article {
		gap: 16px;
		grid-template-columns: 1fr;
		padding-block: 28px;
	}

	.bf-service-details .bf-section-heading {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.bf-service-page .bf-shell {
		margin-left: 14px;
		margin-right: auto;
		max-width: 320px;
	}

	.bf-service-hero h1 {
		font-size: clamp(1.56rem, 7.2vw, 1.86rem);
	}

	.bf-service-nav__inner {
		grid-template-columns: 1fr;
	}

	.bf-service-nav a {
		font-size: 0.66rem;
		padding-inline: 8px;
	}

	.bf-service-facts__grid {
		grid-template-columns: 1fr;
	}
}
