:root {
	--avri-border: color-mix(in srgb, currentColor 14%, transparent);
	--wp--preset--color--primary: #285AAA;
	--wp--preset--color--secondary: #32B446;
	--wp--preset--color--accent: #FAB432;
	--wp--preset--color--red: #E61E3C;
	--wp--preset--color--brand: #285AAA;
	--wp--preset--color--soft: #FAF4E8;
	--wp--preset--color--contrast: #1D252B;
	--wp--preset--color--muted: #5E6B73;
	--wp--preset--color--base: #FFFFFF;
	--wp--preset--color--surface: #FFFFFF;
	--wp--preset--font-size--small: clamp(0.8125rem, 0.78rem + 0.16vw, 0.9375rem);
}

html {
	scroll-behavior: smooth;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--contrast);
}

main {
	margin-top: 0;
}

a {
	text-underline-offset: 0.16em;
}

:where(a, button, input, textarea, select, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wp-site-blocks > main {
	flex: 1;
}


.wp-block-post-content > .alignfull {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	width: auto;
}


.has-small-font-size {
	font-size: var(--wp--preset--font-size--small) !important;
}

.avri-site-header {
	backdrop-filter: blur(14px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	box-shadow: 0 10px 30px rgb(29 37 43 / 0.06);
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-bar .avri-site-header {
	top: 32px;
}

.avri-site-header::before {
	background: linear-gradient(90deg, var(--wp--preset--color--red) 0 25%, var(--wp--preset--color--primary) 25% 50%, var(--wp--preset--color--accent) 50% 75%, var(--wp--preset--color--secondary) 75% 100%);
	content: "";
	display: block;
	height: 5px;
}

.avri-nav-open {
	overflow: hidden;
}

.avri-header-inner {
	gap: clamp(1rem, 0.64rem + 1.8vw, 2.25rem);
	min-height: 72px;
	transition: min-height 180ms ease, padding 180ms ease;
}

.avri-logo {
	display: grid;
	margin: 0;
	place-items: center;
	text-decoration: none;
}

.avri-logo img {
	display: block;
	transition: opacity 180ms ease, transform 180ms ease, width 180ms ease, height 180ms ease;
}

.avri-logo-full,
.avri-logo-compact {
	grid-area: 1 / 1;
}

.avri-logo-full {
	opacity: 1;
}

.avri-logo-compact {
	opacity: 0;
	transform: scale(0.92);
}

.avri-site-header.is-scrolled .avri-header-inner {
	min-height: 54px;
}

.avri-site-header.is-scrolled .avri-logo-full {
	opacity: 0;
	transform: scale(0.9);
}

.avri-site-header.is-scrolled .avri-logo-compact {
	opacity: 1;
	transform: scale(1);
}

.avri-main-nav .wp-block-navigation-item__content {
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	font-weight: 700;
	padding: 0.45rem 0.6rem;
	text-decoration: none;
	white-space: nowrap;
}

.avri-main-nav .wp-block-navigation-item__content:hover,
.avri-main-nav .wp-block-navigation-item__content:focus-visible {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 9%, transparent);
	color: var(--wp--preset--color--primary);
}

.avri-main-nav .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	padding-inline: 0.95rem;
}

.avri-main-nav .wp-block-navigation-item:last-child .wp-block-navigation-item__content:hover,
.avri-main-nav .wp-block-navigation-item:last-child .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--red);
	color: var(--wp--preset--color--base);
}

.avri-mobile-menu-toggle,
.avri-mobile-menu {
	display: none;
}

.avri-mobile-menu-toggle {
	align-items: center;
	background: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 999px;
	color: var(--wp--preset--color--base);
	height: 44px;
	justify-content: center;
	margin-left: auto;
	padding: 0;
	position: relative;
	width: 44px;
}

.avri-mobile-menu-toggle span,
.avri-mobile-menu-toggle::before,
.avri-mobile-menu-toggle::after {
	background: currentColor;
	content: "";
	display: block;
	height: 2px;
	position: absolute;
	transition: opacity 160ms ease, transform 160ms ease;
	width: 18px;
}

.avri-mobile-menu-toggle::before {
	transform: translateY(-6px);
}

.avri-mobile-menu-toggle::after {
	transform: translateY(6px);
}

.avri-mobile-menu-toggle[aria-expanded="true"] {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--accent);
	border-radius: 0;
	color: var(--wp--preset--color--contrast);
}

.avri-mobile-menu-toggle[aria-expanded="true"] span {
	opacity: 0;
}

.avri-mobile-menu-toggle[aria-expanded="true"]::before {
	transform: rotate(45deg);
}

.avri-mobile-menu-toggle[aria-expanded="true"]::after {
	transform: rotate(-45deg);
}

.avri-mobile-menu {
	background: var(--wp--preset--color--base);
	bottom: 0;
	box-shadow: 0 18px 42px rgb(29 37 43 / 0.1);
	left: 0;
	overflow: auto;
	padding: 1rem;
	position: fixed;
	right: 0;
	top: 67px;
	z-index: 999;
}

.avri-mobile-menu[hidden] {
	display: none !important;
}

.avri-mobile-menu__contact {
	align-items: center;
	background: var(--wp--preset--color--primary);
	border-radius: 8px;
	color: var(--wp--preset--color--base);
	display: flex;
	font-weight: 800;
	justify-content: center;
	padding: 0.9rem 1rem;
	text-decoration: none;
}

.avri-mobile-menu__list {
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 18%, transparent);
	display: grid;
	gap: 0;
	list-style: none;
	margin: 1rem 0 0;
	padding: 1rem 0 0;
}

.avri-mobile-menu__link {
	align-items: center;
	color: var(--wp--preset--color--contrast);
	display: flex;
	font-size: 1.125rem;
	font-weight: 800;
	justify-content: space-between;
	padding: 0.9rem 0;
	text-decoration: none;
}

.avri-mobile-menu__link::after {
	align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--primary) 7%, var(--wp--preset--color--base));
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	content: "›";
	display: inline-flex;
	font-size: 1.5rem;
	height: 2.6rem;
	justify-content: center;
	line-height: 1;
	width: 2.6rem;
}

.avri-footer {
	border-top: 1px solid var(--avri-border);
}

.avri-contact-form {
	background: var(--wp--preset--color--base);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
	border-radius: 8px;
	display: grid;
	gap: var(--wp--preset--spacing--30);
	padding: clamp(1.5rem, 1.14rem + 1.8vw, 2.75rem);
}

.avri-contact-form p {
	margin: 0;
}

.avri-contact-form label {
	display: grid;
	font-weight: 700;
	gap: 0.45rem;
}

.avri-contact-form input:not([type="checkbox"]),
.avri-contact-form select,
.avri-contact-form textarea {
	background: var(--wp--preset--color--base);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
	border-radius: 4px;
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	padding: 0.85rem 0.95rem;
	width: 100%;
}

.avri-contact-form input:focus,
.avri-contact-form select:focus,
.avri-contact-form textarea:focus {
	border-color: var(--wp--preset--color--primary);
	outline: 3px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}

.avri-contact-form textarea {
	resize: vertical;
}

.avri-contact-form__grid {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.avri-contact-form__hidden {
	left: -9999px;
	position: absolute;
}

.avri-contact-form__consent label {
	align-items: flex-start;
	display: flex;
	font-weight: 400;
	gap: 0.65rem;
}

.avri-contact-form__consent input {
	margin-top: 0.35rem;
}

.avri-contact-form__notice {
	border-radius: 4px;
	font-weight: 700;
	padding: 0.85rem 1rem;
}

.avri-contact-form__notice--success {
	background: color-mix(in srgb, var(--wp--preset--color--secondary) 14%, white);
	color: color-mix(in srgb, var(--wp--preset--color--secondary) 58%, black);
}

.avri-contact-form__notice--error {
	background: color-mix(in srgb, var(--wp--preset--color--red) 12%, white);
	color: color-mix(in srgb, var(--wp--preset--color--red) 62%, black);
}

.avri-contact-form__submit {
	background: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 4px;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	justify-self: start;
	padding: 0.85rem 1.2rem;
}

.avri-contact-form__submit:hover,
.avri-contact-form__submit:focus-visible {
	background: var(--wp--preset--color--red);
	border-color: var(--wp--preset--color--red);
}

.wp-block-button.is-style-avri-fill .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-avri-fill {
	background: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 4px;
	color: var(--wp--preset--color--base);
	font-weight: 700;
	padding: 0.8rem 1.15rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.wp-block-button.is-style-avri-fill .wp-block-button__link:hover,
.wp-block-button.is-style-avri-fill .wp-block-button__link:focus-visible,
.wp-block-button .wp-block-button__link.is-style-avri-fill:hover,
.wp-block-button .wp-block-button__link.is-style-avri-fill:focus-visible {
	background: var(--wp--preset--color--red);
	border-color: var(--wp--preset--color--red);
	color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-avri-outlined .wp-block-button__link,
.wp-block-button .wp-block-button__link.is-style-avri-outlined {
	background: transparent;
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: 4px;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	padding: 0.8rem 1.15rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.wp-block-button.is-style-avri-outlined .wp-block-button__link:hover,
.wp-block-button.is-style-avri-outlined .wp-block-button__link:focus-visible,
.wp-block-button .wp-block-button__link.is-style-avri-outlined:hover,
.wp-block-button .wp-block-button__link.is-style-avri-outlined:focus-visible {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

@media (max-width: 760px) {
	.avri-header-inner {
		align-items: center;
		min-height: 62px;
	}

	.avri-logo img {
		width: 89px !important;
	}

	.avri-logo-full {
		height: 46px !important;
	}

	.avri-logo-compact {
		height: 25px !important;
	}

	.avri-site-header.is-scrolled .avri-header-inner {
		min-height: 48px;
	}

	.avri-main-nav {
		display: none !important;
	}

	.avri-main-nav .wp-block-navigation__responsive-container-open,
	.avri-main-nav .wp-block-navigation__responsive-container {
		display: none !important;
	}

	.admin-bar .avri-site-header {
		top: 46px;
	}

	.admin-bar .avri-mobile-menu {
		top: 64px;
	}

	.avri-mobile-menu-toggle,
	.avri-mobile-menu.is-open {
		display: flex;
	}

	.avri-mobile-menu.is-open {
		display: block;
    height: fit-content;
	}

	body.avri-mobile-menu-open {
		overflow: hidden;
	}

	.avri-contact-form__grid {
		grid-template-columns: 1fr;
	}
}
