@charset "utf-8";

:root {
	font-size: 0.833333vw;
	--black: #000;
	--white: #fff;
	--white0: #ffffff00;
	--grey: #B9B9C7;
	--dark: #141414;
	--bg-grey: #F5F5F5;
	--bg-grey0: #F5F5F500;
	--side-padding: clamp(20px, 3.75rem, 60px);
	--vert-padding: clamp(80px, 12.5rem, 200px);
	--distance: clamp(80px, 12.5rem, 200px);
	--header: 92px;
	--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--delay: 0.1s;
	--delay2: 0s;
	--pink: #FF31AB;
	--pink0: #FF31AB00;
	--yellow: #FBFF3E;
	--block: #141414;
	--percent: 0;
	--telegram: #32B6F8;
	--whatsapp: #43D56C;
	--h: 9;
	--v: 5;
	--red: #f00;
}

@media only screen and (min-width: 1000px) {
	:root {
		--header: 110px;
	}
}

@media only screen and (min-width: 1920px) {
	:root {
		--side-padding: calc((100vw - 1800px) / 2);
	}
}

html,
body {
	height: 100%;
	box-sizing: border-box;
	text-rendering: optimizeLegibility !important;
	-webkit-font-smoothing: antialiased;
	font-optical-sizing: auto;
	/*scroll-behavior: smooth;*/
}

body {
	margin: 0;
	padding: 0;
	background: var(--black);
	font: normal 16px var(--font);
	color: var(--white);
	-webkit-text-size-adjust: none;
	display: flex;
	flex-direction: column;
}

*,
*:before,
*:after {
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

form,
fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

input::-ms-clear {
	display: none;
}

button::-moz-focus-inner {
	border: 0;
}

textarea {
	resize: none;
}

video {
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	margin: 0;
	padding: 0;
	outline: none;
	border: 0;
}

header,
nav,
section,
article,
aside,
footer,
menu,
time,
figure,
figcaption,
main {
	display: block;
}

img,
svg,
picture {
	border: 0;
	outline: none;
	vertical-align: top;
}

a {
	color: var(--white);
	text-decoration: underline;
	outline: none;
	cursor: pointer;
}

.swiper {
	overflow: hidden;
}

.swiper-wrapper,
.swiper-slide {
	list-style: none;
	margin: 0;
	padding: 0;
}

.swiper-wrapper {
	display: flex;
}

.swiper-slide {
	flex: 0 0 auto;
	width: 100%;
}

.slider-pagination {
	--swiper-pagination-bullet-size: clamp(8px, 0.75rem, 12px);
	--swiper-pagination-bullet-horizontal-gap: calc(clamp(8px, 0.75rem, 12px) / 2);
	--swiper-pagination-bullet-inactive-opacity: 0.2;
	--swiper-theme-color: var(--white);
	--swiper-pagination-bullet-inactive-color: var(--white);
}

.slider-pagination .swiper-pagination-bullet {
	transition-property: width, opacity, background;
	transition-duration: 0.4s;
	transition-timing-function: ease !important;
	border-radius: 100px !important;
}

.slider-pagination .swiper-pagination-bullet-active {
	width: clamp(20px, 2.5rem, 40px) !important;
}

.btn {
	-webkit-appearance: none;
	cursor: pointer;
	user-select: none;
	outline: none;
	margin: 0;
	box-shadow: none;
	border: 0;
	background: none;
	flex: 0 0 auto;
	max-width: 100%;
	position: relative;
	overflow: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	gap: 6px;
	font: 500 18px/1.2 var(--font);
	text-transform: none;
	padding: 0 26px;
	height: 50px;
	border-radius: 100px;
	color: var(--black);
	transition-property: color, background, border, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	--top: 0;
	--left: 0;
}

@media (pointer:fine) {

	.btn:hover,
	a:hover .btn {
		transition-delay: 0s, 0.2s, 0s, 0s !important;
	}
}

.btn:before {
	content: '';
	position: absolute;
	width: 250%;
	aspect-ratio: 1/1;
	border-radius: 50%;
	transform: translate3d(-50%, -50%, 0) scale(0);
	top: var(--top);
	left: var(--left);
	backface-visibility: hidden;
	transition-property: transform, background, opacity;
	transition-duration: 0.4s;
	transition-timing-function: ease;
}

@media (pointer:fine) {

	.btn:hover:before,
	a:hover .btn:before {
		transform: translate3d(-50%, -50%, 0) scale(1);
		transition-duration: 0.8s;
	}
}

.btn:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-radius: inherit;
	border: 1px solid currentColor;
	opacity: 0;
}

.btn>* {
	position: relative;
}

.btn svg {
	fill: currentColor;
	transition: fill 0.4s ease;
}

.other-pages .block .arrow svg,
.btn.arrow svg {
	fill: none;
	stroke: currentColor;
	transition: stroke 0.4s ease, fill 0.4s ease;
}

.btn-white {
	background: var(--white);
	color: var(--black);
}

.btn-white:before {
	background: var(--black);
}

.btn-white:after {
	border-color: var(--white);
}

@media (pointer:fine) {

	.btn-white:hover,
	a:hover .btn-white {
		color: var(--white);
		background: var(--black);
	}
}

.btn-black {
	background: var(--black);
	color: var(--white);
}

.btn-black:before {
	background: var(--white);
}

.btn-black:after {
	border-color: var(--black);
}

@media (pointer:fine) {

	.btn-black:hover,
	a:hover .btn-black {
		color: var(--black);
		background: var(--white);
	}
}

.btn-dark {
	background: var(--dark);
	color: var(--white);
}

.btn-dark:before {
	background: var(--white);
}

.btn-dark:after {
	border-color: var(--black);
}

@media (pointer:fine) {

	.btn-dark:hover,
	a:hover .btn-dark {
		color: var(--black);
		background: var(--white);
	}
}

.btn-grey {
	background: rgba(255, 255, 255, 0.12);
	color: var(--white);
}

.btn-grey:before {
	background: var(--white);
}

.btn-grey:after {
	display: none;
}

@media (pointer:fine) {

	.btn-grey:hover,
	a:hover .btn-grey {
		color: var(--black);
		background: var(--white);
	}
}

.btn-pink {
	background: var(--pink);
	color: var(--white);
}

.btn-pink:before {
	background: var(--white);
}

.btn-pink:after {
	border-color: var(--white);
}

@media (pointer:fine) {

	.btn-pink:hover,
	a:hover .btn-pink {
		color: var(--pink);
		background: var(--white);
	}
}

.cursor {
	position: fixed;
	width: clamp(80px, 8.75rem, 140px);
	height: clamp(80px, 8.75rem, 140px);
	z-index: 1;
	user-select: none;
	pointer-events: none;
	z-index: 10000;
	transition-property: clip-path, opacity, transform;
	transition-duration: 0.4s;
	transition-timing-function: ease;
	background: var(--white);
	border-radius: 50%;
	clip-path: circle(0% at 50% 50%);
}

.cursor:not(.ready) {
	opacity: 0 !important;
	clip-path: circle(0% at 50% 50%) !important;
}

@media (pointer:coarse) {
	.cursor {
		display: none !important;
	}
}

.cursor-hover-text {
	clip-path: circle(50% at 50% 50%);
}

.cursor-text {
	position: absolute;
	top: 50%;
	left: 50%;
	white-space: nowrap;
	color: var(--black);
	transform: translate3d(-50%, -50%, 0);
	font: 500 clamp(12px, 1.25rem, 20px) var(--font);
	text-align: center;
}

.js_hover {
	display: inline-flex;
	vertical-align: top;
	align-items: center;
	flex: 0 0 auto;
	--lh: 1.2;
	line-height: var(--lh);
	overflow: hidden;
	backface-visibility: hidden;
}

.js_hover>* {
	flex: 0 0 auto;
	backface-visibility: hidden;
	text-shadow: 0 calc(var(--lh) * 1em) 0 currentColor;
	transform: translate3d(0, 0, 0);
	transition: transform 0.4s ease;
	--delay: 0.05s;
}

.js_hover:has(> *:nth-child(10))>* {
	--delay: 0.04s;
}

.js_hover:has(> *:nth-child(20))>* {
	--delay: 0.03s;
}

@media (pointer:fine) {
	a:hover .js_hover>* {
		transform: translate3d(0, calc(var(--lh) * -1em), 0);
	}

	a:hover .js_hover>*:nth-child(1) {
		transition-delay: calc(0 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(2) {
		transition-delay: calc(1 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(3) {
		transition-delay: calc(2 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(4) {
		transition-delay: calc(3 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(5) {
		transition-delay: calc(4 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(6) {
		transition-delay: calc(5 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(7) {
		transition-delay: calc(6 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(8) {
		transition-delay: calc(7 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(9) {
		transition-delay: calc(8 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(10) {
		transition-delay: calc(9 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(11) {
		transition-delay: calc(10 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(12) {
		transition-delay: calc(11 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(13) {
		transition-delay: calc(12 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(14) {
		transition-delay: calc(13 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(15) {
		transition-delay: calc(14 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(16) {
		transition-delay: calc(15 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(17) {
		transition-delay: calc(16 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(18) {
		transition-delay: calc(17 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(19) {
		transition-delay: calc(18 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(20) {
		transition-delay: calc(19 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(21) {
		transition-delay: calc(20 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(22) {
		transition-delay: calc(21 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(23) {
		transition-delay: calc(22 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(24) {
		transition-delay: calc(23 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(25) {
		transition-delay: calc(24 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(26) {
		transition-delay: calc(25 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(27) {
		transition-delay: calc(26 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(28) {
		transition-delay: calc(27 * var(--delay));
	}

	a:hover .js_hover>*:nth-child(29) {
		transition-delay: calc(28 * var(--delay));
	}
}

.mainwrap {
	flex: 0 0 auto;
	width: 100%;
	min-height: 100%;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: opacity 0.4s ease;
}

html:not(.ready) .mainwrap {
	opacity: 0;
	pointer-events: none;
}

.content {
	flex: 1 0 auto;
}

.header,
.footer {
	flex: 0 0 auto;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	height: var(--header);
	display: flex;
	align-items: center;
	backface-visibility: hidden;
}

.header>* {
	position: relative;
}

.head-logo {
	flex: 0 0 auto;
}

.head-logo img {
	vertical-align: top;
	width: auto;
}

.menu ul,
.menu li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.menu li.hide {
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
}

.menu a:not(.btn) {
	color: inherit;
	text-decoration: none;
	display: inline-block;
	vertical-align: top;
	padding: 10px;
	margin: -10px;
}

@media only screen and (min-width: 1000px) {
	.header {
		padding: 0 calc(var(--side-padding) - 10px);
	}

	.header-desktop-black .menu {
		color: var(--black);
	}

	.header:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		right: 0;
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		opacity: 0;
		backface-visibility: hidden;
		transition: opacity 0.4s ease;
		pointer-events: none;
	}

	html.scrolled .header:before {
		opacity: 1;
	}

	.head-logo img {
		height: 50px;
	}

	.toggle-menu {
		display: none;
	}

	.menu {
		font-weight: 500;
		font-size: 16px;
		flex: 1 0 auto;
	}

	.menu .links {
		display: flex;
		align-items: center;
		gap: clamp(20px, 3.75rem, 60px);
	}

	.menu .links:before {
		content: '';
		margin-right: auto;
	}

	.menu .links .to-right {
		margin-left: auto;
	}

	/*12.02.26 start*/

	.menu .links .to-right+* {
		margin-left: calc(10px - clamp(20px, 3.75rem, 60px));
	}

	.header .btn-lang-desktop {
		padding: 0;
		width: 50px;
		font-size: 16px;
	}

	.header .btn-lang-mobile {
		display: none;
	}

	/*12.02.26 end*/
}

@media only screen and (max-width: 999.99px) {
	.header {
		margin: 10px calc(var(--side-padding) - 5px);
		height: calc(var(--header) - 20px);
		background: #23222280;
		border-radius: calc((var(--header) - 20px) / 2);
		padding: calc((var(--header) - 60px) / 2) 12px;
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: space-between;
		overflow: hidden;
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		transition: height 0.4s ease;
	}

	.header.header-white {
		--white: #000;
		--black: #fff;
		background: var(--black);
		color: #000;
	}

	.header.header-white .toggle-menu {
		background-color: var(--bg-grey);
	}

	.header.header-white .toggle-menu:before {}

	html.open-menu {
		overflow: hidden;
	}

	html.open-menu .header {
		height: calc(100vh - 20px);
		height: calc(100svh - 20px);
	}

	.header>*:not(.menu) {
		position: relative;
	}

	.head-logo img {
		height: 40px;
	}

	.toggle-menu {
		width: 40px;
		height: 40px;
		padding: 0;
		margin-left: auto;
	}

	.toggle-menu:after {
		display: none;
	}

	.toggle-menu>* {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 15px;
		height: 1.6px;
		border-radius: 1px;
		background: currentColor;
		backface-visibility: hidden;
		transition: transform 0.4s ease;
	}

	.toggle-menu>*:nth-child(1) {
		transform: translate3d(-50%, calc(-50% - 3.5px), 0);
	}

	.toggle-menu>*:nth-child(2) {
		transform: translate3d(-50%, calc(-50% + 3.5px), 0);
	}

	.open-menu .toggle-menu>*:nth-child(1) {
		transform: translate3d(-50%, -50%, 0) rotate(-135deg);
	}

	.open-menu .toggle-menu>*:nth-child(2) {
		transform: translate3d(-50%, -50%, 0) rotate(135deg);
	}

	.menu {
		flex: 0 0 auto;
		width: 100%;
		margin-top: calc((var(--header) - 60px) / 2);
		padding-bottom: calc((var(--header) - 60px) / 2);
		height: calc(100vh - var(--header));
		height: calc(100svh - var(--header));
		overflow: hidden;
		overflow-y: auto;
		font-weight: bold;
		font-size: 30px;
	}

	.menu .links {
		min-height: 100%;
		display: flex;
		flex-direction: column;
		gap: 20px;
		text-align: center;
	}

	.menu .links:before {
		content: '';
		margin-bottom: auto;
	}

	.menu .links .to-right {
		margin-top: auto;
	}

	/* JP row is hidden (English-only); keep nav vertically centered vs CTA */
	.menu .links li.to-right + li {
		margin-top: auto;
	}

	/*12.02.26 start*/
	.header .btn-lang-mobile {
		padding: 0;
		width: 40px;
		height: 40px;
		font-size: 14px;
		margin-left: auto;
	}

	.header .btn-lang-mobile~.toggle-menu {
		margin-left: 10px;
	}

	.header .btn-lang-desktop {
		display: none;
	}

	/*12.02.26 end*/
}

.hero {
	position: relative;
	height: 100vh;
	height: 100lvh;
	overflow: hidden;
	backface-visibility: hidden;
}

.hero video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	object-fit: cover;
	object-position: left center;
	background-position: left center;
}

@media only screen and (orientation: landscape) {
	.hero video {
		width: 100%;
		height: 100%;
	}
}

@media only screen and (orientation: portrait) {
	.hero video {
		width: 100vh;
		width: 100lvh;
		height: 100vw;
		transform: translate3d(-50%, -50%, 0) rotate(-90deg);
	}
}

.hero:before,
.hero:after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	z-index: 2;
}

.hero:before {
	top: 0;
	height: var(--header);
}

.hero:after {
	bottom: 0;
	height: 10%;
}

.hero .cover {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.hero .arrow {
	position: absolute;
	top: 85%;
	left: 50%;
	width: clamp(80px, 8.75rem, 140px);
	height: clamp(80px, 8.75rem, 140px);
	border-radius: 50%;
	padding: 0;
	transform: translate3d(-50%, -50%, 0);
	pointer-events: none;
}

.hero .arrow svg {
	height: 20%;
	width: auto;
}

.js_split:not(.ready) {
	opacity: 0 !important;
	pointer-events: none;
}

.js_split:has([data-row="1"])+.js_split {
	--delay2: calc(1 * var(--delay));
}

.js_split:has([data-row="2"])+.js_split {
	--delay2: calc(2 * var(--delay));
}

.js_split:has([data-row="3"])+.js_split {
	--delay2: calc(3 * var(--delay));
}

.js_split:has([data-row="4"])+.js_split {
	--delay2: calc(4 * var(--delay));
}

.js_split:has([data-row="5"])+.js_split {
	--delay2: calc(5 * var(--delay));
}

.js_split:has([data-row="6"])+.js_split {
	--delay2: calc(6 * var(--delay));
}

.js_split:has([data-row="7"])+.js_split {
	--delay2: calc(7 * var(--delay));
}

.js_split:has([data-row="8"])+.js_split {
	--delay2: calc(8 * var(--delay));
}

.js_split:has([data-row="9"])+.js_split {
	--delay2: calc(9 * var(--delay));
}

.js_split:has([data-row="10"])+.js_split {
	--delay2: calc(10 * var(--delay));
}

.js_split:has([data-row="11"])+.js_split {
	--delay2: calc(11 * var(--delay));
}

.js_split:has([data-row="12"])+.js_split {
	--delay2: calc(12 * var(--delay));
}

.js_split:has([data-row="13"])+.js_split {
	--delay2: calc(13 * var(--delay));
}

.js_split:has([data-row="14"])+.js_split {
	--delay2: calc(14 * var(--delay));
}

.js_split:has([data-row="15"])+.js_split {
	--delay2: calc(15 * var(--delay));
}

.js_split:has([data-row="16"])+.js_split {
	--delay2: calc(16 * var(--delay));
}

.js_split:has([data-row="17"])+.js_split {
	--delay2: calc(17 * var(--delay));
}

.js_split:has([data-row="18"])+.js_split {
	--delay2: calc(18 * var(--delay));
}

.js_split:has([data-row="19"])+.js_split {
	--delay2: calc(19 * var(--delay));
}

.js_split:has([data-row="20"])+.js_split {
	--delay2: calc(20 * var(--delay));
}

.js_split span {
	display: inline-block;
	vertical-align: top;
}

.js_split span span {
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transform: translate3d(0, 0, 0);
}

.js_split span[data-row="0"] span {
	transition-delay: calc(0 * var(--delay) + var(--delay2));
}

.js_split span[data-row="1"] span {
	transition-delay: calc(1 * var(--delay) + var(--delay2));
}

.js_split span[data-row="2"] span {
	transition-delay: calc(2 * var(--delay) + var(--delay2));
}

.js_split span[data-row="3"] span {
	transition-delay: calc(3 * var(--delay) + var(--delay2));
}

.js_split span[data-row="4"] span {
	transition-delay: calc(4 * var(--delay) + var(--delay2));
}

.js_split span[data-row="5"] span {
	transition-delay: calc(5 * var(--delay) + var(--delay2));
}

.js_split span[data-row="6"] span {
	transition-delay: calc(6 * var(--delay) + var(--delay2));
}

.js_split span[data-row="7"] span {
	transition-delay: calc(7 * var(--delay) + var(--delay2));
}

.js_split span[data-row="8"] span {
	transition-delay: calc(8 * var(--delay) + var(--delay2));
}

.js_split span[data-row="9"] span {
	transition-delay: calc(9 * var(--delay) + var(--delay2));
}

.js_split span[data-row="10"] span {
	transition-delay: calc(10 * var(--delay) + var(--delay2));
}

.js_split span[data-row="11"] span {
	transition-delay: calc(11 * var(--delay) + var(--delay2));
}

.js_split span[data-row="12"] span {
	transition-delay: calc(12 * var(--delay) + var(--delay2));
}

.js_split span[data-row="13"] span {
	transition-delay: calc(13 * var(--delay) + var(--delay2));
}

.js_split span[data-row="14"] span {
	transition-delay: calc(14 * var(--delay) + var(--delay2));
}

.js_split span[data-row="15"] span {
	transition-delay: calc(15 * var(--delay) + var(--delay2));
}

.js_split span[data-row="16"] span {
	transition-delay: calc(16 * var(--delay) + var(--delay2));
}

.js_split span[data-row="17"] span {
	transition-delay: calc(17 * var(--delay) + var(--delay2));
}

.js_split span[data-row="18"] span {
	transition-delay: calc(18 * var(--delay) + var(--delay2));
}

.js_split span[data-row="19"] span {
	transition-delay: calc(19 * var(--delay) + var(--delay2));
}

.js_split span[data-row="20"] span {
	transition-delay: calc(20 * var(--delay) + var(--delay2));
}

.js_split span[data-row="21"] span {
	transition-delay: calc(21 * var(--delay) + var(--delay2));
}

.js_split.js_detect-scroll:not(.visible) span span {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, var(--distance), 0);
}

.section {
	padding: var(--vert-padding) var(--side-padding);
}

.marquee {
	width: 100vw;
	overflow: hidden;
	position: relative;
	left: 50%;
	transform: translate3d(-50%, 0, 0);
	display: flex;
	--gap: clamp(30px, 6.25rem, 100px);
}

.marquee,
.marquee a {
	text-decoration: none;
	color: inherit;
}

.marquee-line {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: var(--gap);
	padding: 0 calc(var(--gap) / 2);
	backface-visibility: hidden;
	animation: marquee 30s linear infinite;
	will-change: transform;
	transform: translate3d(0, 0, 0);
}

@media (pointer:fine) {
	.marquee-line:has(a: hover) {
		animation-play-state: paused;
	}
}

.marquee-star {
	flex: 0 0 auto;
	width: 0.75em;
	height: 0.75em;
	background: url("../img/star.svg") no-repeat 50% 50%;
	background-size: contain;
}

@-webkit-keyframes marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

@keyframes marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-50%, 0, 0);
	}
}

.mini-title {
	font-weight: 300;
	line-height: 1.1;
	color: var(--grey);
	font-size: clamp(20px, 1.875rem, 30px);
	margin: -0.18em 0 calc(clamp(30px, 3.75rem, 60px) - 0.18em) 0;
}

.mini-title:not(:has(> span)):before {
	content: '/ ';
}

.mini-title>span {
	display: inline-block;
	vertical-align: top;
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transform: translate3d(0, 0, 0);
}

.mini-title.js_detect-scroll:not(.visible)>span {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, var(--distance), 0);
}

.mini-title>span:before {
	content: '/ ';
}

.video-wide {
	display: block;
	width: 100%;
	height: auto;
}

.subscr-cover-link {
	position: fixed;
	z-index: 50;
	bottom: 20px;
	left: 50%;
	transform: translate3d(-50%, 0, 0) scale(1);
	--size: clamp(60px, 4.75rem, 76px);
	--width: var(--size);
	width: var(--size);
	height: var(--size);
	border-radius: 100px;
	transition: transform 0.25s ease;
}

.subscr-cover-link:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border-radius: 50%;
	transition: transform 0.5s cubic-bezier(0.2, 3, 0.4, 1);
	background: #fff;
	transform: scale(1);
}

.subscr-cover-link>* {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	max-width: var(--width);
	min-width: var(--size);
	height: var(--size);
	overflow: hidden;
	border-radius: 100px;
	backface-visibility: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--pink);
	transition: max-width 0.4s ease;
	transition-delay: 0.5s;
}

html:not(.scrolled-screen) .subscr-cover-link {
	transform: translate3d(-50%, 0, 0) scale(0);
	transition-delay: 0.4s;
}

html:not(.scrolled-screen) .subscr-cover-link:before {
	transform: scale(0);
	transition-delay: 0.4s;
}

html:not(.scrolled-screen) .subscr-cover-link>* {
	max-width: var(--size);
	transition-delay: 0s;
}

html:not(.scrolled-screen) .subscr-cover-link .btn {
	opacity: 0;
	transition-delay: 0s;
}

.subscr-cover-link .btn {
	flex: 0 0 auto;
	height: var(--size);
	font-weight: bold;
	font-size: 19px;
	padding: 0 calc(56px + (var(--size) - 44px) / 2) 0 0;
	gap: 0;
	white-space: nowrap;
	transition-delay: 0s, 0s, 0s, 0.5s;
	max-width: calc(100vw - var(--side-padding) * 2);
	position: relative;
}

.subscr-cover-link .btn>.text {
	flex: 0 0 auto;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 20px, rgba(0, 0, 0, 1) calc(100% - 20px), rgba(0, 0, 0, 0) 100%);
	display: flex;
	align-items: center;
}

.subscr-cover-link .btn>.text>* {
	flex: 0 0 auto;
	padding: 0 20px;
}

.subscr-cover-link .btn .line {
	display: flex;
	align-items: center;
	padding: 0 !important;
}

.subscr-cover-link .btn .text.ready .line {
	animation: marquee 6s linear infinite;
}

.subscr-cover-link .btn .text.ready .line>* {
	flex: 0 0 auto;
	padding: 0 0 0 20px;
}

.subscr-cover-link .btn strong {
	font-weight: inherit;
	color: var(--yellow);
	transition: color 0.4s ease;
}

.subscr-cover-link .arrow {
	width: 56px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	right: calc((var(--size) - 44px) / 2);
	border-radius: 100px;
	background: var(--white);
	color: var(--pink);
	transform: translate3d(0, -50%, 0);
}

.subscr-cover-link .arrow svg {
	fill: none;
	color: var(--pink);
	stroke: var(--pink);
	flex: 0 0 auto;
	width: 35%;
	height: auto;
}

@media (pointer:fine) {
	.subscr-cover-link .btn:hover strong {
		color: var(--pink);
	}
}

.footer {
	overflow: hidden;
	--gap: clamp(80px, 12.5rem, 200px);
	--grey: rgba(255, 255, 255, 0.7);
	background: var(--block);
	line-height: 1.3;
	font-weight: normal;
	font-size: clamp(14px, 1.125rem, 18px);
	color: var(--grey);
	text-transform: uppercase;
	padding: clamp(80px, 9.375rem, 150px) var(--side-padding) 0 var(--side-padding);
	display: flex;
	flex-wrap: wrap;
}

.footer>* {
	flex: 0 0 auto;
	width: 100%;
	margin-bottom: var(--gap);
}

.footer a:not(.btn) {
	color: var(--white);
	text-decoration: none;
}

.footer .mini-title {
	line-height: 1.3;
	font-size: clamp(14px, 1.125rem, 18px);
	margin: -0.292em 0;
	flex: 0 0 auto;
	width: 13.888em;
	flex: 0 0 auto;
}

.footer ul,
.footer li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.foot-text {
	font-size: clamp(14px, 1.3125rem, 21px);
	max-width: 28em;
}

.foot-contacts,
.foot-menu,
.foot-soc {
	display: flex;
	align-items: flex-start;
}

.foot-contacts {
	gap: 20px 0;
	align-items: center;
}

.foot-menu,
.foot-soc {
	gap: 30px 0;
}

.foot-contacts ul,
.foot-menu ul,
.foot-soc ul {
	flex: 1 1 auto;
	max-width: 100%;
	display: flex;
}

.foot-menu ul,
.foot-soc ul {
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	line-height: 1.1;
}

.foot-menu li,
.foot-soc li {
	margin: -0.235em 0;
}

.foot-contacts ul {
	align-items: center;
	gap: clamp(8px, 0.625rem, 10px);
}

.foot-contacts li {
	flex: 0 0 auto;
}

.foot-contacts li:has(.btn > span) {
	flex: 1 1 auto;
}

.foot-contacts .btn {
	height: clamp(92px, 6.875rem, 110px);
	width: clamp(92px, 6.875rem, 110px);
	padding: 0 24px;
	font-size: clamp(17px, 1.3125rem, 21px);
	gap: clamp(10px, 0.875rem, 14px);
}

.foot-contacts .btn:has(span) {
	width: auto;
}

.foot-contacts .btn svg {
	height: 27.272727%;
	width: auto;
}

.foot-menu ul {
	font-weight: bold;
	font-size: 40px;
}

.foot-soc ul {
	font-weight: 500;
	font-size: clamp(24px, 1.6875rem, 27px);
}

.foot-marquee {
	font-weight: 500;
	font-size: clamp(64px, 10rem, 160px);
	text-transform: none;
}

.foot-marquee .marquee {
	margin: -0.3em 0;
}

.foot-ready {
	line-height: 1.2;
	font-size: clamp(21px, 1.6875rem, 27px);
	margin-bottom: 50px;
}

.foot-video {
	width: 100vw;
	max-width: 1920px;
	flex: 0 0 auto;
	position: relative;
	left: 50%;
	transform: translate3d(-50%, 0, 0);
	aspect-ratio: 1920/1080;
}

.foot-bubble-stage {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
	background: var(--black);
}

.foot-bubble-stage i {
	position: absolute;
	display: block;
	font-style: normal;
	width: 42%;
	height: 0;
	padding-bottom: 42%;
	border-radius: 50%;
	background: radial-gradient(ellipse 70% 70% at 35% 32%, rgba(255, 49, 171, 0.92) 0%, rgba(255, 49, 171, 0.45) 42%, rgba(255, 49, 171, 0.08) 68%, transparent 76%);
	opacity: 0;
	transform: scale(0);
	transform-origin: 50% 50%;
	will-change: transform, opacity;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(1) {
	animation: foot-bubble-fill 7s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0s;
	left: 6%;
	top: 58%;
	width: 48%;
	padding-bottom: 48%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(2) {
	animation: foot-bubble-fill 6.2s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0.35s;
	left: 52%;
	top: 62%;
	width: 44%;
	padding-bottom: 44%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(3) {
	animation: foot-bubble-fill 6.8s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0.65s;
	left: 28%;
	top: 22%;
	width: 40%;
	padding-bottom: 40%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(4) {
	animation: foot-bubble-fill 7.4s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0.2s;
	left: 68%;
	top: 28%;
	width: 36%;
	padding-bottom: 36%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(5) {
	animation: foot-bubble-fill 6.5s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0.85s;
	left: 38%;
	top: 72%;
	width: 34%;
	padding-bottom: 34%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(6) {
	animation: foot-bubble-fill 7.1s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0.5s;
	left: 72%;
	top: 48%;
	width: 38%;
	padding-bottom: 38%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(7) {
	animation: foot-bubble-fill 6s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 1.05s;
	left: 12%;
	top: 30%;
	width: 32%;
	padding-bottom: 32%;
}

.foot-video.foot-video-active .foot-bubble-stage i:nth-child(8) {
	animation: foot-bubble-fill 7.8s cubic-bezier(0.18, 0.82, 0.22, 1) forwards;
	animation-delay: 0.15s;
	left: 44%;
	top: 46%;
	width: 52%;
	padding-bottom: 52%;
}

@keyframes foot-bubble-fill {
	0% {
		opacity: 0;
		transform: scale(0);
	}

	18% {
		opacity: 1;
	}

	100% {
		opacity: 0.88;
		transform: scale(4.25);
	}
}

.foot-video video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	transform: translate3d(-50%, -50%, 0);
	z-index: 1;
}

@media only screen and (orientation: portrait) {
	.foot-video {
		aspect-ratio: 1080/1920;
	}

	.foot-video video {
		height: 100vw;
		width: auto;
		transform: translate3d(-50%, -50%, 0) rotate(-90deg);
	}
}

.foot-bottom {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 0;
}

.foot-bottom ul,
.foot-bottom li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.foot-bottom ul {
	flex: 0 0 auto;
	max-width: 100%;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.foot-video {
	height: auto;
	vertical-align: top;
	mix-blend-mode: lighten;
	margin: 0;
}

@media only screen and (max-width: 599.99px) {
	.foot-contacts .mini-title {
		display: none;
	}
}

@media only screen and (max-width: 599.99px),
only screen and (min-width: 1000px) and (max-width: 1399.99px) {

	.foot-contacts,
	.foot-menu,
	.foot-soc {
		flex-direction: column;
		align-items: stretch;
	}
}

@media only screen and (max-width: 999.99px) {
	.foot-text {
		--gap: clamp(60px, 12.5rem, 200px);
	}

	.foot-contacts {
		--gap: clamp(120px, 12.5rem, 200px);
	}

	.foot-marquee {
		--gap: clamp(160px, 12.5rem, 200px);
	}
}

@media only screen and (min-width: 1000px) {
	.footer {
		justify-content: space-between;
		align-items: flex-start;
	}

	.foot-text,
	.foot-menu {
		width: 63.111%;
	}

	.foot-contacts,
	.foot-soc {
		width: 36.888%;
	}

	.foot-ready {
		letter-spacing: 0.05em;
		color: var(--white);
		text-align: center;
	}

	.foot-bottom {
		margin-top: -26px;
	}
}

@media only screen and (min-width: 1400px) {
	.foot-text {
		align-self: center;
	}
}

.cells {
	position: relative;
	--border: rgba(255, 255, 255, 0.2);
	--cell: calc((100vw - var(--side-padding) * 2) / var(--h));
	width: calc(var(--cell) * var(--h) + 1px);
	height: calc(var(--cell) * var(--v) + 1px);
}

html:not(.ready) .cells {
	opacity: 0 !important;
}

.cells:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-image: repeating-linear-gradient(to right, var(--border), var(--border) 1px, rgba(255, 255, 255, 0) 1px, rgba(255, 255, 255, 0) var(--cell)), repeating-linear-gradient(to bottom, var(--border), var(--border) 1px, rgba(255, 255, 255, 0) 1px, rgba(255, 255, 255, 0) var(--cell)), url("../img/cells.svg");
	background-size: 100% 100%, 100% 100%, var(--cell) var(--cell);
	background-position: 50% 50%, 50% 50%, calc(var(--cell) * -0.035) calc(var(--cell) * -0.035);
}

.input {
	position: relative;
}

.input-info {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	font-size: 12px;
	margin: 8px 0 0 0;
	font-weight: normal;
	line-height: 1.1;
	text-align: left;
	display: none;
}

.input input,
.input textarea,
.input-label {
	font: normal clamp(20px, 1.875rem, 30px) var(--font);
	color: currentColor;
	background: none;
	border: 0;
	outline: none;
	-webkit-appearance: none;
	display: block;
	width: 100%;
	padding: clamp(25px, 2.3125rem, 37px) 0;
}

.input textarea {
	height: clamp(107px, 11.6875rem, 187px);
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) calc(clamp(25px, 2.3125rem, 37px) / 2), rgba(0, 0, 0, 1) calc(clamp(25px, 2.3125rem, 37px) + 8px), rgba(0, 0, 0, 1) 100%);
}

.input-label {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	pointer-events: none;
	opacity: 0.4;
	backface-visibility: hidden;
	transition: transform 0.4s ease;
	transform: scale(1);
	transform-origin: 0 -100%;
}

.input input:not(:placeholder-shown)~.input-label,
.input textarea:not(:placeholder-shown)~.input-label,
.input input:focus~.input-label,
.input textarea:focus~.input-label {
	transform: scale(0.75);
}

.input input[type="email"]:not(:placeholder-shown):not(:valid)~.input-line {
	background-color: var(--red);
	opacity: 1;
}

.input input[type="email"]:not(:placeholder-shown):not(:valid)~.input-info {
	color: var(--red);
	display: block;
}

.input-line {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: currentColor;
	opacity: 0.16;
}

.top-center-head {
	text-align: center;
	margin-top: calc(var(--vert-padding) * -1 + var(--header) + clamp(60px, 7.5rem, 120px));
	margin-bottom: clamp(80px, 7.5rem, 120px);
	font-weight: normal;
	line-height: 1.5;
	font-size: clamp(16px, 1.5rem, 24px);
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.top-center-head:has(.text > *[data-row="1"])+* {
	--delay2: calc(var(--delay) * 6);
}

.top-center-head:has(.text > *[data-row="2"])+* {
	--delay2: calc(var(--delay) * 7);
}

.top-center-head:has(.text > *[data-row="3"])+* {
	--delay2: calc(var(--delay) * 8);
}

.top-center-head:has(.text > *[data-row="4"])+* {
	--delay2: calc(var(--delay) * 9);
}

.top-center-head:has(.text > *[data-row="5"])+* {
	--delay2: calc(var(--delay) * 10);
}

.top-center-head:has(.text > *[data-row="6"])+* {
	--delay2: calc(var(--delay) * 11);
}

.top-center-head:has(.text > *[data-row="7"])+* {
	--delay2: calc(var(--delay) * 12);
}

.top-center-head:has(.text > *[data-row="8"])+* {
	--delay2: calc(var(--delay) * 13);
}

.top-center-head:has(.text > *[data-row="9"])+* {
	--delay2: calc(var(--delay) * 14);
}

.top-center-head:has(.text > *[data-row="10"])+* {
	--delay2: calc(var(--delay) * 15);
}

.top-center-head ul,
.top-center-head li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.top-center-head .info {
	color: var(--grey);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(5px, 0.625rem, 10px) clamp(15px, 2.5rem, 40px);
	font-weight: 500;
	font-size: clamp(12px, 1.5rem, 24px);
	line-height: 1.199;
}

.top-center-head .info .js_hover {
	--lh: 1.199;
}

.top-center-head .info a,
.top-center-head .info strong {
	font-weight: inherit;
	color: var(--white);
	text-decoration: none;
}

.top-center-head .info li:before {
	content: '/ ';
}

.top-center-head .title {
	font-weight: 500;
	line-height: 1;
	margin: 0;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: clamp(40px, 7.5rem, 120px);
}

.top-center-head .text {
	width: 100%;
	margin: -0.19em auto;
	max-width: 39.16em;
}

.top-center-head .tags {
	margin-top: clamp(20px, 2.5rem, 40px);
	margin-bottom: -40px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: clamp(5px, 0.625rem, 10px);
}

.top-center-head .tags li {
	flex: 0 0 auto;
	max-width: 100%;
}

.top-center-head .tags .btn {
	height: clamp(37px, 3.625rem, 58px);
	padding: 0 clamp(12px, 1.5625rem, 25px);
	font-weight: 500;
	font-size: clamp(12px, 1.125rem, 18px);
}

.top-center-head.js_detect-scroll>*:not(.text),
.top-center-head.js_detect-scroll .text>*>* {
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transform: translate3d(0, 0, 0);
}

.top-center-head.js_detect-scroll>*:nth-child(1) {
	transition-delay: calc(var(--delay) * 0);
}

.top-center-head.js_detect-scroll>*:nth-child(2) {
	transition-delay: calc(var(--delay) * 1);
}

.top-center-head.js_detect-scroll .text>*[data-row="0"]>* {
	transition-delay: calc(var(--delay) * 2);
}

.top-center-head.js_detect-scroll .text>*[data-row="1"]>* {
	transition-delay: calc(var(--delay) * 3);
}

.top-center-head.js_detect-scroll .text>*[data-row="2"]>* {
	transition-delay: calc(var(--delay) * 4);
}

.top-center-head.js_detect-scroll .text>*[data-row="3"]>* {
	transition-delay: calc(var(--delay) * 5);
}

.top-center-head.js_detect-scroll .text>*[data-row="4"]>* {
	transition-delay: calc(var(--delay) * 6);
}

.top-center-head.js_detect-scroll .text>*[data-row="5"]>* {
	transition-delay: calc(var(--delay) * 7);
}

.top-center-head.js_detect-scroll .text>*[data-row="6"]>* {
	transition-delay: calc(var(--delay) * 8);
}

.top-center-head.js_detect-scroll .text>*[data-row="7"]>* {
	transition-delay: calc(var(--delay) * 9);
}

.top-center-head.js_detect-scroll .text>*[data-row="8"]>* {
	transition-delay: calc(var(--delay) * 10);
}

.top-center-head.js_detect-scroll .text>*[data-row="9"]>* {
	transition-delay: calc(var(--delay) * 11);
}

.top-center-head.js_detect-scroll .text>*[data-row="10"]>* {
	transition-delay: calc(var(--delay) * 12);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="1"])+* {
	transition-delay: calc(var(--delay) * 4);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="2"])+* {
	transition-delay: calc(var(--delay) * 5);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="3"])+* {
	transition-delay: calc(var(--delay) * 6);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="4"])+* {
	transition-delay: calc(var(--delay) * 7);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="5"])+* {
	transition-delay: calc(var(--delay) * 8);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="6"])+* {
	transition-delay: calc(var(--delay) * 9);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="7"])+* {
	transition-delay: calc(var(--delay) * 10);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="8"])+* {
	transition-delay: calc(var(--delay) * 11);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="9"])+* {
	transition-delay: calc(var(--delay) * 12);
}

.top-center-head.js_detect-scroll .text:has(> *[data-row="10"])+* {
	transition-delay: calc(var(--delay) * 13);
}

.top-center-head.js_detect-scroll:not(.visible)>*:not(.text),
.top-center-head.js_detect-scroll:not(.visible) .text>*>* {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, var(--distance), 0);
}

.top-mini-head {
	margin-bottom: clamp(40px, 5rem, 80px);
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 1.875rem, 30px);
}

.top-mini-head .mini-title {
	margin: -0.18em 0;
	font-size: clamp(18px, 1.875rem, 30px);
}

.top-mini-head .title {
	margin: 0;
	font-weight: 500;
	line-height: 1.1;
	font-size: clamp(56px, 5.125rem, 82px);
}

.top-mini-head .title.small {
	font-size: clamp(36px, 5.125rem, 82px);
}

.top-mini-head:has(> *:nth-child(2))+* {
	--delay2: 0.3s;
}

.top-mini-head:has(> *:nth-child(3))+* {
	--delay2: 0.4s;
}

.top-mini-head.js_detect-scroll>* {
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transform: translate3d(0, 0, 0);
}

.top-mini-head.js_detect-scroll>*:nth-child(1) {
	transition-delay: calc(var(--delay) * 0);
}

.top-mini-head.js_detect-scroll>*:nth-child(2) {
	transition-delay: calc(var(--delay) * 1);
}

.top-mini-head.js_detect-scroll>*:nth-child(3) {
	transition-delay: calc(var(--delay) * 2);
}

.top-mini-head.js_detect-scroll>*:nth-child(4) {
	transition-delay: calc(var(--delay) * 3);
}

.top-mini-head.js_detect-scroll>*:nth-child(5) {
	transition-delay: calc(var(--delay) * 4);
}

.top-mini-head.js_detect-scroll>*:nth-child(6) {
	transition-delay: calc(var(--delay) * 5);
}

.top-center-head.js_detect-scroll>*:nth-child(7) {
	transition-delay: calc(var(--delay) * 6);
}

.top-mini-head.js_detect-scroll:not(.visible)>* {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, var(--distance), 0);
}

.link-all {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: var(--vert-padding);
	font-weight: 500;
	font-size: clamp(27px, 1.875rem, 30px);
}

.link-all.js_detect-scroll>* {
	backface-visibility: hidden;
	transition-property: transform, opacity;
	transition-duration: 0.8s, 0.4s;
	transition-timing-function: ease;
	transform: translate3d(0, 0, 0);
}

.link-all.js_detect-scroll:not(.visible)>* {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, var(--distance), 0);
}

.link-all .area {
	margin: -50px -100px;
	padding: 50px 100px;
	border-radius: 100px;
}

.link-all .link {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--white);
	gap: clamp(20px, 1.5rem, 24px);
}

.link-all .btn {
	padding: 0;
	width: clamp(80px, 6.25rem, 100px);
	height: clamp(80px, 6.25rem, 100px);
}

.link-all .btn:after {
	opacity: 0.2;
}

.link-all .btn svg {
	width: 28%;
	height: auto;
}

@media only screen and (min-width: 1000px) {
	.link-all {
		justify-content: flex-end;
	}

	.link-all>* {
		min-width: 15.2em;
	}
}

@media (pointer:fine) {
	.link-all .btn {
		color: var(--white);
		background-color: var(--black);
	}

	.link-all .btn:before {
		background-color: var(--white);
	}

	.link-all a:hover .btn {
		color: var(--black);
	}
}

.other-pages {
	display: block;
	padding: clamp(100px, 9.375rem, 150px) var(--side-padding);
}

.other-pages ul,
.other-pages li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.other-pages ul {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(20px, 3.125rem, 50px);
}

@media only screen and (max-width: 849.99px) {
	.other-pages ul {
		grid-template-columns: repeat(1, 1fr);
	}
}

.other-pages .block {
	position: relative;
	overflow: hidden;
	backface-visibility: hidden;
	border-radius: 20px;
	border: 1px solid #1C1C1C;
	background: var(--black);
	display: block;
	text-decoration: none;
	color: var(--white);
	font-weight: normal;
	line-height: 1.3;
	font-size: clamp(18px, 1.6875rem, 27px);
	padding: clamp(40px, 4.375rem, 70px) clamp(30px, 3.75rem, 60px);
}

.other-pages .block:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 0;
	backface-visibility: hidden;
	transform: translate3d(0, 30px, 0) scale(1.05) rotate(-2deg);
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-size: cover;
	transition: transform 0.4s ease;
	transform-origin: 50% 100%;
}

.other-pages .block:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.68) 100%);
}

@media (pointer:fine) {
	.other-pages a.block:hover:before {
		transform: translate3d(0, 10px, 0) scale(1.05) rotate(0deg);
	}
}

.other-pages .block .title {
	display: block;
	font-weight: 500;
	line-height: 1;
	margin: 0 0 clamp(10px, 1.25rem, 20px) 0;
	font-size: clamp(36px, 4rem, 64px);
	position: relative;
	z-index: 2;
}

.other-pages .block strong {
	font-weight: bold;
	color: var(--yellow);
}

.other-pages .block .text {
	position: relative;
	z-index: 2;
}

.other-pages .block .text>* {
	max-width: 10.5em;
}

.other-pages .block .arrow {
	width: clamp(60px, 6.25rem, 100px);
	height: clamp(60px, 6.25rem, 100px);
	border-radius: 50%;
	padding: 0;
	pointer-events: none;
	position: relative;
	z-index: 2;
}

.other-pages .block .arrow svg {
	width: 28%;
	height: 28%;
}

@media only screen and (min-width: 550px) and (max-width: 849.99px),
only screen and (min-width: 1000px) {
	.other-pages .block {
		aspect-ratio: 875/440;
	}

	.other-pages .block.bg-about:before {
		background-image: url("../img/other-pages/about-us-hor.webp");
	}

	.other-pages .block.bg-services:before {
		background-image: url("../img/other-pages/services-hor.webp");
	}

	.other-pages .block.bg-pricing:before {
		background-image: url("../img/other-pages/pricing-hor.webp");
	}

	.other-pages .block.bg-works:before {
		background-image: url("../img/other-pages/works-hor.webp");
	}

	.other-pages .block .arrow {
		position: absolute;
		top: 0;
		right: 0;
		margin: clamp(40px, 4.375rem, 70px) clamp(30px, 3.75rem, 60px);
	}
}

@media only screen and (max-width: 549.99px),
only screen and (min-width: 850px) and (max-width: 999.99px) {
	.other-pages .block {
		aspect-ratio: 350/440;
		text-align: center;
	}

	.other-pages .block .arrow {
		margin: 20px auto 0 auto;
	}

	.other-pages .block .text>* {
		max-width: none !important;
	}

	.other-pages .block .text br {
		display: none;
	}

	.other-pages .block.bg-about:before {
		background-image: url("../img/other-pages/about-us-vert.webp");
	}

	.other-pages .block.bg-services:before {
		background-image: url("../img/other-pages/services-vert.webp");
	}

	.other-pages .block.bg-pricing:before {
		background-image: url("../img/other-pages/pricing-vert.webp");
	}

	.other-pages .block.bg-works:before {
		background-image: url("../img/other-pages/works-vert.webp");
	}
}

/* MrCasm — hide JP locale toggle (English-only deploy) */
.header .btn-lang-mobile,
.header .btn-lang-desktop,
.menu li.to-right {
	display: none !important;
}
