@view-transition {
	navigation: auto;
}

/* Roboto (latin subset) – SIL Open Font License 1.1, see /assets/fonts/OFL.txt */
@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-400-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-600-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-700-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-800-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: normal;
	font-weight: 900;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-900-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-400-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: Roboto;
	font-style: italic;
	font-weight: 700;
	font-display: swap;
	src: url("/assets/fonts/roboto-latin-700-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
		U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
		U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--navy: #033740;
	--navy-2: #042f36;
	--deep: #07181d;
	--deep-2: #0a2229;
	--teal: #03959f;
	--teal-bright: #1ec2cc;
	--teal-dim: rgba(3, 149, 159, 0.18);
	--teal-glow: rgba(30, 194, 204, 0.35);
	--teal-soft: rgba(3, 149, 159, 0.14);
	--cream: #f9f5ed;
	--cream-dim: rgba(249, 245, 237, 0.74);
	--cream-faint: rgba(249, 245, 237, 0.56);
	--line: rgba(249, 245, 237, 0.12);
	--line-strong: rgba(249, 245, 237, 0.18);
	--card: rgba(255, 255, 255, 0.06);
	--card-strong: rgba(255, 255, 255, 0.09);
	--card-border: rgba(255, 255, 255, 0.12);
	--gold: #e3b64b;
	--radius: 18px;
	--radius-sm: 12px;
	--max: 1180px;
	--shadow-lg: 0 30px 80px rgba(0, 0, 0, 0.45);
	--ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--font: Roboto, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}

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

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	font-family: var(--font);
	line-height: 1.6;
	color: var(--cream);
	background-color: var(--deep);
	background-image:
		radial-gradient(
			900px 520px at 12% -6%,
			rgba(3, 149, 159, 0.3),
			transparent 62%
		),
		radial-gradient(
			820px 520px at 92% 8%,
			rgba(3, 149, 159, 0.16),
			transparent 62%
		),
		radial-gradient(
			1000px 700px at 50% 112%,
			rgba(3, 149, 159, 0.13),
			transparent 62%
		),
		linear-gradient(180deg, #0a2830 0%, var(--deep) 36%, #060f12 100%);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection {
	color: #fff;
	background: rgba(30, 194, 204, 0.38);
}

:focus-visible {
	outline: 2px solid var(--teal-bright);
	outline-offset: 3px;
	border-radius: 4px;
}

a {
	color: inherit;
}

.icon-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.wrap {
	max-width: var(--max);
	margin-inline: 16px;
	padding-inline: 24px;
}

@media (width >= 1200px) {
	.wrap {
		max-width: var(--max);
		margin-inline: auto;
	}
}

header.site {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--line);
	background: rgba(5, 17, 21, 0.76);
	backdrop-filter: blur(18px) saturate(140%);
	-webkit-backdrop-filter: blur(18px) saturate(140%);
	view-transition-name: site-header;

	.nav {
		display: flex;
		gap: 14px;
		align-items: center;
		height: 74px;
	}
}

.brand {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-right: auto;
	text-decoration: none;
	transition: opacity 0.18s var(--ease);

	&:hover {
		opacity: 0.86;
	}

	img {
		display: block;
		width: auto;
		height: 36px;
	}
}

.nav-links {
	display: flex;
	gap: 2px;
	align-items: center;

	.link {
		padding: 9px 13px;
		font-size: 0.93rem;
		font-weight: 500;
		color: var(--cream-dim);
		text-decoration: none;
		border-radius: 999px;
		transition:
			color 0.18s var(--ease),
			background 0.18s var(--ease);

		&:hover {
			color: var(--cream);
			background: var(--card-strong);
		}
	}
}

.lang {
	display: flex;
	overflow: hidden;
	font-size: 0.82rem;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.18);

	a {
		padding: 7px 12px;
		font-weight: 500;
		color: var(--cream-faint);
		text-decoration: none;
		transition:
			color 0.18s var(--ease),
			background 0.18s var(--ease);

		&:hover {
			color: var(--cream);
		}

		&.active {
			color: var(--deep-2);
			font-weight: 700;
			background: var(--cream);
		}

		&.disabled {
			opacity: 0.6;
		}
	}
}

.btn {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	justify-content: center;
	padding: 12px 20px;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: inherit;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	border-radius: 999px;
	transition:
		transform 0.18s var(--ease),
		background 0.18s var(--ease),
		border-color 0.18s var(--ease),
		box-shadow 0.18s var(--ease);

	&.btn-primary {
		color: #032a30;
		background-color: var(--teal);
		box-shadow: 0 0 26px -14px rgba(30, 194, 204, 0.9);
		transition: background 0.18s var(--ease), box-shadow 0.18s var(--ease);

		&:hover {
			background-color: var(--teal-bright);
			box-shadow: 0 0 34px -16px rgba(30, 194, 204, 0.95);
		}
	}

	&.btn-ghost {
		color: var(--cream);
		background: var(--card);
		border-color: var(--card-border);

		&:hover {
			background: var(--card-strong);
			border-color: rgba(30, 194, 204, 0.4);
		}
	}

	&.btn-sm {
		padding: 9px 15px;
		font-size: 0.88rem;
	}

	&:active {
		transform: translateY(0);
	}
}

.btn-block {
	width: 100%;
}

.burger {
	display: none;
	padding: 8px 11px;
	font-size: 1.2rem;
	line-height: 1;
	color: var(--cream);
	background: var(--card);
	border: 1px solid var(--line);
	border-radius: 10px;
	cursor: pointer;
}

.hero {
	position: relative;
	padding-block: 46px 62px;
}

.eyebrow {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	padding: 7px 14px;
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: #bff0f3;
	background: var(--teal-soft);
	border: 1px solid var(--teal-glow);
	border-radius: 999px;

	&::before {
		content: "";
		display: inline-block;
		width: 7px;
		height: 7px;
		background: var(--teal-bright);
		border-radius: 50%;
		box-shadow: 0 0 12px var(--teal-bright);
	}
}

.hero-grid {
	display: grid;
	grid-template-columns: 1.28fr 0.72fr;
	gap: 44px;
	align-items: center;
	margin-top: 26px;
}

h1 {
	margin: 20px 0 18px;
	font-size: clamp(2.3rem, 4.7vw, 3.85rem);
	line-height: 1.03;
	letter-spacing: -0.025em;

	.accent {
		color: transparent;
		background: linear-gradient(95deg, var(--teal-bright), #9df3f7);
		-webkit-background-clip: text;
		background-clip: text;
	}
}

.lead {
	max-width: 56ch;
	font-size: 1.08rem;
	line-height: 1.75;
	color: var(--cream-dim);
	text-wrap: pretty;

	strong {
		color: var(--cream);
	}

	a {
		color: var(--teal-bright);
		text-decoration: none;
		font-weight: bold;
		white-space: nowrap;
		transition: color 0.18s var(--ease);

		&:hover {
			color: var(--teal-bright);
		}
	}
}

.cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 26px 0 16px;
}

.micro {
	font-size: 0.86rem;
	color: var(--cream-faint);
}

.micro-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;

	span {
		white-space: nowrap;
	}
}

.hero-card {
	position: relative;
	padding: 26px;
	overflow: hidden;
	background:
		radial-gradient(
			120% 100% at 100% 0%,
			rgba(30, 194, 204, 0.15),
			transparent 58%
		),
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.11),
			rgba(255, 255, 255, 0.03) 58%
		);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 24px;
	box-shadow:
		var(--shadow-lg),
		inset 0 1px 0 rgba(255, 255, 255, 0.08);

	&::before {
		content: "";
		position: absolute;
		inset: 0 0 auto;
		height: 1px;
		background: linear-gradient(
			90deg,
			transparent,
			var(--teal-bright),
			transparent
		);
		opacity: 0.7;
	}
}

.score-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;

	span {
		font-size: 0.72rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		color: var(--cream-faint);
		text-transform: uppercase;
	}
}

.score {
	font-size: 3.4rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.04em;
	font-variant-numeric: tabular-nums;

	small {
		font-size: 1rem;
		font-weight: 600;
		letter-spacing: 0;
		color: var(--cream-faint);
	}
}

.meter {
	height: 10px;
	margin: 12px 0 18px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 999px;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);

	div {
		width: 0;
		height: 100%;
		background: linear-gradient(
			90deg,
			#ff6b5e,
			var(--gold),
			var(--teal-bright)
		);
		border-radius: 999px;
		box-shadow: 0 0 16px rgba(30, 194, 204, 0.45);
		transition: width 1.6s var(--ease);
	}
}

.learn-more {
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--cream-faint);
}

.kv {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	font-size: 0.88rem;

	div {
		padding: 12px 14px;
		background: rgba(0, 0, 0, 0.24);
		border: 1px solid var(--line);
		border-radius: var(--radius-sm);
	}

	span {
		display: block;
		font-size: 0.74rem;
		font-weight: 500;
		letter-spacing: 0.06em;
		color: var(--cream-faint);
		text-transform: uppercase;
	}

	b {
		display: block;
		margin-top: 3px;
		font-size: 0.98rem;
	}
}

.stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin: 38px 0 0;
}

.stat {
	position: relative;
	padding: 22px 24px;
	overflow: hidden;
	background: linear-gradient(
		160deg,
		rgba(255, 255, 255, 0.08),
		rgba(255, 255, 255, 0.03)
	);
	border: 1px solid var(--card-border);
	border-radius: var(--radius);
	transition:
		transform 0.3s var(--ease),
		border-color 0.3s var(--ease),
		background 0.3s var(--ease);

	&::before {
		content: "";
		position: absolute;
		inset: 0 0 auto;
		height: 2px;
		background: linear-gradient(
			90deg,
			transparent,
			rgba(30, 194, 204, 0.7),
			transparent
		);
		opacity: 0.55;
	}

	&:hover {
		transform: translateY(-3px);
		border-color: rgba(30, 194, 204, 0.36);
		background: linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.1),
			rgba(255, 255, 255, 0.04)
		);
	}

	b {
		display: block;
		font-size: clamp(1.9rem, 3vw, 2.55rem);
		font-weight: 800;
		line-height: 1.1;
		letter-spacing: -0.03em;
		color: transparent;
		background: linear-gradient(180deg, #fff, #bfeff2);
		-webkit-background-clip: text;
		background-clip: text;
		font-variant-numeric: tabular-nums;
	}

	small {
		display: block;
		margin-top: 6px;
		font-size: 0.9rem;
		color: var(--cream-dim);
	}
}

section.block {
	padding-block: 72px;
}

section.block[id] {
	scroll-margin-top: 88px;
}

.kicker {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	color: var(--teal-bright);
	text-transform: uppercase;

	&::before {
		content: "";
		width: 26px;
		height: 1px;
		background: linear-gradient(90deg, var(--teal-bright), transparent);
	}
}

h2 {
	margin: 0.45em 0 0.5em;
	font-size: clamp(1.65rem, 3vw, 2.45rem);
	line-height: 1.14;
	letter-spacing: -0.025em;
}

.sub {
	max-width: 76ch;
	font-size: 1.02rem;
	line-height: 1.7;
	color: var(--cream-dim);
	text-wrap: pretty;
}

.grid3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 30px;
}

.card {
	position: relative;
	padding: 24px;
	background: linear-gradient(
		160deg,
		rgba(255, 255, 255, 0.075),
		rgba(255, 255, 255, 0.028)
	);
	border: 1px solid var(--card-border);
	border-radius: var(--radius);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);

	h3 {
		margin: 0 0 8px;
		font-size: 1.14rem;
		line-height: 1.3;
		letter-spacing: -0.01em;
	}

	p {
		margin: 0;
		font-size: 0.95rem;
		color: var(--cream-dim);
	}
}

.grid3 > .card {
	transition:
		transform 0.3s var(--ease),
		border-color 0.3s var(--ease),
		box-shadow 0.3s var(--ease),
		background 0.3s var(--ease);

	&::after {
		content: "";
		position: absolute;
		inset: 0;
		background: radial-gradient(
			70% 70% at 100% 0%,
			rgba(30, 194, 204, 0.13),
			transparent 70%
		);
		border-radius: inherit;
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s var(--ease);
	}

	&:hover {
		transform: translateY(-4px);
		background: linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.095),
			rgba(255, 255, 255, 0.04)
		);
		border-color: rgba(30, 194, 204, 0.38);
		box-shadow: 0 26px 50px -28px rgba(0, 0, 0, 0.75);
	}

	&:hover::after {
		opacity: 1;
	}
}

.card-top {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 46px;
	height: 46px;
	color: #bff0f3;
	background: linear-gradient(
		145deg,
		rgba(30, 194, 204, 0.22),
		rgba(3, 149, 159, 0.06)
	);
	border: 1px solid rgba(30, 194, 204, 0.32);
	border-radius: 14px;
	box-shadow:
		0 10px 22px -14px rgba(30, 194, 204, 0.8),
		inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.icon-svg {
	width: 22px;
	height: 22px;
}

.tag {
	display: inline-flex;
	align-items: center;
	padding: 6px 11px;
	font-size: 0.69rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.09em;
	color: #c8f5f8;
	white-space: nowrap;
	background: rgba(30, 194, 204, 0.1);
	border: 1px solid rgba(30, 194, 204, 0.28);
	border-radius: 999px;
	text-transform: uppercase;
}

.price-card > .tag,
.cert-box > .tag {
	align-self: flex-start;
	margin-bottom: 12px;
}

.tag-accent {
	color: #042a30;
	background: var(--teal-bright);
	border-color: var(--teal-bright);
}

.cta-banner {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	align-items: center;
	justify-content: space-between;
	padding: 34px;
	background: linear-gradient(
		120deg,
		rgba(3, 149, 159, 0.26),
		rgba(255, 255, 255, 0.05)
	);
	border-color: rgba(30, 194, 204, 0.3);
	box-shadow:
		0 30px 70px -36px rgba(3, 149, 159, 0.7),
		inset 0 1px 0 rgba(255, 255, 255, 0.06);

	h2 {
		margin: 0 0 6px;
		font-size: clamp(1.4rem, 2.6vw, 2rem);
	}

	.cta-row {
		margin: 0;
	}
}

ul.check {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	font-size: 0.93rem;
	color: var(--cream-dim);
	list-style: none;

	li {
		position: relative;
		padding-left: 27px;
		line-height: 1.55;

		&::before {
			content: "✓";
			position: absolute;
			top: 1px;
			left: 0;
			display: grid;
			place-items: center;
			width: 18px;
			height: 18px;
			font-size: 0.66rem;
			font-weight: 900;
			color: #042a30;
			background: var(--teal);
			border-radius: 50%;
		}
	}
}

.pricing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	align-items: stretch;
	margin-top: 30px;
}

.price-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 28px 26px;
	background: linear-gradient(
		165deg,
		rgba(255, 255, 255, 0.075),
		rgba(255, 255, 255, 0.028)
	);
	border: 1px solid var(--card-border);
	border-radius: 22px;
	transition:
		transform 0.3s var(--ease),
		border-color 0.3s var(--ease),
		box-shadow 0.3s var(--ease);

	.sub {
		font-size: 0.94rem;
	}

	.btn {
		margin-top: auto;
	}

	&:hover {
		transform: translateY(-4px);
		border-color: rgba(30, 194, 204, 0.35);
		box-shadow: 0 26px 55px -30px rgba(0, 0, 0, 0.8);
	}

	&.featured {
		background:
			radial-gradient(
				120% 90% at 100% 0%,
				rgba(30, 194, 204, 0.16),
				transparent 60%
			),
			linear-gradient(
				165deg,
				rgba(255, 255, 255, 0.09),
				rgba(255, 255, 255, 0.035)
			);
		border-color: rgba(30, 194, 204, 0.48);
		box-shadow:
			0 30px 70px -34px rgba(3, 149, 159, 0.65),
			inset 0 1px 0 rgba(255, 255, 255, 0.08);

		&::before {
			content: "";
			position: absolute;
			inset: 0 0 auto;
			height: 2px;
			background: linear-gradient(
				90deg,
				transparent,
				var(--teal-bright),
				transparent
			);
		}
	}
}

.price-cta {
	margin-top: auto;

	& > .btn {
		margin-top: 18px;
	}
}

.price {
	margin: 8px 0 2px;
	font-size: clamp(2rem, 3vw, 2.35rem);
	font-weight: 800;
	letter-spacing: -0.03em;

	.per-year {
		font-size: 1rem;
		font-weight: 600;
		color: var(--cream-faint);
	}
}

.per {
	margin-bottom: 8px;
	font-size: 0.9rem;
	color: var(--cream-faint);
}

.cert {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 18px;
	margin-top: 28px;
}

.cert-box {
	padding: 26px;
	background: linear-gradient(
		160deg,
		rgba(249, 245, 237, 0.07),
		rgba(249, 245, 237, 0.025)
	);
	border: 1px solid var(--card-border);
	border-radius: var(--radius);

	h3 {
		margin: 0.5em 0 0.35em;
	}

	.sub {
		font-size: 0.94rem;
	}
}

.mono-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 4px;
}

.mono {
	display: inline-block;
	padding: 8px 11px;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.8rem;
	color: #cfeff1;
	background: rgba(0, 0, 0, 0.32);
	border: 1px solid rgba(30, 194, 204, 0.2);
	border-radius: 10px;
}

.steps {
	display: grid;
	gap: 11px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: step;

	li {
		position: relative;
		padding-left: 34px;
		font-size: 0.95rem;
		line-height: 1.55;
		color: var(--cream-dim);

		&::before {
			counter-increment: step;
			content: counter(step);
			position: absolute;
			top: 0;
			left: 0;
			display: grid;
			place-items: center;
			width: 22px;
			height: 22px;
			font-size: 0.7rem;
			font-weight: 800;
			color: var(--teal-bright);
			background: rgba(30, 194, 204, 0.14);
			border: 1px solid rgba(30, 194, 204, 0.35);
			border-radius: 50%;
		}
	}
}

.disclaimer {
	margin-top: 14px;
	padding-left: 13px;
	font-size: 0.84rem;
	line-height: 1.6;
	color: var(--cream-faint);
	border-left: 3px solid var(--gold);
}

.quotes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-top: 28px;
}

.quote {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin: 0;
	padding: 30px 28px 24px;
	overflow: hidden;
	background:
		radial-gradient(
			130% 150% at 100% 0%,
			rgba(30, 194, 204, 0.14),
			transparent 55%
		),
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.085),
			rgba(255, 255, 255, 0.03)
		);
	border: 1px solid var(--card-border);
	border-radius: 22px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
	transition:
		transform 0.3s var(--ease),
		border-color 0.3s var(--ease),
		box-shadow 0.3s var(--ease);

	&::before {
		content: "";
		position: absolute;
		inset: 0 0 auto;
		height: 2px;
		background: linear-gradient(
			90deg,
			transparent,
			var(--teal-bright),
			transparent
		);
		opacity: 0.55;
	}

	&::after {
		content: "\201C";
		position: absolute;
		top: 6px;
		right: 24px;
		font-family: Georgia, "Times New Roman", serif;
		font-size: 6rem;
		line-height: 1;
		color: var(--teal-bright);
		opacity: 0.14;
		pointer-events: none;
	}

	&:hover {
		transform: translateY(-4px);
		border-color: rgba(30, 194, 204, 0.38);
		box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
	}

	blockquote {
		position: relative;
		z-index: 1;
		margin: 0;
		font-size: 1.06rem;
		line-height: 1.68;
		color: var(--cream);
	}

	q {
		quotes: "„" "“" "‚" "‘";
		font-style: normal;
	}
}

.quote-person {
	display: flex;
	gap: 15px;
	align-items: center;
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}

.quote-avatar {
	flex: none;
	width: 58px;
	height: 58px;
	object-fit: cover;
	object-position: center 22%;
	border: 2px solid rgba(30, 194, 204, 0.55);
	border-radius: 50%;
	box-shadow:
		0 0 0 4px rgba(3, 149, 159, 0.13),
		0 8px 24px rgba(0, 0, 0, 0.35);
}

.quote-meta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.35;

	strong {
		font-size: 1rem;
		letter-spacing: -0.01em;
	}

	span {
		font-size: 0.86rem;
		color: var(--cream-faint);
	}
}

details {
	margin: 10px 0;
	padding: 0;
	background: linear-gradient(
		160deg,
		rgba(255, 255, 255, 0.065),
		rgba(255, 255, 255, 0.025)
	);
	border: 1px solid var(--card-border);
	border-radius: 14px;
	transition:
		border-color 0.2s var(--ease),
		background 0.2s var(--ease);

	&:hover {
		border-color: rgba(30, 194, 204, 0.28);
	}

	&[open] {
		background: linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.085),
			rgba(255, 255, 255, 0.03)
		);
		border-color: rgba(30, 194, 204, 0.32);
	}

	summary {
		display: flex;
		gap: 16px;
		align-items: center;
		justify-content: space-between;
		padding: 18px 20px;
		font-weight: 600;
		cursor: pointer;
		list-style: none;

		&::-webkit-details-marker {
			display: none;
		}

		&::after {
			content: "+";
			display: grid;
			flex: none;
			place-items: center;
			width: 26px;
			height: 26px;
			font-size: 1.1rem;
			font-weight: 400;
			line-height: 1;
			color: var(--teal-bright);
			background: rgba(30, 194, 204, 0.1);
			border: 1px solid rgba(30, 194, 204, 0.25);
			border-radius: 50%;
			transition:
				transform 0.25s var(--ease),
				background 0.25s var(--ease);
		}
	}

	&[open] summary::after {
		content: "−";
		transform: rotate(180deg);
		background: rgba(30, 194, 204, 0.18);
	}

	p {
		margin: 0;
		padding: 0 20px 18px;
		font-size: 0.96rem;
		line-height: 1.65;
		color: var(--cream-dim);
	}

	p a {
		color: #bff0f3;
		text-underline-offset: 3px;

		&:hover {
			color: var(--teal-bright);
		}
	}
}

.partners {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;

	span {
		padding: 8px 14px;
		font-size: 0.88rem;
		color: var(--cream-dim);
		background: rgba(255, 255, 255, 0.05);
		border: 1px solid var(--line);
		border-radius: 999px;
	}
}

footer.site {
	position: relative;
	margin-top: 48px;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.22),
		rgba(0, 0, 0, 0.45)
	);
	border-top: 1px solid var(--line);
	view-transition-name: site-footer;

	&::before {
		content: "";
		position: absolute;
		inset: 0 0 auto;
		height: 1px;
		background: linear-gradient(
			90deg,
			transparent,
			rgba(30, 194, 204, 0.45),
			transparent
		);
	}
}

.foot {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 32px;
	padding: 48px 0 40px;

	strong {
		display: block;
		margin-bottom: 10px;
		font-size: 0.74rem;
		font-weight: 700;
		letter-spacing: 0.14em;
		color: var(--cream-faint);
		text-transform: uppercase;
	}

	a {
		display: block;
		padding: 5px 0;
		font-size: 0.92rem;
		color: var(--cream-dim);
		text-decoration: none;
		transition: color 0.18s var(--ease);

		&:hover {
			color: var(--teal-bright);
		}
	}
}

.foot-logo {
	margin-bottom: 12px;

	img {
		height: 34px;
	}
}

.foot-about {
	max-width: 38ch;
	font-size: 0.9rem;
}

.legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 14px;
	padding: 18px 0;
	font-size: 0.85rem;
	color: var(--cream-faint);
	border-top: 1px solid var(--line);
}

.reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: 0.6s var(--ease);

	&.visible {
		opacity: 1;
		transform: none;
	}
}

@media (width <= 1080px) {
	.hero-grid {
		gap: 32px;
	}

	header.site .nav {
		gap: 10px;
	}
}

@media (width <= 960px) {
	.hero-grid,
	.cert,
	.quotes,
	.grid3,
	.pricing,
	.stats,
	.foot {
		grid-template-columns: 1fr;
	}

	.hero-grid {
		gap: 30px;
	}

	.hero-card {
		max-width: 560px;
		margin-inline: auto;
	}

	.nav-links {
		display: none;

		&.open {
			position: absolute;
			top: 74px;
			right: 0;
			left: 0;
			display: flex;
			flex-direction: column;
			align-items: stretch;
			gap: 4px;
			padding: 14px 24px 18px;
			background: #07191e;
			border-bottom: 1px solid var(--line);
			box-shadow: 0 24px 40px -18px rgba(0, 0, 0, 0.7);

			.link {
				padding: 12px 14px;
				font-size: 1rem;
				border-radius: 12px;
			}

			.mobile-link {
				display: block;
				margin-top: 6px;
				padding-top: 16px;
				border-top: 1px solid var(--line);
				border-radius: 0;
			}
		}
	}

	.burger {
		display: block;
	}

	header.site .btn-ghost.btn-sm {
		display: none;
	}
}

@media (width >= 641px) and (width <= 960px) {
	.grid3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (width <= 640px) {
	.wrap {
		margin-inline: 8px;
		padding-inline: 16px;
	}

	header.site .nav {
		height: 64px;
	}

	.brand img {
		height: 32px;
	}

	.nav-links.open {
		top: 64px;
	}

	.hero {
		padding-block: 34px 48px;
	}

	.hero-grid {
		margin-top: 22px;
	}

	.stats {
		margin-top: 30px;
	}

	section.block {
		padding-block: 54px;
	}

	.cert-box,
	.price-card,
	.quote,
	.cta-banner {
		padding: 22px;
	}

	.micro-list {
		gap: 6px 14px;
	}
}

@media (width <= 460px) {
.mobile-link {
	display: none;
}

.lang {
		display: none;
	}

	h1 {
		font-size: 2.15rem;
	}

	.score {
		font-size: 3rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.reveal {
		opacity: 1;
		transform: none;
	}
}
