.site-header {
	--smpt-logo-outline-size: clamp(0.7px, 0.08vw, 1px);
	--smpt-logo-outline:
		drop-shadow(var(--smpt-logo-outline-size) 0 0 rgba(255, 255, 255, 0.75))
		drop-shadow(calc(var(--smpt-logo-outline-size) * -1) 0 0 rgba(255, 255, 255, 0.75))
		drop-shadow(0 var(--smpt-logo-outline-size) 0 rgba(255, 255, 255, 0.75))
		drop-shadow(0 calc(var(--smpt-logo-outline-size) * -1) 0 rgba(255, 255, 255, 0.75));
	--smpt-hero-frame-top-padding: clamp(1rem, 2vw, 1.6rem);
	--smpt-hero-content-top-padding: clamp(0.35rem, 1vw, 0.9rem);
	position: relative;
	background:
		linear-gradient(
			115deg,
			rgba(38, 120, 220, 0.98) 0%,
			rgba(38, 120, 220, 0.92) 24%,
			rgb(8, 13, 71) 68%,
			rgb(8, 13, 71) 100%
		);
	overflow: visible;
	isolation: isolate;
	max-height: 720px;
	opacity: 1;
	transform: translateY(0);
	transform-origin: top center;
	transition:
		max-height 260ms ease,
		opacity 220ms ease,
		transform 260ms ease;
}

.smpt-aurora-layer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background-color: #2678dc;
}

.smpt-aurora-layer canvas {
	display: block;
	width: 100%;
	height: 100%;
	image-rendering: auto;
	transition: opacity 0.8s ease;
}

.smpt-hero-background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		var(--navy-angle, 5deg),
		rgb(8, 13, 71) 0%,
		rgb(8, 13, 71) var(--navy-mid, 50%),
		rgba(8, 13, 71, 0) 100%
	);
}

.smpt-stars-canvas {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 2;
	pointer-events: none;
	display: block;
	height: 100%;
}

.smpt-debug-exclusion-zone {
	position: absolute;
	border: 2px solid red;
	background: rgba(255, 0, 0, 0.1);
	pointer-events: none;
	z-index: 9999;
	display: none;
}

body.smpt-debug .smpt-debug-exclusion-zone {
	display: block;
}

.site-header .inside-header {
	position: relative;
	z-index: 3;
	max-width: min(1500px, 100%);
	min-height: clamp(220px, 28vw, 500px);
	padding: var(--smpt-hero-frame-top-padding) clamp(0.75rem, 2.6vw, 2rem) 0;
	transition:
		min-height 260ms ease,
		padding 260ms ease,
		opacity 220ms ease,
		transform 260ms ease;
	opacity: 1;
	transform: translateY(0);
}

.smpt-header-hero {
	display: flex;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	min-height: inherit;
}

.smpt-hero-header {
	--smpt-hero-logo-gap: clamp(0rem, calc(10vw - 4rem), 1rem);
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: min(100%, 1280px);
	min-height: inherit;
	padding-top: var(--smpt-hero-content-top-padding);
}

.smpt-header-hero__logo,
.smpt-hero-header__image {
	position: relative;
}

.smpt-header-hero__logo {
	z-index: 2;
	flex: 0 1 clamp(220px, 30vw, 500px);
	min-width: 0;
	align-self: center;
	margin-left: clamp(0.5rem, 2vw, 1.5rem);
	margin-right: var(--smpt-hero-logo-gap);
	transform: translateY(clamp(-0.2rem, -0.6vh, 0rem)) rotate(-2deg);
	transition: transform 420ms ease, opacity 420ms ease;
}

.smpt-hero-header__image {
	flex: 1 1 auto;
	min-width: 0;
	z-index: 3;
}


.smpt-header-hero img {
	display: block;
	width: 100%;
	height: auto;
}

.smpt-header-hero__logo img {
	width: 100%;
	max-width: clamp(220px, 30vw, 500px);
	filter: var(--smpt-logo-outline);
}

.smpt-header-hero__logo a {
	display: inline-block;
	transition: transform 120ms ease;
}

.smpt-header-hero__logo a:active {
	transform: scale(0.97);
}

.smpt-hero-header__image img {
	width: clamp(420px, 58vw, 980px);
	max-width: min(72vw, 980px);
	max-height: min(58svh, 607px);
	object-fit: contain;
	object-position: center bottom;
}

@media (min-width: 769px) {
	.smpt-header-hero {
		justify-content: flex-start;
	}

	.smpt-hero-header {
		justify-content: flex-start;
	}

	.smpt-hero-header__image {
		align-self: stretch;
		display: flex;
		align-items: flex-end;
		min-height: calc(100% + var(--smpt-hero-frame-top-padding) + var(--smpt-hero-content-top-padding));
		margin-top: calc((var(--smpt-hero-frame-top-padding) + var(--smpt-hero-content-top-padding)) * -1);
	}

	.smpt-hero-header__image img {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: none;
		transform-origin: left bottom;
	}
}

@media (min-width: 1460px) {
	.smpt-hero-header {
		width: min(100%, 1280px);
	}

	.smpt-header-hero__logo {
		min-width: 285px;
	}

	.smpt-header-hero__logo img {
		max-width: clamp(285px, 30vw, 500px);
	}

	.smpt-hero-header__image img {
		transform: scale(1.15);
	}
}

@media (min-width: 769px) and (max-width: 1459px) {
	.smpt-hero-header {
		width: 100%;
	}

	.smpt-header-hero__logo {
		min-width: clamp(285px, 28vw, 360px);
	}

	.smpt-header-hero__logo img {
		max-width: clamp(285px, 32vw, 380px);
	}

	.smpt-hero-header__image img {
		transform: scale(0.94);
	}
}

.smpt-hero-visibility-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	background: rgba(14, 23, 68, 0.16);
	color: var(--base-3);
	box-shadow: 0 6px 16px rgba(8, 13, 41, 0.12);
	backdrop-filter: blur(8px);
	opacity: 0.72;
	transition:
		background-color 140ms ease,
		border-color 140ms ease,
		transform 140ms ease,
		opacity 140ms ease;
}

.smpt-hero-visibility-toggle:hover,
.smpt-hero-visibility-toggle:focus-visible {
	background: rgba(14, 23, 68, 0.28);
	border-color: rgba(255, 255, 255, 0.45);
	opacity: 1;
	transform: translateY(-1px);
}

.smpt-hero-visibility-toggle .dashicons {
	width: 16px;
	height: 16px;
	font-size: 16px;
}

.smpt-hero-header__controls {
	position: absolute;
	left: clamp(0.4rem, 1vw, 0.85rem);
	bottom: clamp(0.35rem, 1vw, 0.75rem);
	width: 32px;
	height: 32px;
	z-index: 4;
	overflow: visible;
}

.smpt-hero-visibility-toggle--hero,
.smpt-hero-visibility-toggle--pause {
	position: absolute;
	top: 0;
}

.smpt-hero-visibility-toggle--hero {
	left: 0;
}

.smpt-hero-visibility-toggle--pause {
	left: calc(100% + 0.32rem);
}

body.smpt-hero-collapsed .site-header {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	transform: translateY(-10px);
}

body.smpt-hero-collapsed .site-header .inside-header,
body.smpt-hero-collapsed .smpt-header-hero,
body.smpt-hero-collapsed .smpt-hero-header {
	min-height: 0;
	padding-top: 0;
	padding-bottom: 0;
}

body.smpt-hero-collapsed .site-header .inside-header {
	opacity: 0;
	transform: translateY(-12px);
}

body.smpt-hero-restoring .site-header {
	max-height: 720px;
	opacity: 1;
	overflow: hidden;
	pointer-events: none;
	transform: translateY(0);
}

body.smpt-hero-restoring .site-header .inside-header,
body.smpt-hero-restoring .smpt-header-hero,
body.smpt-hero-restoring .smpt-hero-header {
	min-height: clamp(220px, 28vw, 500px);
	padding-top: var(--smpt-hero-content-top-padding);
	padding-bottom: 0;
}

