.ag-shared-header #header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 0.4pt solid color-mix(in srgb, currentColor 22%, transparent);
}

.admin-bar.ag-shared-header #header {
	top: 32px;
}

.ag-shared-header :where(main, .site-main, .entry-content) :where([id]) {
	scroll-margin-top: 10rem;
}

.ag-site-banner {
	min-height: 150px;
	background-image:
		linear-gradient(90deg, color-mix(in srgb, transparent 80%, white), color-mix(in srgb, transparent 92%, black)),
		var(--ag-site-banner-image);
	background-position: var(--ag-site-banner-position, center 53%);
	background-size: cover;
}

.ag-site-banner--focus-left { --ag-site-banner-position: left 53%; }
.ag-site-banner--focus-center { --ag-site-banner-position: center 53%; }
.ag-site-banner--focus-right { --ag-site-banner-position: right 53%; }
.ag-site-banner--focus-top { --ag-site-banner-position: center 30%; }
.ag-site-banner--focus-bottom { --ag-site-banner-position: center 75%; }

.ag-site-banner--without-image {
	background-image: none;
}

.ag-site-banner .ct-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	min-height: 150px;
}

.ag-site-banner--text-left .ct-container { justify-content: flex-start; }
.ag-site-banner--text-center .ct-container { justify-content: center; }
.ag-site-banner--text-right .ct-container { justify-content: flex-end; }

.ag-site-banner__copy {
	color: #fff;
	text-shadow: 0 1px 10px rgb(0 0 0 / 28%);
}

.ag-site-banner .ag-site-banner__title {
	margin: 0;
	font-size: clamp(1.55rem, 3vw, 2.7rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0.05em;
}

.ag-site-banner .ag-site-banner__subtitle {
	margin: var(--ag-site-banner-subtitle-margin, 0.02rem 0 0);
	font-size: clamp(0.9rem, 1.35vw, 1.2rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.025em;
}

@media (max-width: 782px) {
	.admin-bar.ag-shared-header #header {
		top: 46px;
	}
}

@media (max-width: 689px) {
	.ag-site-banner,
	.ag-site-banner .ct-container {
		min-height: 100px;
	}

	.ag-site-banner {
		background-position: var(--ag-site-banner-mobile-position, var(--ag-site-banner-position, center 53%));
	}

	.ag-site-banner .ag-site-banner__title {
		font-size: 1.45rem;
	}

	.ag-site-banner--mobile-text-left .ct-container { justify-content: flex-start; }
	.ag-site-banner--mobile-text-center .ct-container { justify-content: center; }
	.ag-site-banner--mobile-text-right .ct-container { justify-content: flex-end; }

	.ag-site-banner--mobile-without-subtitle .ag-site-banner__subtitle {
		display: none;
	}

	.ag-shared-header :where(main, .site-main, .entry-content) :where([id]) {
		scroll-margin-top: 6.5rem;
	}
}

@media (max-width: 600px) {
	.admin-bar.ag-shared-header #header {
		top: 0;
	}
}
