/* ============================================================
   Clever Verve — дизайн-система редизайна 2026
   Палитра: чернильный градиент из синего логотипа + приглушённые
   акценты сегментов знака (коралл / синий / зелёный).
   Шрифты: Schibsted Grotesk (display) / Manrope (body) / IBM Plex Mono (метки)
   ============================================================ */

:root {
	--ink-900: #0d1522;
	--ink-800: #111c2e;
	--ink-700: #16233a;
	--ink-500: #1d2f4e;
	--paper: #f5f7fb;
	--card-light: #ffffff;
	--line-light: #e3e9f2;
	--txt-hi: #e9eef7;
	--txt-lo: #9fb0c9;
	--txt-dark: #1c2433;
	--txt-dark-lo: #56637a;
	--accent: #5b8def;
	--accent-strong: #3f6fd8;
	--capture: #d97b6c;
	--unify: #5b8def;
	--act: #6fae7c;
	--amber: #d9a05f;
	--glass: rgba(255, 255, 255, 0.055);
	--glass-line: rgba(255, 255, 255, 0.12);
	--radius: 14px;
	--font-display: 'Schibsted Grotesk', 'Manrope', system-ui, sans-serif;
	--font-body: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
	--shadow-soft: 0 8px 30px rgba(13, 21, 34, 0.08);
	--shadow-lift: 0 14px 40px rgba(13, 21, 34, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; padding: 0; }

body {
	background: var(--ink-900);
	color: var(--txt-hi);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; }
a { color: var(--accent); text-decoration: none; }
a:hover { color: #82aaf5; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 4px; }

.container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

/* ---------- Типографика ---------- */

h1, h2, h3 { font-family: var(--font-display); margin: 0 0 0.5em; line-height: 1.15; }
h1 { font-size: clamp(2.1rem, 4.6vw, 3.4rem); font-weight: 700; letter-spacing: -0.015em; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; letter-spacing: -0.01em; }
h3 { font-size: 1.18rem; font-weight: 600; }
p { margin: 0 0 1em; }

.eyebrow {
	font-family: var(--font-mono);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--txt-lo);
	margin: 0 0 1.1em;
}
.section--light .eyebrow { color: var(--txt-dark-lo); }
.eyebrow::before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 1px;
	background: var(--accent);
	vertical-align: middle;
	margin-right: 10px;
}

.lead { font-size: 1.13rem; color: var(--txt-lo); max-width: 46em; }
.section--light .lead { color: var(--txt-dark-lo); }

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 200;
	background: var(--accent-strong);
	color: #fff;
	padding: 10px 18px;
	border-radius: 0 0 10px 0;
	font-weight: 700;
}
.skip-link:focus { left: 0; color: #fff; }

/* ---------- Навигация ---------- */

.cv-nav {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	background: rgba(13, 21, 34, 0.82);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.cv-nav__inner {
	max-width: 1180px;
	margin: 0 auto;
	padding: 10px 24px;
	display: flex;
	align-items: center;
	gap: 20px;
}
.cv-nav__logo {
	background: rgba(255, 255, 255, 0.93);
	border-radius: 9px;
	padding: 5px 10px;
	display: inline-flex;
	align-items: center;
	transition: background 0.25s ease;
}
.cv-nav__logo:hover { background: #fff; }
.cv-nav__logo img { width: 132px; height: auto; display: block; }
.cv-nav__menu {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 4px;
}
.cv-nav__link {
	color: var(--txt-lo);
	font-size: 0.92rem;
	font-weight: 600;
	padding: 9px 13px;
	border-radius: 9px;
	transition: color 0.2s ease, background 0.2s ease;
}
.cv-nav__link:hover { color: var(--txt-hi); background: rgba(255, 255, 255, 0.06); }
.cv-nav__link.is-active { color: var(--txt-hi); background: rgba(91, 141, 239, 0.16); }
.cv-nav__toggle { display: none; }

.lang-switch {
	display: inline-flex;
	gap: 2px;
	margin-left: 14px;
	padding: 3px;
	border: 1px solid var(--glass-line);
	border-radius: 9px;
}
.lang-switch a {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 500;
	color: var(--txt-lo);
	padding: 4px 8px;
	border-radius: 6px;
	transition: color 0.2s ease, background 0.2s ease;
}
.lang-switch a:hover { color: var(--txt-hi); }
.lang-switch a.is-active { background: var(--accent-strong); color: #fff; }

/* ---------- Hero ---------- */

.cv-hero {
	background:
		radial-gradient(1000px 480px at 82% -10%, rgba(91, 141, 239, 0.16), transparent 60%),
		linear-gradient(160deg, var(--ink-900) 0%, var(--ink-700) 55%, var(--ink-500) 100%);
	padding: 150px 0 70px;
	position: relative;
	overflow: hidden;
}
.cv-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 56px;
	align-items: center;
}
.cv-hero h1 { color: #fff; max-width: 13em; }
.cv-hero .lead { margin-bottom: 2em; }
.cv-hero__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 3em; }

.cv-hero--page { padding: 150px 0 60px; }
.cv-hero--page h1 { max-width: 17em; }

/* Чипы сертификаций */
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip {
	font-family: var(--font-mono);
	font-size: 0.74rem;
	color: var(--txt-lo);
	border: 1px solid var(--glass-line);
	background: var(--glass);
	border-radius: 999px;
	padding: 7px 14px;
	white-space: nowrap;
	transition: border-color 0.25s ease, color 0.25s ease;
}
.chip:hover { border-color: rgba(255, 255, 255, 0.3); color: var(--txt-hi); }

/* ---------- Сигнатура: схема Capture → Unify → Act ---------- */

.pipe {
	position: relative;
	padding: 10px 0;
	display: grid;
	gap: 18px;
}
.pipe::before {
	content: '';
	position: absolute;
	left: 21px;
	top: 28px;
	bottom: 28px;
	width: 2px;
	background: linear-gradient(180deg, var(--capture), var(--unify), var(--act));
	opacity: 0.5;
	border-radius: 2px;
}
.pipe__dot {
	position: absolute;
	left: 17px;
	top: 28px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 12px rgba(255, 255, 255, 0.8);
	animation: pipe-flow 7s ease-in-out infinite;
}
@keyframes pipe-flow {
	0%, 12% { top: 6%; opacity: 0; }
	20% { opacity: 1; }
	46% { top: 46%; }
	80% { opacity: 1; }
	88%, 100% { top: 88%; opacity: 0; }
}
.pipe__step {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 16px;
	align-items: start;
	background: var(--glass);
	border: 1px solid var(--glass-line);
	border-radius: var(--radius);
	padding: 18px 20px;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	transition: transform 0.3s ease, border-color 0.3s ease;
}
.pipe__step:hover { transform: translateX(4px); border-color: rgba(255, 255, 255, 0.24); }
.pipe__node {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid;
	flex-shrink: 0;
	background: var(--ink-800);
}
.pipe__step--capture .pipe__node { border-color: var(--capture); color: var(--capture); }
.pipe__step--unify .pipe__node { border-color: var(--unify); color: var(--unify); }
.pipe__step--act .pipe__node { border-color: var(--act); color: var(--act); }
.pipe__node svg { width: 20px; height: 20px; }
.pipe__step-title { margin: 2px 0 4px; color: #fff; font-size: 1.02rem; font-family: var(--font-display); font-weight: 600; line-height: 1.15; }
.pipe__step p { margin: 0; font-size: 0.88rem; color: var(--txt-lo); line-height: 1.55; }
.pipe__tag {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.pipe__step--capture .pipe__tag { color: #eda294; }
.pipe__step--unify .pipe__tag { color: #a3c0f7; }
.pipe__step--act .pipe__tag { color: #9ed0ab; }

/* ---------- Секции ---------- */

.section { padding: 92px 0; }
.section--light { background: var(--paper); color: var(--txt-dark); }
.section--light h2, .section--light h3 { color: var(--txt-dark); }
.section--dark {
	background: linear-gradient(180deg, var(--ink-900) 0%, var(--ink-800) 100%);
}
.section__head { max-width: 720px; margin-bottom: 48px; }

.section--light a:not(.btn) { color: #3866cc; }
.section--light a:not(.btn):hover { color: #2d55b0; }

/* ---------- Сетки и карточки ---------- */

.grid { display: grid; gap: 22px; }
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.card {
	border-radius: var(--radius);
	padding: 28px;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.card--glass {
	background: var(--glass);
	border: 1px solid var(--glass-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.card--glass:hover { transform: translateY(-3px); border-color: rgba(255, 255, 255, 0.24); }
.card--light {
	background: var(--card-light);
	border: 1px solid var(--line-light);
	box-shadow: var(--shadow-soft);
}
.card--light:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }

/* Пиллары (Capture/Unify/Act на светлом) */
.pillar { border-top: 3px solid; }
.pillar--capture { border-top-color: var(--capture); }
.pillar--unify { border-top-color: var(--unify); }
.pillar--act { border-top-color: var(--act); }
.pillar .eyebrow { margin-bottom: 0.6em; }
.pillar p { color: var(--txt-dark-lo); font-size: 0.95rem; }

/* Сценарии («знакомые ситуации») */
.scenario { display: flex; flex-direction: column; }
.scenario__pain {
	font-family: var(--font-display);
	font-size: 1.06rem;
	font-weight: 600;
	color: #fff;
	margin-bottom: 12px;
}
.scenario__pain::before { content: '— '; color: var(--txt-lo); }
.scenario p { font-size: 0.92rem; color: var(--txt-lo); flex-grow: 1; }
.scenario .link-more { margin-top: 6px; }

/* Продуктовые карточки (страница Salesforce) */
.product { display: flex; flex-direction: column; }
.product h3 { font-size: 1.25rem; }
.product__kicker {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--accent-strong);
	margin-bottom: 8px;
}
.product p { color: var(--txt-dark-lo); font-size: 0.95rem; }
.product ul { margin: 0 0 18px; padding: 0; list-style: none; }
.product li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 9px;
	font-size: 0.92rem;
	color: var(--txt-dark-lo);
}
.product li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 10px;
	height: 2px;
	background: var(--accent);
}
.product li b, .product li strong { color: var(--txt-dark); }
.product .link-more { margin-top: auto; }

.link-more { font-weight: 700; font-size: 0.92rem; }
.link-more::after { content: ' →'; transition: margin 0.2s ease; }
.link-more:hover::after { margin-left: 4px; }

/* ---------- Кнопки ---------- */

.btn {
	display: inline-block;
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 0.97rem;
	border-radius: 11px;
	padding: 13px 26px;
	border: 1px solid transparent;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn--primary {
	background: var(--accent-strong);
	color: #fff;
	box-shadow: 0 6px 22px rgba(63, 111, 216, 0.35);
}
.btn--primary:hover { background: #345fc0; color: #fff; box-shadow: 0 10px 28px rgba(63, 111, 216, 0.45); }
.btn--ghost {
	background: transparent;
	color: var(--txt-hi);
	border-color: var(--glass-line);
}
.btn--ghost:hover { color: #fff; border-color: rgba(255, 255, 255, 0.4); background: rgba(255, 255, 255, 0.05); }
.section--light .btn--ghost { color: var(--txt-dark); border-color: #c9d4e4; }
.section--light .btn--ghost:hover { color: var(--txt-dark); border-color: var(--accent); background: rgba(91, 141, 239, 0.07); }

/* ---------- Приложения (компактный ряд) ---------- */

.apps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.app-card h3 { font-size: 1.05rem; margin-bottom: 6px; }
.app-card p { font-size: 0.9rem; color: var(--txt-dark-lo); }
.app-card small { font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase; color: #8a6a2e; }

/* ---------- Формы ---------- */

.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-grid .form-field--full { grid-column: 1 / -1; }
.form-field label {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--txt-dark-lo);
	margin-bottom: 6px;
}
.form-field input, .form-field textarea {
	width: 100%;
	font-family: var(--font-body);
	font-size: 0.95rem;
	color: var(--txt-dark);
	background: var(--card-light);
	border: 1px solid var(--line-light);
	border-radius: 10px;
	padding: 13px 15px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field input:focus, .form-field textarea:focus {
	outline: none;
	border-color: var(--accent);
	box-shadow: 0 0 0 3px rgba(91, 141, 239, 0.18);
}
.form-field input::placeholder, .form-field textarea::placeholder { color: #56637a; }

.contact-info p { margin-bottom: 0.6em; }
.contact-info .contact-hours { font-size: 0.88rem; color: var(--txt-dark-lo); }

/* ---------- Compliance / выделенная полоса ---------- */

.note-band {
	border-left: 3px solid var(--act);
	background: var(--glass);
	border-radius: 0 var(--radius) var(--radius) 0;
	padding: 24px 28px;
}
.note-band p { color: var(--txt-lo); font-size: 0.95rem; margin: 0; }
.note-band p + p { margin-top: 0.8em; }

/* ---------- Таймлайн (Quick Start — реальная последовательность дней) ---------- */

.timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.timeline li {
	display: grid;
	grid-template-columns: 58px 1fr;
	gap: 18px;
	align-items: start;
}
.timeline .day {
	font-family: var(--font-mono);
	font-size: 0.78rem;
	color: var(--accent-strong);
	border: 1px solid var(--line-light);
	background: var(--card-light);
	border-radius: 10px;
	text-align: center;
	padding: 10px 4px;
	font-weight: 500;
}
.timeline h3 { margin-bottom: 4px; font-size: 1.02rem; }
.timeline p { color: var(--txt-dark-lo); font-size: 0.93rem; margin: 0; }

/* ---------- Футер ---------- */

.cv-footer {
	background: var(--ink-900);
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	padding: 56px 0 28px;
	color: var(--txt-lo);
}
.cv-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1.4fr 1.2fr;
	gap: 40px;
	margin-bottom: 40px;
}
.cv-footer__brand img {
	background: rgba(255, 255, 255, 0.93);
	border-radius: 8px;
	padding: 5px 9px;
	width: 140px;
	margin-bottom: 14px;
}
.cv-footer__brand p { font-size: 0.9rem; max-width: 30em; }
.cv-footer__links { display: grid; gap: 8px; align-content: start; }
.cv-footer__links a { color: var(--txt-lo); font-size: 0.92rem; }
.cv-footer__links a:hover { color: var(--txt-hi); }
.cv-footer__contact p { margin-bottom: 8px; font-size: 0.92rem; }
.cv-footer__contact a { color: var(--txt-hi); }
.cv-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	padding-top: 22px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}
.cv-footer__bottom p { margin: 0; font-size: 0.82rem; }
.cv-footer .lang-switch { margin-left: 0; }

/* ---------- Reveal-микроанимации ---------- */

.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.6s ease, transform 0.6s ease; }
.js .reveal--in { opacity: 1; transform: none; }
.reveal:nth-child(2) { transition-delay: 0.08s; }
.reveal:nth-child(3) { transition-delay: 0.16s; }
.reveal:nth-child(4) { transition-delay: 0.24s; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.reveal, .js .reveal { opacity: 1; transform: none; transition: none; }
	.pipe__dot { animation: none; opacity: 0; }
	.card, .btn, .pipe__step { transition: none; }
}

/* ---------- Адаптивность ---------- */

@media (max-width: 960px) {
	.cv-hero__grid { grid-template-columns: 1fr; gap: 40px; }
	.grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.apps { grid-template-columns: 1fr; }
	.cv-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
	.section { padding: 64px 0; }
	.cv-hero { padding: 120px 0 56px; }
	.grid--3, .grid--2, .form-grid { grid-template-columns: 1fr; }
	.cv-footer__grid { grid-template-columns: 1fr; gap: 28px; }

	.cv-nav__toggle {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		margin-left: auto;
		background: transparent;
		border: 1px solid var(--glass-line);
		border-radius: 9px;
		padding: 10px;
		cursor: pointer;
	}
	.cv-nav__toggle span {
		display: block;
		width: 20px;
		height: 2px;
		background: var(--txt-hi);
		border-radius: 2px;
		transition: transform 0.25s ease, opacity 0.25s ease;
	}
	.cv-nav__toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.cv-nav__toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.cv-nav__toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	.cv-nav__menu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		background: rgba(13, 21, 34, 0.97);
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		padding: 12px 24px 18px;
		gap: 2px;
	}
	.cv-nav__menu.is-open { display: flex; }
	.cv-nav__link { padding: 12px 10px; }
	.lang-switch { margin: 12px 0 0; justify-content: flex-start; }
}
