/* Firato 1.1 visual refinement and Astra normalization. */
.firato-theme {
	--firato-ink: #121722;
	--firato-cream: #f3efe9;
	--firato-paper: #fcfbf9;
	--firato-purple: #4b1d6f;
	--firato-purple-dark: #321147;
	--firato-line: #ded8d0;
	font-family: "Segoe UI Variable Text", "Segoe UI", Aptos, "Helvetica Neue", Arial, sans-serif;
}

.firato-theme #primary {
	float: none;
	width: 100%;
	margin: 0;
}

.firato-site-header {
	height: 94px;
	background: rgba(252, 251, 249, .98);
}

.firato-header-inner {
	width: min(1360px, calc(100% - 56px));
}

.firato-wordmark,
.firato-logo-image {
	width: 220px;
	max-width: 220px;
}

.firato-logo-image {
	max-height: 72px;
}

.firato-primary-nav > a,
.firato-nav-group > button {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--firato-ink) !important;
	font-family: "Segoe UI Variable Text", "Segoe UI", Aptos, "Helvetica Neue", Arial, sans-serif;
}

.firato-primary-nav .firato-header-cta {
	background: var(--firato-purple) !important;
	color: #fff !important;
}

.firato-primary-nav .firato-header-cta:hover {
	background: var(--firato-purple-dark) !important;
}

.firato-mega-menu {
	top: 94px;
	border-bottom-width: 4px;
	box-shadow: 0 22px 50px rgba(18, 23, 34, .15);
}

.firato-mega-intro strong,
.firato-page-title h1,
.firato-error-page h1 {
	font-family: "Segoe UI Variable Display", "Segoe UI", Aptos, "Helvetica Neue", Arial, sans-serif;
	font-weight: 850;
	letter-spacing: -.045em;
}

.firato-site-footer {
	background: #0d1017;
}

@media (max-width: 820px) {
	.firato-site-header {
		height: 80px;
	}

	.firato-primary-nav {
		top: 80px;
		max-height: calc(100vh - 80px);
	}

	.firato-primary-nav > a,
	.firato-nav-group > button {
		border-bottom: 1px solid var(--firato-line) !important;
	}
}

@media (max-width: 560px) {
	.firato-header-inner {
		width: calc(100% - 30px);
	}

	.firato-wordmark,
	.firato-logo-image {
		width: 172px;
		max-width: 172px;
	}
}
