/* ==========================================================================
   Кастомная премиальная шапка (Binance Style)
   ========================================================================== */
   
/* ==========================================================================
   TYPOGRAPHY (Optimized for PageSpeed)
   ========================================================================== */

/* Cormorant Garamond - Regular (400) */
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local(''),
         url('fonts/cormorant-garamond-v21-cyrillic_latin-regular.woff2') format('woff2');
}

/* Cormorant Garamond - Medium (500) */
@font-face {
    font-family: 'Cormorant Garamond';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local(''),
         url('fonts/cormorant-garamond-v21-cyrillic_latin-500.woff2') format('woff2');
}

/* Montserrat - Light (300) */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: local(''),
         url('fonts/montserrat-v31-cyrillic_latin-300.woff2') format('woff2');
}

/* Montserrat - Regular (400) */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local(''),
         url('fonts/montserrat-v31-cyrillic_latin-regular.woff2') format('woff2');
}

/* Montserrat - Medium (500) */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local(''),
         url('fonts/montserrat-v31-cyrillic_latin-500.woff2') format('woff2');
}

/* ==========================================================================
   ПРИМЕНЕНИЕ ШРИФТОВ К САЙТУ
   ========================================================================== */

/* Основной текст: тонкий, читаемый, без засечек */
body {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300; 
}

/* Заголовки: премиальные, с засечками, немного плотнее */
h1, h2, h3, h4, h5, h6, 
.hero__title, .section-title {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 500;
    color: #ffffff;
}

/* Кнопки и навигация: строгий гротеск с межбуквенным интервалом для стиля */
.btn, .header__link, .nav-list a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em; /* Добавляет "воздух" и дороговизну */
}

/* ==========================================================================
   APPLE LIQUID GLASS HEADER & MINIMALIST LANGUAGE PILL
   ========================================================================== */

:root {
	--bg-dark: #181a20;
	--bg-dark-deep: #0b0e11;
	--text-light: #eaecef;
	--text-dark: #181a20;
	--text-muted: #848e9c;
	--accent-color: #f0b90b;
	--accent-hover: #fcd535;
	--header-height: 80px;
}




/* ==========================================================================
   SERVICES SECTION (Sticky Stacking Cards)
   ========================================================================== */

.services {
	padding: 100px 0 140px;
	background-color: var(--bg-dark);
	position: relative;
	z-index: 2;
}

.services__container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Общий стиль шапки секции */
.section-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 80px;
}

.section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 12px;
}

.section-title {
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	letter-spacing: -0.5px;
	margin-bottom: 20px;
}

.section-subtitle {
	font-size: 17px;
	color: var(--text-muted);
	line-height: 1.6;
}

/* Контейнер стека */
.cards-stack {
	display: flex;
	flex-direction: column;
	gap: 60px; /* Расстояние между карточками до момента прилипания */
}

/* Карточка услуги (Sticky Магия) */
.stack-card {
	position: sticky;
	top: 110px; /* Базовая точка прилипания под шапкой */
	background: #11141a;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 24px;
	padding: 50px;
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 50px;
	align-items: center;
	box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.7); /* Тень сверху для реалистичного наложения */
	transition: border-color 0.3s ease;
	overflow: hidden;
}

/* Делаем лесенку из верхних граней при наложении */
.stack-card:nth-child(1) { top: 110px; }
.stack-card:nth-child(2) { top: 130px; }
.stack-card:nth-child(3) { top: 150px; }
.stack-card:nth-child(4) { top: 170px; }

.stack-card:hover {
	border-color: rgba(240, 185, 11, 0.4);
}

/* Контент карточки (Слева) */
.stack-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.stack-card__num {
	font-family: monospace;
	font-size: 14px;
	font-weight: 700;
	color: var(--accent-color);
	margin-bottom: 16px;
	letter-spacing: 1px;
}

.stack-card__title {
	font-size: 28px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.25;
	margin-bottom: 16px;
	letter-spacing: -0.5px;
}

.stack-card__desc {
	font-size: 16px;
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: 24px;
}

/* Буллеты в карточке */
.stack-card__list {
	list-style: none;
	margin: 0 0 32px 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
}

.stack-card__list li {
	font-size: 14px;
	color: var(--text-light);
	display: flex;
	align-items: center;
	gap: 10px;
}

.stack-card__list li::before {
	content: '';
	display: inline-block;
	width: 6px;
	height: 6px;
	background-color: var(--accent-color);
	border-radius: 50%;
	flex-shrink: 0;
}

/* Визуал карточки (Справа) */
.stack-card__visual {
	width: 100%;
	height: 100%;
	min-height: 340px;
	border-radius: 16px;
	overflow: hidden;
	background: rgba(24, 26, 32, 0.8);
	border: 1px solid rgba(255, 255, 255, 0.05);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.stack-card__visual picture,
.stack-card__visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.stack-card:hover .stack-card__visual img {
	transform: scale(1.03); /* Легкий зум картинки при ховере на карточку */
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */
@media screen and (max-width: 1024px) {
	.stack-card {
		padding: 36px;
		gap: 30px;
		grid-template-columns: 1fr; /* Перестраиваем в 1 колонку */
	}
	.stack-card__visual {
		min-height: 280px;
		order: -1; /* На планшетах и мобилках картинка становится СВЕРХУ над текстом */
	}
	.section-title { font-size: 34px; }
	.stack-card__title { font-size: 24px; }
}

@media screen and (max-width: 768px) {
	.services { padding: 60px 0 100px; }
	.cards-stack { gap: 40px; }
	
	/* Отключаем sticky-прилипание на мобильных — карточка выше экрана и всегда обрезается */
	.stack-card {
		position: static;
		top: auto;
	}
	
	.stack-card {
		padding: 24px;
		padding-bottom: 100px; /* запас снизу, чтоб плавающая кнопка чата не перекрывала текст/кнопку */
		border-radius: 20px;
	}
	.stack-card__visual {
		min-height: 220px;
	}
}


/* ==========================================================================
   PROCESS SECTION (Full-Width Interactive Accordion)
   ========================================================================== */

.process-accordion {
	padding: 120px 0 0 0; /* Снизу отступ 0, так как сетка прижимается на всю ширину */
	background-color: var(--bg-dark);
	position: relative;
	z-index: 2;
	overflow: hidden;
}

.process-accordion__header {
	max-width: 800px;
	margin: 0 auto 80px;
	padding: 0 24px;
	text-align: center;
}

/* Сетка на всю ширину экрана без полей и отступов */
.accordion-grid {
	width: 100%;
	height: 650px; /* Солидная высота для кинематографичного восприятия */
	display: flex;
	gap: 4px; /* Тонкий графитовый разделитель между карточками */
	background-color: #0b0e11;
}

/* Карточка аккордеона (По умолчанию все 4 карточки абсолютно равны) */
.accordion-card {
	flex: 1; 
	position: relative;
	overflow: hidden;
	cursor: pointer;
	transition: flex 0.6s cubic-bezier(0.25, 1, 0.5, 1);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 48px 36px;
}

/* Раскрытие по клику (работает всегда, на всех устройствах) */
.accordion-card.is-open {
	flex: 2.8;
}

/* Раскрытие по наведению мышки — ТОЛЬКО на устройствах с настоящим hover (десктоп) */
@media (hover: hover) and (pointer: fine) {
	.accordion-card:hover {
		flex: 2.8; /* Карточка плавно становится почти в 3 раза шире остальных */
	}
}

/* Фоновое изображение карточки */
.accordion-card__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-image: var(--bg-desk); /* <--- ВОТ НАША МАГИЯ */
	transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), filter 0.6s ease;
	filter: grayscale(40%) contrast(110%);
	z-index: 1;
}

/* При ширине экрана <= 1024px браузер сам бесшовно переключит на мобильный фон! */
@media screen and (max-width: 1024px) {
	.accordion-card__bg {
		background-image: var(--bg-mob);
	}
}

/* При раскрытии картинка оживает, зумится и становится цветной */
.accordion-card.is-open .accordion-card__bg {
	transform: scale(1.08);
	filter: grayscale(0%) contrast(100%);
}

@media (hover: hover) and (pointer: fine) {
	.accordion-card:hover .accordion-card__bg {
		transform: scale(1.08);
		filter: grayscale(0%) contrast(100%);
	}
}

/* Темный градиентный оверлей поверх фото, чтобы белый текст читался идеально */
.accordion-card__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(11, 14, 17, 0.95) 0%, rgba(24, 26, 32, 0.7) 50%, rgba(24, 26, 32, 0.3) 100%);
	transition: background 0.6s ease;
	z-index: 2;
}

.accordion-card.is-open .accordion-card__overlay {
	background: linear-gradient(0deg, rgba(11, 14, 17, 0.95) 0%, rgba(24, 26, 32, 0.5) 60%, rgba(24, 26, 32, 0.1) 100%);
}

@media (hover: hover) and (pointer: fine) {
	.accordion-card:hover .accordion-card__overlay {
		background: linear-gradient(0deg, rgba(11, 14, 17, 0.95) 0%, rgba(24, 26, 32, 0.5) 60%, rgba(24, 26, 32, 0.1) 100%);
	}
}

/* Контент строго поверх оверлея */
.accordion-card__content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	height: 100%;
	max-width: 520px;
}

.accordion-card__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.accordion-card__num {
	font-family: monospace;
	font-size: 24px;
	font-weight: 800;
	color: var(--accent-color);
}

.accordion-card__time {
	font-family: monospace;
	font-size: 13px;
	color: var(--text-light);
	background: rgba(255, 255, 255, 0.1);
	padding: 4px 12px;
	border-radius: 100px;
	backdrop-filter: blur(8px);
}

.accordion-card__title {
	font-size: 28px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	letter-spacing: -0.5px;
	margin-bottom: 0;
	transition: margin-bottom 0.4s ease;
	white-space: nowrap; /* Чтобы в закрытом состоянии текст не ломал верстку */
}

/* Скрытый блок с подробностями */
.accordion-card__details {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-height 0.6s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease, margin-top 0.4s ease;
}

/* При расширении карточки текст и кнопка плавно выезжают снизу */
.accordion-card.is-open .accordion-card__details {
	max-height: 250px;
	opacity: 1;
	margin-top: 20px;
}

.accordion-card.is-open .accordion-card__title {
	white-space: normal; /* При раскрытии разрешаем перенос строк */
}

@media (hover: hover) and (pointer: fine) {
	.accordion-card:hover .accordion-card__details {
		max-height: 250px;
		opacity: 1;
		margin-top: 20px;
	}

	.accordion-card:hover .accordion-card__title {
		white-space: normal;
	}
}

.accordion-card__details p {
	font-size: 15px;
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: 24px;
}

.btn--small {
	padding: 10px 20px;
	font-size: 13px;
}

/* На десктопе прячем элементы, которые нужны только в раскрытом мобильном меню */
.header__nav-logo,
.header__nav-cta,
.header__nav-social {
	display: none;
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */
@media screen and (max-width: 1024px) {
	.accordion-grid {
		flex-direction: column; /* На мобилках и планшетах сетка становится вертикальной */
		height: auto;
	}
	.accordion-card {
		height: 180px;
		flex: none;
		padding: 28px 24px;
	}
	.accordion-card.is-open {
		height: 420px; /* Раскрываем в высоту вместо ширины */
		flex: none;
	}
	.accordion-card__title {
		font-size: 22px;
		white-space: normal;
	}

	/* Переносим бейдж времени под заголовок, чтобы не мешал при раскрытии */
	.accordion-card__top {
		display: contents;
	}
	.accordion-card__num {
		order: 1;
	}
	.accordion-card__title {
		order: 2;
		margin-top: 12px;
	}
	.accordion-card__time {
		order: 3;
		align-self: flex-start;
		margin-top: 12px;
	}
	.accordion-card__details {
		order: 4;
	}
}

@media screen and (max-width: 600px) {
	.process-accordion__header { margin-bottom: 40px; }
	.accordion-card { height: 150px; }
	.accordion-card.is-open { height: 380px; }
	.accordion-card__title { font-size: 20px; }
}

/* ==========================================================================
   WHY CHOOSE US (Pinned Horizontal Scroll - UI Polish & Gradient Mask)
   ========================================================================== */

.pinned-sticky {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding: 110px 4% 40px;
	overflow: hidden;
	box-sizing: border-box;
	background-color: var(--bg-dark); /* добавили, чтобы не просвечивал белый фон темы */
}

/* Левая колонка (Заголовок) */
.pinned-left {
	width: 36%;
	flex-shrink: 0;
	z-index: 10;
	padding-right: 30px;
	padding-top: 20px; /* Визуально выравниваем заголовок с верхним краем карточек */
}

.pinned-section {
	position: relative;
	height: 220vh;
	background-color: var(--bg-dark); /* было не задано — фон был белым (дефолт темы) */
}

/* --- МАГИЯ ПРЕМИАЛЬНОСТИ: Правая колонка с растворяющимся градиентом --- */
.pinned-right {
	width: 60%;
	height: 100%;
	display: flex;
	align-items: flex-start; /* Прижимаем карточки к верху параллельно заголовку */
	overflow: hidden !important;
	position: relative;
	/* Градиентная маска: слева карточки плавно растворяются на протяжении 60px, справа — четкий край */
	mask-image: linear-gradient(to right, transparent 0%, black 60px, black 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, black 60px, black 100%);
	padding-top: 10px; /* Небольшой люфт для тени карточек */
}

/* Трек с карточками */
.pinned-track {
	display: flex;
	gap: 32px;
	will-change: transform;
	padding-left: 20px; /* Чтобы первая карточка изначально не попадала в зону растворения маски */
}

/* Карточка (Чуть оптимизировали высоту под экраны 13-14 дюймов) */
.pinned-card {
	width: 400px;
	height: 520px; /* Было 560px — теперь идеально влезает даже на компактных ноутбуках! */
	flex-shrink: 0;
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: #181a20;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 36px 30px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7);
	transition: border-color 0.3s ease;
	box-sizing: border-box;
}

/* Описание слева */
.pinned-desc {
	font-size: 16px;
	line-height: 1.6;
	color: var(--text-muted);
	max-width: 440px;
	margin-bottom: 32px;
}

.pinned-nav-hint {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--text-muted);
	font-family: monospace;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.hint-arrow {
	font-size: 16px;
	animation: bounce-down 1.5s infinite;
}

@keyframes bounce-down {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(6px); }
}

/* Фон карточки (картинка) */
.pinned-card__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: var(--bg-desk);
	background-size: cover;
	background-position: center;
	filter: grayscale(20%) contrast(105%);
	z-index: 1;
}

@media screen and (max-width: 1024px) {
	.pinned-card__bg {
		background-image: var(--bg-mob);
	}
}

/* Затемняющий градиент поверх картинки */
.pinned-card__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(11, 14, 17, 0.95) 0%, rgba(24, 26, 32, 0.55) 55%, rgba(24, 26, 32, 0.15) 100%);
	z-index: 2;
}

/* Контент поверх оверлея */
.pinned-card__content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.pinned-card__num {
	font-family: monospace;
	font-size: 14px;
	font-weight: 700;
	color: var(--accent-color);
	margin-bottom: 16px;
	letter-spacing: 1px;
}

.pinned-card__title {
	font-size: 28px; /* было 24px — теперь совпадает с остальными карточками */
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2; /* тоже привёл к общему значению */
	letter-spacing: -0.5px;
	margin-bottom: 16px;
}

.pinned-card__text {
	font-size: 15px;
	line-height: 1.6;
	color: var(--text-muted);
	margin-bottom: 20px;
}

.pinned-card__tag {
	display: inline-block;
	font-family: monospace;
	font-size: 12px;
	font-weight: 600;
	color: var(--text-light);
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(8px);
	padding: 6px 14px;
	border-radius: 100px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

/* --- АДАПТИВ (Планшеты и Мобильные) для WHY CHOOSE US --- */
@media screen and (max-width: 1024px) {
	.pinned-section {
		height: auto; /* убираем "искусственную" высоту под sticky-скролл */
	}
	.pinned-sticky {
		position: relative; /* sticky больше не нужен — секция теперь просто в потоке */
		height: auto;
		flex-direction: column;
		align-items: flex-start;
		padding: 60px 20px 50px;
		gap: 36px;
	}
	.pinned-left {
		width: 100%;
		padding-right: 0;
		padding-top: 0;
	}
	.pinned-right {
		width: 100%;
		overflow-x: auto !important; /* включаем нативный горизонтальный свайп */
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		mask-image: none; /* градиентная маска смотрится странно на тач-свайпе */
		-webkit-mask-image: none;
		padding-bottom: 12px; /* место под возможный скроллбар */
	}
	.pinned-track {
		padding-left: 0;
	}
	.pinned-card {
		scroll-snap-align: start; /* карточки будут "прилипать" при свайпе */
	}
	.pinned-nav-hint {
		display: none; /* подсказка "scroll down" не актуальна для горизонтального свайпа */
	}
}

@media screen and (max-width: 600px) {
	.pinned-sticky {
		padding: 40px 16px 40px;
	}
	.pinned-card {
		width: 300px;
		height: 460px;
		padding: 28px 22px;
	}
	.pinned-card__title {
		font-size: 22px;
	}
	.pinned-card__text {
		font-size: 14px;
	}
	.pinned-desc {
		font-size: 15px;
		margin-bottom: 24px;
	}
}


/* ==========================================================================
   BURGER MENU (Mobile Navigation)
   ========================================================================== */
   
   .header__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 32px;
	height: 24px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
}

.header__burger span {
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--header-text);
	transition: transform 0.3s ease, opacity 0.3s ease;
}

@media screen and (max-width: 1024px) {
	.header__burger {
		display: flex;
	}
    
    .header__container {
		grid-template-columns: 1fr auto;
	}


	.header__nav {
		position: fixed;
		top: var(--header-height);
		left: 0;
		width: 100%;
		height: calc(100vh - var(--header-height));
		background-color: var(--bg-dark);
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 40px;
		transform: translateX(100%);
		transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
		z-index: 9998;
	}

	.header__nav.is-open {
		transform: translateX(0);
	}

	.header__menu {
		flex-direction: column;
		gap: 32px;
	}

	.header__link {
		font-size: 22px;
		color: var(--text-light) !important;
	}

	.header__actions {
		display: none;
	}



	.header__nav-logo {
		display: none;
	}

	.header__nav-cta {
		display: inline-flex;
		margin-top: 8px;
	}

	.header__nav-social {
		display: flex;
		gap: 24px;
		margin-top: 8px;
	}

	.header__nav-social a {
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--text-muted);
		transition: color 0.2s ease;
	}

	.header__nav-social a:hover {
		color: var(--accent-color);
	}
}

/* ==========================================================================
   PRICING SECTION (Institutional E-E-A-T & Glassmorphism)
   ========================================================================== */

.pricing-section,
.pricing-section * {
	box-sizing: border-box !important;
}

.pricing-section {
	padding: 140px 0;
	background-color: #0b0e11 !important;
	background-image: radial-gradient(circle at 50% 20%, #1a1e26 0%, #0b0e11 75%) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
	z-index: 2;
}

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

/* СЕО Шапка */
.pricing-header {
	max-width: 760px;
	margin: 0 auto 80px;
	text-align: center;
}

.pricing-header .section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 14px;
}

.pricing-header .section-title {
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px 0;
}

.pricing-subtitle {
	font-size: 16px;
	color: var(--text-muted, #848e9c);
	line-height: 1.6;
	margin: 0;
}

/* Сетка тарифов */
.pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-items: stretch;
}

/* Базовая карточка тарифа */
.pricing-card {
	background: rgba(24, 26, 32, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 24px;
	padding: 44px 36px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	position: relative;
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), border-color 0.4s ease, box-shadow 0.4s ease;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.pricing-card:hover {
	transform: translateY(-8px);
	border-color: rgba(255, 255, 255, 0.2);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

/* --- ВЫДЕЛЕННЫЙ ТАРИФ (Investigation Package) --- */
.pricing-card--featured {
	background: linear-gradient(180deg, rgba(30, 33, 42, 0.85) 0%, rgba(24, 26, 32, 0.9) 100%);
	border: 1px solid var(--accent-color, #f0b90b);
	box-shadow: 0 20px 50px rgba(240, 185, 11, 0.12);
	transform: translateY(-12px); /* Изначально стоит чуть выше остальных */
}

.pricing-card--featured:hover {
	transform: translateY(-18px);
	border-color: #ffd84d;
	box-shadow: 0 25px 60px rgba(240, 185, 11, 0.25);
}

.pricing-card__badge {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--accent-color, #f0b90b);
	color: #000000;
	font-family: monospace;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 6px 18px;
	border-radius: 100px;
	box-shadow: 0 4px 15px rgba(240, 185, 11, 0.4);
}

/* Контент карточки */
.pricing-card__top {
	margin-bottom: 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding-bottom: 24px;
}

.pricing-card__title {
	font-size: 24px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 10px 0;
}

.pricing-card__desc {
	font-size: 14px;
	color: var(--text-muted, #848e9c);
	line-height: 1.5;
	margin: 0;
}

/* Блок цены */
.pricing-card__price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 32px;
}

.price-prefix {
	font-size: 14px;
	color: var(--text-muted, #848e9c);
	text-transform: uppercase;
	font-weight: 600;
}

.price-amount {
	font-family: monospace, system-ui, sans-serif;
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1;
}

.price-amount--custom {
	font-size: 28px;
	color: #ffffff;
}

/* Список артефактов / услуг */
.pricing-card__list {
	list-style: none;
	padding: 0;
	margin: 0 0 36px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-grow: 1; /* Толкает футер вниз, выравнивая карточки по высоте */
}

.pricing-card__list li {
	font-size: 14px;
	color: #d1d4dc;
	line-height: 1.5;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

/* Кастомная галочка на чистом CSS */
.pricing-card__list li::before {
	content: "✓";
	color: var(--accent-color, #f0b90b);
	font-weight: 800;
	font-size: 14px;
	line-height: 1.4;
	flex-shrink: 0;
}

/* Футер карточки (Пояснение + Кнопка) */
.pricing-card__footer {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.pricing-card__note {
	font-size: 12px;
	color: #9aa3af;
	line-height: 1.4;
	margin: 0;
	text-align: center;
	font-style: italic;
}

/* Кнопки (Если у тебя в style.css еще нет btn--ghost и btn--full) */
.btn--full {
	width: 100%;
	text-align: center;
	justify-content: center;
	padding: 16px 24px;
	font-weight: 700;
	border-radius: 12px;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.btn--ghost {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn--ghost:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: #ffffff;
	color: #ffffff;
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */
@media screen and (max-width: 1024px) {
	.pricing-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	/* Последнюю карточку на планшете растягиваем на 2 колонки для симметрии */
	.pricing-grid .pricing-card:nth-child(3) {
		grid-column: span 2;
		max-width: 600px;
		margin: 0 auto;
		width: 100%;
	}
	.pricing-card--featured {
		transform: translateY(0);
	}
	.pricing-card--featured:hover {
		transform: translateY(-6px);
	}
}

@media screen and (max-width: 768px) {
	.pricing-section { padding: 90px 0; }
	.pricing-header .section-title { font-size: 32px; }
	
	.pricing-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.pricing-grid .pricing-card:nth-child(3) {
		grid-column: span 1;
		max-width: none;
	}
	.pricing-card { padding: 36px 24px; }
	.price-amount { font-size: 36px; }
	.price-amount--custom { font-size: 26px; }
}

/* ==========================================================================
   CASES SECTION (Asymmetric Forensic Bento Grid & Scanner Animation)
   ========================================================================== */

.cases-section,
.cases-section * {
	box-sizing: border-box !important;
}

.cases-section {
	padding: 140px 0;
	background-color: #0b0e11 !important;
	background-image: radial-gradient(circle at 20% 80%, #161a22 0%, #0b0e11 75%) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
	z-index: 2;
}

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

/* СЕО Шапка */
.cases-header {
	max-width: 780px;
	margin: 0 auto 80px;
	text-align: center;
}

.cases-header .section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 14px;
}

.cases-header .section-title {
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px 0;
}

.cases-subtitle {
	font-size: 16px;
	color: #848e9c;
	line-height: 1.6;
	margin: 0;
}

/* --- АСИММЕТРИЧНАЯ BENTO-СЕТКА --- */
.cases-bento {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 2 колонки на десктопе */
	gap: 32px;
	align-items: stretch;
}

/* Базовая карточка кейса */
.case-card {
	background: #11141a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), border-color 0.4s ease, box-shadow 0.4s ease;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}

.case-card:hover {
	transform: translateY(-8px);
	border-color: rgba(240, 185, 11, 0.4);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
}

/* --- ШИРОКАЯ ФЛАГМАНСКАЯ КАРТОЧКА (Кейс 1) --- */
.case-card--wide {
	grid-column: span 2; /* Занимает всю ширину (2 колонки) */
	flex-direction: row; /* Делим горизонтально: слева фото, справа текст */
}

.case-card--wide .case-card__visual {
	width: 48%;
	min-height: 100%;
}

.case-card--wide .case-card__content {
	width: 52%;
	padding: 44px 40px;
}

/* Визуальный блок с фотографией (по умолчанию для вертикальных карт) */
.case-card__visual {
	width: 100%;
	height: 240px;
	position: relative;
	overflow: hidden;
	background-color: #181a20;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.case-card--wide .case-card__visual {
	border-bottom: none;
	border-right: 1px solid rgba(255, 255, 255, 0.06);
}

/* Адаптивный фон */
.case-card__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-image: var(--bg-desk);
	filter: grayscale(40%) contrast(110%);
	transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1), filter 0.6s ease;
	z-index: 1;
}

.case-card:hover .case-card__bg {
	transform: scale(1.08);
	filter: grayscale(0%) contrast(100%);
}

.case-card__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(17, 20, 26, 0.2) 0%, rgba(17, 20, 26, 0.8) 100%);
	z-index: 2;
}

/* --- АНИМАЦИЯ БЛОКЧЕЙН-СКАНЕРА (При наведении мышки) --- */
.case-card__scanner {
	position: absolute;
	top: -10%;
	left: 0;
	width: 100%;
	height: 3px;
	background: var(--accent-color, #f0b90b);
	box-shadow: 0 0 15px var(--accent-color, #f0b90b), 0 0 30px var(--accent-color, #f0b90b);
	opacity: 0;
	z-index: 3;
	pointer-events: none;
}

.case-card:hover .case-card__scanner {
	opacity: 1;
	animation: forensic-scan 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes forensic-scan {
	0% { top: -5%; opacity: 0; }
	15% { opacity: 1; }
	85% { opacity: 1; }
	100% { top: 102%; opacity: 0; }
}

/* Бейдж на фотографии улики */
.case-card__visual-badge {
	position: absolute;
	bottom: 16px;
	left: 16px;
	z-index: 4;
	font-family: monospace;
	font-size: 11px;
	font-weight: 700;
	color: #ffffff;
	background: rgba(11, 14, 17, 0.8);
	padding: 6px 12px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	letter-spacing: 0.5px;
}

/* Контент карточки */
.case-card__content {
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex-grow: 1;
}

.case-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
}

.case-card__id {
	font-family: monospace;
	font-size: 13px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 1px;
}

.case-card__status {
	font-family: monospace;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 6px;
	letter-spacing: 0.5px;
}

.case-card__status--success {
	background: rgba(46, 189, 133, 0.15);
	color: #2ebd85;
	border: 1px solid rgba(46, 189, 133, 0.3);
}

.case-card__status--frozen {
	background: rgba(240, 185, 11, 0.15);
	color: #f0b90b;
	border: 1px solid rgba(240, 185, 11, 0.3);
}

/* Тело кейса (Шаги) */
.case-card__body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-grow: 1;
}

.case-step {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.case-step__label {
	display: flex;
	align-items: center;
	gap: 8px;
}

.case-step__icon {
	font-size: 14px;
	color: #848e9c;
}

.case-step h4 {
	font-size: 14px;
	font-weight: 800;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin: 0;
}

.case-step p {
	font-size: 14px;
	color: #a0a8b6;
	line-height: 1.6;
	margin: 0;
}

.case-divider {
	border: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.06);
	margin: 4px 0;
}

.case-step--result p {
	color: #ffffff;
	font-weight: 500;
}

/* Футер карточки (Теги) */
.case-card__footer {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.case-card__tag {
	font-family: monospace;
	font-size: 11px;
	color: #848e9c;
	background: rgba(255, 255, 255, 0.05);
	padding: 4px 10px;
	border-radius: 100px;
	border: 1px solid rgba(255, 255, 255, 0.05);
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */
@media screen and (max-width: 1024px) {
	.cases-bento {
		grid-template-columns: 1fr; /* На планшетах и мобилках всё перестраивается в 1 колонку */
		gap: 40px;
	}
	.case-card--wide {
		grid-column: span 1;
		flex-direction: column; /* Широкая карточка на планшете тоже становится вертикальной */
	}
	.case-card--wide .case-card__visual,
	.case-card--wide .case-card__content {
		width: 100%;
	}
	.case-card--wide .case-card__visual {
		height: 240px;
		min-height: auto;
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	}
	.case-card--wide .case-card__content {
		padding: 36px 32px;
	}
    .cases-header .section-title { font-size: 34px; }
}

@media screen and (max-width: 600px) {
	.cases-section { padding: 90px 0; }
	.cases-header .section-title { font-size: 32px; }
	.case-card__visual { height: 200px; }
	.case-card__content { padding: 28px 20px; }
    .case-card--wide .case-card__visual { height: 200px; min-height: auto; flex-shrink: 0; }
    .case-card--wide .case-card__content { padding: 28px 20px; }
}

/* ==========================================================================
   DISPATCH SECTION (Encrypted Intake Portal & Dark Terminal UI)
   ========================================================================== */

.dispatch-section,
.dispatch-section * {
	box-sizing: border-box !important;
}

.dispatch-section {
	padding: 140px 0;
	background-color: #0b0e11 !important;
	background-image: radial-gradient(circle at 15% 50%, #161a22 0%, #0b0e11 70%) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
	z-index: 2;
}

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

.dispatch-grid {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 60px;
	align-items: flex-start;
}

/* Левая колонка (Инфо) */
.dispatch-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.dispatch-info .section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 14px;
}

.dispatch-info .section-title {
	text-align: left;
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px 0;
}

.dispatch-desc {
	font-size: 16px;
	color: var(--text-muted, #848e9c);
	line-height: 1.6;
	margin: 0 0 40px 0;
}

/* Список доверия */
.dispatch-trust {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
	padding: 32px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	margin-bottom: 36px;
}

.trust-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.trust-item__icon {
	width: 40px;
	height: 40px;
	background: rgba(240, 185, 11, 0.1);
	border: 1px solid rgba(240, 185, 11, 0.2);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--accent-color, #f0b90b);
	flex-shrink: 0;
}

.trust-item__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.trust-item__text strong {
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
}

.trust-item__text span {
	font-size: 14px;
	color: #848e9c;
	line-height: 1.5;
}

/* Прямые ссылки */
.dispatch-direct {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.direct-label {
	font-family: monospace;
	font-size: 12px;
	color: #848e9c;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.direct-links {
	display: flex;
	gap: 20px;
}

.direct-link {
	font-size: 15px;
	font-weight: 700;
	color: #ffffff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding-bottom: 2px;
	transition: color 0.3s ease, border-color 0.3s ease;
}

.direct-link:hover {
	color: var(--accent-color, #f0b90b);
	border-color: var(--accent-color, #f0b90b);
}

/* --- ПРАВАЯ КОЛОНКА: ТЕРМИНАЛ ФОРМЫ --- */
.terminal-card {
	background: rgba(24, 26, 32, 0.7);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
}

/* Шапка терминала */
.terminal-header {
	background: #11141a;
	padding: 16px 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: monospace;
	font-size: 12px;
	color: #848e9c;
}

.terminal-status {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: #2ebd85;
}

.status-dot {
	width: 8px;
	height: 8px;
	background-color: #2ebd85;
	border-radius: 50%;
	box-shadow: 0 0 8px #2ebd85;
	animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
	0%, 100% { opacity: 1; transform: scale(1); }
	50% { opacity: 0.4; transform: scale(0.85); }
}

.terminal-clock {
	color: var(--accent-color, #f0b90b);
	font-weight: 700;
}

/* Тело формы */
.terminal-form {
	padding: 40px 36px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.form-row--2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

.form-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.form-label {
	font-size: 13px;
	font-weight: 600;
	color: #d1d4dc;
	display: flex;
	justify-content: space-between;
}

.req { color: var(--accent-color, #f0b90b); }
.opt { color: #9aa3af; font-weight: 400; font-size: 12px; }

/* ТЕМНЫЕ ПОЛЯ ВВОДА (Никакого белого фона!) */
.form-input,
.form-textarea {
	width: 100%;
	background-color: #11141a;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 16px 20px;
	font-family: inherit;
	font-size: 15px;
	color: #ffffff;
	transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
	outline: none;
}

.form-input::placeholder,
.form-textarea::placeholder {
	color: #9aa3af;
}

.form-input:hover,
.form-textarea:hover {
	border-color: rgba(255, 255, 255, 0.25);
}

/* Золотое свечение при вводе текста */
.form-input:focus,
.form-textarea:focus {
	border-color: var(--accent-color, #f0b90b);
	background-color: #14171f;
	box-shadow: 0 0 0 3px rgba(240, 185, 11, 0.15);
}

.form-textarea {
	resize: vertical;
	min-height: 110px;
}

/* Кнопки и разделитель в форме */
.form-actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 8px;
}

.form-divider {
	display: flex;
	align-items: center;
	text-align: center;
	margin: 4px 0;
}

.form-divider::before,
.form-divider::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.form-divider span {
	padding: 0 16px;
	font-family: monospace;
	font-size: 11px;
	color: #9aa3af;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* Дисклеймер внизу формы */
.form-disclaimer {
	font-size: 12px;
	color: #9aa3af;
	line-height: 1.5;
	margin: 8px 0 0 0;
	text-align: center;
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */
@media screen and (max-width: 1024px) {
	.dispatch-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}
	.dispatch-info { max-width: 700px; }
    .dispatch-info .section-title { font-size: 34px; }
}

@media screen and (max-width: 600px) {
	.dispatch-section { padding: 90px 0; }
	.dispatch-info .section-title { font-size: 32px; }
	.terminal-form { padding: 28px 20px; }
	.form-row--2col { grid-template-columns: 1fr; gap: 16px; }
	.terminal-header { padding: 14px 20px; flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* ==========================================================================
   HEADQUARTERS SECTION (Tactical Office Hub & Glassmorphism)
   ========================================================================== */

.hq-section,
.hq-section * {
	box-sizing: border-box !important;
}

.hq-section {
	padding: 140px 0;
	background-color: #0b0e11 !important;
	background-image: radial-gradient(circle at 50% 80%, #161a22 0%, #0b0e11 75%) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
	z-index: 2;
}

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

/* СЕО Шапка */
.hq-header {
	max-width: 760px;
	margin: 0 auto 80px;
	text-align: center;
}

.hq-header .section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 14px;
}

.hq-header .section-title {
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px 0;
}

.hq-subtitle {
	font-size: 16px;
	color: var(--text-muted, #848e9c);
	line-height: 1.6;
	margin: 0;
}

/* --- BENTO-СЕТКА ШТАБА --- */
.hq-bento {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: stretch;
}

/* Левая карточка (Контакты) */
.hq-card {
	background: rgba(24, 26, 32, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 24px;
	padding: 40px 36px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

.hq-card__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
	border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
	margin-bottom: 28px;
	font-family: monospace;
	font-size: 12px;
}

.hq-status {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	color: #2ebd85;
}

/* --- Стили для текстовых реквизитов в секции Штаб-квартиры --- */
.hq-item--legal .hq-item__value {
	font-size: 14px;
	line-height: 1.6;
	color: #d1d4dc;
}

.legal-muted {
	color: #9aa3af;
	font-family: monospace;
	font-size: 11px;
	text-transform: uppercase;
}

.hq-doc-link {
	color: var(--accent-color, #f0b90b);
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
	border-bottom: 1px dashed rgba(240, 185, 11, 0.4);
	padding-bottom: 2px;
	transition: all 0.3s ease;
	display: inline-block;
}

.hq-doc-link:hover {
	border-bottom-style: solid;
	border-bottom-color: var(--accent-color, #f0b90b);
	color: #ffffff;
}

/* Опционально: можешь удалить из style.css класс .footer-legal-ledger и всё что с ним связано, чтобы не засорять файл, так как мы вырезали этот блок из футера */

.status-dot {
	width: 8px;
	height: 8px;
	background-color: #2ebd85;
	border-radius: 50%;
	box-shadow: 0 0 8px #2ebd85;
	animation: pulse-green 2s infinite;
}

.hq-gps {
	color: #9aa3af;
}

/* Детали адреса */
.hq-details {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 36px;
	flex-grow: 1;
}

.hq-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.hq-item__label {
	font-family: monospace;
	font-size: 12px;
	color: #848e9c;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.hq-item__value {
	font-size: 18px;
	color: #ffffff;
	line-height: 1.4;
}

.hq-item__value strong {
	font-weight: 800;
}

.hq-item__note {
	font-size: 13px;
	color: #9aa3af;
	font-style: italic;
}

.hq-link {
	color: #ffffff;
	text-decoration: none;
	font-weight: 700;
	transition: color 0.3s ease;
}

.hq-link:hover {
	color: var(--accent-color, #f0b90b);
}

.hq-divider {
	border: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.06);
}

/* Кнопки */
.hq-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* --- ПРАВАЯ КАРТОЧКА (Визуал карты / Фото) --- */
.hq-visual__card {
	background: #11141a;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 480px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

/* Панель переключения вкладок */
.hq-visual__nav {
	background: #181a20;
	padding: 12px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	display: flex;
	gap: 12px;
	z-index: 10;
}

.hq-tab {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #848e9c;
	font-family: monospace;
	font-size: 12px;
	font-weight: 700;
	padding: 8px 16px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.hq-tab:hover {
	color: #ffffff;
	border-color: rgba(255, 255, 255, 0.25);
}

.hq-tab.is-active {
	background: var(--accent-color, #f0b90b);
	color: #000000;
	border-color: var(--accent-color, #f0b90b);
}

/* Контейнеры контента вкладок */
.hq-tab-content {
	display: none;
	width: 100%;
	height: 100%;
	flex-grow: 1;
	position: relative;
}

.hq-tab-content.is-active {
	display: block;
}

/* Вкладка 1: Карта */
.map-container,
.photo-container {
	width: 100%;
	height: 100%;
	min-height: 420px;
	position: relative;
	overflow: hidden;
}

.map-bg,
.photo-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-image: var(--bg-desk);
	filter: grayscale(40%) contrast(110%);
	transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
	z-index: 1;
}

.hq-visual__card:hover .map-bg,
.hq-visual__card:hover .photo-bg {
	transform: scale(1.05);
}

.map-overlay,
.photo-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(17, 20, 26, 0.1) 0%, rgba(17, 20, 26, 0.8) 100%);
	z-index: 2;
}

/* Пульсирующий маркер гео-локации (Радар) */
.map-marker {
	position: absolute;
	top: 45%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
}

.marker-core {
	width: 16px;
	height: 16px;
	background: var(--accent-color, #f0b90b);
	border: 3px solid #0b0e11;
	border-radius: 50%;
	box-shadow: 0 0 15px var(--accent-color, #f0b90b);
	position: relative;
	z-index: 2;
}

.marker-pulse {
	position: absolute;
	width: 60px;
	height: 60px;
	background: rgba(240, 185, 11, 0.3);
	border-radius: 50%;
	animation: radar-pulse 2.5s infinite ease-out;
	z-index: 1;
}

@keyframes radar-pulse {
	0% { transform: scale(0.2); opacity: 1; }
	100% { transform: scale(1.8); opacity: 0; }
}

.marker-tooltip {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	background: #11141a;
	color: #ffffff;
	font-family: monospace;
	font-size: 11px;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 6px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	white-space: nowrap;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.8);
}

/* Ссылка внизу карты */
.map-external-link {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	z-index: 6;
	background: rgba(11, 14, 17, 0.85);
	color: var(--accent-color, #f0b90b);
	font-family: monospace;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	padding: 12px;
	border-radius: 10px;
	border: 1px solid rgba(240, 185, 11, 0.3);
	text-decoration: none;
	backdrop-filter: blur(8px);
	transition: all 0.3s ease;
}

.map-external-link:hover {
	background: var(--accent-color, #f0b90b);
	color: #000000;
}

.photo-badge {
	position: absolute;
	bottom: 20px;
	left: 20px;
	z-index: 6;
	background: rgba(11, 14, 17, 0.8);
	color: #ffffff;
	font-family: monospace;
	font-size: 12px;
	padding: 8px 14px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */
@media screen and (max-width: 1024px) {
	.hq-bento {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.hq-visual__card { min-height: 400px; }
    .hq-header .section-title { font-size: 34px; }
}

@media screen and (max-width: 600px) {
	.hq-section { padding: 90px 0; }
	.hq-header .section-title { font-size: 32px; }
	.hq-card { padding: 28px 24px; }
	.hq-item__value { font-size: 16px; }
	.hq-visual__card { min-height: 350px; }
}

/* ==========================================================================
   FAQ SECTION (Tactical Knowledge Base & Glassmorphism)
   ========================================================================== */

.faq-section,
.faq-section * {
	box-sizing: border-box !important;
}

.faq-section {
	padding: 140px 0;
	background-color: #0b0e11 !important;
	background-image: radial-gradient(circle at 50% 50%, #161a22 0%, #0b0e11 75%) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	position: relative;
	z-index: 2;
}

.faq-container {
	max-width: 960px; /* Оптимальная ширина для чтения в 1 колонку */
	margin: 0 auto;
	padding: 0 24px;
}

/* СЕО Шапка */
.faq-header {
	text-align: center;
	margin-bottom: 70px;
}

.faq-header .section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 14px;
}

.faq-header .section-title {
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px 0;
}

.faq-subtitle {
	font-size: 16px;
	color: var(--text-muted, #848e9c);
	line-height: 1.6;
	max-width: 720px;
	margin: 0 auto;
}

/* --- АККОРДЕОН ВОПРОСОВ --- */
.faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Отдельная панель вопроса */
.faq-item {
	background: rgba(24, 26, 32, 0.6);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 16px;
	overflow: hidden;
	transition: border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.faq-item:hover {
	border-color: rgba(255, 255, 255, 0.2);
}

/* Состояние открытого вопроса */
.faq-item.is-active {
	background: #11141a;
	border-color: var(--accent-color, #f0b90b);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
}

/* Кнопка-триггер (Заголовок вопроса) */
.faq-item__trigger {
	width: 100%;
	background: transparent;
	border: none;
	padding: 26px 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	text-align: left;
	cursor: pointer;
	color: #ffffff;
	font-family: inherit;
	transition: color 0.3s ease;
	outline: none;
}

.faq-item__num {
	font-family: monospace;
	font-size: 14px;
	font-weight: 700;
	color: var(--accent-color, #f0b90b);
	flex-shrink: 0;
}

.faq-item__question {
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	margin: 0;
	flex-grow: 1;
	line-height: 1.4;
	transition: color 0.3s ease;
}

.faq-item.is-active .faq-item__question {
	color: var(--accent-color, #f0b90b);
}

/* Иконка плюс/минус */
.faq-item__icon {
	font-family: monospace;
	font-size: 24px;
	font-weight: 400;
	color: #848e9c;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), color 0.3s ease, background-color 0.3s ease;
	flex-shrink: 0;
}

.faq-item.is-active .faq-item__icon {
	transform: rotate(45deg); /* Плюс плавно проворачивается в крестик */
	color: #000000;
	background: var(--accent-color, #f0b90b);
}

/* Скрытый контент ответа */
.faq-item__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.faq-item__body {
	padding: 0 30px 28px 64px; /* Левый отступ ровно выравнивает текст под заголовком вопроса */
	font-size: 15px;
	color: #a0a8b6;
	line-height: 1.7;
}

.faq-item__body p {
	margin: 0;
}

.faq-item__body strong {
	color: #ffffff;
	font-weight: 600;
}

/* Нижний призыв к действию */
.faq-footer {
	margin-top: 60px;
	padding-top: 36px;
	border-top: 1px dashed rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}

.faq-footer p {
	font-size: 16px;
	font-weight: 600;
	color: #ffffff;
	margin: 0;
}

/* --- АДАПТИВ (Планшеты и Мобильные) --- */

@media screen and (max-width: 1024px) {
	.faq-header .section-title { font-size: 34px; }
}


@media screen and (max-width: 768px) {
	.faq-section { padding: 90px 0; }
	.faq-header .section-title { font-size: 32px; }
	.faq-item__trigger { padding: 20px; gap: 14px; }
	.faq-item__num { font-size: 12px; }
	.faq-item__question { font-size: 16px; }
	.faq-item__body { padding: 0 20px 22px 20px; /* На мобилке убираем большой левый сдвиг */ }
	.faq-footer { flex-direction: column; text-align: center; }
	.faq-footer .btn { width: 100%; }
}

/* ==========================================================================
   TACTICAL PRE-FOOTER & FOOTER HUB (Balanced Architecture & Legal Ledger)
   ========================================================================== */

.site-footer,
.site-footer * {
	box-sizing: border-box !important;
}

.site-footer {
	background-color: #080a0c !important;
	color: #848e9c;
	position: relative;
	z-index: 2;
	overflow: hidden;
}

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

/* --- ЧАСТЬ 1: ПРЕ-ФУТЕР (КАРТОЧКА ПРИЗЫВА) --- */
.footer-cta-wrapper {
	padding: 80px 0 60px;
	background: linear-gradient(180deg, #0b0e11 0%, #080a0c 100%);
}

.footer-cta-card {
	background: #11141a;
	border: 1px solid rgba(240, 185, 11, 0.3);
	border-radius: 28px;
	padding: 60px 50px 40px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.8), 0 0 40px rgba(240, 185, 11, 0.08);
	text-align: center;
}

.footer-cta__bg {
	position: absolute;
	top: -50%;
	left: 50%;
	transform: translateX(-50%);
	width: 600px;
	height: 300px;
	background: radial-gradient(circle, rgba(240, 185, 11, 0.15) 0%, transparent 70%);
	filter: blur(50px);
	z-index: 1;
	pointer-events: none;
}

.footer-cta__glow {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--accent-color, #f0b90b), transparent);
	z-index: 2;
}

.footer-cta__content {
	position: relative;
	z-index: 3;
	max-width: 780px;
	margin: 0 auto 40px;
}

.footer-cta__content .section-badge {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 16px;
}

.footer-cta__title {
	font-size: 44px;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 20px 0;
}

.footer-cta__text {
	font-size: 16px;
	color: #a0a8b6;
	line-height: 1.6;
	margin: 0 0 36px 0;
}

.footer-cta__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
}

.footer-cta__guarantees {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
	padding-top: 32px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-family: monospace;
	font-size: 13px;
	color: #d1d4dc;
}

.guarantee-item { display: flex; align-items: center; gap: 8px; }
.guarantee-icon { color: var(--accent-color, #f0b90b); font-weight: 800; }

/* --- ЧАСТЬ 2: ОСНОВНОЙ ПОДВАЛ (4 СБАЛАНСИРОВАННЫЕ КОЛОНКИ) --- */
.footer-main {
	padding: 80px 0 40px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.1fr 1.2fr; /* Ровные, воздушные пропорции */
	gap: 40px;
	margin-bottom: 50px;
	align-items: flex-start;
}

.footer-col--brand { padding-right: 20px; }

.footer-logo {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	margin-bottom: 16px;
}

.logo-text {
	font-family: monospace, system-ui, sans-serif;
	font-size: 28px;
	font-weight: 900;
	color: #ffffff;
	letter-spacing: 1px;
}

.logo-sub {
	font-size: 11px;
	font-family: monospace;
	color: #9aa3af;
	text-transform: uppercase;
	letter-spacing: 1.5px;
}

.footer-desc {
	font-size: 14px;
	color: #9aa3af;
	line-height: 1.6;
	margin: 0 0 24px 0;
}

.footer-status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: monospace;
	font-size: 11px;
	font-weight: 700;
	color: #2ebd85;
	background: rgba(46, 189, 133, 0.1);
	padding: 6px 12px;
	border-radius: 6px;
	border: 1px solid rgba(46, 189, 133, 0.2);
}

.status-dot {
	width: 6px;
	height: 6px;
	background-color: #2ebd85;
	border-radius: 50%;
	box-shadow: 0 0 6px #2ebd85;
	animation: pulse-green 2s infinite;
}

/* Заголовки колонок */
.footer-heading {
	font-size: 13px;
	font-weight: 800;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin: 0 0 24px 0;
	font-family: monospace;
}

/* Ссылки и контакты */
.footer-links,
.footer-contact-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.footer-links a {
	font-size: 14px;
	color: #848e9c;
	text-decoration: none;
	transition: color 0.3s ease, transform 0.3s ease;
	display: inline-block;
}

.footer-links a:hover {
	color: var(--accent-color, #f0b90b);
	transform: translateX(4px);
}

.footer-contact-list li {
	font-size: 14px;
	color: #848e9c;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.footer-contact-list li span:first-child {
	font-size: 11px;
	font-family: monospace;
	color: #9aa3af;
	text-transform: uppercase;
}

.footer-contact-list a {
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	transition: color 0.3s ease;
}

.footer-contact-list a:hover { color: var(--accent-color, #f0b90b); }

/* Социальные кнопки справа внизу */
.footer-socials { display: flex; gap: 10px; margin-top: 18px; }

.social-btn {
	width: 38px;
	height: 38px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #ffffff;
	text-decoration: none;
	transition: all 0.3s ease;
}

.social-btn:hover {
	background: var(--accent-color, #f0b90b);
	color: #000000;
	border-color: var(--accent-color, #f0b90b);
	transform: translateY(-3px);
}

/* --- ЧАСТЬ 3: ГОРИЗОНТАЛЬНЫЙ ЮРИДИЧЕСКИЙ РЕЕСТР (Вывели из 1-й колонки!) --- */
.footer-legal-ledger {
	background: rgba(17, 20, 26, 0.85);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-left: 4px solid var(--accent-color, #f0b90b);
	border-radius: 14px;
	padding: 22px 28px;
	margin-bottom: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.ledger-left { display: flex; align-items: center; gap: 16px; }
.ledger-shield { font-size: 28px; color: var(--accent-color, #f0b90b); flex-shrink: 0; }

.ledger-info { display: flex; flex-direction: column; gap: 4px; }
.ledger-title { font-size: 14px; font-weight: 800; color: #ffffff; font-family: monospace; }
.ledger-details { font-size: 13px; color: #848e9c; }
.ledger-details strong { color: #ffffff; }

.ledger-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: rgba(240, 185, 11, 0.15);
	border: 1px solid rgba(240, 185, 11, 0.3);
	color: #ffffff;
	padding: 10px 18px;
	border-radius: 10px;
	font-size: 12px;
	font-weight: 700;
	font-family: monospace;
	text-decoration: none;
	transition: all 0.3s ease;
	white-space: nowrap;
}

.ledger-btn:hover {
	background: var(--accent-color, #f0b90b);
	color: #000000;
	border-color: var(--accent-color, #f0b90b);
	transform: translateY(-2px);
}

/* Разделитель и подвал */
.footer-divider { 
	border: 0; 
	height: 1px; 
	background: rgba(255, 255, 255, 0.06); 
	margin: 0 0 32px 0; 
}

/* Выстраиваем копирайт и ссылки в колонку по центру */
.footer-bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-bottom: 24px;
	font-size: 13px;
	color: #9aa3af;
	text-align: center;
}

.footer-copyright p { margin: 0; }
.footer-dev { 
	color: #9aa3af; 
	font-size: 12px; 
	margin-left: 8px; 
	display: inline-block; 
}

/* Центрируем ссылки */
.footer-legal-links { 
	display: flex; 
	justify-content: center;
	flex-wrap: wrap; 
	gap: 24px; 
}

.footer-legal-links a { 
	color: #9aa3af; 
	text-decoration: none; 
	transition: color 0.3s ease; 
}

.footer-legal-links a:hover { 
	color: #ffffff; 
}

/* Центрируем дисклеймер и делаем его аккуратным блоком */
.footer-disclaimer {
	font-size: 11px;
	color: #8a929c;
	line-height: 1.6;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.03);
	text-align: center; /* Центрируем текст */
	max-width: 1000px;  /* Ограничиваем ширину для премиального вида */
	margin: 0 auto;     /* Ставим ровно по центру экрана */
}

.footer-disclaimer p { margin: 0; }
.footer-disclaimer strong { color: #9aa3af; }

/* ==========================================================================
   GLOBAL UI WIDGETS (Cookie + Scroll Top + Floating Contact Hub)
   ========================================================================== */

/* 1. Стеклянный Cookie-баннер */
.cookie-card {
	position: fixed;
	bottom: 30px;
	left: 30px;
	max-width: 400px;
	background: rgba(17, 20, 26, 0.95);
	border: 1px solid rgba(240, 185, 11, 0.3);
	border-radius: 20px;
	padding: 24px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	z-index: 9998;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	opacity: 1;
	transform: translateY(0);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.cookie-card.is-hidden { opacity: 0; transform: translateY(30px); pointer-events: none; }
.cookie-card__icon { font-size: 24px; color: var(--accent-color, #f0b90b); flex-shrink: 0; }
.cookie-card__content h4 { font-size: 15px; font-weight: 800; color: #ffffff; margin: 0 0 6px 0; }
.cookie-card__content p { font-size: 13px; color: #a0a8b6; line-height: 1.5; margin: 0 0 16px 0; }
.cookie-card__actions { display: flex; gap: 10px; }
.btn--small { padding: 8px 16px !important; font-size: 12px !important; border-radius: 8px !important; }

/* 2. Кнопка «Наверх» */
.scroll-top-btn {
	position: fixed;
	bottom: 115px; /* Чуть приподняли, чтобы не конфликтовать с зоной кнопки чата */
	right: 30px;
	width: 48px;
	height: 48px;
	background: rgba(17, 20, 26, 0.9) !important;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	color: #ffffff;
	cursor: pointer !important; /* Принудительный курсор */
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(10px);
	z-index: 999999 !important; /* Поднимаем в космос, чтобы никто не перекрывал клик */
	opacity: 0;
	transform: translateY(15px);
	pointer-events: none;
	transition: all 0.3s ease;
}

.scroll-top-btn svg {
	pointer-events: none !important;
}

.scroll-top-btn.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto !important; /* Разрешаем клики */
}
.scroll-top-btn:hover { background: var(--accent-color, #f0b90b); color: #000000; border-color: var(--accent-color, #f0b90b); transform: translateY(-4px); }

/* 3. Плавающий Мульти-виджет связи */
.floating-hub {
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.floating-hub__menu {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
	opacity: 0;
	transform: translateY(15px) scale(0.9);
	pointer-events: none;
	transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
	transform-origin: bottom right;
}

.floating-hub.is-open .floating-hub__menu { opacity: 1; transform: translateY(0) scale(1); pointer-events: auto; }

.floating-channel {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #11141a;
	border: 1px solid rgba(255, 255, 255, 0.15);
	padding: 10px 18px;
	border-radius: 100px;
	color: #ffffff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.7);
	white-space: nowrap;
	transition: all 0.3s ease;
}

.floating-channel:hover { transform: translateX(-5px); }
.floating-channel--phone:hover { border-color: #2ebd85; color: #2ebd85; }
.floating-channel--tg:hover { border-color: #0088cc; color: #0088cc; }
.floating-channel--wa:hover { border-color: #25d366; color: #25d366; }

.channel-icon { display: flex; align-items: center; justify-content: center; }

.floating-hub__btn {
	width: 60px;
	height: 60px;
	background: var(--accent-color, #f0b90b);
	border: none;
	border-radius: 50%;
	color: #000000;
	font-size: 26px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 30px rgba(240, 185, 11, 0.4);
	position: relative;
	transition: transform 0.3s ease, background-color 0.3s ease;
	outline: none;
}

.floating-hub__btn:hover { transform: scale(1.08); background: #ffd84d; }
.hub-pulse { position: absolute; width: 100%; height: 100%; background: rgba(240, 185, 11, 0.4); border-radius: 50%; animation: hub-ping 2s infinite ease-out; z-index: 1; }

@keyframes hub-ping { 0% { transform: scale(1); opacity: 0.8; } 100% { transform: scale(1.6); opacity: 0; } }

.hub-icon { position: absolute; z-index: 2; transition: transform 0.3s ease, opacity 0.3s ease; }
.hub-icon--close { opacity: 0; transform: rotate(-90deg) scale(0.5); font-size: 32px; line-height: 1; }
.floating-hub.is-open .hub-icon--default { opacity: 0; transform: rotate(90deg) scale(0.5); }
.floating-hub.is-open .hub-icon--close { opacity: 1; transform: rotate(0) scale(1); }

/* --- АДАПТИВ ДЛЯ ФУТЕРА И ВИДЖЕТОВ --- */
@media screen and (max-width: 1024px) {
	.footer-grid { grid-template-columns: repeat(2, 1fr); gap: 36px; }
	.footer-legal-ledger { flex-direction: column; align-items: flex-start; }
	.ledger-right { width: 100%; }
	.ledger-btn { width: 100%; justify-content: center; }
    .footer-cta__title { font-size: 36px; }
}

@media screen and (max-width: 600px) {
	.footer-grid { grid-template-columns: 1fr; gap: 32px; }
	.footer-cta-card { padding: 36px 20px; border-radius: 20px; }
	.footer-cta__title { font-size: 28px; }
	.footer-cta__actions { flex-direction: column; width: 100%; }
	.footer-cta__actions .btn { width: 100%; }
	.footer-cta__guarantees { flex-direction: column; gap: 16px; }
	.cookie-card { bottom: 16px; left: 16px; right: 16px; max-width: none; }
	.floating-hub { bottom: 20px; right: 20px; }
	.scroll-top-btn { bottom: 90px; right: 20px; width: 42px; height: 42px; }
}



/* --- Терминальные уведомления формы (AJAX Responses) --- */
.form-response {
	font-family: monospace;
	font-size: 13px;
	font-weight: 700;
	padding: 14px 20px;
	border-radius: 12px;
	margin-bottom: 20px;
	display: none; /* Скрыто по умолчанию */
	letter-spacing: 0.5px;
}

.form-response:not(:empty) {
	display: block;
	animation: terminal-fade-in 0.4s ease;
}

.form-response.is-success {
	background: rgba(46, 189, 133, 0.15);
	color: #2ebd85;
	border: 1px solid rgba(46, 189, 133, 0.3);
}

.form-response.is-error {
	background: rgba(240, 74, 74, 0.15);
	color: #f04a4a;
	border: 1px solid rgba(240, 74, 74, 0.3);
}

@keyframes terminal-fade-in {
	from { opacity: 0; transform: translateY(-10px); }
	to { opacity: 1; transform: translateY(0); }
}


/* ==========================================================================
   LEGAL PAGES (Privacy, Terms, Disclaimer)
   ========================================================================== */

.legal-container {
	max-width: 800px; /* Идеальная ширина для чтения текста */
	margin: 0 auto;
	padding: 0 24px;
}

/* Шапка документа */
.legal-hero {
	padding: 160px 0 60px;
	background: linear-gradient(180deg, #0b0e11 0%, #11141a 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	text-align: center;
}

.legal-hero .section-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	color: var(--accent-color, #f0b90b);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 16px;
	background: rgba(240, 185, 11, 0.1);
	padding: 6px 14px;
	border-radius: 6px;
	border: 1px solid rgba(240, 185, 11, 0.2);
}

.legal-title {
	font-size: 42px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.legal-meta {
	font-family: monospace;
	font-size: 14px;
	color: #848e9c;
	margin: 0;
}

/* --- СЕТКА КОНТАКТОВ (Info Grid) --- */
.legal-info-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	background: rgba(255, 255, 255, 0.02);
	padding: 30px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.05);
	margin-bottom: 40px;
	align-items: start;
}

.legal-info-item {
	margin: 0;
	padding: 0;
}

.legal-info-label {
	color: #ffffff;
	display: block;
	margin-bottom: 8px;
	font-family: monospace;
	text-transform: uppercase;
	font-size: 12px;
}

.legal-info-value,
.legal-info-value a {
	color: #a0a8b6;
	line-height: 1.4;
	display: block;
	font-size: 14px;
	text-decoration: none;
}

.legal-info-value a {
	color: var(--accent-color, #f0b90b);
}

.legal-info-value a:hover {
	text-decoration: underline;
}

/* Стилизация самого текста */
.legal-content {
	padding: 80px 0 120px;
	background-color: #0b0e11;
}

.wp-formatted-content {
	color: #a0a8b6;
	font-size: 16px;
	line-height: 1.8;
}

/* Заголовки внутри текста */
.wp-formatted-content h2,
.wp-formatted-content h3,
.wp-formatted-content h4 {
	color: #ffffff;
	font-weight: 700;
	margin: 40px 0 16px 0;
	line-height: 1.3;
}

.wp-formatted-content h2 { font-size: 28px; }
.wp-formatted-content h3 { font-size: 22px; }

/* Параграфы и списки */
.wp-formatted-content p {
	margin: 0 0 24px 0;
}

.wp-formatted-content ul,
.wp-formatted-content ol {
	margin: 0 0 24px 0;
	padding-left: 24px;
}

.wp-formatted-content li {
	margin-bottom: 10px;
}

.wp-formatted-content li::marker {
	color: var(--accent-color, #f0b90b);
	font-weight: bold;
}

/* Ссылки в тексте */
.wp-formatted-content p a {
	color: var(--accent-color, #f0b90b);
	text-decoration: underline;
	text-decoration-color: rgba(240, 185, 11, 0.4);
	text-underline-offset: 4px;
	transition: all 0.3s ease;
}

.wp-formatted-content p a:hover {
	color: #ffffff;
	text-decoration-color: #ffffff;
}

/* Адаптив */
@media screen and (max-width: 1024px) {
	/* На планшете делаем 2 колонки контактов */
	.legal-info-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
	}
}

@media screen and (max-width: 768px) {
	.legal-hero { padding: 120px 0 40px; }
	.legal-title { font-size: 32px; }
	.legal-content { padding: 60px 0 80px; }
}

@media screen and (max-width: 480px) {
	/* На телефоне выстраиваем контакты в 1 колонку */
	.legal-info-grid {
		grid-template-columns: 1fr;
		padding: 24px;
		gap: 24px;
	}
}





/* ==========================================================================
   GLOBAL MODAL (POP-UP FOR DISPATCH FORM)
   ========================================================================== */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(11, 14, 17, 0.85);
    backdrop-filter: blur(8px);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 1;
    visibility: visible;
    transition: all 0.3s ease;
}

.modal-overlay.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.modal-card {
    background: linear-gradient(180deg, #11141a 0%, #0b0e11 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    width: 100%;
    max-width: 520px;
    padding: 32px;
    position: relative;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 20px rgba(240, 185, 11, 0.1);
    max-height: 90vh;
    overflow-y: auto;
}

.modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: transparent;
    border: none;
    color: #9aa3af;
    font-size: 28px;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s ease;
}

.modal-close:hover {
    color: #ffffff;
}

.modal-header {
    text-align: center;
    margin-bottom: 24px;
}

.modal-title {
    font-size: 24px;
    font-weight: 800;
    color: #ffffff;
    margin: 8px 0 4px;
}

.modal-subtitle {
    font-size: 13px;
    color: #848e9c;
    margin: 0;
}

.modal-form .form-group {
    margin-bottom: 16px;
    text-align: left;
}

.modal-form label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: #a0a8b6;
    margin-bottom: 6px;
    text-transform: uppercase;
    font-family: monospace;
}

.modal-form input,
.modal-form textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 12px 14px;
    color: #ffffff;
    font-size: 14px;
    transition: all 0.2s ease;
}

.modal-form input:focus,
.modal-form textarea:focus {
    outline: none;
    border-color: var(--accent-color, #f0b90b);
    background: rgba(255, 255, 255, 0.06);
}

.modal-form .btn--full {
    width: 100%;
    margin-top: 10px;
}

/* ==========================================================================
   HERO BUTTONS: В один ряд на мобильных экранах (50% / 50% Dual UI)
   ========================================================================== */

@media screen and (max-width: 600px) {
	.hero__actions {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important; /* Жестко запрещаем перенос на новую строку */
		gap: 10px !important;         /* Аккуратный отступ между кнопками */
		width: 100%;
	}

	.hero__actions .btn {
		flex: 1 1 0% !important;      /* Обе кнопки забирают ровно по 50% доступной ширины */
		padding: 12px 6px !important; /* Уменьшаем боковые поля, чтобы влез текст */
		font-size: 13px !important;   /* Оптимальный размер шрифта для 360px-400px экранов */
		white-space: nowrap;          /* Запрещаем словам разрываться на две строки */
		text-align: center;
		justify-content: center;
		min-width: 0;                 /* Защита от выталкивания за пределы экрана во Flexbox */
	}
}

/* ==========================================================================
   MOBILE HEADER POLISH: Идеальный баланс Лого + Языки + Бургер
   ========================================================================== */

/* 1. Настраиваем сам бургер (делаем его белым и видимым) */
.header__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 26px;
	height: 20px;
	background: transparent !important;
	border: none !important;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
	z-index: 10002;
}

.header__burger span {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #ffffff !important; 
	border-radius: 2px;
	transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.2s ease;
}

.header__burger:hover span,
.header__burger:active span {
	background-color: var(--accent-color, #f0b90b) !important;
}

/* 2. Ювелирная сетка для планшетов и мобилок (до 1024px) */
@media screen and (max-width: 1024px) {
	.header__burger {
		display: flex !important;
	}
	
	/* Жестко фиксируем боковые поля шапки */
	.header__container {
		padding: 0 16px !important;
		gap: 10px !important;
	}
	
	/* Уменьшаем логотип, чтобы он не съедал пространство */
	.header__logo img {
		max-height: 26px !important; /* Было 38px — теперь аккуратно и компактно */
		width: auto;
	}
	
	/* Правая зона (Языки + Бургер) прижимается вправо */
	.header__utilities {
		gap: 12px !important; /* Ровный, красивый отступ между языками и бургером */
		margin-left: auto;    /* Толкает блок вправо */
	}
	
	/* Делаем языковую капсулу ультра-компактной для тач-экранов */
	.header-lang {
		padding: 2px !important;
		border-radius: 14px !important;
	}
	
	.header-lang .lang-item {
		padding: 3px 6px !important;
		font-size: 10px !important;
		border-radius: 12px !important;
	}
}

/* Увеличиваем контраст для всех текстов в футере и кнопках */
.site-footer, 
.footer-desc, 
.footer-copyright, 
.site-footer a,
.footer-heading,
.site-footer strong {
    color: #e0e0e0 !important; /* Светло-серый, почти белый */
}

/* Усиливаем кнопки (для INITIATE CASE BRIEFING) */
.btn--cta {
    background-color: #d4af37 !important; /* Золотой акцент */
    color: #000000 !important; /* Черный текст на золотом — идеал контраста */
    font-weight: 600;
}

a.btn.btn--cta {
    background-color: #d4af37 !important;
    color: #000000 !important;
}


/* Принудительно повышаем контраст для графических элементов */
.node span {
    color: #ffffff !important;
    text-shadow: 0 0 5px rgba(0,0,0,0.5); /* Добавляем тень, чтобы текст всегда читался */
    background: rgba(0,0,0,0.3); /* Немного затемняем фон под текстом */
}

.btn--cta {
    background-color: #d4af37 !important; /* Наше золото */
    color: #000000 !important; /* ЧЕРНЫЙ текст - это обязательное условие для золотого фона */
    font-weight: 700 !important; /* Делаем жирнее для лучшей читаемости */
    border: none;
}