/*
 * Bosley HairClub Navigation
 * Tokens and component rules from the Main Navigation 2.1 prototype
 * (bosley-hairclub.vercel.app/prototypes/navigation-v2-1/styles.css), which takes
 * them from the Design System Figma file, page "Nav Bar V2".
 *
 * Desktop at 1280px and up (the prototype uses 1250px; the live header wraps at 1280).
 * Keep in sync with BHCN_BREAKPOINT.
 *
 * Selectors are written as ".bhcn a.x" / ".bhcn button.x" and repeat their
 * :hover/:focus states so Elementor kit and theme button/link styles
 * (e.g. ".elementor-kit-N button:hover") cannot leak into the header.
 */

:root {
	--bhcn-hs: 160px; /* static header height, mobile: 40 utility + 64 head + 56 consult band */
}

.bhcn {
	/* Main Colors */
	--bhcn-primary: #1C355E;
	--bhcn-primary-hover: #16294A;
	--bhcn-primary-pressed: #111F38;
	--bhcn-accent: #F57C6D;
	--bhcn-black: #101B2A;
	--bhcn-white: #FFFFFF;
	--bhcn-surface: #EEEAE4;            /* Surface (Badge) */
	--bhcn-surface-dark: #252B37;       /* Surface Dark */
	--bhcn-secondary: #6CACE4;
	--bhcn-canvas: #F5F5F5;
	--bhcn-border: rgba(16, 27, 42, .12);
	--bhcn-tint: rgba(28, 53, 94, .08); /* Primary at 8% */
	--bhcn-white-80: rgba(255, 255, 255, .8);
	--bhcn-white-40: rgba(255, 255, 255, .4);
	--bhcn-outline-hover: #EDEFF2;
	--bhcn-n600: #5F6875;               /* Neutral Colors/600 */

	/* Spacing, radius, effects */
	--bhcn-s-xs: 4px; --bhcn-s-sm: 8px; --bhcn-s-md: 16px; --bhcn-s-lg: 24px; --bhcn-s-xl: 32px;
	--bhcn-r-sm: 4px; --bhcn-r-md: 8px; --bhcn-r-lg: 16px; --bhcn-r-full: 999px;
	--bhcn-shadow-sm: 0 1px 2px -1px rgba(16, 27, 42, .06), 0 2px 4px -1px rgba(16, 27, 42, .05);
	--bhcn-shadow-md: 0 1px 2px 0 rgba(16, 27, 42, .06), 0 4px 6px -2px rgba(16, 27, 42, .08), 0 10px 16px -4px rgba(16, 27, 42, .10);
	--bhcn-shadow-lg: 0 2px 4px -1px rgba(16, 27, 42, .06), 0 8px 12px -3px rgba(16, 27, 42, .08), 0 20px 32px -6px rgba(16, 27, 42, .12);

	/* area-normal is an Adobe Fonts face: it only renders if the site's kit loads it. */
	--bhcn-font: "area-normal", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--bhcn-ease: cubic-bezier(.2, 0, 0, 1);
	--bhcn-max: 1280px;
	--bhcn-logo-h: 32px;  /* tune to the current logo file */
	--bhcn-admin: var(--wp-admin--admin-bar--height, 0px);

	position: fixed;
	top: var(--bhcn-admin);
	left: 0;
	right: 0;
	z-index: 1000;
	color: var(--bhcn-black);
	font-family: var(--bhcn-font);
	font-size: 16px;
	line-height: 24px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.bhcn-spacer { height: var(--bhcn-hs); }

/* ---- Reset inside the header --------------------------------------- */

.bhcn, .bhcn *, .bhcn *::before, .bhcn *::after { box-sizing: border-box; }
.bhcn ul, .bhcn li { list-style: none; margin: 0; padding: 0; }
.bhcn p { margin: 0; }
.bhcn img { display: block; }
.bhcn .bhcn__icon { display: block; flex: none; width: 16px; height: 16px; }
.bhcn button, .bhcn input { font: inherit; color: inherit; text-transform: none; letter-spacing: normal; }
.bhcn a, .bhcn button { -webkit-tap-highlight-color: transparent; }

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

.bhcn.bhcn :is(a, button):focus-visible,
.bhcn.bhcn .bhcn__input:focus-within {
	outline: 2px solid var(--bhcn-accent);
	outline-offset: 2px;
}

/* ---- Scrim: Main Colors/Black 20% while a desktop panel is open ------ */

.bhcn__scrim {
	position: fixed;
	inset: 0;
	z-index: -1;
	background: rgba(16, 27, 42, .2);
	opacity: 0;
	pointer-events: none;
	transition: opacity 150ms ease-out;
}

/* ---- Buttons --------------------------------------------------------- */

.bhcn a.bhcn__btn,
.bhcn a.bhcn__btn:hover,
.bhcn a.bhcn__btn:focus,
.bhcn button.bhcn__btn,
.bhcn button.bhcn__btn:hover,
.bhcn button.bhcn__btn:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--bhcn-s-sm);
	min-height: 48px;
	height: auto;
	margin: 0;
	padding: var(--bhcn-s-md) var(--bhcn-s-lg);
	border: 0;
	border-radius: var(--bhcn-r-full);
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 150ms var(--bhcn-ease);
}
.bhcn a.bhcn__btn--primary,
.bhcn a.bhcn__btn--primary:focus,
.bhcn button.bhcn__btn--primary,
.bhcn button.bhcn__btn--primary:focus { background: var(--bhcn-primary); color: var(--bhcn-white); box-shadow: none; }
.bhcn a.bhcn__btn--primary:hover,
.bhcn button.bhcn__btn--primary:hover { background: var(--bhcn-primary-hover); color: var(--bhcn-white); }
.bhcn a.bhcn__btn--primary:active,
.bhcn button.bhcn__btn--primary:active { background: var(--bhcn-primary-pressed); }

.bhcn a.bhcn__btn--outline,
.bhcn a.bhcn__btn--outline:focus { background: var(--bhcn-white); color: var(--bhcn-primary); box-shadow: inset 0 0 0 1px var(--bhcn-primary); }
.bhcn a.bhcn__btn--outline:hover { background: var(--bhcn-outline-hover); color: var(--bhcn-primary); box-shadow: inset 0 0 0 1px var(--bhcn-primary); }

.bhcn a.bhcn__btn--mobile,
.bhcn a.bhcn__btn--mobile:hover,
.bhcn a.bhcn__btn--mobile:focus { padding: var(--bhcn-s-sm) var(--bhcn-s-md); }
.bhcn__btn .bhcn__icon { width: 20px; height: 20px; }

/* ---- Brand row: call line + hours ticker, logo, consult ------------- */

.bhcn__brand { position: relative; z-index: 2; background: var(--bhcn-white); }

.bhcn__brand-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: 40px 64px 56px;
	grid-template-areas: "contact contact" "logo toggle" "cta cta";
	align-items: center;
	padding: 0 var(--bhcn-s-md);
}

/* Utility bar on mobile */
.bhcn__contact {
	grid-area: contact;
	align-self: stretch;
	display: flex;
	align-items: center;
	gap: var(--bhcn-s-sm);
	min-width: 0;
	margin: 0 calc(var(--bhcn-s-md) * -1);
	padding: var(--bhcn-s-sm) var(--bhcn-s-md);
	background: var(--bhcn-surface-dark);
	color: var(--bhcn-white);
	white-space: nowrap;
	overflow: hidden;
}
.bhcn .bhcn__contact a:focus-visible { outline-color: var(--bhcn-white); }

.bhcn a.bhcn__call,
.bhcn a.bhcn__call:hover,
.bhcn a.bhcn__call:focus {
	display: inline-flex;
	align-items: center;
	gap: var(--bhcn-s-sm);
	border-radius: var(--bhcn-r-sm);
	color: var(--bhcn-white);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	text-decoration: none;
}
.bhcn a.bhcn__call:hover span { text-decoration: underline; text-underline-offset: 3px; }

.bhcn__vrule { flex: none; width: 1px; height: 12px; background: var(--bhcn-white-40); }

/* Hours Ticker: each line holds 3s and rolls up in 0.6s (driven by nav.js) */
.bhcn__ticker {
	--bhcn-step: 18px;
	flex: none;
	width: 128px;
	height: var(--bhcn-step);
	overflow: hidden;
	color: var(--bhcn-white-80);
	font-size: 12px;
	line-height: 18px;
}
.bhcn__ticker-roll { display: flex; flex-direction: column; will-change: transform; }
.bhcn__ticker-roll.is-rolling { transition: transform 600ms ease-in-out; }
.bhcn__ticker-roll > span { display: block; height: var(--bhcn-step); white-space: nowrap; }

.bhcn a.bhcn__logo,
.bhcn a.bhcn__logo:hover,
.bhcn a.bhcn__logo:focus {
	grid-area: logo;
	display: flex;
	align-items: center;
	justify-self: start;
	border-radius: var(--bhcn-r-sm);
	text-decoration: none;
}
.bhcn .bhcn__logo-img { height: var(--bhcn-logo-h); width: auto; max-width: none; }

/* Consult band on mobile: full width under the head row */
.bhcn a.bhcn__cta,
.bhcn a.bhcn__cta:hover,
.bhcn a.bhcn__cta:focus {
	grid-area: cta;
	align-self: stretch;
	min-height: 56px;
	margin: 0 calc(var(--bhcn-s-md) * -1);
	padding: var(--bhcn-s-md);
	border-radius: 0;
}

/* Menu button */
.bhcn button.bhcn__toggle,
.bhcn button.bhcn__toggle:hover,
.bhcn button.bhcn__toggle:focus {
	grid-area: toggle;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 -10px 0 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--bhcn-r-sm);
	box-shadow: none;
	color: var(--bhcn-black);
	cursor: pointer;
}
.bhcn__toggle-icon,
.bhcn__toggle-icon::before,
.bhcn__toggle-icon::after {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 200ms var(--bhcn-ease), background-color 200ms;
}
.bhcn__toggle-icon { position: relative; }
.bhcn__toggle-icon::before,
.bhcn__toggle-icon::after { content: ""; position: absolute; left: 0; }
.bhcn__toggle-icon::before { top: -6px; }
.bhcn__toggle-icon::after { top: 6px; }
.bhcn__toggle[aria-expanded="true"] .bhcn__toggle-icon { background: transparent; }
.bhcn__toggle[aria-expanded="true"] .bhcn__toggle-icon::before { transform: translateY(6px) rotate(45deg); }
.bhcn__toggle[aria-expanded="true"] .bhcn__toggle-icon::after { transform: translateY(-6px) rotate(-45deg); }

/* ---- Panel parts (shared) --------------------------------------------- */

.bhcn__intro { display: flex; flex-direction: column; gap: var(--bhcn-s-md); }
.bhcn__accent { display: block; width: 32px; height: 3px; background: var(--bhcn-primary); }
.bhcn__intro-title { font-size: 24px; line-height: 32px; font-weight: 700; color: var(--bhcn-primary); } /* Text/Heading/H4/Bold */
.bhcn__intro-line { font-size: 14px; line-height: 20px; color: var(--bhcn-n600); } /* Text/Body/Small/Regular */

.bhcn__cols > * { min-width: 0; }
.bhcn__col { display: flex; flex-direction: column; gap: var(--bhcn-s-md); align-items: flex-start; }
.bhcn__col > * { align-self: stretch; }
.bhcn__col > .bhcn__text-link { align-self: flex-start; }
.bhcn__heading + .bhcn__text-link { margin-top: calc(var(--bhcn-s-xs) * -1); }

.bhcn__heading { display: flex; flex-direction: column; gap: var(--bhcn-s-md); }
.bhcn__heading-title { font-size: 14px; line-height: 20px; font-weight: 700; color: var(--bhcn-black); }
.bhcn__rule { display: block; height: 1px; background: var(--bhcn-border); }

.bhcn__links { display: flex; flex-direction: column; gap: var(--bhcn-s-md); }
.bhcn__item-wrap { display: flex; flex-direction: column; gap: var(--bhcn-s-sm); align-items: flex-start; }
.bhcn__item-wrap > .bhcn__mmi { align-self: stretch; }

/* Mega Menu Item: Default | Hover | Focus | Not Live */
.bhcn a.bhcn__mmi,
.bhcn a.bhcn__mmi:hover,
.bhcn a.bhcn__mmi:focus,
.bhcn span.bhcn__mmi {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--bhcn-s-sm);
	color: var(--bhcn-primary);
	text-decoration: none;
	border-radius: 0;
}
.bhcn__mmi::before {
	content: "";
	position: absolute;
	inset: -4px -8px;
	background: transparent;
	box-shadow: none;
	pointer-events: none;
	transition: background-color 150ms ease-out;
}
.bhcn a.bhcn__mmi:hover::before { background: var(--bhcn-tint); box-shadow: inset 3px 0 0 var(--bhcn-primary); }
.bhcn.bhcn a.bhcn__mmi:focus-visible { outline: none; }
.bhcn a.bhcn__mmi:focus-visible::before { box-shadow: 0 0 0 2px var(--bhcn-accent); }
.bhcn a.bhcn__mmi[aria-current="page"]::before { box-shadow: inset 3px 0 0 var(--bhcn-primary); }
.bhcn__mmi-title { position: relative; font-size: 14px; line-height: 20px; font-weight: 600; }
.bhcn__mmi-desc { position: relative; font-size: 12px; line-height: 18px; color: var(--bhcn-n600); }
.bhcn span.bhcn__mmi.is-not-live { color: var(--bhcn-n600); }
.bhcn__mmi.is-not-live .bhcn__mmi-title { font-weight: 400; }

/* Badge, Color=Neutral */
.bhcn__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 2px var(--bhcn-s-sm);
	border-radius: var(--bhcn-r-full);
	background: var(--bhcn-surface);
	color: var(--bhcn-black);
	font-size: 12px;
	line-height: 18px;
}

/* Card of services */
.bhcn__card {
	display: flex;
	flex-direction: column;
	padding: var(--bhcn-s-md) var(--bhcn-s-lg);
	background: var(--bhcn-white);
	border: 1px solid var(--bhcn-border);
	border-radius: var(--bhcn-r-md);
	box-shadow: var(--bhcn-shadow-sm);
}
.bhcn__card .bhcn__links { gap: 0; }
.bhcn__card .bhcn__svc:not(:last-child) {
	padding-bottom: var(--bhcn-s-lg);
	margin-bottom: var(--bhcn-s-md);
	border-bottom: 1px solid var(--bhcn-border);
}
.bhcn__card .bhcn__mmi-title { font-size: 16px; line-height: 24px; }

/* Text Link, Style=Action, Size=Small */
.bhcn a.bhcn__text-link,
.bhcn a.bhcn__text-link:hover,
.bhcn a.bhcn__text-link:focus,
.bhcn span.bhcn__text-link {
	display: inline-flex;
	align-items: center;
	gap: var(--bhcn-s-sm);
	padding: var(--bhcn-s-xs) var(--bhcn-s-xs) var(--bhcn-s-xs) 0;
	border-radius: var(--bhcn-r-sm);
	color: var(--bhcn-primary);
	font-size: 14px;
	line-height: 20px;
	font-weight: 600;
	text-decoration: none;
}
.bhcn a.bhcn__text-link:hover .bhcn__text-link-label { text-decoration: underline; text-underline-offset: 3px; }
.bhcn a.bhcn__text-link--inverse,
.bhcn a.bhcn__text-link--inverse:focus { color: var(--bhcn-white); }
.bhcn a.bhcn__text-link--inverse:hover { color: var(--bhcn-white-80); }
.bhcn span.bhcn__text-link.is-not-live { color: var(--bhcn-n600); font-weight: 400; }
.bhcn span.bhcn__text-link--inverse.is-not-live { color: var(--bhcn-white-80); }

/* Mega Menu Footer */
.bhcn__mm-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bhcn-s-lg);
	padding-top: var(--bhcn-s-lg);
	border-top: 1px solid var(--bhcn-border);
}
.bhcn__mm-foot-note { display: flex; align-items: center; gap: var(--bhcn-s-sm); font-size: 14px; line-height: 20px; color: var(--bhcn-n600); }
.bhcn__mm-foot-actions { display: flex; gap: var(--bhcn-s-md); }

/* Locations: dark search panel */
.bhcn__loc {
	display: flex;
	flex-direction: column;
	gap: var(--bhcn-s-md);
	align-items: flex-start;
	padding: var(--bhcn-s-lg) var(--bhcn-s-md);
	background: var(--bhcn-surface-dark);
	border: 1px solid var(--bhcn-border);
	border-radius: var(--bhcn-r-lg);
	box-shadow: var(--bhcn-shadow-md);
}
.bhcn__loc > * { align-self: stretch; }
.bhcn__loc > .bhcn__text-link { align-self: flex-start; }
.bhcn__loc .bhcn__accent { background: var(--bhcn-secondary); }
.bhcn__loc .bhcn__intro { gap: var(--bhcn-s-sm); }
.bhcn__loc .bhcn__intro-title,
.bhcn__loc .bhcn__intro-line { color: var(--bhcn-white); }
.bhcn__loc .bhcn__accent { margin-bottom: var(--bhcn-s-sm); }

.bhcn__search {
	display: flex;
	flex-direction: column;
	gap: var(--bhcn-s-md);
	padding: var(--bhcn-s-md);
	background: var(--bhcn-surface);
	border-radius: var(--bhcn-r-md);
}
.bhcn__search-row { display: flex; gap: var(--bhcn-s-sm); align-items: center; margin: 0; }

.bhcn__info-label { position: relative; display: flex; align-items: center; align-self: flex-start; gap: var(--bhcn-s-xs); }
.bhcn__search-title { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--bhcn-black); } /* Text/Body/Small/SemiBold */
.bhcn button.bhcn__info-btn,
.bhcn button.bhcn__info-btn:hover,
.bhcn button.bhcn__info-btn:focus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--bhcn-r-sm);
	box-shadow: none;
	color: var(--bhcn-primary);
	cursor: pointer;
}
.bhcn__popover {
	position: absolute;
	left: 0;
	top: 28px;
	z-index: 5;
	width: 320px;
	padding: var(--bhcn-s-md);
	background: var(--bhcn-white);
	border: 1px solid var(--bhcn-border);
	border-radius: var(--bhcn-r-md);
	box-shadow: var(--bhcn-shadow-md);
	font-size: 12px;
	line-height: 18px;
	color: var(--bhcn-n600);
}
.bhcn__popover[hidden] { display: none; }

.bhcn__input {
	flex: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: var(--bhcn-s-sm);
	height: 56px;
	padding: 0 var(--bhcn-s-md);
	background: var(--bhcn-white);
	border: 1px solid var(--bhcn-border);
	border-radius: var(--bhcn-r-sm);
	color: var(--bhcn-n600);
}
.bhcn .bhcn__input input[name],
.bhcn .bhcn__input input[name]:focus {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	outline: 0;
	color: var(--bhcn-black);
	font-size: 16px; /* 16px also stops iOS zooming into the field */
	line-height: 24px;
}
.bhcn .bhcn__input input[name]::placeholder { color: var(--bhcn-n600); opacity: 1; }
.bhcn__input .bhcn__icon { width: 20px; height: 20px; }

/* ===================================================================== */
/* Mobile: below 1280px                                                   */
/* ===================================================================== */

@media (max-width: 1279.98px) {

	.bhcn.is-open a.bhcn__cta { display: none; } /* the action bar carries it */
	.bhcn.is-open .bhcn__brand-inner { grid-template-rows: 40px 64px 0; } /* collapse the band row so it cannot cover the drawer */

	.bhcn__nav {
		display: none;
		position: fixed;
		top: calc(var(--bhcn-admin) + 104px);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		background: var(--bhcn-canvas);
	}
	.bhcn.is-open .bhcn__nav { display: block; }
	.bhcn.is-open .bhcn__brand { border-bottom: 1px solid var(--bhcn-border); box-shadow: var(--bhcn-shadow-lg); }

	.bhcn__screen { height: 100%; overflow-y: auto; overscroll-behavior: contain; }
	.bhcn__row-inner { display: flex; flex-direction: column; gap: 48px; padding: var(--bhcn-s-sm) var(--bhcn-s-md) 120px; }

	.bhcn button.bhcn__trigger,
	.bhcn button.bhcn__trigger:hover,
	.bhcn button.bhcn__trigger:focus,
	.bhcn a.bhcn__trigger,
	.bhcn a.bhcn__trigger:hover,
	.bhcn a.bhcn__trigger:focus,
	.bhcn span.bhcn__trigger,
	.bhcn a.bhcn__row,
	.bhcn a.bhcn__row:hover,
	.bhcn a.bhcn__row:focus,
	.bhcn span.bhcn__row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--bhcn-s-md);
		width: 100%;
		min-height: 56px;
		margin: 0;
		padding: 0;
		background: transparent;
		border: 0;
		border-bottom: 1px solid var(--bhcn-border);
		border-radius: 0;
		box-shadow: none;
		color: var(--bhcn-black);
		font-size: 16px;
		line-height: 24px;
		font-weight: 600;
		text-align: left;
		text-decoration: none;
		cursor: pointer;
	}
	.bhcn a.bhcn__row, .bhcn a.bhcn__row:hover, .bhcn a.bhcn__row:focus, .bhcn span.bhcn__row { font-weight: 400; }
	.bhcn span.is-not-live.bhcn__trigger, .bhcn span.bhcn__row.is-not-live { color: var(--bhcn-n600); cursor: default; }
	.bhcn__trigger .bhcn__icon { width: 20px; height: 20px; transform: rotate(-90deg); }

	/* Level two screens */
	.bhcn__panel {
		display: none;
		position: absolute;
		inset: 0;
		z-index: 2;
		background: var(--bhcn-canvas);
		transform: translateX(100%);
		transition: transform 240ms var(--bhcn-ease);
	}
	.bhcn__panel.is-mounted { display: block; }
	.bhcn__panel.is-active { transform: none; }
	.bhcn__panel-scroll { height: 100%; overflow-y: auto; overscroll-behavior: contain; }
	.bhcn__panel-inner { display: flex; flex-direction: column; gap: var(--bhcn-s-xl); padding: var(--bhcn-s-sm) var(--bhcn-s-md) 120px; }

	.bhcn button.bhcn__back,
	.bhcn button.bhcn__back:hover,
	.bhcn button.bhcn__back:focus {
		display: inline-flex;
		align-items: center;
		align-self: flex-start;
		gap: var(--bhcn-s-sm);
		height: 44px;
		margin: 0 0 calc(var(--bhcn-s-lg) * -1);
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: var(--bhcn-r-sm);
		box-shadow: none;
		color: var(--bhcn-primary);
		font-size: 14px;
		line-height: 20px;
		font-weight: 600;
		cursor: pointer;
	}

	.bhcn__cols { display: flex; flex-direction: column; gap: var(--bhcn-s-lg); }
	.bhcn__intro { gap: var(--bhcn-s-sm); }
	.bhcn__accent { display: none; }
	.bhcn__intro-title { color: var(--bhcn-black); letter-spacing: -.01em; } /* Text/Heading/H3/Bold (Mobile) */

	/* Under a column title, its links sit one step in */
	.bhcn__heading ~ .bhcn__links,
	.bhcn__heading ~ .bhcn__text-link { margin-left: var(--bhcn-s-md); }
	.bhcn__heading ~ .bhcn__card { margin-left: 0; }
	.bhcn__card { padding: var(--bhcn-s-md); }
	.bhcn__card .bhcn__svc:not(:last-child) { padding-bottom: var(--bhcn-s-md); }

	/* Locations: the search sits in a white card, no dark panel */
	.bhcn__loc { gap: var(--bhcn-s-lg); padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
	.bhcn__loc .bhcn__intro-title { color: var(--bhcn-black); }
	.bhcn__loc .bhcn__intro-line { color: var(--bhcn-n600); }
	.bhcn a.bhcn__text-link--inverse,
	.bhcn a.bhcn__text-link--inverse:focus,
	.bhcn a.bhcn__text-link--inverse:hover { color: var(--bhcn-primary); }
	.bhcn span.bhcn__text-link--inverse.is-not-live { color: var(--bhcn-n600); }
	.bhcn__search { background: var(--bhcn-white); border: 1px solid var(--bhcn-border); box-shadow: var(--bhcn-shadow-md); }
	.bhcn__search-row { flex-direction: column; align-items: stretch; }
	.bhcn__input { flex: none; }
	.bhcn__info-label { flex-wrap: wrap; }
	.bhcn__popover { position: static; flex-basis: 100%; width: auto; margin-top: var(--bhcn-s-xs); }

	/* Footer strip: availability note only */
	.bhcn__mm-foot { flex-direction: column; align-items: flex-start; gap: var(--bhcn-s-md); }
	.bhcn__mm-foot-note { align-items: flex-start; }
	.bhcn__mm-foot-note .bhcn__icon { margin-top: 2px; }
	.bhcn__mm-foot-actions, .bhcn__mm-foot.has-no-note { display: none; }

	/* Fixed action bar */
	.bhcn__actionbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 3;
		display: flex;
		gap: var(--bhcn-s-sm);
		padding: var(--bhcn-s-md);
		padding-bottom: calc(var(--bhcn-s-md) + env(safe-area-inset-bottom, 0px));
		background: var(--bhcn-white-80);
		-webkit-backdrop-filter: blur(16px);
		backdrop-filter: blur(16px);
		border-top: 1px solid var(--bhcn-border);
		box-shadow: 0 -4px 16px rgba(16, 27, 42, .06);
	}
	.bhcn .bhcn__actionbar .bhcn__btn--primary { flex: 1; }
}

@media (max-width: 359.98px) {
	.bhcn__vrule, .bhcn__ticker { display: none; }
}

@media (max-width: 600px) {
	.admin-bar .bhcn { --bhcn-admin: 0px; } /* the admin bar scrolls away on small screens */
}

/* ===================================================================== */
/* Desktop: 1280px and up                                                 */
/* ===================================================================== */

@media (min-width: 1280px) {

	:root { --bhcn-hs: 134px; } /* 80 + 1 top row, 52 + 1 menu row */

	.bhcn { --bhcn-logo-h: 44px; }

	.bhcn__brand { border-bottom: 1px solid var(--bhcn-border); }
	.bhcn__brand-inner {
		max-width: var(--bhcn-max);
		height: 80px;
		margin: 0 auto;
		padding: 0 var(--bhcn-s-xl);
		grid-template-columns: auto minmax(0, 1fr) auto;
		grid-template-rows: 80px;
		grid-template-areas: "logo contact cta";
		column-gap: var(--bhcn-s-xl);
	}

	.bhcn__contact {
		justify-self: end;
		align-self: center;
		gap: var(--bhcn-s-md);
		margin: 0;
		padding: 0;
		background: none;
		color: var(--bhcn-black);
	}
	.bhcn .bhcn__contact a:focus-visible { outline-color: var(--bhcn-accent); }
	.bhcn a.bhcn__call,
	.bhcn a.bhcn__call:hover,
	.bhcn a.bhcn__call:focus { color: var(--bhcn-primary); font-size: 14px; line-height: 20px; font-weight: 700; }
	.bhcn__vrule { height: 16px; background: var(--bhcn-border); }
	.bhcn__ticker { --bhcn-step: 20px; width: 171px; color: var(--bhcn-n600); font-size: 14px; line-height: 20px; font-weight: 600; }

	.bhcn a.bhcn__cta,
	.bhcn a.bhcn__cta:hover,
	.bhcn a.bhcn__cta:focus {
		align-self: center;
		min-height: 48px;
		margin: 0;
		padding: var(--bhcn-s-md) var(--bhcn-s-lg);
		border-radius: var(--bhcn-r-full);
	}

	.bhcn button.bhcn__toggle,
	.bhcn button.bhcn__back,
	.bhcn__utility,
	.bhcn__actionbar { display: none; }

	.bhcn__nav {
		position: relative;
		z-index: 1;
		background: var(--bhcn-white);
		border-bottom: 1px solid var(--bhcn-border);
		box-shadow: var(--bhcn-shadow-lg);
	}
	.bhcn__row-inner { max-width: var(--bhcn-max); margin: 0 auto; padding: 0 var(--bhcn-s-lg); }
	.bhcn__menu { display: flex; justify-content: space-between; align-items: flex-end; }

	.bhcn button.bhcn__trigger,
	.bhcn button.bhcn__trigger:hover,
	.bhcn button.bhcn__trigger:focus,
	.bhcn a.bhcn__trigger,
	.bhcn a.bhcn__trigger:hover,
	.bhcn a.bhcn__trigger:focus,
	.bhcn span.bhcn__trigger {
		display: inline-flex;
		align-items: center;
		gap: var(--bhcn-s-xs);
		height: 52px;
		margin: 0;
		padding: 0 var(--bhcn-s-sm);
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		color: var(--bhcn-black);
		font-size: 16px;
		line-height: 24px;
		font-weight: 600;
		text-decoration: none;
		white-space: nowrap;
		cursor: pointer;
		transition: background-color 150ms ease-out, color 150ms ease-out;
	}
	.bhcn button.bhcn__trigger[aria-expanded="true"],
	.bhcn button.bhcn__trigger[aria-expanded="true"]:hover,
	.bhcn button.bhcn__trigger[aria-expanded="true"]:focus {
		background: var(--bhcn-tint);
		color: var(--bhcn-primary);
		box-shadow: inset 0 -2px 0 var(--bhcn-primary);
	}
	.bhcn .is-current > button.bhcn__trigger { box-shadow: inset 0 -2px 0 var(--bhcn-primary); }
	.bhcn.bhcn button.bhcn__trigger:focus-visible { outline-offset: -2px; }
	.bhcn span.bhcn__trigger.is-not-live { color: var(--bhcn-n600); cursor: default; }
	.bhcn__trigger .bhcn__icon { transition: transform 150ms var(--bhcn-ease); }
	.bhcn__trigger[aria-expanded="true"] .bhcn__icon { transform: rotate(180deg); }

	.bhcn.has-panel .bhcn__scrim { opacity: 1; pointer-events: auto; }

	/* Mega menu panel */
	.bhcn__panel {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 20;
		max-height: calc(100vh - var(--bhcn-admin) - 134px);
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--bhcn-canvas);
		border-bottom: 1px solid var(--bhcn-border);
		opacity: 0;
		transition: opacity 150ms ease-out;
	}
	.bhcn__panel.is-mounted { display: block; }
	.bhcn__panel.is-active { opacity: 1; }

	/* Without JavaScript the panels still open on hover and keyboard focus. */
	.bhcn:not(.is-js) .bhcn__item:hover > .bhcn__panel,
	.bhcn:not(.is-js) .bhcn__item:focus-within > .bhcn__panel { display: block; opacity: 1; }

	.bhcn__panel-inner {
		max-width: var(--bhcn-max);
		margin: 0 auto;
		padding: var(--bhcn-s-xl);
		display: flex;
		flex-direction: column;
		gap: var(--bhcn-s-md);
	}
	.bhcn__cols { display: flex; gap: var(--bhcn-s-lg); align-items: flex-start; }
	.bhcn__cols > .bhcn__intro { flex: none; width: 216px; padding-right: var(--bhcn-s-lg); }
	.bhcn__cols > .bhcn__loc { flex: none; width: 480px; }
	.bhcn__col { flex: 1 1 0; }
	.bhcn__col--card { flex: 0 0 384px; }    /* service cards keep their width */
	.bhcn__col--regions { flex: 0 0 160px; } /* center lists */
	.bhcn__col--foot { flex: 0 1 auto; padding-top: 0; }
}

/* ---- Motion and print ------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	.bhcn *, .bhcn *::before, .bhcn *::after { transition: none !important; }
}

html.bhcn-lock, html.bhcn-lock body { overflow: hidden; }

@media print {
	.bhcn { position: static; }
	.bhcn-spacer, .bhcn__nav, .bhcn__toggle, .bhcn__scrim { display: none !important; }
}
