:root {
	--blue: #2F6BFF;
	--violet: #8B5CF6;
	--orange: #FF8A1E;
	--ink: #0D1230;
	--ink-card: #171D42;
	--ink-line: #2A3160;
	--bg: #FFFFFF;
	--bg-soft: #F3F5FB;
	--line: #E2E6F2;
	--text: #11142B;
	--muted: #5E6585;
	--muted-dark: #9AA3CC;
	--grad: linear-gradient(100deg, var(--blue), var(--violet));
	--r-lg: 26px;
	--r-md: 16px;
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box
}

html {
	scroll-behavior: smooth
}

/* липкая шапка (74px) перекрывала якорные блоки — резервируем отступ при скролле */
[id] {
	scroll-margin-top: 94px
}

/* якорные переходы: компенсируем высоту липкой шапки (74px + запас) */
[id] {
	scroll-margin-top: 92px
}

body {
	font-family: 'Golos Text', system-ui, sans-serif;
	color: var(--text);
	background: var(--bg);
	line-height: 1.6;
	font-size: 17px;
}

h1,
h2,
h3 {
	font-weight: 800;
	line-height: 1.14;
	letter-spacing: -.015em
}

.container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px
}

section {
	padding: 60px 0
}

.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--blue);
	margin-bottom: 14px;
}

.eyebrow::before {
	content: "";
	width: 11px;
	height: 11px;
	background: var(--orange);
	transform: rotate(45deg);
	border-radius: 2px;
}

.section-title {
	font-size: clamp(26px, 3.2vw, 38px);
	margin-bottom: 12px;
	max-width: 820px
}

.section-lead {
	color: var(--muted);
	max-width: 700px;
	font-size: 17px;
	margin-bottom: 32px
}

.grad-text {
	background: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent
}

/* ---------- header ---------- */
header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgba(255, 255, 255, .9);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--line);
}

.nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 74px
}

.logo {
	display: flex;
	align-items: center;
	gap: 16px;
	text-decoration: none;
	color: var(--text)
}

.logo img {
	height: 32px;
	width: auto;
	display: block
}

.logo img.adc {
	height: 28px
}

.logo .divider {
	width: 1px;
	height: 28px;
	background: var(--line)
}

.logo .fb {
	font-weight: 900;
	font-size: 20px;
	display: none
}

.nav-links {
	display: flex;
	gap: 28px;
	align-items: center
}

#allrecords .nav-links a {
	color: var(--muted);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	transition: color .2s
}

.nav-links a:hover {
	color: var(--text)
}

.btn {
	display: inline-block;
	padding: 13px 26px;
	border-radius: 999px;
	font-family: 'Golos Text';
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	cursor: pointer;
	border: none;
	text-align: center;
	transition: transform .15s, box-shadow .2s;
}

.btn:focus-visible {
	outline: 3px solid var(--blue);
	outline-offset: 2px
}

#allrecords .btn-orange {
	background: var(--orange);
	color: #1A1206
}

#allrecords .btn-orange:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(255, 138, 30, .4)
}

#allrecords .btn-grad {
	background: var(--grad);
	color: #fff
}

#allrecords .btn-grad:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(75, 99, 255, .35)
}

#allrecords .btn-ghost {
	background: transparent;
	color: #fff;
	border: 1.5px solid var(--ink-line)
}

#allrecords .btn-ghost:hover {
	border-color: #fff
}

#allrecords. btn-ghost-light {
	background: transparent;
	color: var(--text);
	border: 1.5px solid var(--line)
}

#allrecords .btn-ghost-light:hover {
	border-color: var(--text)
}

.btn-small {
	padding: 11px 22px;
	font-size: 14px
}

/* микрокопия снятия риска под CTA */
.risk-note {
	font-size: 13.5px;
	color: var(--muted-dark);
	margin-top: 14px
}

#allrecords .risk-note b {
	color: #fff;
	font-weight: 600
}

/* ---------- hero ---------- */
.hero {
	background: var(--ink);
	color: #fff;
	padding: 64px 0 76px;
	position: relative;
	overflow: hidden;
}

.hero::before {
	content: "";
	position: absolute;
	left: -180px;
	top: -220px;
	width: 620px;
	height: 620px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(47, 107, 255, .28), transparent 65%);
}

.hero::after {
	content: "";
	position: absolute;
	right: -160px;
	bottom: -260px;
	width: 640px;
	height: 640px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(139, 92, 246, .25), transparent 65%);
}

.hero .container {
	display: grid;
	grid-template-columns: 1.02fr .98fr;
	gap: 56px;
	align-items: center;
	position: relative;
	z-index: 2
}

.hero-cube {
	position: absolute;
	right: 48px;
	bottom: -72px;
	width: 230px;
	height: auto;
	opacity: .85;
	pointer-events: none;
	z-index: 1;
	animation: cube-float 7s ease-in-out infinite;
	filter: drop-shadow(0 24px 48px rgba(47, 107, 255, .35));
}

@keyframes cube-float {

	0%,
	100% {
		transform: translateY(0) rotate(-3deg)
	}

	50% {
		transform: translateY(-14px) rotate(3deg)
	}
}
/*
@media (prefers-reduced-motion:reduce) {
	.hero-cube {
		animation: none
	}
}
*/
@media (max-width:920px) {
	.hero-cube {
		width: 160px;
		right: 16px;
		bottom: -50px
	}
}

.hero .eyebrow {
	color: var(--muted-dark)
}

.hero h1 {
	font-size: clamp(30px, 3.8vw, 46px);
	font-weight: 900;
	margin-bottom: 16px
}

.hero p {
	color: var(--muted-dark);
	font-size: 17.5px;
	max-width: 540px;
	margin-bottom: 24px
}

.hero-cta {
	display: flex;
	gap: 14px;
	flex-wrap: wrap
}

.hero-tags {
	margin-top: 26px;
	display: flex;
	gap: 10px;
	flex-wrap: wrap
}

.hero-tags span {
	font-size: 13px;
	font-weight: 500;
	padding: 8px 16px;
	border-radius: 999px;
	border: 1px solid var(--ink-line);
	color: var(--muted-dark);
}

/* ---------- lineage ---------- */
.hero-art {
	background: var(--ink-card);
	border: 1px solid var(--ink-line);
	border-radius: var(--r-lg);
	padding: 18px;
}

.lineage {
	width: 100%;
	height: auto;
	display: block;
	overflow: visible
}

.lineage .node {
	fill: #10163A;
	stroke: var(--ink-line);
	stroke-width: 1.5
}

.lineage text {
	font-family: 'Golos Text';
	fill: var(--muted-dark);
	font-size: 11px;
	font-weight: 500
}

.lineage .core-label {
	fill: #fff;
	font-weight: 700;
	font-size: 12.5px;
	text-anchor: middle
}

.lineage .edge {
	stroke: #2A3160;
	stroke-width: 1.5;
	fill: none;
	stroke-dasharray: 1 6;
	stroke-linecap: round
}

.tumble {
	animation: tumble 1.6s linear infinite;
	transform-box: fill-box;
	transform-origin: center
}

@keyframes tumble {
	to {
		transform: rotate(360deg)
	}
}
/*
@media (prefers-reduced-motion:reduce) {
	.cube-roller {
		display: none
	}

	.tumble {
		animation: none
	}
}
*/
/* ---------- clients ---------- */
.clients {
	padding: 24px 0;
	border-bottom: 1px solid var(--line)
}

.clients .container {
	display: flex;
	align-items: center;
	gap: 14px 32px;
	flex-wrap: wrap;
	justify-content: center
}

.clients p {
	font-size: 13px;
	color: var(--muted);
	width: 100%;
	text-align: center;
	margin-bottom: 2px
}

.clients span {
	font-weight: 700;
	font-size: 16px;
	color: #A8AECB
}

/* ---------- pain ---------- */
.soft {
	background: var(--bg-soft)
}

.pain-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px
}

.pain-card {
	background: #fff;
	border-radius: var(--r-md);
	padding: 24px;
	border: 1px solid var(--line);
	border-top: 4px solid var(--blue);
}

.pain-card:nth-child(2) {
	border-top-color: var(--orange)
}

.pain-card:nth-child(3) {
	border-top-color: var(--violet)
}

.pain-card h3 {
	font-size: 17px;
	margin-bottom: 8px
}

.pain-card p {
	color: var(--muted);
	font-size: 14.5px
}

.pain-hook {
	margin-top: 24px;
	padding: 20px 26px;
	border-radius: var(--r-md);
	background: #fff;
	border: 1px solid var(--line);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

.pain-hook p {
	font-size: 17px;
	font-weight: 700;
	max-width: 620px
}

.pain-hook p span {
	color: var(--orange)
}

/* ---------- product ---------- */
.dark {
	background: var(--ink);
	color: #fff
}

.dark .section-lead {
	color: var(--muted-dark)
}

.dark .eyebrow {
	color: var(--muted-dark)
}

.modules {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px
}

.module {
	background: var(--ink-card);
	border: 1px solid var(--ink-line);
	border-radius: var(--r-md);
	padding: 24px;
	transition: transform .2s, border-color .2s;
}

.module:hover {
	transform: translateY(-4px);
	border-color: var(--blue)
}

.module:nth-child(3n+2):hover {
	border-color: var(--orange)
}

.module:nth-child(3n):hover {
	border-color: var(--violet)
}

.module h3 {
	font-size: 16px;
	margin: 12px 0 8px
}

.module p {
	color: var(--muted-dark);
	font-size: 14px
}

.module .cube-ic {
	width: 28px;
	height: 32px;
	display: block
}

.stat-strip {
	display: flex;
	gap: 48px;
	margin-top: 40px;
	flex-wrap: wrap;
	border-top: 1px solid var(--ink-line);
	padding-top: 28px
}

#allrecords .stat-strip div b {
	font-size: 30px;
	font-weight: 900;
	display: block;
	line-height: 1.1
}

.stat-strip div:nth-child(1) b {
	color: var(--blue)
}

.stat-strip div:nth-child(2) b {
	color: var(--orange)
}

.stat-strip div:nth-child(3) b {
	color: var(--violet)
}

.stat-strip div:nth-child(4) b {
	color: #fff
}

.stat-strip div span {
	color: var(--muted-dark);
	font-size: 14px
}

/* ---------- лид-магнит ---------- */
.magnet {
	background: var(--grad);
	border-radius: var(--r-lg);
	padding: 36px 42px;
	color: #fff;
	display: grid;
	grid-template-columns: 1.25fr .75fr;
	gap: 36px;
	align-items: center;
}

.magnet h3 {
	font-size: clamp(20px, 2.3vw, 26px);
	margin-bottom: 10px
}

.magnet p {
	font-size: 15px;
	opacity: .92
}

.magnet form {
	display: flex;
	gap: 10px;
	flex-wrap: wrap
}

.magnet input {
	flex: 1;
	min-width: 220px;
	font-family: 'Golos Text';
	font-size: 15px;
	padding: 15px 20px;
	border-radius: 999px;
	border: none;
}

.magnet input:focus {
	outline: 3px solid rgba(255, 255, 255, .6)
}

.magnet .btn {
	background: var(--ink);
	color: #fff;
	white-space: nowrap
}

.magnet small {
	display: block;
	margin-top: 10px;
	font-size: 12px;
	opacity: .75
}

/* ---------- миграция ---------- */
.migration {
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 36px 42px;
	display: grid;
	grid-template-columns: 1.2fr .8fr;
	gap: 42px;
	align-items: center;
	background: linear-gradient(135deg, #fff 60%, var(--bg-soft));
}

.migration h3 {
	font-size: clamp(20px, 2.3vw, 26px);
	margin-bottom: 10px
}

.migration p {
	color: var(--muted);
	font-size: 15px;
	margin-bottom: 14px
}

#allrecords .migration ul {
	list-style: none;
	margin-bottom: 20px;
	padding-left: 0;
}

.migration li {
	padding-left: 26px;
	position: relative;
	margin-bottom: 8px;
	font-size: 14.5px;
	color: var(--text)
}

.migration li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 7px;
	width: 10px;
	height: 10px;
	transform: rotate(45deg);
	border-radius: 2px;
	background: var(--violet);
}

.vendor-tags {
	display: flex;
	flex-direction: column;
	gap: 10px
}

.vendor-tags span {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 11px 84px 11px 20px;
	font-weight: 600;
	font-size: 14.5px;
	color: var(--muted);
	text-align: left;
	position: relative;
}

.vendor-tags span::after {
	content: "→ ADC";
	position: absolute;
	right: 18px;
	color: var(--blue);
	font-weight: 800
}

/* ---------- why fors ---------- */
.why-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 28px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.why-head .section-lead {
	margin-bottom: 0
}

.why-logo {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	padding: 20px 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.why-logo img {
	height: 38px;
	width: auto;
	display: block
}

.why-logo .fb {
	display: none;
	font-weight: 900;
	font-size: 24px;
	color: #E03A3E
}

.why-logo span.cap {
	font-size: 12px;
	color: var(--muted);
	font-weight: 500;
	letter-spacing: .04em
}

.why-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px
}

.why-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	padding: 24px 28px;
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.why-num {
	font-weight: 900;
	font-size: 30px;
	line-height: 1.2;
	flex: 0 0 auto;
	min-width: 88px;
	white-space: nowrap;
	background: var(--grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.why-card h3 {
	font-size: 17px;
	margin-bottom: 6px
}

.why-card p {
	color: var(--muted);
	font-size: 14.5px
}

/* ---------- process + пилот ---------- */
.steps {
	counter-reset: step
}

.step {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 20px;
	padding: 18px 0;
	border-bottom: 1px solid var(--line);
}

.step:last-child {
	border-bottom: none
}

.step::before {
	counter-increment: step;
	content: counter(step);
	font-weight: 800;
	font-size: 16px;
	color: #fff;
	background: var(--blue);
	border-radius: 11px;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.step:nth-child(2)::before {
	background: var(--orange)
}

.step:nth-child(3)::before {
	background: var(--violet)
}

.step:nth-child(4)::before {
	background: var(--blue)
}

.step:nth-child(5)::before {
	background: var(--orange)
}

.step h3 {
	font-size: 17px;
	margin-bottom: 4px
}

.step p {
	color: var(--muted);
	font-size: 14.5px;
	max-width: 680px
}

.pilot {
	margin-top: 32px;
	background: var(--ink);
	color: #fff;
	border-radius: var(--r-lg);
	padding: 30px 36px;
}

.pilot h3 {
	font-size: 20px;
	margin-bottom: 4px
}

.pilot h3 span {
	color: var(--orange)
}

.pilot>p {
	color: var(--muted-dark);
	font-size: 14px;
	margin-bottom: 22px
}

.pilot-track {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	position: relative
}

.pilot-track::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 6%;
	right: 6%;
	height: 2px;
	background: var(--ink-line);
}

.pilot-stage {
	position: relative;
	text-align: center;
	padding: 0 10px
}

.pilot-stage::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 auto 14px;
	background: var(--blue);
	transform: rotate(45deg);
	border-radius: 4px;
	position: relative;
	z-index: 1;
}

.pilot-stage:nth-child(2)::before {
	background: var(--orange)
}

.pilot-stage:nth-child(3)::before {
	background: var(--violet)
}

.pilot-stage:nth-child(4)::before {
	background: #fff
}

.pilot-stage b {
	display: block;
	font-size: 14.5px;
	margin-bottom: 4px
}

.pilot-stage span {
	font-size: 13px;
	color: var(--muted-dark)
}

/* ---------- квиз ---------- */
.quiz-box {
	background: var(--ink);
	color: #fff;
	border-radius: var(--r-lg);
	padding: 38px 44px;
	position: relative;
	overflow: hidden;
}

.quiz-box::after {
	content: "";
	position: absolute;
	right: -120px;
	top: -120px;
	width: 380px;
	height: 380px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 138, 30, .22), transparent 65%);
}

.quiz-inner {
	position: relative;
	z-index: 1;
	max-width: 640px
}

.quiz-head h3 {
	font-size: clamp(20px, 2.4vw, 27px);
	margin-bottom: 8px
}

.quiz-head p {
	color: var(--muted-dark);
	font-size: 15px;
	margin-bottom: 20px
}

.quiz-progress {
	height: 6px;
	background: var(--ink-line);
	border-radius: 99px;
	margin-bottom: 22px;
	overflow: hidden
}

.quiz-progress i {
	display: block;
	height: 100%;
	background: var(--grad);
	border-radius: 99px;
	transition: width .35s
}

.quiz-step {
	display: none
}

.quiz-step.active {
	display: block;
	animation: fade .3s
}

@keyframes fade {
	from {
		opacity: 0;
		transform: translateY(8px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.quiz-step h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 16px
}

.quiz-opts {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 20px
}

.quiz-opt {
	background: var(--ink-card);
	border: 1.5px solid var(--ink-line);
	border-radius: 14px;
	padding: 13px 18px;
	cursor: pointer;
	font-size: 14.5px;
	font-weight: 500;
	color: #fff;
	transition: border-color .15s, background .15s;
	text-align: left;
	font-family: 'Golos Text';
}

.quiz-opt:hover {
	border-color: var(--blue)
}

.quiz-opt:focus-visible {
	outline: 3px solid var(--blue);
	outline-offset: 2px
}

.quiz-opt.selected {
	border-color: var(--orange);
	background: #221c33
}

.quiz-nav {
	display: flex;
	gap: 12px;
	align-items: center
}

.quiz-back {
	background: none;
	border: none;
	color: var(--muted-dark);
	cursor: pointer;
	font-family: 'Golos Text';
	font-size: 14px
}

.quiz-back:hover {
	color: #fff
}

.quiz-final {
	display: grid;
	gap: 13px
}

.quiz-final input {
	font-family: 'Golos Text';
	font-size: 15px;
	padding: 15px 20px;
	border-radius: 14px;
	border: 1px solid var(--ink-line);
	background: var(--ink-card);
	color: #fff;
}

.quiz-final input::placeholder {
	color: #6F77A3
}

.quiz-final input:focus {
	outline: 2px solid var(--blue);
	border-color: transparent
}

.quiz-done {
	text-align: center;
	padding: 30px 0
}

.quiz-done h4 {
	font-size: 22px;
	margin-bottom: 10px
}

.quiz-done p {
	color: var(--muted-dark)
}

/* ---------- audience ---------- */
.aud-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px
}

.aud-card {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	padding: 24px;
	display: flex;
	flex-direction: column
}

.aud-card h3 {
	font-size: 16px;
	margin-bottom: 10px
}

#allrecords .aud-card ul {
	list-style: none;
	flex: 1;
	padding-left: 0;
	margin-bottom: 0;
}

.aud-card li {
	color: var(--muted);
	font-size: 14px;
	padding-left: 22px;
	position: relative;
	margin-bottom: 7px
}

.aud-card li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 7px;
	width: 9px;
	height: 9px;
	transform: rotate(45deg);
	border-radius: 2px;
	background: var(--blue);
}

.aud-card:nth-child(2) li::before {
	background: var(--orange)
}

.aud-card:nth-child(3) li::before {
	background: var(--violet)
}

#allrecords .aud-cta {
	margin-top: 18px;
	font-size: 14px;
	font-weight: 700;
	color: var(--blue);
	text-decoration: none
}

#allrecords .aud-cta:hover {
	text-decoration: underline
}

/* ---------- CTA / демо ---------- */
.cta {
	background: var(--ink);
	color: #fff;
	position: relative;
	overflow: hidden
}

.cta::before {
	content: "";
	position: absolute;
	left: -160px;
	bottom: -200px;
	width: 560px;
	height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(47, 107, 255, .25), transparent 65%);
}

.cta .container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
	position: relative;
	z-index: 1
}

.cta h2 {
	font-size: clamp(24px, 2.8vw, 34px);
	margin-bottom: 14px
}

.cta p {
	color: var(--muted-dark);
	margin-bottom: 16px
}

#allrecords .demo-list {
	list-style: none;
	margin-bottom: 20px;
	padding-left: 0;
}

.demo-list li {
	color: #D7DCF2;
	font-size: 14.5px;
	padding-left: 24px;
	position: relative;
	margin-bottom: 8px;
}

.demo-list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 7px;
	width: 9px;
	height: 9px;
	transform: rotate(45deg);
	border-radius: 2px;
	background: var(--orange);
}

.cta-proof {
	border: 1px solid var(--ink-line);
	border-radius: 14px;
	padding: 14px 18px;
	margin-bottom: 20px;
	font-size: 13.5px;
	color: var(--muted-dark);
}

.cta-proof b {
	color: #fff
}

.cta-contacts {
	color: var(--muted-dark);
	font-size: 14.5px;
	line-height: 1.9
}

#allrecords .cta-contacts a {
	color: var(--orange);
	text-decoration: none;
	font-weight: 600
}

form.demo {
	display: grid;
	gap: 12px
}

form.demo input {
	font-family: 'Golos Text';
	font-size: 15px;
	padding: 14px 18px;
	border-radius: 14px;
	border: 1px solid var(--ink-line);
	background: var(--ink-card);
	color: #fff;
	width: 100%;
}

form.demo input::placeholder {
	color: #6F77A3
}

form.demo input:focus {
	outline: 2px solid var(--blue);
	border-color: transparent
}

.agree {
	font-size: 12.5px;
	color: #6F77A3
}

#allrecords .agree a {
	color: var(--muted-dark);
	text-decoration: underline;
}

/* ---------- FAQ ---------- */
.faq {
	max-width: 840px
}

.faq details {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	margin-bottom: 10px;
	overflow: hidden;
}

.faq summary {
	cursor: pointer;
	padding: 18px 52px 18px 24px;
	font-weight: 700;
	font-size: 16px;
	list-style: none;
	position: relative;
}

.faq summary::-webkit-details-marker {
	display: none
}

.faq summary::after {
	content: "";
	position: absolute;
	right: 22px;
	top: 50%;
	width: 11px;
	height: 11px;
	margin-top: -6px;
	background: var(--blue);
	transform: rotate(45deg);
	border-radius: 2px;
	transition: transform .2s, background .2s;
}

.faq details[open] summary::after {
	transform: rotate(225deg);
	background: var(--orange)
}

.faq details p {
	padding: 0 24px 18px;
	color: var(--muted);
	font-size: 15px
}

.faq summary:focus-visible {
	outline: 3px solid var(--blue);
	outline-offset: -3px;
	border-radius: var(--r-md)
}

/* ---------- exit-intent ---------- */
.exit-overlay {
	position: fixed;
	inset: 0;
	background: rgba(13, 18, 48, .7);
	backdrop-filter: blur(4px);
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 100;
	padding: 24px;
}

.exit-overlay.show {
	display: flex
}

.exit-modal {
	background: #fff;
	border-radius: var(--r-lg);
	max-width: 480px;
	width: 100%;
	padding: 44px;
	position: relative;
	animation: fade .3s;
}

.exit-close {
	position: absolute;
	right: 18px;
	top: 14px;
	background: none;
	border: none;
	font-size: 26px;
	color: var(--muted);
	cursor: pointer;
	line-height: 1;
}

.exit-modal h3 {
	font-size: 23px;
	margin-bottom: 10px
}

.exit-modal p {
	color: var(--muted);
	font-size: 15px;
	margin-bottom: 22px
}

.exit-modal form {
	display: grid;
	gap: 12px
}

.exit-modal input {
	font-family: 'Golos Text';
	font-size: 15px;
	padding: 15px 20px;
	border-radius: 14px;
	border: 1px solid var(--line);
	width: 100%;
}

.exit-modal input:focus {
	outline: 2px solid var(--blue);
	border-color: transparent
}

.exit-modal small {
	font-size: 12px;
	color: var(--muted)
}

footer {
	padding: 28px 24px;
	color: var(--muted);
	font-size: 13.5px;
	background: var(--bg-soft)
}

footer .container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px
}

#allrecords footer a {
	color: var(--muted);
	text-decoration: none
}

footer a:hover {
	color: var(--text)
}

@media (max-width:920px) {
	section {
		padding: 44px 0
	}

	.hero .container {
		grid-template-columns: 1fr
	}

	.hero-art {
		order: -1;
		max-width: 540px
	}

	.pain-grid,
	.modules,
	.aud-grid,
	.quiz-opts {
		grid-template-columns: 1fr 1fr
	}

	.why-grid,
	.cta .container,
	.magnet,
	.migration {
		grid-template-columns: 1fr
	}

	.pilot-track {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px
	}

	.pilot-track::before {
		display: none
	}
}

@media (max-width:600px) {

	.pain-grid,
	.modules,
	.aud-grid,
	.quiz-opts {
		grid-template-columns: 1fr
	}

	.nav-links {
		display: none
	}

	.step {
		grid-template-columns: 52px 1fr
	}

	.quiz-box {
		padding: 32px 24px
	}

	.magnet,
	.migration {
		padding: 34px 28px
	}

	.why-card {
		gap: 16px;
		padding: 26px
	}

	.why-num {
		min-width: auto;
		font-size: 30px
	}

	.why-logo {
		width: 100%;
		align-items: flex-start
	}
}