.iv-referral-page {
	color: #faf9f6;
	background: #0d0e0d;
}

.iv-referral-hero {
	display: grid;
	min-height: min(900px, 100svh);
	grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
	align-items: center;
	gap: clamp(55px, 8vw, 140px);
	padding: 155px var(--iv-page) 90px;
	overflow: hidden;
	border-bottom: 1px solid rgba(216, 207, 194, .13);
	background:
		radial-gradient(circle at 17% 48%, rgba(58, 70, 51, .42), transparent 31%),
		linear-gradient(120deg, #0d0e0d, #171917 63%, #1f1f1f);
}

.iv-referral-hero-copy {
	max-width: 920px;
}

.iv-referral-hero h1 {
	max-width: 900px;
	margin: 42px 0 0;
	font-size: clamp(64px, 7vw, 118px);
	font-weight: 540;
	line-height: .91;
	letter-spacing: -.07em;
}

.iv-referral-hero h1 em {
	display: block;
	color: #858d80;
	font-style: normal;
	font-weight: 350;
}

.iv-referral-hero-copy > p {
	max-width: 720px;
	margin: 30px 0 0;
	color: rgba(250, 249, 246, .62);
	font-size: clamp(16px, 1.15vw, 19px);
	line-height: 1.72;
}

.iv-referral-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 25px;
	margin-top: 36px;
}

.iv-referral-actions > a:first-child {
	display: inline-flex;
	min-width: 235px;
	min-height: 58px;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 0 11px 0 22px;
	border-radius: 999px;
	color: #1f1f1f;
	background: #faf9f6;
	font-size: 12px;
	font-weight: 700;
}

.iv-referral-actions > a:first-child span {
	display: grid;
	width: 38px;
	height: 38px;
	place-items: center;
	border-radius: 50%;
	background: #3a4633;
}

.iv-referral-actions > a:last-child {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #b6bbb2;
	font-size: 12px;
}

.iv-referral-actions i {
	color: #d8cfc2;
	font-style: normal;
}

.iv-referral-map {
	position: relative;
	min-height: 590px;
	overflow: hidden;
	-webkit-mask-image: radial-gradient(circle, #000 46%, transparent 86%);
	mask-image: radial-gradient(circle, #000 46%, transparent 86%);
}

.iv-referral-map::before,
.iv-referral-map::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(520px, 86%);
	aspect-ratio: 1;
	border: 1px solid rgba(216, 207, 194, .13);
	border-radius: 50%;
	content: "";
	transform: translate(-50%, -50%);
}

.iv-referral-map::after {
	width: min(360px, 60%);
	border-style: dashed;
	animation: iv-referral-turn 24s linear infinite;
}

.iv-referral-map-core {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	width: 170px;
	aspect-ratio: 1;
	border: 1px solid rgba(216, 207, 194, .24);
	border-radius: 48%;
	background: radial-gradient(circle at 40% 35%, rgba(250, 249, 246, .17), transparent 23%), #30392b;
	box-shadow: 0 0 90px rgba(58, 70, 51, .52);
	transform: translate(-50%, -50%) rotate(45deg);
	animation: iv-referral-core 7s ease-in-out infinite;
}

.iv-referral-map-core b {
	position: absolute;
	inset: 38%;
	border-radius: 50%;
	background: #d8cfc2;
	box-shadow: 0 0 28px rgba(216, 207, 194, .4);
}

.iv-referral-map-core span {
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #faf9f6;
}

.iv-referral-map-core span:nth-child(1) { top: 21%; left: 48%; }
.iv-referral-map-core span:nth-child(2) { right: 19%; bottom: 27%; }
.iv-referral-map-core span:nth-child(3) { bottom: 20%; left: 28%; }

.iv-referral-map > i {
	position: absolute;
	z-index: 3;
	width: 12px;
	height: 12px;
	border: 1px solid rgba(216, 207, 194, .5);
	border-radius: 50%;
	background: #151615;
	box-shadow: 0 0 0 9px rgba(58, 70, 51, .12);
}

.iv-referral-map > i:nth-of-type(1) { top: 17%; left: 24%; }
.iv-referral-map > i:nth-of-type(2) { top: 27%; right: 15%; }
.iv-referral-map > i:nth-of-type(3) { right: 8%; bottom: 27%; }
.iv-referral-map > i:nth-of-type(4) { bottom: 14%; left: 29%; }
.iv-referral-map > i:nth-of-type(5) { top: 49%; left: 8%; }

.iv-referral-flow,
.iv-referral-rules,
.iv-referral-form-section {
	padding: clamp(90px, 10vw, 160px) var(--iv-page);
}

.iv-referral-flow {
	background: #151615;
}

.iv-referral-flow > header {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(260px, .6fr);
	align-items: end;
	gap: 45px;
}

.iv-referral-flow > header > span,
.iv-referral-rules > div > span,
.iv-referral-form-copy > span {
	grid-column: 1 / -1;
	color: rgba(216, 207, 194, .62);
	font: 9px var(--font-geist-mono), monospace;
	letter-spacing: .13em;
}

.iv-referral-flow h2,
.iv-referral-rules h2,
.iv-referral-form-copy h2 {
	max-width: 850px;
	margin: 20px 0 0;
	font-size: clamp(50px, 6vw, 94px);
	font-weight: 520;
	line-height: .94;
	letter-spacing: -.06em;
}

.iv-referral-flow h2 em,
.iv-referral-rules h2 em,
.iv-referral-form-copy h2 em {
	display: block;
	color: #858d80;
	font-style: normal;
	font-weight: 350;
}

.iv-referral-flow > header > p,
.iv-referral-form-copy > p {
	margin: 0;
	color: rgba(250, 249, 246, .52);
	line-height: 1.75;
}

.iv-referral-flow > div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 65px;
}

.iv-referral-flow article {
	min-height: 320px;
	padding: 30px;
	border: 1px solid rgba(216, 207, 194, .14);
	border-radius: 30px;
	background: rgba(250, 249, 246, .018);
}

.iv-referral-flow article > span {
	color: #8f978a;
	font: 10px var(--font-geist-mono), monospace;
}

.iv-referral-flow article h3 {
	margin-top: 95px;
	font-size: clamp(30px, 3vw, 48px);
	letter-spacing: -.045em;
}

.iv-referral-flow article p {
	margin-top: 16px;
	color: rgba(250, 249, 246, .54);
	line-height: 1.65;
}

.iv-referral-terms {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid rgba(216, 207, 194, .13);
	border-bottom: 1px solid rgba(216, 207, 194, .13);
	background: #d8cfc2;
}

.iv-referral-terms > div {
	min-height: 350px;
	padding: clamp(30px, 4vw, 60px);
	border-right: 1px solid rgba(31, 31, 31, .14);
	color: #1f1f1f;
}

.iv-referral-terms > div:last-child {
	border-right: 0;
}

.iv-referral-terms span {
	color: #5e665a;
	font: 9px var(--font-geist-mono), monospace;
	letter-spacing: .12em;
}

.iv-referral-terms strong {
	display: block;
	margin-top: 70px;
	font-size: clamp(54px, 6vw, 92px);
	line-height: .9;
	letter-spacing: -.07em;
}

.iv-referral-terms p {
	max-width: 390px;
	margin-top: 22px;
	color: #5c6259;
	line-height: 1.65;
}

.iv-referral-rules {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, .75fr);
	align-items: start;
	gap: clamp(60px, 9vw, 145px);
	background: #101210;
}

.iv-referral-rules ul {
	margin: 0;
	padding: 0;
	border: 1px solid rgba(216, 207, 194, .14);
	border-radius: 28px;
	overflow: hidden;
	list-style: none;
}

.iv-referral-rules li {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 18px;
	padding: 24px;
	border-bottom: 1px solid rgba(216, 207, 194, .13);
}

.iv-referral-rules li:last-child {
	border-bottom: 0;
}

.iv-referral-rules li b {
	color: #8b9386;
	font: 9px var(--font-geist-mono), monospace;
}

.iv-referral-rules li span {
	color: rgba(250, 249, 246, .68);
	line-height: 1.55;
}

.iv-referral-form-section {
	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(520px, 1.28fr);
	align-items: start;
	gap: clamp(55px, 8vw, 130px);
	color: #1f1f1f;
	background: #d8cfc2;
}

.iv-referral-form-copy {
	position: sticky;
	top: 120px;
}

.iv-referral-form-copy > span {
	color: #3a4633;
}

.iv-referral-form-copy h2 {
	font-size: clamp(46px, 5vw, 82px);
}

.iv-referral-form-copy h2 em {
	color: #747c70;
}

.iv-referral-form-copy > p {
	margin-top: 25px;
	color: #575d55;
}

.iv-referral-form-copy small {
	display: block;
	margin-top: 25px;
	padding: 18px;
	border-radius: 18px;
	color: #faf9f6;
	background: #3a4633;
	line-height: 1.6;
}

.iv-referral-form-section .iv-form-shell {
	background: #171917;
}

.iv-referral-form-section .iv-form-shell .inovarka-form {
	padding: clamp(26px, 4vw, 54px);
}

@keyframes iv-referral-turn {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes iv-referral-core {
	0%, 100% { border-radius: 48%; transform: translate(-50%, -50%) rotate(45deg) scale(.96); }
	50% { border-radius: 50%; transform: translate(-50%, -50%) rotate(135deg) scale(1.04); }
}

@media (max-width: 1180px) {
	.iv-referral-hero,
	.iv-referral-rules,
	.iv-referral-form-section {
		grid-template-columns: 1fr;
	}

	.iv-referral-hero {
		min-height: auto;
		padding-top: 145px;
	}

	.iv-referral-map {
		min-height: 500px;
	}

	.iv-referral-form-copy {
		position: static;
	}
}

@media (max-width: 820px) {
	.iv-referral-hero h1 {
		font-size: clamp(52px, 15vw, 78px);
	}

	.iv-referral-map {
		min-height: 390px;
	}

	.iv-referral-flow > header,
	.iv-referral-flow > div,
	.iv-referral-terms {
		grid-template-columns: 1fr;
	}

	.iv-referral-flow > header > p {
		margin-top: 0;
	}

	.iv-referral-flow article {
		min-height: 260px;
	}

	.iv-referral-flow article h3 {
		margin-top: 65px;
	}

	.iv-referral-terms > div {
		min-height: 280px;
		border-right: 0;
		border-bottom: 1px solid rgba(31, 31, 31, .14);
	}

	.iv-referral-terms > div:last-child {
		border-bottom: 0;
	}

	.iv-referral-terms strong {
		margin-top: 48px;
	}
}

@media (max-width: 560px) {
	.iv-referral-hero {
		gap: 20px;
		padding-top: 120px;
		padding-bottom: 55px;
	}

	.iv-referral-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.iv-referral-map {
		min-height: 330px;
	}

	.iv-referral-map-core {
		width: 125px;
	}

	.iv-referral-form-section {
		padding-inline: 18px;
	}

	.iv-referral-form-copy h2 {
		font-size: 44px;
	}
}
