.sflow-skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: calc(var(--sflow-z-modal) + 1);
	transform: translateY(-160%);
	padding: 0.75rem 1rem;
	border-radius: var(--sflow-radius-input);
	background: var(--sflow-white);
	color: var(--sflow-dark);
}

.sflow-skip-link:focus {
	transform: translateY(0);
}

.sflow-site-header {
	position: sticky;
	top: 0;
	z-index: var(--sflow-z-header);
	min-height: var(--sflow-header-height);
	border-bottom: 1px solid rgb(var(--sflow-accent-rgb) / 0.72);
	background: rgb(255 255 255 / 0.94);
	color: var(--sflow-heading);
	backdrop-filter: blur(18px) saturate(125%);
	-webkit-backdrop-filter: blur(18px) saturate(125%);
	transition: background-color 300ms var(--sflow-ease), box-shadow 300ms var(--sflow-ease);
}

.sflow-transparent-header .sflow-site-header {
	position: fixed;
	inset: 0 0 auto;
	background: linear-gradient(90deg, rgb(255 255 255 / 0.97), rgb(244 249 252 / 0.94) 62%, rgb(220 235 244 / 0.86));
}

body.admin-bar .sflow-site-header,
body.admin-bar.sflow-transparent-header .sflow-site-header {
	top: 32px;
}

.sflow-transparent-header .sflow-site-header.is-scrolled {
	background: rgb(255 255 255 / 0.98);
	box-shadow: 0 0.75rem 2.5rem rgb(var(--sflow-dark-rgb) / 0.12);
}

.sflow-header-inner {
	display: grid;
	grid-template-columns: minmax(6.5rem, auto) minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(1rem, 2.2vw, 2.25rem);
	min-height: var(--sflow-header-height);
}

.sflow-brand {
	display: inline-flex;
	align-items: center;
	color: var(--sflow-heading);
	font-family: var(--sflow-font-heading);
	font-size: 1.5rem;
	font-weight: 600;
	white-space: nowrap;
}

.sflow-brand img {
	width: auto;
	max-width: 9rem;
	height: 3.5rem;
	object-fit: contain;
}

.sflow-primary-nav {
	min-width: 0;
}

.sflow-primary-menu,
.sflow-primary-nav .menu,
.sflow-primary-nav .menu > ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(0.85rem, 1.55vw, 1.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.sflow-primary-nav a {
	position: relative;
	display: block;
	padding-block: 1.75rem;
	font-size: clamp(0.7rem, 0.77vw, 0.8125rem);
	font-weight: 700;
	line-height: 1.25;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color 200ms ease;
}

.sflow-primary-nav a:hover,
.sflow-primary-nav a:focus-visible,
.sflow-primary-nav .current-menu-item > a,
.sflow-primary-nav .current-menu-ancestor > a {
	color: var(--sflow-primary-hover);
}

.sflow-primary-menu > li > a::after,
.sflow-primary-nav .menu > li > a::after,
.sflow-primary-nav .menu > ul > li > a::after {
	position: absolute;
	right: 0;
	bottom: 0.95rem;
	left: 0;
	height: 1px;
	background: var(--sflow-primary);
	content: "";
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 220ms var(--sflow-ease);
}

.sflow-primary-menu > li > a:hover::after,
.sflow-primary-menu > li > a:focus-visible::after,
.sflow-primary-menu > .current-menu-item > a::after,
.sflow-primary-menu > .current-menu-ancestor > a::after,
.sflow-primary-nav .menu > li > a:hover::after,
.sflow-primary-nav .menu > li > a:focus-visible::after,
.sflow-primary-nav .menu > .current-menu-item > a::after,
.sflow-primary-nav .menu > .current-menu-ancestor > a::after,
.sflow-primary-nav .menu > ul > li > a:hover::after,
.sflow-primary-nav .menu > ul > li > a:focus-visible::after,
.sflow-primary-nav .menu > ul > .current-menu-item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.sflow-primary-nav li {
	position: relative;
}

.sflow-primary-nav .sub-menu {
	position: absolute;
	min-width: 15rem;
	margin: 0;
	padding: 0.75rem;
	border: 1px solid var(--sflow-border-light);
	border-radius: var(--sflow-radius-card);
	background: var(--sflow-white);
	box-shadow: var(--sflow-shadow-card);
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.5rem);
	transition: opacity 200ms ease, transform 200ms ease, visibility 200ms ease;
}

.sflow-primary-nav li:hover > .sub-menu,
.sflow-primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.sflow-primary-nav .sub-menu a {
	padding: 0.7rem 0.9rem;
}

.sflow-header-actions {
	display: flex;
	align-items: center;
	gap: clamp(0.75rem, 1.4vw, 1.5rem);
}

.sflow-header-phone {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	color: var(--sflow-heading);
	font-size: 0.875rem;
	font-weight: 800;
	white-space: nowrap;
	transition: color 200ms ease;
}

.sflow-header-phone:hover,
.sflow-header-phone:focus-visible {
	color: var(--sflow-primary-hover);
}

.sflow-header-phone__icon {
	display: inline-grid;
	width: 1.75rem;
	height: 1.75rem;
	place-items: center;
	border: 1px solid var(--sflow-primary);
	border-radius: 50%;
	color: var(--sflow-primary-hover);
	font-family: Arial, sans-serif;
	font-size: 0.875rem;
	line-height: 1;
}

.sflow-header-cta {
	min-width: 8.25rem;
	text-transform: uppercase;
}

.sflow-header-actions .sflow-header-cta {
	border-color: var(--sflow-dark);
	background: var(--sflow-dark);
	box-shadow: 0 0.75rem 1.75rem rgb(var(--sflow-dark-rgb) / 0.22);
	color: var(--sflow-white);
}

.sflow-header-actions .sflow-header-cta:hover,
.sflow-header-actions .sflow-header-cta:focus-visible {
	border-color: var(--sflow-primary-hover);
	background: var(--sflow-primary-hover);
	color: var(--sflow-white);
}

.sflow-nav-toggle {
	display: none;
	align-items: center;
	gap: 0.75rem;
	border: 0;
	background: transparent;
	color: inherit;
}

.sflow-nav-toggle__lines,
.sflow-nav-toggle__lines::before,
.sflow-nav-toggle__lines::after {
	display: block;
	width: 1.5rem;
	height: 2px;
	background: currentColor;
	content: "";
	transition: transform 200ms ease;
}

.sflow-nav-toggle__lines::before { transform: translateY(-0.4rem); }
.sflow-nav-toggle__lines::after { transform: translateY(0.3rem); }

@media (max-width: 64rem) {
	.sflow-site-header,
	.sflow-transparent-header .sflow-site-header {
		background: var(--sflow-white);
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
	}
	.sflow-header-inner { grid-template-columns: auto auto; justify-content: space-between; }
	.sflow-nav-toggle { display: inline-flex; }
	.sflow-primary-nav {
		position: fixed;
		inset: var(--sflow-header-height) 0 0;
		padding: 2rem var(--sflow-gutter) 9rem;
		background: var(--sflow-light);
		color: var(--sflow-heading);
		overflow-y: auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(-1rem);
		transition: opacity 250ms ease, transform 250ms ease, visibility 250ms ease;
	}
	body.admin-bar .sflow-primary-nav {
		inset-block-start: calc(var(--sflow-header-height) + 32px);
	}
	.sflow-is-nav-open .sflow-primary-nav { opacity: 1; visibility: visible; transform: translateY(0); }
	.sflow-primary-menu, .sflow-primary-nav .menu, .sflow-primary-nav .menu > ul { display: block; }
	.sflow-primary-nav a { padding: 0.8rem 0; font-size: 1.2rem; }
	.sflow-primary-menu > li > a::after, .sflow-primary-nav .menu > li > a::after, .sflow-primary-nav .menu > ul > li > a::after { bottom: 0.35rem; right: auto; width: 3rem; }
	.sflow-primary-nav .sub-menu { position: static; padding: 0 0 0 1rem; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	.sflow-header-actions {
		position: fixed;
		right: var(--sflow-gutter);
		bottom: 2rem;
		left: var(--sflow-gutter);
		z-index: calc(var(--sflow-z-header) + 1);
		display: grid;
		grid-template-columns: 1fr auto;
		opacity: 0;
		visibility: hidden;
		transform: translateY(1rem);
		pointer-events: none;
		transition: opacity 220ms ease, transform 220ms var(--sflow-ease), visibility 220ms ease;
	}
	.sflow-is-nav-open .sflow-header-actions { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
	.sflow-header-phone { justify-content: center; }
}

@media (max-width: 48.875rem) {
	body.admin-bar .sflow-site-header,
	body.admin-bar.sflow-transparent-header .sflow-site-header {
		top: 46px;
	}

	body.admin-bar .sflow-primary-nav {
		inset-block-start: calc(var(--sflow-header-height) + 46px);
	}
}

@media (max-width: 30rem) {
	.sflow-brand img { max-width: 7.5rem; height: 3rem; }
	.sflow-header-actions { grid-template-columns: 1fr; }
	.sflow-header-cta { width: 100%; }
}

@media (prefers-reduced-transparency: reduce) {
	.sflow-site-header,
	.sflow-transparent-header .sflow-site-header,
	.sflow-transparent-header .sflow-site-header.is-scrolled {
		background: var(--sflow-white);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}
