:root {
	--kopylov-font-family-base: "Inter Tight", "Inter", "Segoe UI", sans-serif;
	--kopylov-text-font-size: 18px;
	--kopylov-text-line-height: 1.4;
	--kopylov-h1-font-size: 72px;
	--kopylov-h1-line-height: 1;
	--kopylov-h-hero-font-size: 192px;
	--kopylov-h-hero-line-height: 0.9;
	--kopylov-h-hero-letter-spacing: -0.04em;
	--kopylov-h2-font-size: 40px;
	--kopylov-h2-line-height: 1.1;
	--kopylov-h3-font-size: 25px;
	--kopylov-h3-line-height: 1.2;
	--kopylov-h4-font-size: 18px;
	--kopylov-h4-line-height: 1.3;
	--kopylov-h5-font-size: 12px;
	--kopylov-h5-line-height: 1.4;
	--kopylov-h5-letter-spacing: 1px;
	--kopylov-link-hover-color: #8627ff;
	--kopylov-fill-button-bg: #8627ff;
	--kopylov-fill-button-text: #ffffff;
	--kopylov-fill-button-gap: 0px;
	--kopylov-fill-button-font-size: clamp(20px, 4vw, 48px);
	--kopylov-fill-button-inline: clamp(44px, 6vw, 80px);
	--kopylov-fill-button-block-start: 6px;
	--kopylov-fill-button-block-end: 10px;
	--kopylov-fill-button-arrow-side: clamp(16px, 2vw, 24px);
	--kopylov-fill-button-radius: 999px;
	--kopylov-fill-button-hover-text: var(--wp--preset--color--contrast);
	--kopylov-outline-button-text: #ffffff;
	--kopylov-outline-button-border: #ffffff;
	--kopylov-outline-button-hover: #8627ff;
	--kopylov-outline-button-border-width: 2px;
	--kopylov-full-width-padded-desktop: 40px;
	--kopylov-full-width-padded-tablet: 24px;
	--kopylov-full-width-padded-mobile: 16px;
	--kopylov-hero-screen-offset-desktop: calc(88px + var(--wp--preset--spacing--50));
	--kopylov-hero-screen-offset-mobile: calc(72px + var(--wp--preset--spacing--50));
}

:where(body, .editor-styles-wrapper) {
	font-family: var(--kopylov-font-family-base);
}

:where(body, .editor-styles-wrapper) :where(p, li, dd, dt, figcaption, cite, blockquote, .wp-block-paragraph, .wp-block-list, .wp-block-list li) {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-text-font-size);
	font-style: normal;
	font-weight: 400;
	line-height: var(--kopylov-text-line-height);
}

:where(body, .editor-styles-wrapper) a:not(.wp-element-button):not(.wp-block-button__link) {
	transition: color 0.5s ease;
}

:where(body, .editor-styles-wrapper) a:not(.wp-element-button):not(.wp-block-button__link):hover {
	color: var(--kopylov-link-hover-color) !important;
	text-decoration: none !important;
}

.wp-block-post-template .wp-block-post :is(.wp-block-post-title, .wp-block-post-title a, .wp-block-post-excerpt, .wp-block-post-excerpt p, .wp-block-post-date, .wp-block-post-date a) {
	transition: color 0.5s ease;
}

.wp-block-post-template .wp-block-post .wp-block-post-featured-image {
	overflow: hidden;
}

.wp-block-post-template .wp-block-post .wp-block-post-featured-image img {
	transform: scale(1);
	transform-origin: center center;
	transition: transform 0.5s ease;
}

.wp-block-post-template .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.2);
}

.wp-block-post-template .wp-block-post:hover :is(.wp-block-post-title, .wp-block-post-title a, .wp-block-post-excerpt, .wp-block-post-excerpt p, .wp-block-post-date, .wp-block-post-date a) {
	color: var(--kopylov-link-hover-color) !important;
	text-decoration: none !important;
}

:where(body, .editor-styles-wrapper) h1 {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-h1-font-size);
	font-style: normal;
	font-weight: 700;
	line-height: var(--kopylov-h1-line-height);
}

:where(body, .editor-styles-wrapper) .h-hero {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-h-hero-font-size);
	font-style: normal;
	font-weight: 700;
	line-height: var(--kopylov-h-hero-line-height);
	letter-spacing: var(--kopylov-h-hero-letter-spacing);
}

:where(body, .editor-styles-wrapper) h2 {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-h2-font-size);
	font-style: normal;
	font-weight: 600;
	line-height: var(--kopylov-h2-line-height);
}

:where(body, .editor-styles-wrapper) h3 {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-h3-font-size);
	font-style: normal;
	font-weight: 700;
	line-height: var(--kopylov-h3-line-height);
}

:where(body, .editor-styles-wrapper) h4 {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-h4-font-size);
	font-style: normal;
	font-weight: 600;
	line-height: var(--kopylov-h4-line-height);
}

:where(body, .editor-styles-wrapper) h5 {
	font-family: var(--kopylov-font-family-base);
	font-size: var(--kopylov-h5-font-size);
	font-style: normal;
	font-weight: 700;
	line-height: var(--kopylov-h5-line-height);
	letter-spacing: var(--kopylov-h5-letter-spacing);
	text-transform: uppercase;
}

body.single-post .wp-block-post-content h2 {
	margin-top: 64px;
}

body.single-post .wp-block-post-content h3 {
	margin-top: 40px;
}

body.single-post .wp-block-post-content h4 {
	margin-top: 24px;
}

body.single-post .wp-block-post-content h5 {
	margin-top: 16px;
}

.alignfull.is-kopylov-full-width-padded {
	box-sizing: border-box;
	padding-left: var(--kopylov-full-width-padded-desktop) !important;
	padding-right: var(--kopylov-full-width-padded-desktop) !important;
}

.hero-screen {
	min-height: calc(100vh - var(--kopylov-hero-screen-offset-desktop));
	min-height: calc(100svh - var(--kopylov-hero-screen-offset-desktop));
	align-items: flex-end !important;
}

.hero-screen > .wp-block-column {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.hero-screen > .wp-block-column:first-child,
.hero-screen > .wp-block-column:last-child {
	justify-content: flex-end;
}

.hero-screen .wp-block-buttons {
	margin-top: auto;
}

.wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--secondary) !important;
	font-family: "Inter Tight", "Inter", "Segoe UI", sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: 16px;
	text-decoration: none !important;
	text-transform: lowercase;
	transition: color 0.5s ease;
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item__content:focus-visible {
	color: var(--kopylov-link-hover-color) !important;
	text-decoration: none !important;
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--tertiary) !important;
}

.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content:focus-visible,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]:hover,
.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"]:focus-visible {
	color: var(--kopylov-link-hover-color) !important;
}

.wp-block-navigation .wp-block-navigation__responsive-container-open {
	position: relative;
	z-index: 100001;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 24px;
}

.wp-block-navigation .wp-block-navigation__responsive-container-open .kopylov-navigation-burger-icon {
	display: block;
	width: 40px;
	height: 24px;
	fill: none;
	overflow: visible;
}

.wp-block-navigation .wp-block-navigation__responsive-container-open .kopylov-navigation-burger-icon .kopylov-navigation-icon__line {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	vector-effect: non-scaling-stroke;
	transform-box: view-box;
	transform-origin: 20px 12px;
	transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.wp-block-navigation .wp-block-navigation__responsive-container-open .kopylov-navigation-icon__line--top {
	transform: translateY(-5px);
}

.wp-block-navigation .wp-block-navigation__responsive-container-open .kopylov-navigation-icon__line--bottom {
	transform: translateY(5px);
}

.wp-block-navigation .wp-block-navigation__responsive-container-close {
	position: absolute;
	width: 0;
	height: 0;
	padding: 0;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
}

.wp-block-navigation.kopylov-menu-open .wp-block-navigation__responsive-container-open {
	position: fixed;
	top: var(--kopylov-menu-toggle-top, 0px);
	left: var(--kopylov-menu-toggle-left, 0px);
	color: var(--wp--preset--color--secondary) !important;
	z-index: 100001 !important;
}

.wp-block-navigation.kopylov-menu-open:not(.kopylov-menu-closing) .wp-block-navigation__responsive-container-open .kopylov-navigation-icon__line--top {
	transform: scaleX(0.8485) rotate(45deg);
}

.wp-block-navigation.kopylov-menu-open:not(.kopylov-menu-closing) .wp-block-navigation__responsive-container-open .kopylov-navigation-icon__line--bottom {
	transform: scaleX(0.8485) rotate(-45deg);
}

.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
	background-color: rgba(17, 17, 17, 0.95) !important;
}

@keyframes kopylov-mobile-menu-slide-left {
	from {
		opacity: 0;
		transform: translateX(100%);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@keyframes kopylov-mobile-menu-slide-right {
	from {
		opacity: 1;
		transform: translateX(0);
	}

	to {
		opacity: 0;
		transform: translateX(100%);
	}
}

@media not (prefers-reduced-motion) {
	.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
		animation: kopylov-mobile-menu-slide-left 0.32s cubic-bezier(0.22, 1, 0.36, 1) both !important;
	}

	.wp-block-navigation .wp-block-navigation__responsive-container.kopylov-is-closing {
		display: flex !important;
		flex-direction: column;
		background-color: rgba(17, 17, 17, 0.95) !important;
		animation: kopylov-mobile-menu-slide-right 0.32s cubic-bezier(0.22, 1, 0.36, 1) both !important;
	}
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	--kopylov-fill-button-arrow-width: var(--kopylov-arrow-inline-size, calc(1em + (var(--kopylov-fill-button-arrow-side) * 2)));
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(1em + var(--kopylov-fill-button-block-start) + var(--kopylov-fill-button-block-end));
	padding-block-start: var(--kopylov-fill-button-block-start);
	padding-block-end: var(--kopylov-fill-button-block-end);
	padding-inline-start: var(--kopylov-fill-button-inline);
	padding-inline-end: calc(var(--kopylov-fill-button-inline) + var(--kopylov-fill-button-arrow-width) + var(--kopylov-fill-button-gap));
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--kopylov-fill-button-text) !important;
	cursor: pointer;
	font-family: "Inter Tight", "Inter", "Segoe UI", sans-serif;
	font-size: var(--kopylov-fill-button-font-size);
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	text-decoration: none;
	text-transform: lowercase;
	white-space: nowrap;
	appearance: none;
	isolation: isolate;
	overflow: visible;
	transition: color 0.5s ease;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link::before,
.wp-block-button:not(.is-style-outline) > .wp-block-button__link::after {
	position: absolute;
	inset-block: 0;
	border-radius: var(--kopylov-fill-button-radius);
	background: var(--kopylov-fill-button-bg);
	z-index: -1;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link::before {
	content: "";
	inset-inline-start: 0;
	inset-inline-end: calc(var(--kopylov-fill-button-arrow-width) + var(--kopylov-fill-button-gap));
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link::after {
	content: var(--kopylov-arrow-symbol, "\2192");
	display: flex;
	align-items: center;
	justify-content: center;
	inset-inline-end: 0;
	width: var(--kopylov-fill-button-arrow-width);
	color: var(--kopylov-fill-button-text);
	font-family: "Inter Tight", "Inter", "Segoe UI", sans-serif;
	font-size: inherit;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	transition: color 0.5s ease;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible {
	color: var(--kopylov-fill-button-hover-text) !important;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover::after,
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible::after {
	color: var(--kopylov-fill-button-hover-text) !important;
}

.wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus-visible {
	outline: 2px solid rgba(134, 39, 255, 0.22);
	outline-offset: 6px;
}

.wp-block-button:not(.is-style-outline).is-kopylov-arrow-hidden > .wp-block-button__link,
.is-kopylov-arrow-hidden .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	padding-inline-end: var(--kopylov-fill-button-inline);
}

.wp-block-button:not(.is-style-outline).is-kopylov-arrow-hidden > .wp-block-button__link::before,
.is-kopylov-arrow-hidden .wp-block-button:not(.is-style-outline) > .wp-block-button__link::before {
	inset-inline-end: 0;
}

.wp-block-button:not(.is-style-outline).is-kopylov-arrow-hidden > .wp-block-button__link::after,
.is-kopylov-arrow-hidden .wp-block-button:not(.is-style-outline) > .wp-block-button__link::after {
	content: none;
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	--kopylov-fill-button-arrow-width: var(--kopylov-arrow-inline-size, calc(1em + (var(--kopylov-fill-button-arrow-side) * 2)));
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: calc(1em + var(--kopylov-fill-button-block-start) + var(--kopylov-fill-button-block-end));
	padding-block-start: var(--kopylov-fill-button-block-start);
	padding-block-end: var(--kopylov-fill-button-block-end);
	padding-inline-start: var(--kopylov-fill-button-inline);
	padding-inline-end: calc(var(--kopylov-fill-button-inline) + var(--kopylov-fill-button-arrow-width) + var(--kopylov-fill-button-gap));
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--kopylov-outline-button-text) !important;
	cursor: pointer;
	font-family: "Inter Tight", "Inter", "Segoe UI", sans-serif;
	font-size: var(--kopylov-fill-button-font-size);
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	text-decoration: none;
	text-transform: lowercase;
	white-space: nowrap;
	appearance: none;
	isolation: isolate;
	overflow: visible;
	transition: color 0.5s ease;
}

.wp-block-button.is-style-outline > .wp-block-button__link::before,
.wp-block-button.is-style-outline > .wp-block-button__link::after {
	position: absolute;
	inset-block: 0;
	border-radius: var(--kopylov-fill-button-radius);
	background: transparent;
	box-shadow: inset 0 0 0 var(--kopylov-outline-button-border-width) var(--kopylov-outline-button-border);
	box-sizing: border-box;
	z-index: -1;
	transition: box-shadow 0.5s ease, color 0.5s ease;
}

.wp-block-button.is-style-outline > .wp-block-button__link::before {
	content: "";
	inset-inline-start: 0;
	inset-inline-end: calc(var(--kopylov-fill-button-arrow-width) + var(--kopylov-fill-button-gap));
}

.wp-block-button.is-style-outline > .wp-block-button__link::after {
	content: var(--kopylov-arrow-symbol, "\2192");
	display: flex;
	align-items: center;
	justify-content: center;
	inset-inline-end: 0;
	width: var(--kopylov-fill-button-arrow-width);
	color: var(--kopylov-outline-button-text);
	font-family: "Inter Tight", "Inter", "Segoe UI", sans-serif;
	font-size: inherit;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	color: var(--kopylov-outline-button-hover) !important;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover::before,
.wp-block-button.is-style-outline > .wp-block-button__link:hover::after,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible::before,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible::after {
	box-shadow: inset 0 0 0 var(--kopylov-outline-button-border-width) var(--kopylov-outline-button-hover);
	color: var(--kopylov-outline-button-hover);
}

.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	outline: 2px solid rgba(134, 39, 255, 0.22);
	outline-offset: 6px;
}

.wp-block-button.is-style-outline.is-kopylov-arrow-hidden > .wp-block-button__link,
.is-kopylov-arrow-hidden .wp-block-button.is-style-outline > .wp-block-button__link {
	padding-inline-end: var(--kopylov-fill-button-inline);
}

.wp-block-button.is-style-outline.is-kopylov-arrow-hidden > .wp-block-button__link::before,
.is-kopylov-arrow-hidden .wp-block-button.is-style-outline > .wp-block-button__link::before {
	inset-inline-end: 0;
}

.wp-block-button.is-style-outline.is-kopylov-arrow-hidden > .wp-block-button__link::after,
.is-kopylov-arrow-hidden .wp-block-button.is-style-outline > .wp-block-button__link::after {
	content: none;
}

@media (max-width: 1024px) {
	.alignfull.is-kopylov-full-width-padded {
		padding-left: var(--kopylov-full-width-padded-tablet) !important;
		padding-right: var(--kopylov-full-width-padded-tablet) !important;
	}
}

@media (max-width: 781px) {
	:root {
		--kopylov-fill-button-font-size: clamp(18px, 7vw, 28px);
		--kopylov-fill-button-block-start: 6px;
		--kopylov-fill-button-block-end: 10px;
		--kopylov-fill-button-arrow-side: clamp(14px, 4vw, 20px);
	}

	.alignfull.is-kopylov-full-width-padded {
		padding-left: var(--kopylov-full-width-padded-mobile) !important;
		padding-right: var(--kopylov-full-width-padded-mobile) !important;
	}

	.hero-screen {
		min-height: calc(100vh - var(--kopylov-hero-screen-offset-mobile));
		min-height: calc(100svh - var(--kopylov-hero-screen-offset-mobile));
		align-content: flex-end;
	}
}
