.home-positioning {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(
			180deg,
			var(--th-white) 0%,
			var(--th-gray-050) 100%
		);
	color: var(--th-gray-900);
}

.home-positioning::before {
	position: absolute;
	top: 12%;
	left: -220px;
	width: 520px;
	height: 520px;
	border: 1px solid rgb(var(--th-wine-rgb) / 0.08);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.home-positioning__inner {
	display: grid;
	grid-template-columns: minmax(360px, 0.88fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(48px, 8vw, 140px);
}

.home-positioning__media {
	position: relative;
	min-height: clamp(520px, 58vw, 760px);
	padding: clamp(14px, 1.8vw, 22px);
	border: 1px solid rgb(var(--th-white-rgb) / 0.16);
	border-radius: var(--radius-xl);
	background:
		linear-gradient(
			135deg,
			rgb(var(--th-white-rgb) / 0.13),
			rgb(var(--th-white-rgb) / 0.045)
		);
	box-shadow:
		0 30px 90px rgb(var(--th-black-rgb) / 0.25),
		inset 0 1px 0 rgb(var(--th-white-rgb) / 0.18);
	-webkit-backdrop-filter: blur(22px) saturate(145%);
	backdrop-filter: blur(22px) saturate(145%);
}

.home-positioning__image {
	position: absolute;
	inset: clamp(14px, 1.8vw, 22px);
	overflow: hidden;
	border: 1px solid rgb(var(--th-white-rgb) / 0.12);
	border-radius: calc(var(--radius-xl) - 12px);
	background: var(--th-gray-950);
	box-shadow: var(--shadow-medium);
}

.home-positioning__image img {
	display: block;
	width: 100%;
	height: 100%;
	filter: invert(1) brightness(1.35);
	opacity: 0.82;
	object-fit: cover;
	object-position: center;
}

.home-positioning__image picture {
	display: block;
	width: 100%;
	height: 100%;
}

.home-positioning__image::before {
	position: absolute;
	inset: 10%;
	z-index: 1;
	border: 1px solid rgb(var(--th-white-rgb) / 0.09);
	content: "";
	pointer-events: none;
}

.home-positioning__image::after {
	position: absolute;
	right: -18%;
	bottom: -18%;
	z-index: 1;
	width: 62%;
	aspect-ratio: 1;
	border: 1px solid rgb(var(--th-white-rgb) / 0.12);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.home-positioning__badge {
	position: absolute;
	right: -34px;
	bottom: 44px;
	width: min(310px, calc(100% - 40px));
	padding: 26px;
	border-radius: var(--radius-lg);
}

.home-positioning__badge .th-watermark-mark {
	display: block;
	width: 46px;
	height: 46px;
	margin-bottom: 18px;
	opacity: 0.72;
}

.home-positioning__badge strong {
	display: block;
	color: var(--th-white);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	font-weight: 400;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

.home-positioning__content {
	max-width: 880px;
}

.home-positioning__title {
	margin-top: 28px;
	max-width: 880px;
	color: var(--th-gray-900);
	font-size: clamp(2.6rem, 5.4vw, 6.4rem);
	font-weight: 300;
	letter-spacing: -0.06em;
	line-height: 0.98;
}

.th-page-home .home-positioning__title {
	max-width: 780px;
	margin-top: clamp(30px, 3.5vw, 46px);
	font-size: clamp(2.75rem, 4.35vw, 4.9rem);
	letter-spacing: -0.055em;
	line-height: 0.96;
}

.th-page-home .home-positioning__title span,
.th-page-home .home-positioning__title strong {
	display: block;
}

.th-page-home .home-positioning__title span {
	color: rgb(var(--th-white-rgb) / 0.68);
}

.th-page-home .home-positioning__title strong {
	margin-top: 0.1em;
	color: var(--th-white);
	font-weight: 300;
}

.home-positioning__text {
	max-width: 680px;
	margin-top: 34px;
	color: var(--th-gray-600);
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.85;
}

.home-positioning__points {
	display: grid;
	gap: 0;
	max-width: 760px;
	margin-top: clamp(42px, 5vw, 70px);
	border-top: 1px solid rgb(var(--th-black-rgb) / 0.08);
}

.home-positioning__point {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: clamp(20px, 3vw, 44px);
	padding-block: 24px;
	border-bottom: 1px solid rgb(var(--th-black-rgb) / 0.08);
}

.home-positioning__point span {
	color: var(--th-wine);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	line-height: 1.7;
}

.home-positioning__point p {
	max-width: 560px;
	color: var(--th-gray-800);
	font-size: clamp(1rem, 1.2vw, 1.12rem);
	line-height: 1.65;
}

@media (max-width: 1100px) {
	.home-positioning__inner {
		grid-template-columns: 1fr;
	}

	.home-positioning__media {
		min-height: 560px;
		order: 2;
	}

	.home-positioning__content {
		order: 1;
	}
}

@media (max-width: 767px) {
	.home-positioning__media {
		min-height: 460px;
	}

	.home-positioning__image {
		inset: 12px;
		border-radius: calc(var(--radius-lg) - 6px);
	}

	.home-positioning__badge {
		right: 14px;
		bottom: 14px;
		padding: 22px;
		border-radius: var(--radius-md);
	}

	.home-positioning__title {
		font-size: clamp(2.4rem, 12vw, 4.4rem);
	}

	.th-page-home .home-positioning__title {
		font-size: clamp(2.45rem, 11vw, 4rem);
	}

	.home-positioning__point {
		grid-template-columns: 1fr;
		gap: 8px;
	}
}
