:root {
	--bg: #0f1218;
	--red: #dd3333;
	--white: #ffffff;
	--black: #000000;

	--text: rgba(0, 0, 0);
	--text-dim: rgba(255, 255, 255, .68);
	--line: rgba(255, 255, 255, .10);
	--shadow: 0 14px 40px rgba(0, 0, 0, .35);

	--radius: 16px;
	--anim: 220ms cubic-bezier(.2, .8, .2, 1);
	--font: "Roboto", sans-serif;
}

*::-webkit-input-placeholder {
	color: #888888;
	opacity: 1;
}

*:-moz-placeholder {
	color: #888888;
	opacity: 1;
}

*::-moz-placeholder {
	color: #888888;
	opacity: 1;
}

*:-ms-input-placeholder {
	color: #888888;
	opacity: 1;
}


body input:focus:required:invalid,
body textarea:focus:required:invalid {}

body input:required:valid,
body textarea:required:valid {}

body {
	font-family: var(--font);
	font-size: 16px;
	line-height: 160%;
	color: #3E4550;
	font-weight: 600;
	overflow-x: hidden;
	margin: 0;
	background-color: #fff;
	scroll-behavior: smooth;
}

button {
	cursor: pointer;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
}

input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

button,
textarea,
input.text,
input[type="text"],
input[type="button"],
input[type="submit"] {
	-webkit-appearance: none;
}

a,
button,
input,
img {
	/* transition: all 0.3s; */
}

h1,
h2,
h3,
h4,
h5,
h6 {
	padding: 0;
	margin: 0;
	font-weight: normal;
}

strong {
	font-weight: 700;
}

a {
	text-decoration: none;
	outline: none;
	color: unset;
}

* {
	outline: none !important;
}

ul {
	padding: 0;
	margin: 0;
}

ul li {
	list-style-type: none;
	outline: none;
}

img {
	outline: none;
	display: block;
}

p {
	padding: 0;
	margin: 0;
}

form {
	margin: 0;
}

/* Actions */
.actions {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.btn-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	appearance: none;
	border: 0;
	cursor: pointer;
	color: var(--white);
	background: var(--red);
	box-shadow: 0 10px 24px rgba(221, 51, 51, .22);
	font-weight: 750;
	letter-spacing: .2px;
	border-radius: 14px;
	padding: 14px 25px;
	transition: transform var(--anim), background var(--anim), box-shadow var(--anim);
	user-select: none;
}

.btn-cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(221, 51, 51, .28);
}

.btn--full {
	width: 100%;
}

/* Buttons */
.btn-primary,
.btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 40px;
	padding: 0 16px;
	border-radius: 16px;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: .2px;
	transition: transform var(--anim), box-shadow var(--anim), background var(--anim), border-color var(--anim);
	white-space: nowrap;
}

.btn-primary {
	color: var(--white);
	border: 1px solid rgba(221, 51, 51, .55);
	background: linear-gradient(135deg, rgba(221, 51, 51, .95), rgba(221, 51, 51, .72));
	box-shadow: 0 18px 46px rgba(221, 51, 51, .16);
}

.btn-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 24px 60px rgba(221, 51, 51, .22);
}

.btn-ghost {
	margin-top: 18px;
	color: rgba(0, 0, 0, .86);
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(15, 18, 24, .03);
	box-shadow: 0 18px 46px rgba(0, 0, 0, .08);
}

.btn-ghost:hover {
	transform: translateY(-1px);
	background: rgba(15, 18, 24, .05);
	border-color: rgba(221, 51, 51, .35);
}

.btn-primary--next {
	margin-top: 18px;
	background: var(--red);
	justify-content: space-between;
	padding-right: 14px;
	padding: 14px 25px;
	height: auto;
}

.btn-primary__icon {
	width: 10px;
	height: 10px;
	border-top: 1px solid rgba(255, 255, 255, .92);
	border-right: 1px solid rgba(255, 255, 255, .92);
	transform: rotate(45deg);
}

.btn-ghost .btn-primary__icon {
	width: 10px;
	height: 10px;
	border-top: 1px solid rgba(0, 0, 0, 0.92);
	border-right: 1px solid rgba(0, 0, 0, 0.92);
	transform: rotate(45deg);
}

:where(.split__text, .blk-text, .blk-list, .blk-feature, .blk-plans, .solutioncard, .frame-content) h1 {
	font-weight: 700;
	letter-spacing: .2px;
	line-height: 1.12;
	color: rgba(0, 0, 0, .92);
	font-size: clamp(28px, 3.2vw, 44px);
}

/* H2 */
:where(.split__text, .blk-text, .blk-list, .blk-feature, .blk-refcards, .blk-plans, .solutioncard, .frame-content) h2 {
	font-weight: 700;
	letter-spacing: .2px;
	line-height: 1.18;
	color: rgba(0, 0, 0, .92);
	font-size: clamp(24px, 2.2vw, 26px);
}

/* H3 */
:where(.split__text, .blk-text, .blk-list, .blk-feature, .blk-refcards, .blk-plans, .solutioncard, .frame-content) h3 {
	font-weight: 700;
	letter-spacing: .15px;
	line-height: 1.22;
	color: rgba(0, 0, 0, .90);
	font-size: clamp(20px, 1.7vw, 20px);
}



/* H4 */
:where(.split__text, .blk-text, .blk-list, .blk-feature, .blk-refcards, .blk-plans, .solutioncard, .frame-content) h4 {
	font-weight: 700;
	letter-spacing: .12px;
	line-height: 1.25;
	color: rgba(0, 0, 0, .88);
	font-size: 18px;
}

:where(.split__text, .blk-text, .blk-list, .blk-feature, .blk-refcards, .blk-plans, .solutioncard, .frame-content) h5 {
	font-weight: 700;
	letter-spacing: .12px;
	line-height: 1.25;
	color: rgba(0, 0, 0, .88);
	font-size: 16px;
}

:where(.split__text, .blk-list, .blk-feature, .solutioncard, .frame-content) ul {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 8px;
}

:where(.split__text, .blk-list, .blk-feature, .solutioncard, .frame-content) ul li {
	position: relative;
	padding-left: 28px;
	font-weight: 600;
	line-height: 1.55;
	color: rgba(0, 0, 0, .72);
}

:where(.split__text, .blk-list, .blk-feature, .solutioncard, .frame-content) ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .16);
	border: 1px solid rgba(221, 51, 51, .35);
	box-shadow: 0 10px 24px rgba(221, 51, 51, .12);
}

:where(.split__text, .blk-list, .blk-feature, .solutioncard, .frame-content) ul li::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .85);
}

.header {
	position: relative;
	z-index: 50;
	font-family: var(--font);
	color: var(--text);
}

.header__bar {
	background: var(--white);
	border-bottom: 1px solid var(--line);
	backdrop-filter: blur(10px);
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 105px;
	max-width: 1400px;
}

/* Brand */
.brand {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: var(--white);
}

.brand__logo {
	display: block;
	max-height: 45px;
	width: auto;
}

.brand__sep {
	width: 1px;
	height: 26px;
	background: rgb(0 0 0 / 22%);
	border-radius: 2px;
}

/* Nav */
.nav__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.nav__item {
	position: relative;
}

.nav__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 12px;
	text-decoration: none;
	color: var(--black);
	letter-spacing: .2px;
	transition: background var(--anim), color var(--anim);
}

.nav__link:hover {
	background: rgba(0, 0, 0, 0.06);
	color: var(--black);
}

.nav__item.nav__item--mega .nav__link {
	padding-right: 28px;
}

.nav__item.nav__item--mega .nav__link::after {
	position: absolute;
	right: 5px;
	top: 50%;
	transform: translateY(-50%) rotate(0deg);
	content: "";
	width: 18px;
	height: 18px;

	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M5.70711%209.71069C5.31658%2010.1012%205.31658%2010.7344%205.70711%2011.1249L10.5993%2016.0123C11.3805%2016.7927%2012.6463%2016.7924%2013.4271%2016.0117L18.3174%2011.1213C18.708%2010.7308%2018.708%2010.0976%2018.3174%209.70708C17.9269%209.31655%2017.2937%209.31655%2016.9032%209.70708L12.7176%2013.8927C12.3271%2014.2833%2011.6939%2014.2832%2011.3034%2013.8927L7.12132%209.71069C6.7308%209.32016%206.09763%209.32016%205.70711%209.71069Z%27%20fill%3D%27%23000000%27%2F%3E%3C%2Fsvg%3E");
	opacity: .9;
	transition: transform var(--anim);
	pointer-events: none;
}

.nav__item.nav__item--mega .nav__link:hover::after {
	transform: translateY(-50%) rotate(180deg);
}

/* Language dropdown */
.lang {
	position: relative;
}

.lang__btn {
	appearance: none;
	border: 1px solid var(--black);
	background: rgba(255, 255, 255, .04);
	color: var(--black);
	border-radius: 14px;
	padding: 10px 12px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: background var(--anim), border-color var(--anim);
}

.lang__btn:hover {
	background: var(--bg);
	color: var(--white);
}

.lang__code {
	font-weight: 800;
	letter-spacing: .6px;
	font-size: 12px;
	text-transform: uppercase;
}

.lang__dd {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	min-width: 80px;
	padding: 8px;
	background: var(--white);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 14px;
	box-shadow: var(--shadow);
	opacity: 0;
	transform: translateY(-10px);
	pointer-events: none;
	visibility: hidden;
	transition: opacity var(--anim), transform var(--anim), visibility var(--anim);
	z-index: 120;
}

.lang.is-open .lang__dd {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	visibility: visible;
}

.lang__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 10px 10px;
	border-radius: 12px;
	text-decoration: none;
	color: var(--black);
	font-weight: 750;
}

.lang__item:hover {
	background: rgba(0, 0, 0, 0.06);
	color: var(--black);
}

.lang__item.is-active {
	color: var(--black);
}

.lang__item.is-active::after {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .18);
}

/* Mega menu (FIX: не закрывается + не вылазит) */
.mega {
	position: fixed;
	/* чтобы не вылазило за экран */
	left: 50%;
	top: 0;
	/* реальную позицию ставим JS-ом */
	width: min(860px, calc(100vw - 36px));
	max-width: calc(100vw - 24px);
	padding-top: 5px;
	/* мостик — нет разрыва между пунктом и меню */

	opacity: 0;
	transform: translate(-50%, -14px);
	pointer-events: none;
	visibility: hidden;
	transition: opacity var(--anim), transform var(--anim), visibility var(--anim);

	z-index: 9999;
}

.nav__item--mega.is-open .mega,
.nav__item--mega:hover .mega {
	opacity: 1;
	transform: translate(-50%, 0);
	pointer-events: auto;
	visibility: visible;
}

.mega__wrap {
	background: rgba(255, 255, 255, 0.97);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: var(--radius);
	box-shadow: var(--shadow);

	/* FIX: ограничение по высоте на маленьких экранах */
	max-height: min(560px, calc(100vh - 110px));
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

.mega__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	padding: 14px 18px 18px;
}

.mega__card {
	position: relative;
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 12px 12px;
	border-radius: 14px;
	text-decoration: none;
	border: 1px solid rgba(0, 0, 0, 0.1);
	background: rgba(0, 0, 0, 0.03);
	transition: transform var(--anim), background var(--anim), border-color var(--anim);
	min-height: 56px;
}

.mega__card:hover {
	transform: translateY(-1px);
	background: rgba(0, 0, 0, 0.06);
	border-color: rgba(221, 51, 51, .35);
}

.v2 .mega__card:hover {
	transform: translateY(0px);
}

.mega__icon {
	position: relative;
	display: grid;
	place-items: center;
	overflow: hidden;
	margin-top: 10px;
}

.v2 .mega__icon {
	object-fit: cover;
	height: 95px;
	align-content: center;
}


.v2 .mega__icon::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	background: linear-gradient(to top, var(--bg), transparent);
	background: -webkit-linear-gradient(bottom, var(--bg) 0, transparent 100%);
	background: linear-gradient(360deg, var(--bg) 0, transparent 100%);
	border-radius: 14px;
	z-index: 1;
}

.mega__icon img {
	max-width: 185px;
	height: 100%;
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out
}

.v2 .mega__icon img {
	max-height: 130px;
	width: 100%;
}

.v2 .mega__icon:hover img,
.mega__icon:active img {
	-webkit-transform: scale(1.10);
	-moz-transform: scale(1.10);
	-ms-transform: scale(1.10);
	-o-transform: scale(1.10);
	transform: scale(1.10)
}


.mega__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	color: var(--black);
	padding: 0px 12px 0px 12px;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .3px;
	overflow: hidden;
	text-align: center;
	line-height: 1.2;
}

.v2 .mega__text {
	position: absolute;
	bottom: 20px;
	z-index: 2;
}


.mega__foot {
	padding: 14px 18px 18px;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	background: rgba(0, 0, 0, 0.02);
}

.mega__all {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--black);
	font-weight: 600;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.04);
	border: 1px solid rgba(0, 0, 0, 0.12);
	transition: background var(--anim), border-color var(--anim);
}

.mega__all:hover {
	background: rgba(0, 0, 0, 0.06);
	border-color: rgba(221, 51, 51, .35);
}

.arrow {
	width: 8px;
	height: 8px;
	border-right: 1px solid rgba(0, 0, 0, 0.7);
	border-top: 1px solid rgba(0, 0, 0, 0.7);
	transform: rotate(45deg);
}

/* Burger (hidden on desktop) */
.burger {
	display: none;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	border: 1px solid rgb(0 0 0 / 14%);
	background: rgb(0 0 0 / 4%);
	cursor: pointer;
	transition: background var(--anim), border-color var(--anim);
}

.burger:hover {
	background: rgba(0, 0, 0, 0.06);
	border-color: rgba(0, 0, 0, 0.22);
}

.burger__lines {
	display: block;
	width: 18px;
	height: 2px;
	background: rgba(0, 0, 0, 0.86);
	position: relative;
	margin: 0 auto;
	border-radius: 2px;
}

.burger__lines:before,
.burger__lines:after {
	content: "";
	position: absolute;
	left: 0;
	width: 18px;
	height: 2px;
	background: rgba(0, 0, 0, 0.86);
	border-radius: 2px;
}

.burger__lines:before {
	top: -6px;
}

.burger__lines:after {
	top: 6px;
}

/* =========================
   Drawer (NEW structure)
   ========================= */
.drawer {
	position: fixed;
	inset: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--anim);
	z-index: 100;
}

.drawer.is-open {
	opacity: 1;
	pointer-events: auto;
}

.drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	border: 0;
	cursor: pointer;
}

.drawer__panel {
	position: relative;
	margin-left: auto;
	width: min(420px, 92vw);
	height: 100%;
	background: rgba(15, 18, 24, .98);
	border-left: 1px solid rgba(255, 255, 255, .12);
	box-shadow: var(--shadow);
	transform: translateX(16px);
	transition: transform var(--anim);
	display: flex;
	flex-direction: column;
	z-index: 1;
}

.drawer.is-open .drawer__panel {
	transform: translateX(0);
}

.drawer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 16px;
	border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.drawer__title {
	font-weight: 900;
	color: var(--white);
	letter-spacing: .2px;
}

.drawer__close {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .04);
	cursor: pointer;
	position: relative;
}

.drawer__close:before,
.drawer__close:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 2px;
	background: rgba(255, 255, 255, .86);
	transform-origin: center;
}

.drawer__close:before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.drawer__close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.drawer__content {
	padding: 14px 16px 16px;
	overflow: auto;
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* =========================
   Mobile nav UL/LI
   ========================= */
.mnav {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mnav>li {
	position: relative;
	margin: 0;
	padding: 0;
	margin-bottom: 8px;
}

.mnav>li:last-child {
	margin-bottom: 0px;
}

.mnav>li.is-open .sub-menu {
	margin-top: 8px;
}

.mnav>li>a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;

	padding: 12px 12px;
	padding-right: 44px;
	border-radius: 14px;
	text-decoration: none;
	color: var(--white);
	font-weight: 850;

	background: rgba(255, 255, 255, .03);
	border: 1px solid rgba(255, 255, 255, .10);
}

.mnav>li>a:hover {
	background: rgba(255, 255, 255, .05);
	border-color: rgba(221, 51, 51, .35);
}

.mnav>li>a::after {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	content: "";
	width: 18px;
	height: 18px;

	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;
	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M5.70711%209.71069C5.31658%2010.1012%205.31658%2010.7344%205.70711%2011.1249L10.5993%2016.0123C11.3805%2016.7927%2012.6463%2016.7924%2013.4271%2016.0117L18.3174%2011.1213C18.708%2010.7308%2018.708%2010.0976%2018.3174%209.70708C17.9269%209.31655%2017.2937%209.31655%2016.9032%209.70708L12.7176%2013.8927C12.3271%2014.2833%2011.6939%2014.2832%2011.3034%2013.8927L7.12132%209.71069C6.7308%209.32016%206.09763%209.32016%205.70711%209.71069Z%27%20fill%3D%27%23ffffff%27%2F%3E%3C%2Fsvg%3E");

	opacity: .9;
	transition: transform var(--anim);
	pointer-events: none;
}

.mnav>li.has-sub>a::after {
	transform: translateY(-50%) rotate(0deg);
}

.mnav>li.has-sub.is-open>a::after {
	transform: translateY(-50%) rotate(180deg);
}

/* =========================
   Sub-menu slideToggle
   ========================= */
.mnav .sub-menu {
	display: flex;
	gap: 10px;
	flex-direction: column;
	list-style: none;
	padding: 0;

	overflow: hidden;
	height: 0;
	/* slideToggle управляет */
	opacity: 0;
	transition: opacity var(--anim);
}

.mnav>li.is-open>.sub-menu {
	opacity: 1;
}

/* submenu items */
.mnav .sub-menu>li {
	position: relative;
	margin: 0;
	padding: 0;
}

.mnav .sub-menu>li>a {
	display: block;
	text-decoration: none;

	padding: 12px 12px;
	border-radius: 14px;
	color: var(--white);
	background: rgb(63 63 63 / 3%);
	border: 1px solid rgba(255, 255, 255, .10);
	font-weight: 750;
	line-height: 1.25;
}

.mnav .sub-menu>li.view__all>a {
	background: rgb(63 63 63 / 3%);
	border-color: rgba(221, 51, 51, .35);
}

.mnav .sub-menu>li>a:hover,
.mnav .sub-menu>li.view__all>a:hover {
	background: rgba(255, 255, 255, .05);
	border-color: rgba(221, 51, 51, .35);
}

/* small indent */
.mnav .sub-menu {
	padding-left: 6px;
}

.mnav__bottom {
	display: grid;
	gap: 12px;
}

.mnav__label {
	color: var(--text-dim);
	font-size: 12px;
	font-weight: 750;
	margin-bottom: 8px;
}

.mnav__langrow {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.pill {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 55px;
	height: 55px;
	text-decoration: none;
	color: var(--white);
	text-transform: uppercase;
	font-weight: 850;
	font-size: 14px;
	padding: 10px 12px;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .04);
}

.pill.is-active {
	color: var(--white);
	border-color: rgba(221, 51, 51, .50);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
}

/* Modal (плавно как ты просил) */
.modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: grid;
	place-items: center;

	opacity: 0;
	pointer-events: none;
	visibility: hidden;

	transition: opacity .3s ease, visibility .3s ease;
}

.modal.is-open {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
}

.modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .62);
	opacity: 0;
	transition: opacity .3s ease;
}

.modal.is-open .modal__backdrop {
	opacity: 1;
}

.modal__dialog {
	position: relative;
	width: min(640px, calc(100vw - 36px));
	background: rgba(255, 255, 255, 0.98);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	padding: 18px 18px 16px;

	transition: all .3s ease;
	transform: translateY(40px) scale(.9);
}

.modal.is-open .modal__dialog {
	transform: translateY(0) scale(1);
}

.modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	border: 1px solid rgb(0 0 0 / 14%);
	background: rgb(0 0 0 / 4%);
	cursor: pointer;
}

.modal__close:before,
.modal__close:after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 18px;
	height: 1px;
	background: rgba(0, 0, 0, 0.86);
}

.modal__close:before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.modal__close:after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.modal__head {
	padding-right: 52px;
}

.modal__title {
	font-size: 18px;
	font-weight: 950;
	color: var(--black);
}

.modal__sub {
	margin-top: 6px;
	color: var(--black);
	font-size: 13px;
	line-height: 1.35;
}

.form {
	margin-top: 14px;
	display: grid;
	gap: 12px;
}

.form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.field {
	display: grid;
	gap: 6px;
}

.field__label {
	font-size: 12px;
	color: var(--text-dim);
	font-weight: 750;
}

.field__input {
	width: 100%;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .04);
	color: var(--white);
	padding: 12px 12px;
	outline: none;
	transition: border-color var(--anim), box-shadow var(--anim), background var(--anim);
}

.field__input:focus {
	border-color: rgba(221, 51, 51, .55);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .16);
	background: rgba(255, 255, 255, .05);
}

.field__input--ta {
	min-height: 110px;
	resize: vertical;
}

.form__note {
	color: rgba(255, 255, 255, .55);
	font-size: 12px;
	line-height: 1.35;
}

/* ====== Breakpoints ====== */
@media (max-width: 1300px) {
	.nav__list {
		gap: 0px;
	}

}

@media (max-width: 1100px) {
	.brand__logo {
		height: 32px;
	}
}

@media (max-width: 900px) {
	.header__inner {
		min-height: 115px;
		    justify-content: center;
	}

	.nav__list {
		gap: 6px;
	}

	.nav__link {
		padding: 10px 10px;
	}

	.mega__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.nav--desktop {
		display: none;
	}

	.burger {
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.lang {
		display: none;
	}

	.header__bar .btn-cta {
display: none;
	}

	.brand {
		min-width: 0;
		gap: 5px;
		    flex-direction: column;
	}

	.brand__logo {
		height: 45px;
	}

	.brand__sep {
    width: 205px;
    height: 1px;
    background: rgb(0 0 0 / 65%);
    border-radius: 2px;
	}

	.form__row {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.drawer__panel {
		width: 100%;
	}
}

/* ===== Footer / CTA ===== */

.site-footer {
	font-family: var(--font);
	color: #111;
	position: relative;
	overflow: hidden;
}

.site-footer .container {
	padding: 0;
}

.site-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 320px;
	background: radial-gradient(60% 60% at 50% 0%, rgba(221, 51, 51, .18), transparent 70%);
	pointer-events: none;
}

/* ===== CTA block ===== */
.footer-cta {
	position: relative;
	padding: 40px 20px;
	background: #dd3333;
}

.footer-cta__wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 30px 35px;

	border-radius: var(--radius);
	background: #dd3333;
	border: 1px solid rgba(255, 255, 255, .18);
}

.footer-cta__title {
	margin: 0;
	font-size: 24px;
	font-weight: 600;
	color: var(--white);
	letter-spacing: .2px;
	line-height: 1.2;
}

.footer-cta__sub {
	margin-top: 10px;
	color: rgba(255, 255, 255, .86);
	line-height: 1.35;
}

.footer-cta__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	isolation: isolate;

	appearance: none;
	border: 1px solid rgba(255, 255, 255, .18);
	cursor: pointer;
	border-radius: 16px;
	padding: 13px 18px;

	font-weight: 700;
	letter-spacing: .25px;
	color: var(--white);
	background: rgb(255 255 255 / 10%);
	overflow: hidden;
	transition:
		transform var(--anim),
		box-shadow var(--anim),
		border-color var(--anim),
		background var(--anim),
		filter var(--anim);
}

.footer-cta__btn::before {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: inherit;
	background:
		radial-gradient(120% 120% at 20% 20%, rgba(221, 51, 51, .55), transparent 55%),
		radial-gradient(120% 120% at 80% 80%, rgba(221, 51, 51, .35), transparent 60%),
		linear-gradient(135deg, rgba(221, 51, 51, .55), rgba(255, 255, 255, .10), rgba(221, 51, 51, .35));
	filter: blur(10px);
	opacity: .55;
	z-index: -2;
	transition: opacity var(--anim), filter var(--anim), transform var(--anim);
}

.footer-cta__btn::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, 0.1));
	z-index: -1;
}

.footer-cta__btn .btn__shine {
	position: absolute;
	inset: -40% -60%;
	background: linear-gradient(115deg,
			transparent 40%,
			rgba(255, 255, 255, .18) 50%,
			transparent 60%);
	transform: translateX(-40%) rotate(12deg);
	opacity: 0;
	transition: transform 520ms cubic-bezier(.2, .8, .2, 1), opacity var(--anim);
	pointer-events: none;
	z-index: 2;
}

.footer-cta__btn .btn__icon {
	width: 25px;
	height: 25px;
	border-radius: 100px;
	display: flex;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 29%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10);
	align-items: center;
	justify-content: center;
}

.footer-cta__btn .btn__icon::before {
	content: "";
	position: relative;
	left: -1px;
	width: 7px;
	height: 7px;
	border-right: 1px solid rgba(255, 255, 255, .92);
	border-top: 1px solid rgba(255, 255, 255, .92);
	transform: rotate(45deg);
}

.footer-cta__btn:hover {
	transform: translateY(-2px);
	border-color: rgba(255, 255, 255, .30);
	background: rgba(255, 255, 255, 0.30);
	filter: saturate(1.05);
}

.footer-cta__btn:hover::before {
	opacity: .85;
	filter: blur(12px);
	transform: scale(1.02);
}

.footer-cta__btn:hover .btn__shine {
	opacity: 1;
	transform: translateX(30%) rotate(12deg);
}

.footer-cta__btn:active {
	transform: translateY(0);
	box-shadow:
		0 10px 24px rgba(0, 0, 0, .22),
		0 0 0 4px rgba(221, 51, 51, .10),
		inset 0 1px 0 rgba(255, 255, 255, .12);
}

.footer-cta__btn:focus-visible {
	outline: none;
	box-shadow:
		0 18px 44px rgba(0, 0, 0, .28),
		0 0 0 4px rgba(221, 51, 51, .22),
		inset 0 1px 0 rgba(255, 255, 255, .14);
}


/* ===== White footer body ===== */
.footer-body {
	position: relative;
	padding: 26px 0 26px;
	background: #ffffff;
	border-top: 1px solid rgba(0, 0, 0, .06);
}

.footer-main__wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 0;
}

/* Logo bigger + requested src */
.footer-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 260px;
	text-decoration: none;
}

.footer-brand__logo {
	height: 55px;
	/* больше */
	width: auto;
	display: block;
}

.footer-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-menu a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 12px;
	border-radius: 12px;
	text-decoration: none;
	color: rgba(0, 0, 0, .78);
	letter-spacing: .2px;
	transition: background var(--anim), color var(--anim), border-color var(--anim), transform var(--anim);
	border: 1px solid rgba(0, 0, 0, .08);
	background: rgba(0, 0, 0, .02);
}

.footer-menu a:hover {
	background: rgba(221, 51, 51, .08);
	border-color: rgba(221, 51, 51, .25);
	color: #111;
	transform: translateY(-1px);
}

.footer-side {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: flex-end;
	min-width: 320px;
}

.footer-social {
	display: flex;
	align-items: center;
	gap: 8px;
}

.social-btn {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border-radius: 14px;
	background: rgba(0, 0, 0, .02);
	border: 1px solid rgba(0, 0, 0, .10);
	transition: transform var(--anim), background var(--anim), border-color var(--anim);
	text-decoration: none;
}

.social-btn:hover {
	transform: translateY(-1px);
	background: rgba(221, 51, 51, .08);
	border-color: rgba(221, 51, 51, .28);
}

.social-btn svg {
	width: 18px;
	height: 18px;
	fill: rgba(0, 0, 0, .82);
}

.footer-mail {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.2;
}

.footer-mail__label {
	font-size: 12px;
	font-weight: 700;
	color: rgba(0, 0, 0, .60);
	letter-spacing: .2px;
	margin-bottom: 5px;
}

.footer-mail__link {
	font-size: 13px;
	color: rgba(0, 0, 0, .86);
	text-decoration: none;
	padding: 9px 10px;
	border-radius: 12px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(0, 0, 0, .02);
	transition: background var(--anim), border-color var(--anim), transform var(--anim);
	width: fit-content;
}

.footer-mail__link:hover {
	background: rgba(221, 51, 51, .08);
	border-color: rgba(221, 51, 51, .28);
	transform: translateY(-1px);
}

/* ===== Bottom dark strip (bg) ===== */
.footer-bottom-strip {
	background: var(--bg);
	color: rgba(255, 255, 255, .70);
	border-top: 1px solid rgba(255, 255, 255, .10);
}

.footer-bottom-strip__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 0;
	font-size: 12px;
}

.footer-bottom-strip a {
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
}

.footer-bottom-strip a:hover {
	color: var(--white);
	text-decoration: underline;
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
	.footer-main__wrap {
		align-items: flex-start;
		flex-direction: column;
		padding: 18px;
	}

	.footer-menu {
		justify-content: flex-start;
	}

	.footer-side {
		justify-content: flex-start;
		min-width: 0;
	}

	.footer-brand {
		min-width: 0;
	}

	.footer-brand__logo {
		height: 52px;
		/* ещё чуть больше на моб */
	}

	.footer-cta__wrap {
		flex-direction: column;
		align-items: flex-start;
		padding: 25px 15px;
	}

	.footer-cta__btn {
		width: 100%;
		text-align: center;
	}

	.footer-bottom-strip__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

.hero__head {
	position: relative;
	background: var(--white);
	overflow: hidden;
}

.hero__inner {
	position: relative;
	padding: 42px 0 26px;
	display: grid;
	gap: 14px;
}

.hero__kicker {
	display: inline-flex;
	align-items: center;
	width: max-content;
	gap: 10px;
	padding: 8px 12px;
	margin-bottom: 20px;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: .22px;
	font-size: 12px;
	background: rgba(221, 51, 51, .10);
	border: 1px solid rgba(221, 51, 51, .18);
	color: rgba(0, 0, 0, .82);
}

.hero__kicker::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
}

.hero__title {
	margin: 0;
	font-size: clamp(28px, 4vw, 46px);
	color: var(--black);
	line-height: 1.08;
	letter-spacing: -.02em;
	font-weight: 700;
}

.hero__sub {
	margin: 0;
	max-width: 760px;
	color: var(--black);
	line-height: 1.45;
	font-size: 14px;
	font-weight: 500;
}

.hero__lead {
	margin: 0;
	color: #000;
	font-weight: 750;
	font-size: clamp(14px, 1.3vw, 16px);
	max-width: 780px;
}

.blk {
	padding: 30px 0;
}


.blk__head {
	margin-bottom: 18px;
}

.blk__title {
	margin: 0;
	font-size: clamp(20px, 2.3vw, 30px);
	line-height: 1.1;
	letter-spacing: -.02em;
	font-weight: 700;
	color: rgba(0, 0, 0, .92);
}

.blk__lead {
	margin: 10px 0 0;
	max-width: 860px;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 600;
	color: rgba(0, 0, 0, .62);
}

/* HERO */
.single-hero {
	position: relative;
	background: #fff;
}

.single-hero::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 325px;
	background:
		radial-gradient(860px 520px at 18% 10%, rgba(221, 51, 51, .15), transparent 60%),
		radial-gradient(820px 520px at 88% 0%, rgba(15, 18, 24, .06), transparent 55%),
		linear-gradient(180deg, rgba(0, 0, 0, .03), transparent 45%);
	pointer-events: none;
}

.single-hero__inner {
	position: relative;
	padding: 48px 0 50px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	align-items: center;
}

.single-hero__content {
	position: relative;
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 18px;
	align-items: center;
}

.single-hero__brand {
	border-radius: calc(var(--radius) + 10px);
	padding: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	min-height: 132px;
}

.single-hero__logo {
	width: 245px;
	height: auto;
	border-radius: 6px;
}

.single-hero__title {
	margin: 10px 0 0;
	font-weight: 700;
	font-size: clamp(34px, 3.4vw, 46px);
	line-height: 1.05;
	letter-spacing: -.03em;
	color: rgba(0, 0, 0, .94);
}

.single-hero__desc {
	margin: 12px 0 0;
	max-width: 900px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.6;
	color: rgba(0, 0, 0, .64);
}

.single-hero__actions {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 16px;
}

@media (max-width: 900px) {
	.single-hero__content {
		display: flex;
		flex-direction: column-reverse;
		align-items: flex-start;
	}
}

/* ===== Single: Text block ===== */
.blk {
	padding: 56px 0;
	background: #fff;
}

@media (max-width: 767px) {
	.blk {
		padding: 40px 0;
	}
}

.blk-text {
	background: #fff;
}

.textblk {
	position: relative;
	overflow: hidden;
}

/* subtle accent */

.textblk>* {
	position: relative;
}

.textblk__head {
	max-width: 860px;
}

.textblk__title {
	margin: 0;
	font-family: var(--font);
	font-weight: 700;
	color: var(--black);
	letter-spacing: .2px;
	line-height: 1.15;
	font-size: clamp(24px, 3vw, 34px);
}

.textblk__content {
	margin-top: 18px;
	display: grid;
	gap: 14px;
}

.textblk__content a {
	color: rgb(202 0 0);
	;
}

.textblk__content a:hover {
	text-decoration: underline;
}

.textblk__content p {
	margin: 0;
	font-family: var(--font);
	font-weight: 500;
	color: rgba(0, 0, 0, .72);
	line-height: 1.7;
}

.textblk__content ul {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 10px;
}

.textblk__content li {
	position: relative;
	color: rgba(0, 0, 0, .72);
	line-height: 1.55;
}

.textblk__content li::after {
	content: "";
	position: absolute;
	left: -15px;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .85);
}

.textblk__foot {
	margin-top: 18px;
	display: flex;
	align-items: center;
	gap: 12px;
}

.textblk__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 16px;
	border-radius: 14px;
	font-family: var(--font);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .2px;
	text-decoration: none;
	color: #fff;
	background: var(--red);
	border: 1px solid rgba(221, 51, 51, .30);
	box-shadow: 0 14px 34px rgba(221, 51, 51, .22);
	transition: transform var(--anim), box-shadow var(--anim), filter var(--anim);
}

.textblk__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 18px 44px rgba(221, 51, 51, .26);
	filter: saturate(1.05);
}

/* small screens */
@media (max-width: 767px) {

	.textblk__foot {
		flex-wrap: wrap;
	}

	.textblk__cta {
		width: 100%;
	}
}

/* Tabs */
.single-tabs {
	padding: 10px 0 0;
}

.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 12px;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: linear-gradient(180deg, rgba(0, 0, 0, .02), rgba(0, 0, 0, .01));
}

.tabs__item {
	position: relative;
	padding: 8px 12px;
	border-radius: 999px;
	text-decoration: none;
	font-size: 12px;
	line-height: 1.4;
	color: rgba(0, 0, 0, .76);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	transition: transform var(--anim), border-color var(--anim), background var(--anim);
}

.tabs__item:hover {
	transform: translateY(-1px);
	border-color: rgba(221, 51, 51, .35);
	background: rgba(221, 51, 51, .06);
}

.tabs__item.is-active {
	border-color: rgba(221, 51, 51, .55);
	background: rgba(221, 51, 51, .10);
	color: rgba(0, 0, 0, .88);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .12);
}

/* Prose */
.prose p {
	margin: 0 0 12px;
	font-weight: 600;
	line-height: 1.7;
	color: rgba(0, 0, 0, .72);
}

.prose p:last-child {
	margin-bottom: 0;
}

/* Media cards */
.media-card,
.img-card {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 52px rgba(0, 0, 0, .10);
	overflow: hidden;
}

.media-card img,
.img-card img {
	width: 100%;
	height: auto;
	display: block;
}

.media-card__ratio {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: rgba(15, 18, 24, .06);
}

.media-card iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.media-card__cap {
	padding: 14px 16px 16px;
	border-top: 1px solid rgba(0, 0, 0, .08);
	background: linear-gradient(180deg, rgba(221, 51, 51, .06), transparent);
}

.media-card__title {
	line-height: 1.4;
	color: rgba(0, 0, 0, .88);
	letter-spacing: .2px;
}

.media-card__sub {
	margin-top: 6px;
	font-weight: 600;
	line-height: 1.45;
}

/* Split */

.split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	align-items: center;
}

.split-big {
	display: grid;
	grid-template-columns: 1.7fr 1fr;
	gap: 40px;
	align-items: center;
}

.split-big.reverse {
	grid-template-columns: 1fr 1.7fr;
}

.split--video-right {}

.split--img-left {}

.split__text p {
	margin: 10px 0 15px;
	font-weight: 600;
	line-height: 1.6;
	color: rgba(0, 0, 0, .64);
}

@media (max-width: 768px) {
	.split-big, .split-big.reverse {
		grid-template-columns: 1fr;
	}
}

/* RefCards */
.blk-refcards {
	padding: 20px 0;
}

.refcards {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 18px;
	align-items: center;

	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: calc(var(--radius) + 6px);
	padding: clamp(14px, 2.2vw, 20px);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .08);
	overflow: hidden;
}

/* тонкий акцент сверху (как у premium-блоков) */
.refcards::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, rgba(221, 51, 51, .70), rgba(221, 51, 51, .10), transparent);
	opacity: .9;
	pointer-events: none;
}

/* красная “связующая” линия между колонками */
.refcards::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(221, 51, 51, .45), transparent);
	opacity: .9;
	pointer-events: none;
}

.refcards-big {
	--rc-gap: 18px;
	--rc-pad: clamp(7px, 2.2vw, 10px);

	padding: var(--rc-pad);
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 2.5fr) minmax(0, 1fr);
	gap: var(--rc-gap);
	align-items: center;

	background: #fff5f5;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: calc(var(--radius) + 6px);
	padding: clamp(14px, 2.2vw, 20px);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .08);
	overflow: hidden;
}

/* верхний акцент */
.refcards-big::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, rgba(221, 51, 51, .70), rgba(221, 51, 51, .10), transparent);
	opacity: .9;
	pointer-events: none;
}

/* разделитель в месте стыка 1.7fr/1fr (1.7 / 2.7 = 62.963%) */
.refcards-big::before {
	content: "";
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: calc(var(--rc-pad) + (100% - (var(--rc-pad) * 2) - var(--rc-gap)) * 0.7142857 + (var(--rc-gap) / 2));
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(221, 51, 51, .45), transparent);
	opacity: .9;
	pointer-events: none;
}

.refcards-big.reverse {
	grid-template-columns: minmax(0, 1fr) minmax(0, 3.5fr);
}

/* для reverse стык будет на 37.037% (1 / 2.7) */
.refcards-big.reverse::before {
	left: calc(var(--rc-pad) + (100% - (var(--rc-pad) * 2) - var(--rc-gap)) * 0.2222222 + (var(--rc-gap) / 2));
}

.refcards--video-right {}

.refcards--img-left {}

.refcards-big.reverse .refcards__media {
	margin-right: 10px;
	margin-left: 0px;
}

.refcards__media {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 10px;
	margin-right: 0px;
}

.refcards__media .media-card {
	border-radius: calc(var(--radius) + 10px);
	background: #fff;
	border: none;
	box-shadow: none;
	overflow: hidden;
	padding: 30px;
}

.refcards__media .media-card img {
	border: none;
	background: none;
	box-shadow: none;
	overflow: hidden;
	max-width: 125px;
}

.refcards__text p {
	margin: 10px 0 0;
	font-weight: 600;
	line-height: 1.6;
	color: rgba(0, 0, 0, .64);
	font-size: clamp(13.5px, 1.15vw, 15px);
}

.refcards__text a {
	color: rgba(221, 51, 51, .95);
	text-decoration: underline;
}

@media (max-width: 768px) {

	.refcards,
	.refcards-big,
	.refcards-big.reverse {
		align-items: start;
		padding: 14px;
	}

	/* на мобиле вертикальную линию убираем */
	.refcards::before,
	.refcards-big::before {
		display: none;
	}

	.refcards__media .media-card {
		max-width: 200px;
	}

}


@media (max-width: 680px) {

	.refcards,
	.refcards-big,
	.refcards-big.reverse {
		grid-template-columns: 1fr;
	}

}



/* List grid */
.list-grid {
	margin-top: 14px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.list-card {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .08);
	padding: 16px;
}

.list-card__title {
	font-weight: 700;
	letter-spacing: .2px;
	color: rgba(0, 0, 0, .90);
}

/* List Two grid*/
.listTwo-grid {
	margin-top: 14px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

.listTwo-card {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 18px;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .08);
	padding: 16px;
}

.listTwo-card:hover {
	box-shadow: 0 22px 56px rgba(0, 0, 0, .12);
	border-color: rgba(221, 51, 51, .22);
}

.listTwo-card img {
	border-radius: 10px;
}

.listTwo-card__title {
	font-weight: 700;
	letter-spacing: .2px;
	color: rgba(0, 0, 0, .90);
}

/* Quote */
.quote {
	margin: 0;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background:
		radial-gradient(620px 240px at 18% 0%, rgba(221, 51, 51, .10), transparent 60%),
		#fff;
	box-shadow: 0 18px 52px rgba(0, 0, 0, .10);
	padding: 18px;
	position: relative;
	overflow: hidden;
}

.quote::before {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 180px;
	height: 180px;
	border-radius: 999px;
	background: rgba(15, 18, 24, .04);
	border: 1px solid rgba(0, 0, 0, .08);
}

.quote__text {
	margin: 0;
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.6;
	color: rgba(0, 0, 0, .88);
}

.quote__by {
	margin-top: 12px;
	display: grid;
	gap: 4px;
}

.quote__name {
	font-weight: 700;
	color: rgba(0, 0, 0, .86);
}

.quote__role {
	font-weight: 600;
	color: rgba(0, 0, 0, .62);
	font-size: 13px;
}

/* Feature block */
.feature {
	display: grid;
	grid-template-columns: 1fr 1.65fr;
	gap: 18px;
	align-items: center;
}

.feature.reverse {
	grid-template-columns: 1.65fr 1fr;
}

.feature__title {
	margin: 0;
	font-weight: 700;
	font-size: clamp(18px, 2.2vw, 26px);
	color: rgba(0, 0, 0, .92);
}

.feature__cols {
	margin-top: 14px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: stretch;
}

.feature__cols .feature__col {
	flex: 1 1 calc(50% - 6px);
	min-width: 0;
}

.feature__cols .feature__col:only-child {
	flex-basis: 100%;
}

@media (max-width: 900px) {
	.feature__cols .feature__col {
		flex-basis: 100%;
	}
}

.feature__col {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(15, 18, 24, .02);
	padding: 14px;
}

.feature__media {}

.feature__content {
	display: grid;
	justify-items: start;
	gap: 10px;
}

/* Plans */
.plan-grid {
	margin-top: 14px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.plan {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .08);
	transition: transform var(--anim), border-color var(--anim), box-shadow var(--anim);
}

.plan:hover {
	transform: translateY(-2px);
	border-color: rgba(221, 51, 51, .30);
	box-shadow: 0 24px 66px rgba(0, 0, 0, .12);
}

.plan__title {
	margin: 0;
	font-weight: 700;
	color: var(--white);
	padding: 16px;
	background: #dd3333;
	border-top-left-radius: calc(var(--radius) + 10px);
	border-top-right-radius: calc(var(--radius) + 10px);
}

.plan__content {
	padding: 16px;
}

.plan .plan__desc {
	font-weight: 600;
	line-height: 1.6;
	color: rgba(0, 0, 0, .64);
}

.plan .plan__desc ul {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 10px;
}

.plan .plan__desc li {
	position: relative;
	color: rgba(0, 0, 0, .72);
	line-height: 1.55;
}

.plan .plan__desc li::after {
	content: "";
	position: absolute;
	left: -15px;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .85);
}

.plan__note {
	margin-top: 12px;
	font-weight: 600;
	font-size: 12px;
	color: rgba(0, 0, 0, .58);
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, .08);
}

/* Accordion */
.accordion {
	margin-top: 14px;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 52px rgba(0, 0, 0, .10);
	overflow: hidden;
}

.accordion-row {
	border-top: 1px solid rgba(0, 0, 0, .08);
}

.accordion-row:first-of-type {
	border-top: 0;
}

.accordion-row__main {
	display: grid;
	grid-template-columns: 1fr 52px;
	padding: 14px 14px;
	align-items: center;
}

.accordion-row__title {
	font-weight: 700;
	color: rgba(0, 0, 0, .86);
}

.accordion-row__btn {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(15, 18, 24, .03);
	cursor: pointer;
	justify-self: end;
	display: grid;
	place-items: center;
	transition: transform var(--anim), border-color var(--anim), background var(--anim);
}

.accordion-row__btn:hover {
	transform: translateY(-1px);
	border-color: rgba(221, 51, 51, .30);
	background: rgba(221, 51, 51, .06);
}

.accordion-row__plus {
	position: relative;
	width: 14px;
	height: 14px;
}

.accordion-row__plus::before,
.accordion-row__plus::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2px;
	background: rgba(0, 0, 0, .70);
	transform: translate(-50%, -50%);
	transition: transform var(--anim), background var(--anim);
}

.accordion-row__plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.accordion-row.is-open .accordion-row__plus::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.accordion-row.is-open .accordion-row__plus::before,
.accordion-row.is-open .accordion-row__plus::after {
	background: rgba(221, 51, 51, .95);
}

.accordion-row__body {
	height: 0;
	overflow: hidden;
	transition: height var(--anim);
}

.accordion-row__text {
	padding: 0 14px 14px;
	font-weight: 600;
	line-height: 1.7;
	color: rgba(0, 0, 0, .68);
}

/* Compare (accordion) */
.compare {
	margin-top: 14px;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 52px rgba(0, 0, 0, .10);
	overflow: hidden;
}

.compare__head {
	display: grid;
	grid-template-columns: minmax(240px, 1.6fr) repeat(5, minmax(140px, 1fr)) 44px;
	gap: 0;
	padding: 14px 14px;
	background: linear-gradient(180deg, rgba(221, 51, 51, .08), transparent);
	border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.compare__head .compare__col {
	font-size: 18px;
}

@media (min-width: 901px) {

	.compare__head.five,
	.compare-row__main.five {
		grid-template-columns: minmax(240px, 1.6fr) repeat(5, minmax(140px, 1fr)) 44px;
	}

	.compare__head.four,
	.compare-row__main.four {
		grid-template-columns: minmax(240px, 1.6fr) repeat(4, minmax(140px, 1fr)) 44px;
	}

	.compare__head.three,
	.compare-row__main.three {
		grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(140px, 1fr)) 44px;
	}

	.compare__head.two,
	.compare-row__main.two {
		grid-template-columns: minmax(240px, 1.8fr) repeat(2, minmax(140px, 1fr)) 44px;
	}

	.compare__head.one,
	.compare-row__main.one {
		grid-template-columns: minmax(240px, 1.6fr) repeat(1, minmax(140px, 1fr)) 44px;
	}
}


.compare__col {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	font-size: 16px;
	color: rgba(0, 0, 0, .70);
	display: flex;
	align-items: center;
}

.compare__col:first-child {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.compare__col {
	justify-content: center;
}

.cmp {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(15, 18, 24, .03);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .10);
	position: relative;
}

/* YES: красная галочка на светлом бейдже */
.cmp--yes {
	border-color: rgba(221, 51, 51, .26);
	background: rgba(221, 51, 51, .10);
}

.cmp--yes::before {
	content: "";
	width: 10px;
	height: 6px;
	border-left: 2px solid rgba(221, 51, 51, .95);
	border-bottom: 2px solid rgba(221, 51, 51, .95);
	transform: rotate(-45deg);
	margin-top: -1px;
}

/* NO: аккуратный крестик */
.cmp--no {
	border-color: rgba(0, 0, 0, .16);
	background: rgba(0, 0, 0, .04);
}

.cmp--no::before,
.cmp--no::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 2px;
	background: rgba(0, 0, 0, .55);
	border-radius: 2px;
}

.cmp--no::before {
	transform: rotate(45deg);
}

.cmp--no::after {
	transform: rotate(-45deg);
}

/* В колонках сравнения центрируем иконку */

.compare__col--toggle {
	justify-content: flex-end;
}

.compare-row {
	border-top: 1px solid rgba(0, 0, 0, .08);
}

.compare-row:first-of-type {
	border-top: 0;
}

.compare-row__main {
	display: grid;
	grid-template-columns: 1.4fr .6fr .6fr .6fr 52px;
	padding: 14px 14px;
	align-items: center;
}

.compare-row__title {
	color: rgba(0, 0, 0, .86);
}

.compare-row__btn {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(15, 18, 24, .03);
	cursor: pointer;
	justify-self: end;
	display: grid;
	place-items: center;
	transition: transform var(--anim), border-color var(--anim), background var(--anim);
}

.compare-row__btn:hover {
	transform: translateY(-1px);
	border-color: rgba(221, 51, 51, .30);
	background: rgba(221, 51, 51, .06);
}

.compare-row__plus {
	position: relative;
	width: 14px;
	height: 14px;
}

.compare-row__plus::before,
.compare-row__plus::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2px;
	background: rgba(0, 0, 0, .70);
	transform: translate(-50%, -50%);
	transition: transform var(--anim), background var(--anim);
}

.compare-row__plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.compare-row.is-open .compare-row__plus::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.compare-row.is-open .compare-row__plus::before,
.compare-row.is-open .compare-row__plus::after {
	background: rgba(221, 51, 51, .95);
}

.compare-row__body {
	height: 0;
	overflow: hidden;
	transition: height var(--anim);
}

.compare-row__text {
	position: relative;
	padding: 0 14px 14px;
	font-weight: 600;
	line-height: 1.7;
	color: rgba(0, 0, 0, .68);
}

.compare-row__text ul {
	margin: 0;
	padding-left: 18px;
	display: grid;
	gap: 10px;
}

.compare-row__text li {
	position: relative;
	color: rgba(0, 0, 0, .72);
	line-height: 1.55;
}

.compare-row__text li::after {
	content: "";
	position: absolute;
	left: -15px;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .85);
}

/* Quote with image */
.blk-quoteimg {
	padding: 28px 0;
}

.quoteimg {
	margin: 0;
	display: grid;
	grid-template-columns: 130px 1fr;
	align-items: stretch;
	background: #fff;
	border-radius: var(--radius);
	border: 1px solid rgba(0, 0, 0, .08);
	background: radial-gradient(720px 280px at 12% 0%, rgba(221, 51, 51, .10), transparent 60%), #fff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .10);
	overflow: hidden;
	position: relative;
}

.quoteimg::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0px;
	height: 3px;
	background: var(--red);
	opacity: .9;
	z-index: 1;
}

.quoteimg__media {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-height: 180px;
	border-right: 1px solid rgba(0, 0, 0, .06);
}

.quoteimg__media img {
	width: 80px;
	height: 80px;
	border-radius: 100px;
	display: block;
	object-fit: cover;
	filter: saturate(1.05) contrast(1.02);
}

.quoteimg__cap {
	padding: 18px 18px 18px;
	position: relative;
	display: grid;
	gap: 12px;
	align-content: center;
	background:
		radial-gradient(720px 280px at 12% 0%, rgba(221, 51, 51, .10), transparent 60%),
		#fff;
}

.quoteimg__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	border: 1px solid rgba(221, 51, 51, .22);
	background: rgba(221, 51, 51, .10);
	box-shadow: 0 18px 45px rgba(221, 51, 51, .12);
	position: relative;
}


.quoteimg__mark::before {
	content: "";
	width: 22px;
	height: 22px;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M15.9101%2012.3699H20.6001C20.5201%2017.0399%2019.6001%2017.8099%2016.7301%2019.5099C16.4001%2019.7099%2016.2901%2020.1299%2016.4901%2020.4699C16.6901%2020.7999%2017.1101%2020.91%2017.4501%2020.71C20.8301%2018.71%2022.0101%2017.4899%2022.0101%2011.6699V6.27997C22.0101%204.56997%2020.6201%203.18994%2018.9201%203.18994H15.9201C14.1601%203.18994%2012.8301%204.51997%2012.8301%206.27997V9.27997C12.8201%2011.04%2014.1501%2012.3699%2015.9101%2012.3699Z%27%20fill%3D%27%23dd3333%27%2F%3E%3Cpath%20opacity%3D%270.4%27%20d%3D%27M5.08982%2012.3699H9.77982C9.69982%2017.0399%208.77982%2017.8099%205.90982%2019.5099C5.57982%2019.7099%205.46982%2020.1299%205.66982%2020.4699C5.86982%2020.7999%206.28982%2020.91%206.62982%2020.71C10.0098%2018.71%2011.1898%2017.4899%2011.1898%2011.6699V6.27997C11.1898%204.56997%209.79982%203.18994%208.09982%203.18994H5.09982C3.33982%203.18994%202.00982%204.51997%202.00982%206.27997V9.27997C1.99982%2011.04%203.32982%2012.3699%205.08982%2012.3699Z%27%20fill%3D%27%23dd3333%27%2F%3E%3C%2Fsvg%3E");
}

.quoteimg__text {
	margin: 0;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.7;
	color: rgba(0, 0, 0, .86);
	position: relative;
}

.quoteimg__by {
	display: grid;
	gap: 4px;
	padding-top: 8px;
	border-top: 1px solid rgba(0, 0, 0, .08);
}

.quoteimg__name {
	font-weight: 700;
	color: rgba(0, 0, 0, .82);
	letter-spacing: .1px;
}

.quoteimg__role {
	font-weight: 600;
	font-size: 13px;
	color: rgba(0, 0, 0, .60);
	line-height: 1.45;
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
	.quoteimg {
		grid-template-columns: 200px 1fr;
	}

	.quoteimg__media {
		min-height: 170px;
	}
}

@media (max-width: 767px) {
	.quoteimg {
		grid-template-columns: 1fr;
		/* фото сверху */
		gap: 0;
	}

	.quoteimg__media {
		min-height: 105px;
		border-right: 0;
		border-bottom: 1px solid rgba(0, 0, 0, .06);
	}

	.quoteimg__cap {
		padding: 16px;
	}

	.quoteimg__mark {
		width: 40px;
		height: 40px;
		border-radius: 13px;
	}

	.quoteimg__text {
		font-size: 15px;
	}
}

/* Responsive */
@media (max-width: 980px) {

	.single-hero__brand {
		width: 100%;
		justify-content: flex-start;
	}

	.single-hero__logo {
		width: 100%;
	}

	.split {
		grid-template-columns: 1fr;
	}

	.feature {
		grid-template-columns: 1fr;
	}

	.feature__cols {
		grid-template-columns: 1fr;
	}

	.plan-grid {
		grid-template-columns: 1fr;
	}

	.list-grid {
		grid-template-columns: 1fr;
	}

	.listTwo-grid {
		grid-template-columns: 1fr;
	}

	.quoteimg {
		grid-template-columns: 1fr;
	}

	.compare__head,
	.compare-row__main {
		grid-template-columns: 1.4fr .55fr .55fr .55fr 52px;
	}
}

@media (max-width: 900px) {
	.compare__head {
		display: none;
	}

	.compare-row__main {
		grid-template-columns: 1fr;
		gap: 10px;
		align-items: start;
	}

	.compare-row__main .compare__col:not(.compare__col--name) {
		display: none;
	}

	.compare-row__btn {
		margin-top: 2px;
	}


	.compare__col:not(.compare__col--name):before {
		content: attr(data-title);
		float: left;
		color: #292C2F;
		font-weight: 400;
		flex: 1 1 auto;
		margin-bottom: 5px;
		padding-top: 0;
		text-align: left;
		font-size: 14px;
	}

	.cmp {
		width: 26px;
		height: 26px;
		box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
	}

	.cmp--yes::before {
		width: 12px;
		height: 7px;
		border-left-width: 2px;
		border-bottom-width: 2px;
	}

	.cmp--no::before,
	.cmp--no::after {
		width: 14px;
	}

	.compare-row__main {
		position: relative;
	}

	.compare-row__main .compare__col:not(.compare__col--name) {
		display: flex !important;
		justify-content: flex-start;
	}

	.compare-row__main {
		grid-template-columns: 1fr;
	}

	.compare-row__main .compare__col:not(.compare__col--name) {
		margin-top: 10px;
	}

	.compare-row__main .compare__col:not(.compare__col--name):nth-child(2) {
		grid-column: 1 / -1;
		justify-content: flex-start;
		gap: 8px;
	}
}

/* ==== BLOCK: Benefits ==== */

.blk-benefits {
	background: #fff;
	padding: clamp(28px, 4vw, 54px) 0;
	font-family: var(--font);
	color: var(--black);
}

.benefits {
	--benefits-gap: 14px;
	display: grid;
	gap: var(--benefits-gap);
}

/* row */
.benefit {
	--b-pad-x: 18px;
	--b-pad-y: 18px;
	--num-size: 44px;
	position: relative;
	display: grid;
	grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
	gap: 26px;
	padding: var(--b-pad-y) var(--b-pad-x);
	border-radius: calc(var(--radius) + 2px);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
}

.benefit:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(0, 0, 0, .10);
	border-color: rgba(221, 51, 51, .22);
}

.benefit>* {
	position: relative;
	z-index: 1;
}

.benefit::before {
	content: "";
	position: absolute;
	left: calc(var(--b-pad-x) + (var(--num-size) / 2));
	transform: translateX(-50%);
	top: var(--b-pad-y);
	bottom: var(--b-pad-y);
	width: 2px;
	border-radius: 2px;
	background: linear-gradient(180deg,
			rgba(221, 51, 51, .10),
			rgba(221, 51, 51, .52),
			rgba(221, 51, 51, .52),
			rgba(221, 51, 51, .10));

	box-shadow: 0 0 0 4px rgba(221, 51, 51, .06);
	pointer-events: none;
	z-index: 0;
}

.benefit:not(:first-child)::before {
	top: calc(-1 * var(--benefits-gap));
}

.benefit:not(:last-child)::before {
	bottom: calc(-1 * var(--benefits-gap));
}

.benefit__left {
	position: relative;
}

.benefit__left::after {
	content: "";
	position: absolute;
	left: calc(var(--num-size) / 2);
	top: calc(var(--num-size) + 10px);
	transform: translateX(-50%);
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 6px rgba(221, 51, 51, .12);
	z-index: 2;
	pointer-events: none;
}

.benefit__left {
	padding-left: 58px;
	min-height: 58px;
}

.benefit__num {
	position: absolute;
	left: 0;
	top: 0;
	width: var(--num-size);
	height: var(--num-size);
	border-radius: 14px;
	display: grid;
	place-items: center;
	font-weight: 700;
	color: var(--white);
	background: var(--red);
	box-shadow: 0 14px 30px rgba(221, 51, 51, .22);
	z-index: 3;
}

.benefit__title {
	margin: 2px 0 0;
	font-weight: 700;
	letter-spacing: .2px;
	color: rgba(0, 0, 0, .92);
	font-size: clamp(14px, 1.2vw, 16px);
	line-height: 1.25;
	text-transform: uppercase;
}

.benefit__right {
	padding-top: 2px;
}

.benefit ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}

.benefit li {
	position: relative;
	padding-left: 18px;
	font-weight: 600;
	color: rgba(0, 0, 0, .64);
	line-height: 1.5;
	font-size: 14px;
}

.benefit li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 7px;
	height: 7px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .95);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .12);
}

.benefit__right {
	border-left: 1px dashed rgba(0, 0, 0, .10);
	padding-left: 22px;
}

@media (max-width: 900px) {
	.benefit {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.benefit__right {
		border-left: 0;
		padding-left: 0;
		border-top: 1px dashed rgba(0, 0, 0, .10);
		padding-top: 14px;
	}

	.benefit::before,
	.benefit__left::after {
		display: none;
	}
}

@media (max-width: 768px) {
	.benefit {
		--b-pad-x: 14px;
		--b-pad-y: 16px;
		--num-size: 42px;
		padding: var(--b-pad-y) var(--b-pad-x);
	}

	.benefit__left {
		padding-left: 54px;
	}

	.benefit__num {
		border-radius: 14px;
	}
}

@media (max-width: 480px) {
	.benefit__list li {
		font-size: 13.5px;
	}
}

/* ===== BLOCK: Wide Image (единый блок) ===== */

.blk-wideimg {
	background: #fff;
	padding: clamp(18px, 3.2vw, 34px) 0;
}

/* единый card */
.wideimg_grid {
	--pad: clamp(14px, 2.2vw, 20px);

	position: relative;
	display: grid;
	gap: 12px;

	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: calc(var(--radius) + 10px);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .08);
	overflow: hidden;

	padding: var(--pad);
}

.wideimg_grid.onlyimg {
	padding: 0;
}

/* тонкий красный акцент сверху (как “премиум”) */
.wideimg_grid::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: linear-gradient(90deg, rgba(221, 51, 51, .70), rgba(221, 51, 51, .12), transparent);
	opacity: .95;
	pointer-events: none;
}

/* Заголовок */
.wideimg_title {
	font-family: var(--font);
	font-weight: 700;
	font-size: clamp(18px, 2.2vw, 28px);
	line-height: 1.18;
	color: rgba(0, 0, 0, .92);
	margin: 0;
}

.wideimg {
	position: relative;
	overflow: hidden;
	border-radius: calc(var(--radius) + 10px);
	background: var(--bg);
}

/* легкая виньетка/контраст без “перебивания” текста */
.wideimg::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(120% 90% at 50% 0%, rgba(255, 255, 255, .10), transparent 55%),
		linear-gradient(180deg, rgba(0, 0, 0, .08), transparent 35%, rgba(0, 0, 0, .16));
	opacity: .55;
	pointer-events: none;
}

.wideimg__img {
	position: relative;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	filter: saturate(1.04) contrast(1.04);
}

/* Подпись */
.wideimg_signature {
	position: relative;
	font-family: var(--font);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(0, 0, 0, .64);
	margin: 0;
	padding-left: 12px;
	max-width: 980px;
}

/* красная “связка” слева у подписи */
.wideimg_signature::before {
	content: "";
	position: absolute;
	left: 0;
	top: .25em;
	bottom: .25em;
	width: 2px;
	border-radius: 2px;
	background: rgba(221, 51, 51, .85);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .10);
}

/* ===== responsive ===== */
@media (max-width: 900px) {
	.wideimg__img {
		height: clamp(220px, 46vw, 440px);
	}
}

@media (max-width: 768px) {
	.wideimg_grid {
		gap: 10px;
	}

	.wideimg_signature {
		font-size: 13.5px;
	}
}

@media (max-width: 480px) {
	.wideimg__img {
		height: 240px;
	}
}

/* ====== Breakpoints ====== */
@media (max-width: 900px) {
	.wideimg {
		min-height: clamp(240px, 48vw, 460px);
		border-radius: calc(var(--radius) + 8px);
	}
}

@media (max-width: 480px) {
	.wideimg {
		min-height: auto;
	}

	.wideimg::after {
		left: 12px;
		right: 12px;
		top: 10px;
	}
}

/* =========================================================
   INDUSTRIES ARCHIVE
   ========================================================= */

/* ===== HERO ===== */
.inds-hero {
	position: relative;
	background: var(--white);
	color: var(--black);
	overflow: hidden;
}

.inds-hero::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 325px;
	background: radial-gradient(860px 520px at 18% 10%, rgba(221, 51, 51, .15), transparent 60%), radial-gradient(820px 520px at 88% 0%, rgba(15, 18, 24, .06), transparent 55%), linear-gradient(180deg, rgba(0, 0, 0, .03), transparent 45%);
	pointer-events: none;
}

.inds-hero .container {
	position: relative;
	z-index: 1;
}

/* ===== SECTION ===== */
.inds {
	background: var(--white);
	padding: 56px 0;
}

/* ===== GRID ===== */
.inds__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 1024px) {
	.inds__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.inds__grid {
		grid-template-columns: 1fr;
	}
}

/* ===== CARD ===== */
.ind-card {
	border-radius: var(--radius);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .10);
	box-shadow: 0 14px 40px rgba(0, 0, 0, .08);
	overflow: hidden;
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.ind-card:hover {
	border-color: rgba(221, 51, 51, .28);
	box-shadow: 0 18px 54px rgba(0, 0, 0, .10);
}

.ind-card__media {
	position: relative;
	display: flex;
	height: 165px;
	overflow: hidden;
	align-items: center;
	justify-content: center;
}

.ind-card__media img {
	width: auto;
	max-height: 95px;
	/* object-fit: cover; */
	transform: scale(1.02);
	transition: transform 520ms cubic-bezier(.2, .8, .2, 1), filter 520ms cubic-bezier(.2, .8, .2, 1);
	filter: saturate(1.04) contrast(1.02);
}

.ind-card:hover .ind-card__media img {
	transform: scale(1.08);
}

.ind-card__shine {
	position: absolute;
	inset: -2px;
	background:
		linear-gradient(120deg, rgba(255, 255, 255, .00), rgba(255, 255, 255, .22), rgba(255, 255, 255, .00));
	transform: translateX(-60%) skewX(-12deg);
	opacity: 0;
	transition: opacity var(--anim), transform 700ms cubic-bezier(.2, .8, .2, 1);
	pointer-events: none;
	mix-blend-mode: overlay;
}

.ind-card:hover .ind-card__shine {
	opacity: 1;
	transform: translateX(60%) skewX(-12deg);
}

.ind-card__body {
	padding: 14px 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ind-card__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.2px;
}

.ind-card__title a {
	color: rgba(0, 0, 0, .92);
	text-decoration: none;
}

.ind-card__title a:hover {
	color: rgba(0, 0, 0, 1);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(221, 51, 51, .55);
}

.ind-card__excerpt {
	margin: 0;
	color: rgba(0, 0, 0, .62);
	font-size: 14px;
	line-height: 1.45;

	/* аккуратное ограничение строк */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ind-card__actions {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* ===== BUTTON (expressive, GEO vibe) ===== */
.ind-card__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;

	text-decoration: none;
	color: var(--white);
	letter-spacing: .2px;
	font-size: 13px;

	padding: 6px 12px;
	border-radius: 14px;
	border: 1px solid rgba(221, 51, 51, .35);

	background: var(--red);

	box-shadow:
		0 14px 34px rgba(221, 51, 51, .22),
		0 10px 24px rgba(0, 0, 0, .10);

	transition: transform var(--anim), box-shadow var(--anim), filter var(--anim);
	white-space: nowrap;
}

.ind-card__btn::before {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(255, 255, 255, .26), rgba(255, 255, 255, 0));
	opacity: .35;
	pointer-events: none;
}

.ind-card__btn-ico {
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(255, 255, 255, .92);
	border-top: 1px solid rgba(255, 255, 255, .92);
	transform: rotate(45deg);
	transition: transform var(--anim);
}

.ind-card__btn:hover {
	transform: translateY(-1px);
	filter: saturate(1.03);
	box-shadow:
		0 18px 46px rgba(221, 51, 51, .26),
		0 14px 30px rgba(0, 0, 0, .12);
}

@media (max-width: 640px) {
	.ind-card__media {
		height: 190px;
	}
}


/* =========================================================
   REFERENCES ARCHIVE
   ========================================================= */

/* ===== HERO ===== */
.refs-hero {
	position: relative;
	background: var(--white);
	color: var(--black);
	overflow: hidden;
}

.refs-hero::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 325px;
	background: radial-gradient(860px 520px at 18% 10%, rgba(221, 51, 51, .15), transparent 60%), radial-gradient(820px 520px at 88% 0%, rgba(15, 18, 24, .06), transparent 55%), linear-gradient(180deg, rgba(0, 0, 0, .03), transparent 45%);
	pointer-events: none;
}


.refs-hero .container {
	position: relative;
	z-index: 1;
}

/* ===== SECTION ===== */
.refs {
	background: var(--white);
	padding: 56px 0;
}

/* ===== GRID ===== */
.refs__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 1024px) {
	.refs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.refs__grid {
		grid-template-columns: 1fr;
	}
}

/* ===== CARD ===== */
.ref-card {
	border-radius: var(--radius);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .10);
	box-shadow: 0 14px 40px rgba(0, 0, 0, .08);
	overflow: hidden;
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.ref-card:hover {
	border-color: rgba(221, 51, 51, .28);
	box-shadow: 0 18px 54px rgba(0, 0, 0, .10);
}

.ref-card__media {
	position: relative;
	display: flex;
	height: 165px;
	overflow: hidden;
	align-items: center;
	justify-content: center;
}

.ref-card__media img {
	width: auto;
	max-height: 95px;
	/* object-fit: cover; */
	transform: scale(1.02);
	transition: transform 520ms cubic-bezier(.2, .8, .2, 1), filter 520ms cubic-bezier(.2, .8, .2, 1);
	filter: saturate(1.04) contrast(1.02);
}

.ref-card:hover .ref-card__media img {
	transform: scale(1.08);
}

.ref-card__shine {
	position: absolute;
	inset: -2px;
	background:
		linear-gradient(120deg, rgba(255, 255, 255, .00), rgba(255, 255, 255, .22), rgba(255, 255, 255, .00));
	transform: translateX(-60%) skewX(-12deg);
	opacity: 0;
	transition: opacity var(--anim), transform 700ms cubic-bezier(.2, .8, .2, 1);
	pointer-events: none;
	mix-blend-mode: overlay;
}

.ref-card:hover .ref-card__shine {
	opacity: 1;
	transform: translateX(60%) skewX(-12deg);
}

.ref-card__body {
	padding: 14px 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ref-card__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -.2px;
}

.ref-card__title a {
	color: rgba(0, 0, 0, .92);
	text-decoration: none;
}

.ref-card__title a:hover {
	color: rgba(0, 0, 0, 1);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(221, 51, 51, .55);
}

.ref-card__excerpt {
	margin: 0;
	color: rgba(0, 0, 0, .62);
	font-size: 14px;
	line-height: 1.45;

	/* аккуратное ограничение строк */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ref-card__actions {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

/* ===== BUTTON (expressive, GEO vibe) ===== */
.ref-card__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;

	text-decoration: none;
	color: var(--white);
	letter-spacing: .2px;
	font-size: 13px;

	padding: 6px 12px;
	border-radius: 14px;
	border: 1px solid rgba(221, 51, 51, .35);

	background: var(--red);

	box-shadow:
		0 14px 34px rgba(221, 51, 51, .22),
		0 10px 24px rgba(0, 0, 0, .10);

	transition: transform var(--anim), box-shadow var(--anim), filter var(--anim);
	white-space: nowrap;
}

.ref-card__btn::before {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(255, 255, 255, .26), rgba(255, 255, 255, 0));
	opacity: .35;
	pointer-events: none;
}

.ref-card__btn-ico {
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(255, 255, 255, .92);
	border-top: 1px solid rgba(255, 255, 255, .92);
	transform: rotate(45deg);
	transition: transform var(--anim);
}

.ref-card__btn:hover {
	transform: translateY(-1px);
	filter: saturate(1.03);
	box-shadow:
		0 18px 46px rgba(221, 51, 51, .26),
		0 14px 30px rgba(0, 0, 0, .12);
}

@media (max-width: 640px) {
	.ref-card__media {
		height: 190px;
	}
}

/* =========================
categoryS CATEGORY PAGE
========================== */

/* offset for sticky tabs */
.categorypage section[id] {
	scroll-margin-top: 96px;
}

/* ===== HERO ===== */
.category-hero {
	position: relative;
	padding: 44px 0 18px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	background:
		radial-gradient(1200px 420px at 20% -10%, rgba(221, 51, 51, .10), transparent 60%),
		radial-gradient(900px 360px at 90% 0%, rgba(15, 18, 24, .08), transparent 55%),
		#fff;
}

.category-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(221, 51, 51, .10), transparent 22%),
		linear-gradient(180deg, rgba(0, 0, 0, .02), transparent 30%);
	opacity: .55;
}

.category-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: 18px;
	align-items: center;
	padding-top: 50px;
}

.category-hero__logoCard {
	border-radius: calc(var(--radius) + 10px);
	padding: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	min-height: 132px;
}

/* 
    .category-hero__logoCard::before {
        content: "";
        position: absolute;
        inset: -1px;
        pointer-events: none;
        background:
            radial-gradient(520px 200px at 40% 0%, rgba(221, 51, 51, .16), transparent 60%),
            radial-gradient(420px 180px at 90% 110%, rgba(15, 18, 24, .10), transparent 55%);
        opacity: .50;
    } */

.category-hero__logo {
	position: relative;
	z-index: 1;
	width: min(360px, 92%);
	max-height: 92px;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .08));
}

/* ===== STICKY TABS ===== */
.category-tabs {
	position: sticky;
	top: 0;
	z-index: 40;
	backdrop-filter: blur(10px);
}

.category-tabs__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
}

.category-tabs__name {
	font-weight: 700;
	color: rgba(0, 0, 0, .90);
	letter-spacing: .2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 42vw;
}

.category-tabs__links {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.tablink {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	padding: 10px 12px;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(0, 0, 0, .02);
	color: rgba(0, 0, 0, .86);
	font-weight: 700;
	letter-spacing: .2px;
	transition: transform var(--anim), box-shadow var(--anim), background var(--anim), border-color var(--anim), color var(--anim);
	line-height: 1;
	user-select: none;
}

.tablink:hover {
	transform: translateY(-1px);
	background: rgba(0, 0, 0, .03);
	border-color: rgba(0, 0, 0, .18);
	box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
}

/* Active tab (scroll-spy) */
.tablink.is-active {
	border-color: rgba(221, 51, 51, .32);
	color: rgba(0, 0, 0, .92);
	box-shadow: 0 14px 30px rgba(221, 51, 51, .12);
}

.tablink.is-active::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--red);
}

/* ===== Sections ===== */
.sections {
	padding: 65px 0 0;
}

.category-sec__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 35px;
}

.category-sec__title {
	margin: 0;
	font-weight: 700;
	letter-spacing: .2px;
	color: rgba(0, 0, 0, .92);
	font-size: clamp(18px, 2.2vw, 26px);
}

.category-sec__hint {
	margin: 0;
	font-weight: 600;
	color: rgba(0, 0, 0, .60);
	font-size: 13px;
}

/* About card (no meta chips) */
.aboutcard {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	overflow: hidden;
	position: relative;
}

.aboutcard::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(840px 320px at 20% 0%, rgba(221, 51, 51, .10), transparent 60%),
		radial-gradient(720px 300px at 95% 110%, rgba(15, 18, 24, .06), transparent 55%);
	opacity: .75;
}

.aboutcard__inner {
	position: relative;
	padding: 18px;
}

.aboutcard__p {
	margin: 0;
	font-weight: 600;
	line-height: 1.75;
	color: rgba(0, 0, 0, .72);
}


/* Solutions (no meta chips) */
.solutioncard {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	overflow: hidden;
	position: relative;
}

.solutioncard::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(840px 320px at 20% 0%, rgba(221, 51, 51, .10), transparent 60%),
		radial-gradient(720px 300px at 95% 110%, rgba(15, 18, 24, .06), transparent 55%);
	opacity: .75;
}

.solutioncard__inner {
	position: relative;
	padding: 18px;
}

.solutioncard__p {
	margin: 0;
	font-weight: 600;
	line-height: 1.75;
	color: rgba(0, 0, 0, .72);
}

/* ===== Products grid ===== */
.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.pCard {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 16px 42px rgba(0, 0, 0, .08);
	overflow: hidden;
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.pCard:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 56px rgba(0, 0, 0, .12);
	border-color: rgba(221, 51, 51, .22);
}

/* Non-square image: use contain, fixed height, centered */
.pCard__media {
	position: relative;
	height: 135px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 35px;
}

.pCard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* key: НЕ квадратим */
	display: block;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .08));
	transform: translateY(0);
	transition: transform 520ms cubic-bezier(.2, .8, .2, 1);
}

.pCard:hover .pCard__media img {
	transform: translateY(-2px);
}

.pCard__body {
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1 1 auto;
}

.pCard__title {
	margin: 0;
	font-weight: 700;
	letter-spacing: .2px;
	color: rgba(0, 0, 0, .92);
	line-height: 1.25;
	font-size: 18px;
}

.pCard__excerpt {
	margin: 0;
	font-weight: 600;
	line-height: 1.7;
	color: rgba(0, 0, 0, .70);
	font-size: 14px;
}

.pCard__actions {
	margin-top: auto;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 4px;
}

.btnx {
	appearance: none;
	cursor: pointer;
	border-radius: 14px;
	padding: 12px 12px;
	font-weight: 700;
	letter-spacing: .2px;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: transform var(--anim), box-shadow var(--anim), background var(--anim), border-color var(--anim);
	user-select: none;
	line-height: 1;
	white-space: nowrap;
}

.btnx--ghost {
	color: rgba(0, 0, 0, .86);
	background: rgba(0, 0, 0, .02);
	border: 1px solid rgba(0, 0, 0, .12);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
	flex: 1 1 160px;
}

.btnx--ghost:hover {
	transform: translateY(-1px);
	background: rgba(0, 0, 0, .03);
	border-color: rgba(0, 0, 0, .18);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .08);
}

.btnx--cta {
	color: var(--white);
	background: var(--red);
	border: 1px solid rgba(221, 51, 51, .45);
	box-shadow: 0 14px 34px rgba(221, 51, 51, .22);
	position: relative;
	overflow: hidden;
	flex: 1 1 220px;
}

.btnx--cta::before {
	content: "";
	position: absolute;
	inset: -2px;
	background:
		radial-gradient(520px 220px at 25% 10%, rgba(255, 255, 255, .22), transparent 60%),
		radial-gradient(420px 220px at 80% 110%, rgba(0, 0, 0, .16), transparent 55%);
	opacity: .85;
	pointer-events: none;
}

.btnx--cta>span {
	position: relative;
	z-index: 1;
}

.btnx--cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 18px 44px rgba(221, 51, 51, .28);
}

.btnx__spark {
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .86);
	box-shadow: 0 0 0 6px rgba(255, 255, 255, .18);
	position: relative;
	z-index: 1;
}

.btnx__arrow {
	width: 12px;
	height: 12px;
	border-right: 1px solid currentColor;
	border-top: 1px solid currentColor;
	transform: rotate(45deg);
	opacity: .9;
}

/* ===== Contacts block ===== */
.contactcard {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .08);
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.contactcard__left {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.contactcard__mark {
	width: 44px;
	height: 44px;
	border-radius: 99px;
	border: 1px solid rgba(221, 51, 51, .22);
	background: rgba(221, 51, 51, .10);
	box-shadow: 0 18px 45px rgba(221, 51, 51, .12);
	flex: 0 0 auto;
	display: grid;
	place-items: center;
}

.contactcard__mark::before {
	content: "";
	width: 16px;
	height: 16px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 6px rgba(221, 51, 51, .16);
}

.contactcard__title {
	margin: 0;
	font-weight: 700;
	color: rgba(0, 0, 0, .92);
	letter-spacing: .2px;
	font-size: 14px;
}

.contactcard__mail {
	margin: 4px 0 0;
	font-weight: 600;
	color: rgba(0, 0, 0, .70);
	font-size: 14px;
}

.contactcard__mail a {
	color: rgba(0, 0, 0, .86);
	text-decoration: none;
	border-bottom: 1px dashed rgba(221, 51, 51, .45);
	transition: border-color var(--anim), color var(--anim);
}

.contactcard__mail a:hover {
	color: rgba(221, 51, 51, 1);
	border-color: rgba(221, 51, 51, .70);
}

/* ===== Responsive ===== */
@media (max-width: 900px) {
	.category-hero__grid {
		grid-template-columns: 1fr;
	}

	.category-hero__logoCard {
		min-height: 118px;
		justify-content: flex-start;
	}

	.category-hero__logo {
		width: auto;
	}

	.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.category-tabs__name {
		max-width: 60vw;
	}
}

@media (max-width: 768px) {
	.category-hero {
		padding: 34px 0 16px;
	}

	.category-tabs__links {
		justify-content: flex-start;
	}

	.tablink {
		padding: 10px 11px;
	}

	.pCard__media {
		height: 156px;
	}
}

@media (max-width: 560px) {
	.products {
		grid-template-columns: 1fr;
	}

	.category-tabs__bar {
		flex-direction: column;
		align-items: flex-start;
	}

	.category-tabs__name {
		max-width: 100%;
	}

	.btnx--ghost,
	.btnx--cta {
		flex: 1 1 100%;
	}

	.pCard__media {
		height: 146px;
	}
}

/* =========================
References CATEGORY PAGE
========================== */

.products.references .pCard__media {
	height: 235px;
	padding: 0;
}

.products.references .pCard__media img {
	object-fit: cover;
}

.products.references .pCard:hover .pCard__media img {
	transform: translateY(0px);
}

/* BLOG ARCHIVE */
.blog-hero {
	position: relative;
	color: var(--white);
	overflow: hidden;
	border-bottom: 1px solid var(--line);
}

.blog-hero::before {
	content: "";
	position: absolute;
	inset: -2px;
	background:
		radial-gradient(900px 420px at 12% 20%, rgba(221, 51, 51, .18), transparent 60%),
		radial-gradient(700px 420px at 88% 10%, rgba(255, 255, 255, .10), transparent 55%),
		linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 42%);
	pointer-events: none;
}

.blog-tools {
	margin-top: 14px;
	display: grid;
	gap: 14px;
}

.blog-search {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
}

.blog-search__icon {
	position: absolute;
	left: 14px;
	width: 18px;
	height: 18px;
	opacity: .65;
	pointer-events: none;
}

.blog-search__input {
	width: 100%;
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(255, 255, 255, .92);
	color: rgba(0, 0, 0, .88);
	padding: 12px 44px 12px 44px;
	outline: none;
	transition: border-color var(--anim), box-shadow var(--anim), transform var(--anim);
	box-shadow: 0 10px 22px rgba(0, 0, 0, .06);
}

.blog-search__input::placeholder {
	color: var(--black);
}

.blog-search__input:focus {
	border-color: rgba(221, 51, 51, .45);
	box-shadow: 0 0 0 5px rgba(221, 51, 51, .14), 0 16px 34px rgba(0, 0, 0, .08);
}

/* выразительная кнопка поиска */
.blog-search__btn {
	height: 44px;
	padding: 0 16px;
	border-top-right-radius: 16px;
	border-bottom-right-radius: 16px;
	border: 1px solid rgba(255, 255, 255, .18);
	cursor: pointer;
	font-weight: 950;
	letter-spacing: .2px;
	color: var(--white);
	background: var(--red);
	transition: transform var(--anim), box-shadow var(--anim), filter var(--anim);
	white-space: nowrap;
}

.blog-search__btn:hover {
	transform: translateY(-1px);
	filter: saturate(1.05);
	box-shadow:
		0 18px 38px rgba(221, 51, 51, .26),
		inset 0 1px 0 rgba(255, 255, 255, .25);
}

.blog-search__btn:active {
	transform: translateY(0);
}

.blog-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.blog-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 2px 12px;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: .1px;
	color: var(--black);
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .06);
	transition: transform var(--anim), background var(--anim), border-color var(--anim);
}

.blog-pill:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, .08);
	border-color: rgba(255, 255, 255, .22);
}

.blog-pill.active {
	color: var(--black);
	border-color: rgba(221, 51, 51, .40);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .16);
}

/* archive background - white */
.blog-archive {
	background: #ffffff;
	padding: 28px 0 40px;
}

.blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

/* cards */
.blog-card {
	border-radius: calc(var(--radius) + 6px);
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, .08);
	background: #fff;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .10);
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
}

.blog-card:hover {
	transform: translateY(-3px);
	border-color: rgba(221, 51, 51, .22);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .14);
}

.blog-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.blog-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform 520ms cubic-bezier(.2, .8, .2, 1);
}

.blog-card:hover .blog-card__media img {
	transform: scale(1.08);
}

.blog-card__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, .00) 0%, rgba(0, 0, 0, .22) 62%, rgba(0, 0, 0, .40) 100%);
	opacity: .95;
	pointer-events: none;
}

.blog-chip {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: 8px 10px;
	border-radius: 999px;
	font-size: 12px;
	color: var(--white);
	border: 1px solid rgba(255, 255, 255, .18);
	background: rgba(15, 18, 24, .55);
	backdrop-filter: blur(8px);
}

.blog-card__body {
	padding: 14px 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.blog-meta {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: rgba(0, 0, 0, .58);
	font-weight: 600;
}

.blog-meta__dot {
	width: 4px;
	height: 4px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .70);
}

.blog-card__title {
	margin: 0;
	font-size: 16px;
	line-height: 1.25;
	letter-spacing: -.01em;
	font-weight: 600;
}

.blog-card__title a {
	text-decoration: none;
	color: rgba(0, 0, 0, .92);
	transition: color var(--anim);
}

.blog-card:hover .blog-card__title a {
	color: rgba(221, 51, 51, .92);
}

.blog-card__excerpt {
	margin: 0;
	color: rgba(0, 0, 0, .64);
	line-height: 1.45;
	font-size: 13px;
}

.blog-card__foot {
	margin-top: 2px;
	display: flex;
	justify-content: flex-start;
}

.blog-card__btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 6px 12px;
	border-radius: 14px;
	text-decoration: none;
	font-size: 14px;
	color: rgba(0, 0, 0, .92);
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(0, 0, 0, .02);
	transition: transform var(--anim), box-shadow var(--anim), background var(--anim), border-color var(--anim);
}

.blog-card__btn:hover {
	transform: translateY(-1px);
	border-color: rgba(221, 51, 51, .22);
	background: rgba(221, 51, 51, .06);
	box-shadow: 0 10px 22px rgba(0, 0, 0, .08);
}

.blog-card__arrow {
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(0, 0, 0, .70);
	border-top: 1px solid rgba(0, 0, 0, .70);
	transform: rotate(45deg);
	transition: transform var(--anim), border-color var(--anim);
}

.blog-card__btn:hover .blog-card__arrow {
	transform: rotate(45deg) translateX(1px) translateY(-1px);
	border-color: rgba(221, 51, 51, .85);
}

/* responsive */
@media (max-width: 980px) {
	.blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.blog-hero__inner {
		padding: 30px 0 22px;
	}

	.blog-grid {
		grid-template-columns: 1fr;
	}
}

/* ==== BLOCK: 2 videos 50/50 ==== */

.blk-videos {
	background: #fff;
	padding: clamp(26px, 4vw, 54px) 0;
	font-family: var(--font);
	color: rgba(0, 0, 0, .92);
	overflow-wrap: anywhere;
}

.videos__head {
	max-width: 860px;
	margin: 0 auto 18px;
	text-align: center;
}

.videos__kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(221, 51, 51, .18);
	background: rgba(221, 51, 51, .06);
	color: rgba(221, 51, 51, .95);
	font-weight: 700;
	letter-spacing: .25px;
	font-size: 12px;
}

.videos__kicker::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .95);
	box-shadow: 0 0 0 5px rgba(221, 51, 51, .14);
}

.videos__title {
	margin: 12px 0 0;
	font-weight: 700;
	font-size: clamp(20px, 2.6vw, 34px);
	letter-spacing: .2px;
	line-height: 1.12;
	color: rgba(0, 0, 0, .92);
}

.videos__sub {
	margin: 10px auto 0;
	max-width: 720px;
	font-weight: 600;
	font-size: 14.5px;
	line-height: 1.45;
	color: rgba(0, 0, 0, .60);
}

.videos__grid {
	margin-top: 18px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	position: relative;
}

.videos__grid::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 18px;
	bottom: 18px;
	width: 1px;
	background: linear-gradient(180deg,
			rgba(221, 51, 51, 0),
			rgba(221, 51, 51, .22),
			rgba(221, 51, 51, .22),
			rgba(221, 51, 51, 0));
	transform: translateX(-50%);
	pointer-events: none;
}

.vcard {
	border-radius: calc(var(--radius) + 2px);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
	overflow: hidden;
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
	position: relative;
}

.vcard::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity var(--anim);
	background:
		radial-gradient(600px 160px at 10% 0%,
			rgba(221, 51, 51, .10),
			transparent 60%);
}

.vcard:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
	border-color: rgba(221, 51, 51, .22);
}

.vcard:hover::after {
	opacity: 1;
}

.vcard__top {
	padding: 16px 16px 12px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	background:
		linear-gradient(180deg, rgba(221, 51, 51, .05), rgba(255, 255, 255, 0));
}

.vcard__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 700;
	color: rgba(221, 51, 51, .95);
	letter-spacing: .2px;
}

.vcard__label::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: rgba(221, 51, 51, .95);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .12);
}

.vcard__name {
	margin-top: 8px;
	font-size: 16px;
	color: rgba(0, 0, 0, .92);
	line-height: 1.2;
}

.vcard__media {
	padding: 14px 14px 0;
}

.vcard__ratio {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: var(--bg);
	box-shadow: 0 14px 34px rgba(0, 0, 0, .10);
	border: 1px solid rgba(0, 0, 0, .10);
	aspect-ratio: 16/9;
}

.vcard__ratio iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.vcard__cap {
	padding: 12px 16px 16px;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(0, 0, 0, .60);
}

/* ===== responsive ===== */
@media (max-width: 900px) {
	.videos__grid {
		grid-template-columns: 1fr;
	}

	.videos__grid::before {
		left: 18px;
		top: 0;
		bottom: 0;
		width: 2px;
		transform: none;
		background: linear-gradient(180deg,
				rgba(221, 51, 51, 0),
				rgba(221, 51, 51, .22),
				rgba(221, 51, 51, .22),
				rgba(221, 51, 51, 0));
	}

	.vcard {
		padding-left: 0;
	}
}

@media (max-width: 768px) {
	.vcard__top {
		padding: 14px 14px 10px;
	}

	.vcard__media {
		padding: 12px 12px 0;
	}

	.vcard__cap {
		padding: 10px 14px 14px;
	}
}

@media (max-width: 480px) {
	.videos__sub {
		font-size: 14px;
	}

	.vcard__name {
		font-size: 15.5px;
	}
}

/* =========================================================
   ABOUT — GEO-MENTOR UI (uses your :root)
   ========================================================= */

/* ===== HERO ===== */
.frame-hero {
	position: relative;
	background: var(--white);
	overflow: hidden;
}

.frame-hero::before {
	content: "";
	position: absolute;
	inset: -2px;
	background:
		radial-gradient(900px 420px at 18% -10%, rgba(221, 51, 51, .22), transparent 60%),
		radial-gradient(760px 360px at 92% 110%, rgba(255, 255, 255, .10), transparent 60%),
		linear-gradient(180deg, rgba(255, 255, 255, .06), transparent 55%);
	pointer-events: none;
}

.frame-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: rgba(255, 255, 255, .12);
	pointer-events: none;
}

.frame-hero .container {
	position: relative;
	z-index: 1;
}

.frame-hero__inner {
	padding: clamp(28px, 4vw, 56px) 0;
	max-width: 980px;
}

.frame-hero__title {
	margin: 14px 0 8px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -.35px;
	font-size: clamp(28px, 3.8vw, 52px);
	color: #000;
}

.frame-hero__lead {
	margin: 0;
	color: #000;
	font-weight: 750;
	font-size: clamp(14px, 1.3vw, 16px);
	max-width: 780px;
}

/* ===== CONTENT ===== */
.frame-content {
	background: var(--white);
	padding: clamp(18px, 3.4vw, 32px) 0;
}

.frame-grid {
	display: grid;
	grid-template-columns: 1;
	gap: 14px;
	align-items: start;
}

@media (max-width: 980px) {
	.frame-grid {
		grid-template-columns: 1fr;
	}
}

/* ===== CARDS ===== */
.frame-card {
	border-radius: var(--radius);
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .10);
	box-shadow: 0 14px 40px rgba(0, 0, 0, .08);
	overflow: hidden;
}

.frame-card--text {
	padding: 18px 18px 16px;
}

.frame-card__text h1,
.frame-card__text h2,
.frame-card__text h3,
.frame-card__text h4,
.frame-card__text h5 {
	margin: 0 0 10px;
	line-height: 1.15;
}

.frame-card__text {
	color: rgba(0, 0, 0, .70);
	font-weight: 650;
	line-height: 1.55;
}

.frame-card__text p {
	margin: 0 0 12px;
	font-weight: 500;
}

.frame-card__text p:last-child {
	margin-bottom: 0;
}

/* ===== HIGHLIGHT ===== */
.frame-card--highlight {
	position: relative;
	padding: 18px 18px 16px;
	background: linear-gradient(180deg, rgba(221, 51, 51, .08), rgba(0, 0, 0, 0));
}

.frame-card--highlight::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		radial-gradient(260px 260px at 18% 18%, rgba(221, 51, 51, .18), transparent 60%),
		radial-gradient(340px 220px at 90% 90%, rgba(15, 18, 24, .08), transparent 60%);
	pointer-events: none;
}

.frame-card--highlight>* {
	position: relative;
	z-index: 1;
}

.frame-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 999px;
	font-weight: 980;
	letter-spacing: .2px;
	font-size: 12px;
	color: rgba(0, 0, 0, .88);
	background: rgba(221, 51, 51, .12);
	border: 1px solid rgba(221, 51, 51, .22);
}

.frame-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
}

.frame-highlight__text {
	margin: 12px 0 14px;
	color: rgba(0, 0, 0, .70);
	font-weight: 500;
	line-height: 1.55;
}

.frame-highlight__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

@media (max-width: 520px) {
	.frame-highlight__stats {
		grid-template-columns: 1fr;
	}
}

.stat {
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(255, 255, 255, .72);
	padding: 12px 12px;
}

.stat__num {
	font-weight: 700;
	letter-spacing: -.2px;
	color: rgba(0, 0, 0, .92);
	font-size: 21px;
	line-height: 1;
}

.stat__label {
	margin-top: 6px;
	color: rgba(0, 0, 0, .60);
	font-size: 14px;
	margin-bottom: 10px;
}

/* ===== OFFICES ===== */
.offices {
	background: var(--white);
	padding: clamp(16px, 3.2vw, 28px) 0 clamp(28px, 4vw, 44px);
	border-top: 1px solid rgba(0, 0, 0, .06);
}

/* section head like vendors */
.section-head {
	margin-bottom: 14px;
}

.section-head__kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px;
	border-radius: 999px;
	font-weight: 980;
	letter-spacing: .22px;
	font-size: 12px;
	background: rgba(221, 51, 51, .10);
	border: 1px solid rgba(221, 51, 51, .18);
	color: rgba(0, 0, 0, .82);
}

.section-head__kicker::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
}

.section-head__title {
	margin: 12px 0 6px;
	font-weight: 700;
	letter-spacing: -.25px;
	color: rgba(0, 0, 0, .92);
	font-size: clamp(20px, 2.4vw, 30px);
	line-height: 1.1;
}

.section-head__sub {
	margin: 0;
	color: rgba(0, 0, 0, .62);
	font-weight: 650;
	font-size: 14px;
	max-width: 760px;
}

.offices-grid {
	margin-top: 14px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
}

@media (max-width: 980px) {
	.offices-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.offices-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	.offices-grid {
		grid-template-columns: 1fr;
	}
}

.office-card {
	border-radius: var(--radius);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .08);
	padding: 30px;
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
	display: grid;
	gap: 20px;
	text-align: center;
}

.office-card:hover {
	transform: translateY(-2px);
	border-color: rgba(221, 51, 51, .26);
	box-shadow: 0 18px 54px rgba(0, 0, 0, .10);
}

.office-card__flag {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.office-card__flag img {
	height: auto;
	max-width: 160px;
	border-radius: 10px;
}

.office-card__name {
	color: rgba(0, 0, 0, .70);
	font-weight: 650;
	line-height: 1.2;
	font-size: 14px;
}

.office-card__name h3 {
	color: rgba(0, 0, 0, .90);
	font-size: 28px;
	font-weight: 100;
}

/* ===== Category industries ===== */
.catInd-grid {
	background: #fff;
	font-family: var(--font);
}

.catInd-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

/* Card */
.catInd-card {
	position: relative;
	display: block;
	text-decoration: none;
	border-radius: calc(var(--radius) + 6px);
	overflow: hidden;
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .08);
	transition: transform var(--anim), box-shadow var(--anim), border-color var(--anim);
}

.catInd-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(900px 260px at 10% 10%, rgba(221, 51, 51, .10), transparent 60%),
		linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .06));
	opacity: 0;
	transition: opacity var(--anim);
	pointer-events: none;
	z-index: 1;
}

.catInd-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 54px rgba(0, 0, 0, .12);
	border-color: rgba(221, 51, 51, .22);
}

.catInd-card:hover::before {
	opacity: 1;
}

/* image */
.catInd-card__media {
	position: relative;
	height: 155px;
	border-radius: calc(var(--radius) + 6px);
	background: rgba(15, 18, 24, .06);
	overflow: hidden;
}

.catInd-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transform: scale(1.02);
	transition: transform 420ms cubic-bezier(.2, .8, .2, 1), filter 420ms cubic-bezier(.2, .8, .2, 1);
}

.catInd-card:hover .catInd-card__media img {
	transform: scale(1.06);
	filter: saturate(1.06) contrast(1.02);
}

/* body */
.catInd-card__body {
	position: relative;
	z-index: 2;
	padding: 25px 15px 15px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.catInd-card__title {
	margin: 0;
	font-weight: 700;
	color: rgba(0, 0, 0, .92);
	letter-spacing: .15px;
	font-size: clamp(16px, 1.8vw, 20px);
	line-height: 1.15;
}

/* bottom row */
.catInd-card__cta {
	margin-top: 6px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, .08);
}

.catInd-card__link {
	font-weight: 700;
	color: rgba(0, 0, 0, .82);
}

.catInd-card__arrow {
	width: 42px;
	height: 34px;
	border-radius: 12px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(15, 18, 24, .04);
	position: relative;
	transition: transform var(--anim), border-color var(--anim), background var(--anim);
}

.catInd-card__arrow::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(0, 0, 0, .70);
	border-top: 1px solid rgba(0, 0, 0, .70);
	transform: translate(-55%, -50%) rotate(45deg);
}

.catInd-card:hover .catInd-card__arrow {
	transform: translateX(2px);
	border-color: rgba(221, 51, 51, .26);
	background: rgba(221, 51, 51, .06);
}

/* subtle red spine between cards (optional “connected” feel) */
.catInd-cards {
	position: relative;
}

.catInd-cards::before {
	content: "";
	position: absolute;
	left: 10px;
	top: -10px;
	bottom: -10px;
	width: 1px;
	background: linear-gradient(180deg, transparent, rgba(221, 51, 51, .28), transparent);
	pointer-events: none;
	opacity: .9;
}

.catInd-card {
	/* маленький красный “пин” */
}

.catInd-card::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 18px;
	width: 8px;
	height: 8px;
	border-radius: 99px;
	background: var(--red);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
	opacity: .0;
	transform: translateX(-6px);
	transition: opacity var(--anim), transform var(--anim);
	z-index: 3;
}

.catInd-card:hover::after {
	opacity: 1;
	transform: translateX(0);
}

/* ===== responsive ===== */
@media (max-width: 900px) {
	.catInd-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.catInd-cards::before {
		left: 8px;
	}
}

@media (max-width: 768px) {
	.catInd-hero__inner {
		padding: 16px;
	}

	.catInd-cards {
		gap: 12px;
	}
}

@media (max-width: 520px) {
	.catInd-cards {
		grid-template-columns: 1fr;
	}

	.catInd-cards::before {
		display: none;
	}

	.catInd-card::after {
		display: none;
	}
}


/* ==== BLOCK: Offers (groups) ==== */
.blk-offers {
	padding: clamp(22px, 3.6vw, 48px) 0;
	background: #fff;
	font-family: var(--font);
	color: var(--black);
}

.offers {
	position: relative;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .08);
	background: #fff;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .08);
	padding: clamp(16px, 2.6vw, 26px);
	overflow: hidden;
}

.offers::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(900px 320px at 10% 0%, rgba(221, 51, 51, .10), transparent 55%),
		radial-gradient(680px 260px at 90% 10%, rgba(15, 18, 24, .06), transparent 55%);
	pointer-events: none;
}

.offers::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, rgba(221, 51, 51, .9), rgba(221, 51, 51, .22), transparent);
	opacity: .95;
	pointer-events: none;
}

.offers__top {
	position: relative;
	z-index: 1;
	padding-bottom: 14px;
	margin-bottom: 12px;
	border-bottom: 1px dashed rgba(0, 0, 0, .10);
}

.offers__title {
	margin: 0;
	font-weight: 700;
	font-size: clamp(18px, 2.2vw, 28px);
	color: rgba(0, 0, 0, .92);
	letter-spacing: .2px;
}

.offers__group {
	position: relative;
	z-index: 1;
	padding-top: 12px;
}

.offers__group+.offers__group {
	margin-top: 14px;
	padding-top: 18px;
	border-top: 1px dashed rgba(0, 0, 0, .10);
}

.offers__head {
	display: grid;
	gap: 6px;
	margin-bottom: 12px;
}

.offers__sub {
	margin: 0;
	font-weight: 700;
	color: rgba(0, 0, 0, .78);
	font-size: clamp(13.5px, 1.15vw, 18px);
	line-height: 1.5;
	letter-spacing: .2px;
}

.offers__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.offerbtn {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 12px;

	padding: 14px 14px;
	border-radius: calc(var(--radius) + 8px);
	text-decoration: none;

	border: 1px solid rgba(0, 0, 0, .10);
	box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
	transition: transform var(--anim), box-shadow var(--anim), filter var(--anim), border-color var(--anim);
	overflow: hidden;
	isolation: isolate;
}

.offerbtn:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
	border-color: rgba(221, 51, 51, .22);
}

.offerbtn__text {
	letter-spacing: .2px;
	color: rgba(0, 0, 0, .92);
	line-height: 1.25;
	font-size: clamp(13.5px, 1.1vw, 15px);
	text-transform: uppercase;
}

.offerbtn::after {
	content: "";
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	justify-self: end;

	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px 18px;

	background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20d%3D%27M7%2017L17%207%27%20stroke%3D%27rgba(0%2C0%2C0%2C0.75)%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M10%207h7v7%27%20stroke%3D%27rgba(0%2C0%2C0%2C0.75)%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");

	opacity: .9;
	transform: translate(0, 0);
	transition: transform var(--anim), opacity var(--anim), filter var(--anim);
}

.offerbtn:hover::after {
	opacity: 1;
	transform: translate(2px, -2px);
	filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .14));
}

/* A — Sky / Cyan (свежий, “tech”) */
.offerbtn--a {
	background:
		radial-gradient(120% 90% at 16% 12%, rgba(56, 189, 248, .22), transparent 55%),
		radial-gradient(90% 70% at 88% 18%, rgba(221, 51, 51, .10), transparent 60%),
		linear-gradient(135deg, rgba(56, 189, 248, .10), rgba(255, 255, 255, 1) 62%);
	border-color: rgba(56, 189, 248, .22);
}

/* B — Violet / Indigo (премиум, “enterprise”) */
.offerbtn--b {
	background:
		radial-gradient(120% 90% at 18% 12%, rgba(99, 102, 241, .20), transparent 55%),
		radial-gradient(90% 70% at 86% 16%, rgba(15, 18, 24, .08), transparent 60%),
		linear-gradient(135deg, rgba(99, 102, 241, .09), rgba(255, 255, 255, 1) 60%);
	border-color: rgba(99, 102, 241, .22);
}

/* C — Emerald / Mint (доверие, “success / workflow”) */
.offerbtn--c {
	background:
		radial-gradient(120% 90% at 16% 12%, rgba(16, 185, 129, .20), transparent 55%),
		radial-gradient(90% 70% at 88% 18%, rgba(221, 51, 51, .08), transparent 60%),
		linear-gradient(135deg, rgba(16, 185, 129, .08), rgba(15, 18, 24, .04), rgba(255, 255, 255, 1) 70%);
	border-color: rgba(16, 185, 129, .22);
}

/* D — Amber / Gold (акцент, “highlight”) */
.offerbtn--d {
	background:
		radial-gradient(120% 90% at 16% 12%, rgba(245, 158, 11, .22), transparent 55%),
		radial-gradient(90% 70% at 86% 18%, rgba(15, 18, 24, .06), transparent 60%),
		linear-gradient(135deg, rgba(245, 158, 11, .10), rgba(221, 51, 51, .06), rgba(255, 255, 255, 1) 72%);
	border-color: rgba(245, 158, 11, .22);
}


@media (max-width: 900px) {
	.offers__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.offers {
		padding: 14px;
	}

	.offers__top {
		padding-bottom: 12px;
		margin-bottom: 10px;
	}

	.offers__group+.offers__group {
		padding-top: 16px;
	}
}

/* Сравнительная таблица Google table */
.table-compare {
	margin-top: 14px;
	padding: 16px;
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(20, 20, 20, .10);
	border-left: 3px solid var(--red);
	background: #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .04);
}

.table-compare__title {
	font-weight: 700;
	letter-spacing: .2px;
	margin: 0;
	font-size: 21px;
	margin-bottom: 20px;
}

.table-compare__table-wrap {
	border: 1px solid rgba(20, 20, 20, .10);
	overflow: auto;
	background: #fff;
}

.table-compare__table {
	width: 100%;
	min-width: 860px;
	border-collapse: separate;
	border-spacing: 0;
	color: var(--text);
}

.table-compare__table th,
.table-compare__table td {
	padding: 12px 12px;
	border-bottom: 1px solid rgba(20, 20, 20, .10);
	border-right: 1px solid rgba(20, 20, 20, .10);
	vertical-align: top;
	background: #fff;
	text-align: center;
}

.table-compare__table th:last-child,
.table-compare__table td:last-child {
	border-right: 0;
}

.table-compare__table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	font-weight: 700;
	letter-spacing: .2px;
	border-bottom: 1px solid rgba(221, 51, 51, .35);
}

.table-compare__table th:first-child,
.table-compare__table td:first-child {
	position: sticky;
	left: 0;
	z-index: 3;
	font-weight: 700;
	text-align: center;
	background: #fff;
	min-width: 220px;
}

.table-compare__table tbody tr:nth-child(even) td {
	background: rgba(0, 0, 0, .02);
}

.table-compare__table tbody tr:nth-child(even) td:first-child {
	background: rgb(250 250 250);
}

.table-compare__actions {
	margin-top: 14px;
	display: flex;
	justify-content: flex-end;
}

.table-compare__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 16px;
	border-radius: 0;
	border: 1px solid rgba(221, 51, 51, .55);
	background: rgba(221, 51, 51, .06);
	color: var(--red);
	font: 700 12px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	letter-spacing: .6px;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform .12s ease, background .12s ease, border-color .12s ease;
	white-space: nowrap;
}

.table-compare__btn:hover {
	border-color: rgba(221, 51, 51, .85);
	background: rgba(221, 51, 51, .12);
	transform: translateY(-1px);
}

@media (max-width:640px) {
	.table-compare__actions {
		justify-content: stretch;
	}

	.table-compare__btn {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.table-compare__table thead th {
		position: static;
		top: auto;
	}

	.table-compare__table th:first-child,
	.table-compare__table td:first-child {
		position: static;
		left: auto;
		min-width: auto;
	}
}

/* CONTACTS PAGE */

.contact-hero {
	position: relative;
	background: #fff;
	color: var(--black);
	overflow: hidden;
}

.contact-hero::before {
	content: "";
	position: absolute;
	inset: -2px;
	background:
		radial-gradient(920px 520px at 14% 18%, rgba(221, 51, 51, .10), transparent 60%),
		radial-gradient(720px 420px at 90% 0%, rgba(15, 18, 24, .06), transparent 55%),
		linear-gradient(180deg, rgba(0, 0, 0, .03), transparent 38%);
	pointer-events: none;
}

.contact-hero__inner {
	position: relative;
	padding: 44px 0 46px;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 60px;
	align-items: start;
}

.contact-hero__copy {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.contact-hero__title {
	margin: 0;
	font-size: clamp(26px, 3.4vw, 44px);
	line-height: 1.08;
	letter-spacing: -.02em;
	font-weight: 700;
	color: rgba(0, 0, 0, .92);
}

.contact-hero__sub {
	margin: 0;
	max-width: 740px;
	color: rgba(0, 0, 0, .68);
	line-height: 1.55;
	font-size: 14px;
	font-weight: 600;
}

.contact-card {
	margin-top: 10px;
	border-radius: calc(var(--radius) + 8px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .08);
	padding: 16px;
}

.contact-card__title {
	font-weight: 700;
	letter-spacing: .2px;
	font-size: 14px;
	color: rgba(0, 0, 0, .86);
}

.contact-card__email {
	display: inline-flex;
	margin-top: 10px;
	font-weight: 700;
	font-size: 16px;
	color: rgba(0, 0, 0, .92);
	text-decoration: none;
	position: relative;
	padding-bottom: 3px;
}

.contact-card__email::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	border-radius: 99px;
	background: linear-gradient(90deg, rgba(221, 51, 51, .85), rgba(221, 51, 51, .25));
	transform: scaleX(.55);
	transform-origin: left;
	transition: transform var(--anim), opacity var(--anim);
	opacity: .7;
}

.contact-card__email:hover::after {
	transform: scaleX(1);
	opacity: 1;
}

.contact-card__hint {
	margin-top: 10px;
	color: rgba(0, 0, 0, .60);
	font-size: 12px;
	line-height: 1.4;
	font-weight: 600;
}

.contact-badges {
	margin-top: 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.contact-badge {
	display: inline-flex;
	align-items: center;
	padding: 9px 12px;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: rgba(15, 18, 24, .04);
	color: rgba(0, 0, 0, .76);
	font-weight: 600;
	font-size: 12px;
}

.contact-formwrap {
	border-radius: calc(var(--radius) + 10px);
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .10);
}

.contact-formhead {
	padding: 18px 18px 14px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
}

.contact-formhead__title {
	font-weight: 700;
	letter-spacing: .2px;
	font-size: 16px;
	color: rgba(0, 0, 0, .92);
}

.contact-formhead__sub {
	margin-top: 6px;
	color: rgba(0, 0, 0, .62);
	font-size: 13px;
	line-height: 1.45;
	font-weight: 600;
}

.contact-form {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.contact-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.field {
	display: grid;
	gap: 6px;
}

.field__label {
	font-size: 12px;
	color: rgba(0, 0, 0, .64);
	font-weight: 600;
}

.field__input {
	width: 100%;
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(15, 18, 24, .03);
	color: rgba(0, 0, 0, .86);
	padding: 12px 12px;
	outline: none;
	font-weight: 600;
	transition: border-color var(--anim), box-shadow var(--anim), background var(--anim);
}

.field__input::placeholder {
	color: rgba(0, 0, 0, .45);
}

.field__input:focus {
	border-color: rgba(221, 51, 51, .55);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
	background: rgba(221, 51, 51, .04);
}

.field__input--ta {
	min-height: 118px;
	resize: vertical;
}

.sselect {
	position: relative;
}

.sselect__btn {
	width: 100%;
	height: 46px;
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(15, 18, 24, .03);
	color: rgba(0, 0, 0, .86);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0 12px;
	transition: border-color var(--anim), box-shadow var(--anim), background var(--anim), transform var(--anim);
}

.sselect__btn:hover {
	background: rgba(15, 18, 24, .05);
	transform: translateY(-1px);
}

.sselect.is-open .sselect__btn {
	border-color: rgba(221, 51, 51, .55);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
	background: rgba(221, 51, 51, .04);
	transform: none;
}

.sselect__value {
	font-weight: 600;
	letter-spacing: .1px;
	font-size: 13px;
	color: rgba(0, 0, 0, .86);
}

.sselect__chev {
	width: 10px;
	height: 10px;
	border-right: 1px solid rgba(0, 0, 0, .55);
	border-bottom: 1px solid rgba(0, 0, 0, .55);
	transform: rotate(45deg);
	transition: transform var(--anim);
	margin-right: 2px;
}

.sselect.is-open .sselect__chev {
	transform: rotate(225deg);
}

.sselect__dd {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 10px);
	border-radius: 16px;
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	box-shadow: 0 18px 46px rgba(0, 0, 0, .12);
	overflow: hidden;

	opacity: 0;
	transform: translateY(-10px);
	pointer-events: none;
	visibility: hidden;
	transition: opacity var(--anim), transform var(--anim), visibility var(--anim);
	z-index: 60;
}

.sselect.is-open .sselect__dd {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
	visibility: visible;
}

.sselect__search {
	padding: 10px;
	border-bottom: 1px solid rgba(0, 0, 0, .08);
	background: linear-gradient(180deg, rgba(221, 51, 51, .06), transparent);
}

.sselect__searchinput {
	width: 100%;
	height: 40px;
	border-radius: 14px;
	border: 1px solid rgba(0, 0, 0, .12);
	background: rgba(15, 18, 24, .03);
	color: rgba(0, 0, 0, .86);
	padding: 0 12px;
	outline: none;
	font-weight: 600;
}

.sselect__searchinput::placeholder {
	color: rgba(0, 0, 0, .45);
}

.sselect__searchinput:focus {
	border-color: rgba(221, 51, 51, .55);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .14);
	background: rgba(221, 51, 51, .04);
}

.sselect__list {
	max-height: 240px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	padding: 8px;
	display: grid;
	gap: 6px;
}

.sselect__opt {
	width: 100%;
	text-align: left;
	border: 1px solid rgba(0, 0, 0, .10);
	background: #fff;
	color: rgba(0, 0, 0, .82);
	border-radius: 14px;
	padding: 12px 12px;
	cursor: pointer;
	font-weight: 600;
	letter-spacing: .1px;
	transition: transform var(--anim), border-color var(--anim), background var(--anim);
}

.sselect__opt:hover {
	transform: translateY(-1px);
	background: rgba(15, 18, 24, .03);
	border-color: rgba(221, 51, 51, .35);
}

.sselect__opt.is-selected {
	border-color: rgba(221, 51, 51, .50);
	background: rgba(221, 51, 51, .08);
	box-shadow: 0 0 0 4px rgba(221, 51, 51, .12);
}

.sselect__empty {
	display: none;
	padding: 12px 12px 14px;
	color: rgba(0, 0, 0, .55);
	font-size: 13px;
	font-weight: 600;
}

.sselect.is-empty .sselect__empty {
	display: block;
}

.contact-btn {
	position: relative;
	width: 100%;
	height: 52px;
	border-radius: 16px;
	border: 1px solid rgba(221, 51, 51, .55);
	cursor: pointer;
	color: var(--white);
	font-weight: 700;
	letter-spacing: .2px;
	overflow: hidden;
	background: linear-gradient(135deg, rgba(221, 51, 51, .95), rgba(221, 51, 51, .72));
	box-shadow: 0 16px 40px rgba(221, 51, 51, .18);
	transition: transform var(--anim), box-shadow var(--anim), filter var(--anim);
}

.contact-btn__txt {
	position: relative;
	z-index: 2;
	font-size: 13px;
	font-weight: 700;
}

.contact-btn__arrow {
	position: absolute;
	right: 16px;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: 1px solid rgba(255, 255, 255, .95);
	border-right: 1px solid rgba(255, 255, 255, .95);
	transform: translateY(-50%) rotate(45deg);
	z-index: 2;
	transition: transform var(--anim);
}

.contact-btn:hover {
	transform: translateY(-1px);
	filter: saturate(1.06);
	box-shadow: 0 22px 54px rgba(221, 51, 51, .22);
}

.contact-btn:hover .contact-btn__arrow {
	transform: translateY(-50%) rotate(45deg) translateX(2px) translateY(-2px);
}

.contact-btn:active {
	transform: translateY(0);
}

.contact-note {
	font-size: 12px;
	color: rgba(0, 0, 0, .55);
	line-height: 1.35;
	font-weight: 600;
}

@media (max-width: 980px) {
	.contact-hero__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.contact-hero__inner {
		padding: 32px 0 34px;
	}

	.contact-grid {
		grid-template-columns: 1fr;
	}
}