/* ============================= Inner page banner ======================== */

.bb-phero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 320px;
	overflow: hidden;
	background: var(--bb-navy);
	isolation: isolate;
}

.bb-phero__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: -2;
}

.bb-phero__overlay {
	--bb-overlay: #0E2148;
	--bb-overlay-opacity: .82;

	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--bb-overlay);
	opacity: var(--bb-overlay-opacity);
	pointer-events: none;
}

.bb-phero__inner {
	position: relative;
	z-index: 2;
	padding-block: 56px;
}

.bb-phero__title {
	margin: 0 0 10px;
	color: #fff;
	font-size: clamp(28px, 3.6vw, 44px);
	font-weight: 700;
	line-height: 1.25;
}

.bb-phero__subtitle {
	margin: 0 0 16px;
	max-width: 40em;
	color: rgba(255, 255, 255, .78);
	font-size: clamp(14.5px, 1.2vw, 16px);
	line-height: 1.75;
}

/* The alignment control writes text-align from a stylesheet, so the centred
   variant carries a modifier class instead of relying on an inline style. */
.bb-phero--align-center .bb-phero__subtitle {
	margin-inline: auto;
}

/* ------------------------------------------------------------- breadcrumb */

.bb-crumb {
	color: rgba(255, 255, 255, .62);
	font-size: 13.5px;
}

/* Inline-block items so the trail follows text-align at every breakpoint. */
.bb-crumb__list {
	display: block;
}

.bb-crumb__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-right: 8px;
}

.bb-crumb a:hover {
	color: var(--bb-saffron);
}

.bb-crumb__sep {
	opacity: .45;
}

.bb-crumb__current {
	color: var(--bb-saffron);
	font-weight: 600;
}

/* ------------------------------------------------------------ breakpoints */

@media (max-width: 767px) {
	.bb-phero {
		min-height: 220px;
	}

	.bb-phero__inner {
		padding-block: 38px;
	}
}
