@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html,
body {
	height: 100%;
	scroll-behavior: smooth;
}

body {
	font-family: 'Poppins', sans-serif;
	background: #000;
}

img {
	max-width: 100%;
	display: block;
}

a {
  color: #89C6D4;
}

/* ===================================================
   CONTAINER
   =================================================== */
.container {
	width: 100%;
	padding-inline: 70px;
}

/* ===================================================
   HERO
   =================================================== */
.hero {
	display: flex;
	min-height: 100vh;
	outline: 2px solid #1ab6d6;
	outline-offset: -2px;
	overflow: hidden;
}

/* ---------- LEFT ---------- */
.hero__left {
	flex: 0 0 50%;
	padding: 42px 70px 60px 70px;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
}

.hero__left-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}

.hero__logo,
.hero__content {
	position: relative;
	z-index: 1;
}

/* blue glow separator */
.hero__left::after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(
		to bottom,
		transparent 0%,
		#1ab6d6 25%,
		#00e5ff 50%,
		#1ab6d6 75%,
		transparent 100%
	);
	box-shadow: 0 0 14px 2px rgba(0, 220, 255, 0.55);
}

/* ---------- LOGO ---------- */
.hero__logo {
	display: flex;
	align-items: center;
	gap: 10px;
}

.hero__logo-icon {
	width: 38px;
	height: 38px;
	flex-shrink: 0;
}

.hero__logo-text {
	font-size: 23px;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.02em;
}

/* ---------- CONTENT ---------- */
.hero__content {
	padding-top: 100px;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.hero__title {
	font-size: 55px;
	font-weight: 700;
	color: #fff;
	line-height: 1.22;
	letter-spacing: -0.01em;
}

.hero__subtitle {
	font-size: 35px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.65;
}

/* CTA button */
.hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	width: fit-content;
	margin-top: 10px;
	padding: 13px 20px 13px 26px;
	border: 1.5px solid rgba(255, 255, 255, 0.65);
	border-radius: 50px;
	background: white;
	color: black;
	font-family: 'Poppins', sans-serif;
	font-size: 25px;
	font-weight: 500;
	cursor: pointer;
	transition:
		background 0.25s,
		border-color 0.25s;
}

.hero__cta:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: #fff;
}

.hero__cta-arrow {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: black;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	flex-shrink: 0;
}

/* ---------- RIGHT ---------- */
.hero__right {
	flex: 0 0 50%;
	background: white;
	position: relative;
	overflow: hidden;
}

.hero__spiral {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* ---------- FORM CARD ---------- */
.hero__card {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-42%, -50%);
	width: 524px;
	background: rgba(8, 20, 33, 0.82);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: 18px;
	border: 1px solid rgba(255, 255, 255, 0.07);
	padding: 78px 60px;
	height: 480px;
}

.hero__form {
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.hero__input {
	width: 100%;
	padding: 11px 18px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 50px;
	color: #e9e7db;
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
	font-weight: 400;
	outline: none;
	transition: border-color 0.25s;
}

.hero__input::placeholder {
	color: rgba(255, 255, 255, 0.38);
}

.hero__input:focus {
	border-color: rgba(26, 182, 214, 0.55);
}

/* phone row */
.hero__phone-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 18px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: 50px;
	transition: border-color 0.25s;
}

.hero__phone-wrap:focus-within {
	border-color: rgba(26, 182, 214, 0.55);
}

.hero__flag {
	font-size: 16px;
	line-height: 1;
	flex-shrink: 0;
}

.hero__input--phone {
	background: transparent;
	border: none;
	padding: 11px 0;
	width: 100%;
}

/* submit */
.hero__submit {
	width: 100%;
	padding: 13px;
	margin-top: 4px;
	background: #fff;
	border: none;
	border-radius: 50px;
	color: #0a1e30;
	font-family: 'Poppins', sans-serif;
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: opacity 0.2s;
}

.hero__submit:hover {
	opacity: 0.88;
}

/* ===================================================
   TESTIMONIALS
   =================================================== */
.reviews {
	background: #111113;
	padding-block: 56px;
}

.reviews__inner {
	display: flex;
	align-items: stretch;
	gap: 0;
}

.reviews__item {
	flex: 1;
	display: flex;
	align-items: flex-start;
	gap: 28px;
	padding: 0 40px;
}

.reviews__item:first-child {
	padding-left: 0;
}

.reviews__item:last-child {
	padding-right: 0;
}

.reviews__author {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	flex-shrink: 0;
}

.reviews__photo {
	width: 170px;
	height: 170px;
	object-fit: cover;
	border-radius: 6px;
}

.reviews__meta {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.reviews__name {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	white-space: nowrap;
}

.reviews__role {
	font-size: 20px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.45);
	white-space: nowrap;
}

.reviews__quote {
	font-size: 25px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.7;
	font-style: normal;
	padding-top: 2px;
}

.reviews__divider {
	width: 1px;
	background: rgba(255, 255, 255, 0.12);
	align-self: stretch;
	flex-shrink: 0;
}

/* ===================================================
   INFO
   =================================================== */
.info {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	margin: 40px 70px;
}

.info__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}

.info__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: stretch;
	gap: 40px;
	padding: 52px 60px;
}

.info__left {
	flex: 0 0 58%;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.info__title {
	font-size: 55px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

.info__text {
	font-size: 35px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.78);
	line-height: 1.65;
}

.info__brand {
	color: #3ec6e0;
}

.info__right {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	gap: 28px;
}

.info__tagline {
	font-size: 25px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.82);
	line-height: 1.7;
	max-width: 340px;
}

.info__btn {
	padding: 13px 30px;
	background: #fff;
	border: none;
	border-radius: 50px;
	color: #0a1e30;
	font-family: 'Poppins', sans-serif;
	font-size: 25px;
	font-weight: 500;
	cursor: pointer;
	white-space: nowrap;
	transition: opacity 0.2s;
}

.info__btn:hover {
	opacity: 0.88;
}

/* ===================================================
   CARDS SECTION
   =================================================== */
.cards-section {
	padding: 60px 0 70px;
}

.cards-track {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: start;
}

.card {
	background: linear-gradient(180deg, rgba(233, 231, 219, 0) 14.36%, #e9e7db 165.84%);
	border-radius: 18px;
	padding: 28px 22px 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
}

.card__photo {
	width: 170px;
	height: 170px;
	object-fit: cover;
	border-radius: 10px;
	flex-shrink: 0;
}

.card__name {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
}

.card__badge {
	padding: 6px 22px;
	background: #89c6d4;
	border: 1px solid rgba(62, 198, 224, 0.4);
	border-radius: 50px;
	color: #fff;
	font-size: 25px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.card__text {
	font-size: 25px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.75;
}

.card__brand {
	color: #3ec6e0;
}

/* nav — hidden on desktop */
.cards-nav {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 28px;
}

.cards-nav__btn {
	width: 38px;
	height: 38px;
	background: transparent;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
}

.cards-dots {
	display: flex;
	gap: 8px;
	align-items: center;
}

.cards-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
	transition: all 0.3s;
	cursor: pointer;
}

.cards-dot.active {
	width: 10px;
	height: 10px;
	background: #89c6d4;
}

/* ===================================================
   FB REVIEWS
   =================================================== */
.fb-reviews {
	background: #000;
	padding: 80px 0 70px;
}

.fb-reviews__title {
	text-align: center;
	font-size: 55px;
	font-weight: 700;
	color: #fff;
	line-height: 1.35;
	margin-bottom: 56px;
}

.fb-reviews__brand {
	color: #3ec6e0;
}

.fb-reviews__list {
	display: flex;
	flex-direction: column;
}

.fb-review {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	padding: 28px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.fb-review:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.fb-review__author {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex-shrink: 0;
	width: 210px;
}

.fb-review__photo {
	width: 170px;
	height: 170px;
	object-fit: cover;
	border-radius: 8px;
}

.fb-review__name {
	font-size: 30px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

.fb-review__stars {
	color: #89c6d4;
	font-size: 23px;
	letter-spacing: 2px;
}

.fb-review__text {
	flex: 1;
	font-size: 25px;
	font-weight: 400;
	max-width: 1000px;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.75;
	padding-top: 2px;
}

.fb-review__link {
	color: #3ec6e0;
	text-decoration: underline;
}

.fb-review__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	flex-shrink: 0;
	padding-top: 2px;
}

.fb-review__actions span {
	font-size: 12px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.38);
	text-decoration: underline;
	cursor: pointer;
	transition: color 0.2s;
}

.fb-review__actions span:hover {
	color: rgba(255, 255, 255, 0.7);
}

.fb-reviews__cta {
	display: flex;
	justify-content: center;
	margin-top: 52px;
}

.fb-reviews__btn {
	padding: 13px 44px;
	background: #e9e7db;
	border: 1.5px solid rgba(233, 231, 219, 0.65);
	border-radius: 50px;
	color: #020202;
	font-family: 'Poppins', sans-serif;
	font-size: 25px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s;
}

.fb-reviews__btn:hover {
	background: rgba(233, 231, 219, 0.08);
}

/* ===================================================
   CRYPTO
   =================================================== */
.crypto {
	position: relative;
	overflow: hidden;
	background: #060d18;
}

.crypto__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 0;
}

.crypto__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 60px;
	padding-block: 70px;
}

.crypto__left {
	flex: 0 0 52%;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.crypto__title {
	font-size: 55px;
	font-weight: 700;
	color: #fff;
	line-height: 1.25;
}

.crypto__brand {
	color: #3ec6e0;
}

.crypto__text {
	font-size: 35px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.8;
}

.crypto__right {
	flex: 1;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	min-height: 380px;
}

.crypto__icons-grid {
	position: absolute;
	top: -250px;
	right: 263px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* SVG connecting lines — fills the grid container */
.crypto__lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 0;
}

.crypto__icons-row {
	display: flex;
	gap: 20px;
	position: relative;
	z-index: 1;
}

/* Row 2 offset = (iconSize + gap) / 2 = (52 + 20) / 2 = 36px */
.crypto__icons-row--2 {
	padding-left: 36px;
}

/* individual icon — normalized display size */
.ci {
	width: 82px;
	height: 82px;
	flex-shrink: 0;
}

.crypto__phone {
	width: 495px;
	object-fit: contain;
	margin-bottom: -345px;
	position: relative;
	z-index: 1;
}

/* ===================================================
   FEATURES
   =================================================== */
.features {
	background: #000;
	padding: 70px 0;
}

.features__inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.feature {
	padding: 0 50px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 20px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.feature:first-child {
	padding-left: 0;
}

.feature:last-child {
	padding-right: 0;
	border-right: none;
}

.feature__icon {
	width: 170px;
	height: 170px;
	object-fit: contain;
}

.feature__title {
	font-size: 40px;
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

.feature__text {
	font-size: 25px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.75;
}

.feature__brand {
	color: #3ec6e0;
}

.feature__btn {
	grid-column: 1 / -1;
	justify-self: center;
	margin-top: 80px;
	padding: 13px 32px;
	background: #e9e7db;
	border: 1.5px solid rgba(233, 231, 219, 0.65);
	border-radius: 50px;
	color: #020202;
	font-family: 'Poppins', sans-serif;
	font-size: 25px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s;
}

.feature__btn:hover {
	background: rgba(233, 231, 219, 0.08);
}

/* ===================================================
   FOOTER
   =================================================== */
.footer__top {
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	padding: 40px 70px 44px;
}

.footer__nav {
	display: flex;
	gap: 32px;
}

.footer__link {
	font-size: 30px;
	font-weight: 400;
	color: #111;
	text-decoration: none;
	transition: opacity 0.2s;
}

.footer__link:hover {
	opacity: 0.6;
}

.footer__logo {
	display: flex;
	align-items: center;
	gap: 10px;
}

.footer__logo-icon {
	width: 60px;
	height: 60px;
}

.footer__logo-text {
	font-size: 23px;
	font-weight: 600;
	color: #111;
}

.footer__tagline {
	font-size: 36px;
	font-weight: 400;
	color: #111;
}

.footer__bottom {
	background: #000;
	padding: 18px 70px;
	text-align: center;
}

.footer__copy {
	font-size: 23px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.65);
}

  .card:nth-child(2) {
  	margin-top: 24px
  }

/* ===================================================
   RESPONSIVE — MOBILE
   =================================================== */
   
@media (max-width: 768px) {
	.container {
		padding-inline: 24px;
	}

	/* --- Hero --- */
	.hero {
		flex-direction: column;
		min-height: auto;
	}

	.hero__left {
		flex: none;
		width: 100%;
		padding: 28px 24px 44px;
	}

	/* hide vertical glow separator — not needed in column layout */
	.hero__left::after {
		display: none;
	}

	.hero__right {
		flex: none;
		width: 100%;
		min-height: 480px;
	}

	.hero__content {
		padding-top: 44px;
	}

	.hero__title {
		font-size: 32px;
	}

	.hero__subtitle {
		font-size: 18px;
	}

	.hero__cta {
		font-size: 12px;
		padding: 11px 16px 11px 20px;
		gap: 10px;
	}

	.hero__card {
		transform: translate(-50%, -50%);
		width: calc(100% - 48px);
		max-width: 320px;
		padding: 54px 41px;
		max-height: 370px;
	}

	.hero__input {
		font-size: 12px;
	}

	.hero__submit {
		font-size: 18px;
	}

	/* --- Reviews --- */
	.reviews__inner {
		flex-direction: column;
		gap: 32px;
	}

	.reviews__item {
		padding: 0;
		flex-direction: column;
		align-items: center;
	}
	.reviews__author {
		align-items: center;
	}

	.reviews__meta {
		align-items: center;
	}

	.reviews__divider {
		background-color: white;
	}

	.reviews__divider {
		width: 100%;
		height: 1px;
		align-self: auto;
	}

	.reviews__name,
	.reviews__role {
		white-space: normal;
	}

	.reviews__quote {
		font-size: 22px;
	}

	/* --- Cards --- */

	.cards-section .container {
		padding: 0;
	}

	.cards-track {
		display: flex;
		align-items: center;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		gap: 16px;
		padding-inline: 40px;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.cards-track::-webkit-scrollbar {
		display: none;
	}

	.card__photo {
		width: 80px;
		height: 80px;
	}

	.card__name {
		font-size: 18px;
	}

	.card__badge {
		font-size: 18px;
	}

	.card__text {
		font-size: 13px;
	}

	.cards-track::-webkit-scrollbar {
		display: none;
	}

	.card {
		flex: 0 0 76%;
		scroll-snap-align: center;
		padding: 30px 20px;
		transition: opacity 0.45s ease, transform 0.45s ease;
		transform-origin: center center;
	}

	.card:not(.active) {
		opacity: 0.5;
		transform: scale(0.96);
	}

	.card.active {
		opacity: 1;
		transform: scale(1);
	}

	.cards-nav {
		display: flex;
	}

	/* --- FB Reviews --- */
	.fb-reviews__title {
		font-size: 25px;
	}

	.fb-review {
		flex-wrap: wrap;
		gap: 16px;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}

	.fb-review__author {
		width: auto;
		align-items: center;
	}

	.fb-review__text {
		font-size: 20px;
	}

	.fb-review__actions {
		width: 100%;
		flex-direction: row;
		justify-content: center;
		gap: 16px;
	}

	.fb-review__actions span {
		font-size: 18px;
	}

	.fb-reviews__btn {
		font-size: 17px;
	}

	/* --- Features --- */
	.features__inner {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.feature {
		padding: 36px 0;
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	}

	.features {
		padding: 0;
	}

	.feature:last-child {
		border-bottom: none;
	}
	.feature__title {
		font-size: 32px;
	}
	.feature__text {
		font-size: 22px;
	}

	.feature__btn {
		font-size: 17px;
		margin-top: 40px;
	}

	/* --- Crypto --- */
	.crypto__inner {
		flex-direction: column;
		gap: 36px;
		padding-block: 100px;
	}

	.crypto__left {
		flex: none;
	}

	.crypto__title {
		font-size: 25px;
		text-align: center;
	}

	.crypto__text {
		font-size: 18px;
		text-align: center;
	}

	.ci {
		width: 52px;
		height: 52px;
	}

	.crypto__right {
		align-items: center;
	}

	.crypto__icons {
		max-width: 260px;
		align-self: center;
	}

	.crypto__phone {
		width: 260px;
		margin-bottom: -227px;
	}

	.crypto__icons-grid {
		top: -15px;
		right: 35px;
	}

	/* --- Info --- */
	.info {
		margin: 28px 24px;
		border-radius: 16px;
	}

	.info__inner {
		flex-direction: column;
		gap: 24px;
		padding: 50px 13px;
	}

	.info__left {
		flex: none;
	}

	.info__title {
		font-size: 25px;
	}

	.info__text {
		font-size: 18px;
	}

	.info__tagline {
		font-size: 13px;
	}

	.info__right {
		gap: 20px;
	}
	.info__btn {
		font-size: 17px;
	}

	.footer__link {
		font-size: 18px;
	}
	.footer__tagline {
		font-size: 20px;
	}
	.footer__copy {
		font-size: 20px;
	}
	.footer__top {
		padding: 20px;
	}
}

@media(max-width: 480px) {

	.cards-track {
		min-height: 430px;
	}

	.cards-track {
		gap: 0;
	}

	.card:not(.active) {
        opacity: 0.5;
        transform: scale(0.85);
    }

	.cards-track::-webkit-scrollbar {
		display: none;
	}

	.card.active .card__photo {
		width: 80px;
		height: 80px;
	}

	.card.active .card__name {
		font-size: 18px;
	}

	.card.active .card__badge {
		font-size: 18px;
	}

	.card.active .card__text {
		font-size: 13px;
	}

}

@media(max-width: 402px) {
	.card {
		flex: 0 0 80%;
	}
}