.page-home {
	padding-top: 0;
}

.hero-fold {
	width: 100%;
	min-height: 100vh;
	min-height: 100svh;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: var(--hero-base-light-1);
	--hero-base-light-1: #eeeef4;
	--hero-base-light-2: #e0e0eb;
	--hero-base-light-3: #cdcddd;
	--hero-base-light-4: #bcbcd2;
	--hero-base-light-10: #181824;
	--hero-ink-8: #54547e;
	--hero-blur-green: #ebfff5;
	--hero-blur-blue: #e0e0ff;
	--hero-blur-pink: #ffebf6;
	--hero-blur-peach: #fff3eb;
}

.hero-fold__bg-wrap {
	z-index: 0;
	width: min(92vw, 1200px);
	aspect-ratio: 1.47;
	position: absolute;
	left: 50%;
	top: 44%;
	transform: translate3d(-50%, -50%, 0) scale(0.96);
	will-change: transform;
	pointer-events: none;
}

.hero-fold__bg-blob {
	position: absolute;
	inset: 0;
	border-radius: 42% 58% 55% 45% / 40% 35% 65% 60%;
	filter: blur(2rem);
	mix-blend-mode: color;
	opacity: 0.5;
	background:
		radial-gradient(52% 58% at 24% 30%, #ffffff 0%, transparent 68%),
		radial-gradient(42% 52% at 80% 27%, #d7d5ff 0%, transparent 72%),
		radial-gradient(62% 70% at 54% 78%, #f4f4ff 0%, transparent 76%),
		radial-gradient(28% 35% at 63% 16%, var(--hero-blur-pink) 0%, transparent 70%);
}

.hero-fold__atmo {
	position: absolute;
	border-radius: 999px;
	filter: blur(4rem);
	opacity: 0.5;
	pointer-events: none;
	z-index: 0;
}

.hero-fold__atmo--a {
	width: 15rem;
	height: 15rem;
	left: calc(50% - 16rem);
	bottom: 12%;
	background: var(--hero-blur-green);
}

.hero-fold__atmo--b {
	width: 12rem;
	height: 12rem;
	left: calc(50% + 2rem);
	bottom: 10%;
	background: var(--hero-blur-blue);
}

.hero-fold__fade-to-base {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 34vh;
	z-index: 1;
	pointer-events: none;
	background: transparent;
}

.hero-fold__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	min-height: inherit;
	padding-top: calc(var(--admin-bar-offset) + var(--header-offset) + 34px);
	padding-bottom: 34px;
	container-type: inline-size;
}

.hero-fold__copy {
	max-width: min(610px, 100%);
	position: relative;
	z-index: 2;
}

.hero-fold__title-line {
	display: block;
}

.hero-fold__subtitle {
	margin: 21px 0 0;
	max-width: 34ch;
	font-size: 13px;
	font-size: clamp(13px, calc(11px + 0.8cqi), 19px);
	font-weight: 400;
	line-height: 1.4;
	color: var(--ink-3);
}

.hero-fold__visual {
	position: absolute;
	right: clamp(-148px, calc((100vw - 1144px) / -2), -17px);
	bottom: 0;
	width: min(62vw, 720px);
	height: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	overflow: hidden;
	z-index: 1;
	pointer-events: none;
}

.hero-fold__picture {
	display: block;
	line-height: 0;
}

.hero-fold__silhouette {
	display: block;
	width: auto;
	height: clamp(520px, 116vh, 1480px);
	height: clamp(520px, 116svh, 1480px);
	margin-top: max(0px, calc(100vh - clamp(377px, 86vh, 1100px) - 56px));
	margin-top: max(0px, calc(100svh - clamp(377px, 86svh, 1100px) - 56px));
	margin-right: 24px;
	opacity: 1;
}

@media (max-width: 980px) {
	.hero-fold__bg-wrap {
		width: min(120vw, 680px);
		top: 52%;
		transform: translate3d(-50%, -50%, 0) scale(1);
	}

	.hero-fold__atmo--a {
		left: calc(50% - 12rem);
		bottom: 10%;
	}

	.hero-fold__atmo--b {
		left: calc(50% + 1rem);
		bottom: 8%;
	}

	.hero-fold__inner {
		align-items: flex-start;
		padding-top: calc(var(--admin-bar-offset) + var(--header-offset) + 76px);
		padding-bottom: 21px;
	}

	.hero-fold__title {
		max-width: 13ch;
	}

	.hero-fold__subtitle {
		margin-top: 13px;
		max-width: min(100%, 38ch);
		font-size: 12px;
		font-size: clamp(12px, calc(10px + 1.1cqi), 17px);
	}

	.hero-fold__subtitle::before {
		content: "";
		float: right;
		width: clamp(96px, 29vw, 126px);
		height: clamp(108px, 32vw, 144px);
		margin-top: clamp(56px, 14vw, 74px);
		margin-left: 12px;
		shape-outside: ellipse(50% 48% at 60% 46%);
		pointer-events: none;
	}

	.hero-fold__visual {
		right: calc((100vw - 100%) / -2);
		width: 100vw;
		align-items: flex-end;
		overflow: hidden;
	}

	.hero-fold__silhouette {
		height: calc(70svh + clamp(0px, calc((100vw - 500px) * 0.25), 120px));
		margin-top: 0;
		margin-right: calc(-62px + clamp(0px, calc((100vw - 500px) * 0.125), 60px));
	}
}

@media (max-width: 560px) {
	.hero-fold__inner {
		padding-top: calc(var(--admin-bar-offset) + var(--header-offset) + 34px);
	}
}

@media (hover: none) and (pointer: coarse) {
	.hero-fold {
		min-height: 100svh;
	}
}
