@property --kt-hug {
	syntax: "<number>";
	inherits: true;
	initial-value: 1;
}

body.kt-prelaunch { background: var(--kt-bg); }
body.kt-prelaunch > .kt-art-defs { position: absolute; overflow: hidden; }

.kt-launch {
	--kt-pad: clamp(64px, 15vh, 170px);
	--kt-low: clamp(52px, 7vh, 110px);
	--kt-hang: 120px;
	--kt-art-w: 1;
	--kt-art-h: 1;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100svh;
	overflow-x: clip;
}

.kt-launch-wrap {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.kt-launch-band {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 17px 0 var(--kt-pad);
	background: var(--kt-grad-hero);
	border-radius: 0 0 48px 48px;
}

.kt-launch-head {
	position: relative;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}
.kt-launch-pill {
	display: flex;
	align-items: center;
	min-height: 72px;
	padding: 0 26px 0 22px;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 8px 30px rgba(20, 20, 19, .08);
}
.kt-launch-lang { padding: 0 17px; }

.kt-launch-copy { position: relative; z-index: 2; padding-top: clamp(20px, 4.4vh, 52px); }
.kt-launch-eyebrow {
	display: inline-block;
	margin: 0 0 clamp(12px, 2.6vh, 24px);
	padding: 9px 18px;
	background: rgba(255, 255, 255, .6);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.kt-launch-title {
	max-width: 11ch;
	margin: 0 0 clamp(10px, 2.2vh, 20px);
	font-size: clamp(44px, min(6.4vw, 10.5vh), 88px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.03em;
}
.kt-launch-text {
	max-width: 540px;
	margin: 0;
	font-size: clamp(16px, min(1.5vw, 2.6vh), 20px);
	line-height: 1.45;
}

.kt-launch-lower {
	position: relative;
	flex: 1 0 auto;
	min-height: calc(var(--kt-pad) + var(--kt-hang) + 12px);
	margin-top: calc(28px - var(--kt-pad));
	padding-bottom: var(--kt-low);
}

.kt-launch-card {
	position: relative;
	z-index: 2;
	width: min(470px, 100%);
	padding: clamp(20px, 3.4vh, 30px) 34px clamp(18px, 3.2vh, 28px);
	background: #fff;
	border-radius: 32px;
	box-shadow: 0 24px 60px rgba(120, 50, 10, .14);
}
.kt-launch-label {
	margin: 0 0 4px;
	color: var(--kt-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.kt-launch-date { display: block; font-size: clamp(24px, min(2.6vw, 4.4vh), 34px); font-weight: 700; line-height: 1.15; letter-spacing: -.01em; }
.kt-launch-tz { margin: 4px 0 clamp(12px, 2.6vh, 22px); color: var(--kt-muted); font-size: 15px; }
.kt-launch-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: clamp(11px, 1.9vh, 15px) 30px;
	font-size: 17px;
}
.kt-launch-alt { margin: clamp(10px, 2vh, 16px) 0 0; color: var(--kt-muted); font-size: 14px; }
.kt-launch-alt a { color: inherit; white-space: nowrap; text-underline-offset: 3px; }
.kt-launch-alt a:hover { color: var(--kt-dark); }

.kt-launch-art {
	position: absolute;
	z-index: 1;
	top: calc(var(--kt-pad) - 28px + var(--kt-hang) - 560px * min(var(--kt-art-w), var(--kt-art-h)));
	right: 0;
	width: 640px;
	height: 560px;
	pointer-events: none;
	scale: min(var(--kt-art-w), var(--kt-art-h));
	transform-origin: 100% 0;
	animation: kt-launch-hug 1.8s cubic-bezier(.22, .8, .25, 1) .3s both;
}
.kt-launch-art > * { position: absolute; }
.kt-launch-ribbon { inset: 0; width: 100%; height: 100%; overflow: visible; }
.kt-launch-art .kt-hug {
	top: 70px;
	left: 82px;
	margin: 0;
	transform: scale(.6);
	transform-origin: 0 0;
}
.kt-launch-sparkle { display: block; }
.kt-launch-sparkle .kt-sparkle { position: static; width: 100%; height: auto; }
.kt-launch-sparkle-1 { top: 12px; left: 300px; width: 58px; }
.kt-launch-sparkle-2 { top: 330px; right: 6px; width: 34px; }
.kt-launch-sparkle-2 .kt-sparkle { animation-delay: -1.4s; }
.kt-launch-heart-1 { top: 36px; right: 30px; width: 58px; rotate: 12deg; animation-delay: -1.6s; }
.kt-launch-heart-2 { bottom: 26px; left: 64px; width: 40px; rotate: -14deg; animation-delay: -3.2s; }
.kt-launch-pin-1 { top: 120px; left: 0; width: 50px; animation-delay: -1s; }
.kt-launch-pin-2 { top: 150px; right: -10px; width: 44px; animation-delay: -3s; }

@keyframes kt-launch-hug {
	from { --kt-hug: 0; }
	to { --kt-hug: 1; }
}

.kt-launch-footer {
	position: relative;
	z-index: 3;
	margin-top: -40px;
	padding: 60px 0 22px;
	background: #000;
	color: #fff;
	border-radius: 40px 40px 0 0;
}
.kt-launch-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px 40px;
}
.kt-launch-sign { display: flex; align-items: center; gap: 18px; min-width: 0; }
.kt-launch-footer .kt-mc { flex: none; width: 54px; }
.kt-launch-note { margin: 0; color: #8c8c8c; font-size: 13px; line-height: 1.45; }
.kt-launch-legal { display: flex; flex: none; gap: 28px; font-size: 15px; white-space: nowrap; }
.kt-launch-legal a { color: #fff; text-decoration: none; }
.kt-launch-legal a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-height: 900px) { .kt-launch { --kt-art-h: .92; } }
@media (max-height: 820px) { .kt-launch { --kt-art-h: .84; } }
@media (max-height: 760px) { .kt-launch { --kt-art-h: .76; } }
@media (max-height: 700px) { .kt-launch { --kt-art-h: .7; } }
@media (max-height: 640px) { .kt-launch { --kt-art-h: .64; } }

@media (min-width: 901px) and (max-height: 780px) {
	.kt-launch-band { padding-top: 12px; }
	.kt-launch-pill { min-height: 60px; }
	.kt-launch-copy { padding-top: 18px; }
	.kt-launch-eyebrow { margin-bottom: 12px; padding: 7px 15px; font-size: 12px; }
	.kt-launch-title { margin-bottom: 10px; font-size: clamp(44px, min(6.4vw, 9vh), 88px); }
	.kt-launch-text { font-size: 16px; }
	.kt-launch-card { padding: 18px 30px 16px; }
	.kt-launch-label { margin-bottom: 2px; }
	.kt-launch-tz { margin-bottom: 12px; }
	.kt-launch-cta { padding: 11px 26px; font-size: 16px; }
	.kt-launch-alt { margin-top: 8px; }
	.kt-launch-footer { padding: 54px 0 16px; }
	.kt-launch-footer .kt-mc { width: 46px; }
}

@media (max-width: 1120px) {
	.kt-launch { --kt-art-w: .62; }
	.kt-launch-text { max-width: 430px; }
	.kt-launch-pin-1 { display: none; }
}

@media (max-width: 900px) {
	.kt-launch { --kt-pad: 96px; --kt-low: 90px; }
	.kt-launch-band { flex: 0 0 auto; padding-top: 12px; border-radius: 0 0 36px 36px; }
	.kt-launch-head { padding: 0 12px; }
	.kt-launch-pill { min-height: 58px; padding: 0 18px 0 16px; }
	.kt-launch-lang { padding: 0 10px; }
	.kt-launch-copy { padding-top: 44px; }
	.kt-launch-eyebrow { margin-bottom: 18px; font-size: 12px; }
	.kt-launch-title { font-size: clamp(40px, 11vw, 64px); }
	.kt-launch-text { max-width: none; font-size: 17px; }
	.kt-launch-lower {
		display: flex;
		flex-direction: column;
		align-items: center;
		min-height: 0;
		margin-top: -76px;
	}
	.kt-launch-art { position: relative; top: auto; right: auto; width: 360px; height: 300px; max-width: 100%; scale: none; }
	.kt-launch-art .kt-hug { top: 14px; left: calc(50% - 171px); transform: scale(.38); }
	.kt-launch-sparkle-1 { top: 0; left: auto; right: 64px; width: 40px; }
	.kt-launch-sparkle-2 { top: 230px; right: 4px; width: 26px; }
	.kt-launch-heart-1 { top: 6px; right: auto; left: 30px; width: 40px; }
	.kt-launch-heart-2 { bottom: 4px; left: 40px; width: 30px; }
	.kt-launch-pin-1 { display: block; top: 120px; left: 0; width: 38px; }
	.kt-launch-pin-2 { top: 84px; right: 0; width: 34px; }
	.kt-launch-card { width: 100%; margin-top: 4px; padding: 26px 24px 24px; border-radius: 28px; }
	.kt-launch-cta { width: 100%; }
	.kt-launch-footer { padding: 72px 0 34px; }
	.kt-launch-footer-inner { flex-direction: column-reverse; align-items: stretch; gap: 22px; }
	.kt-launch-sign { align-items: flex-start; padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .14); }
	.kt-launch-footer .kt-mc { width: 48px; }
	.kt-launch-legal { flex-direction: column; gap: 14px; font-size: 16px; white-space: normal; }
}

@media (max-width: 420px) {
	.kt-launch-pill .kt-brand-name { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.kt-launch-art { animation: none; }
}
