@font-face {
	font-family: 'Golos';
	src: url('../fonts/GolosText-Regular.ttf');
}

/* News pages v2 */
.news-page-v2 {
	padding-top: 150px;
	color: #020203;
}

.news-v2-header,
.news-v2-article-header {
	padding: 40px 64px 48px;
}

.news-v2-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
}

.news-v2-breadcrumb a,
.news-v2-breadcrumb span {
	font-family: 'NAMU', sans-serif;
	font-size: 14px;
	color: #020203;
	opacity: .5;
}

.news-v2-breadcrumb a:hover,
.news-v2-breadcrumb .cur {
	opacity: .8;
}

.news-v2-page-title {
	margin-top: 12px;
	font-weight: 500;
	font-size: clamp(48px, calc(48px + (72 - 48) * ((100vw - 320px) / (1920 - 320))), 72px);
	line-height: 1;
	color: #020203;
}

.news-v2-page-subtitle {
	max-width: 650px;
	margin-top: 16px;
	font-family: 'NAMU', sans-serif;
	font-size: clamp(16px, calc(16px + (22 - 16) * ((100vw - 320px) / (1920 - 320))), 22px);
	line-height: 1.6;
	color: #212121;
	opacity: .7;
}

.news-v2-filters {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0 64px 48px;
}

.news-v2-tags,
.news-v2-sidebar-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.news-v2-tags a {
	position: relative;
	padding: 8px 16px;
	border: 1px solid #BB2649;
	border-radius: 999px;
	color: #212121;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1;
	transition: .3s;
}

.news-v2-tags a:hover,
.news-v2-tags a.active {
	background: #BB2649;
	color: #fff;
}

.news-v2-count,
.news-v2-date {
	font-family: 'NAMU', sans-serif;
	font-size: clamp(13px, calc(13px + (16 - 13) * ((100vw - 320px) / (1920 - 320))), 16px);
	color: #020203;
	opacity: .5;
}

.news-v2-featured {
	padding: 0 64px 64px;
}

.news-v2-featured-card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	overflow: hidden;
	border-radius: 16px;
	background: #F6F6F6;
	color: inherit;
	transition: transform .4s;
}

.news-v2-featured-card:hover,
.news-v2-card:hover {
	transform: translateY(-4px);
}

.news-v2-featured-image,
.news-v2-card-image,
.news-v2-cover {
	overflow: hidden;
	background: linear-gradient(135deg, #e0e0e0, #ebebeb);
}

.news-v2-featured-image {
	aspect-ratio: 4 / 3;
}

.news-v2-featured-image img,
.news-v2-card-image img,
.news-v2-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-v2-featured-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: 20px;
	padding: 48px 52px;
}

.news-v2-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.news-v2-tag {
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	background: #BB2649;
	color: #fff;
	font-family: 'NAMU', sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
}

.news-v2-dot {
	font-family: 'NAMU', sans-serif;
	color: #020203;
	opacity: .3;
}

.news-v2-featured-body h2 {
	color: #020203;
	font-size: clamp(22px, calc(22px + (32 - 22) * ((100vw - 320px) / (1920 - 320))), 32px);
	font-weight: 600;
	line-height: 1.2;
}

.news-v2-featured-body > p {
	font-family: 'NAMU', sans-serif;
	font-size: clamp(15px, calc(15px + (18 - 15) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1.7;
	color: #212121;
	opacity: .7;
}

.news-v2-read-more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #BB2649;
	font-size: 16px;
	font-weight: 500;
}

.news-v2-read-more .btn-icon {
	width: 36px;
	height: 36px;
}

.news-v2-section,
.news-v2-related {
	padding: 0 64px 64px;
}

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

.news-v2-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 16px;
	background: #F6F6F6;
	color: inherit;
	transition: transform .4s;
}

.news-v2-card-image {
	position: relative;
	aspect-ratio: 573 / 360;
}

.news-v2-card-image .btn-icon {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
}

.news-v2-card:hover .btn-icon {
	transform: rotate(45deg);
}

.news-v2-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 24px;
}

.news-v2-card-body h3 {
	margin: 0;
	color: #020203;
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320))), 22px);
	font-weight: 600;
	line-height: 1.3;
}

.news-v2-card-body > p {
	flex: 1;
	margin: 4px 0 0;
	font-family: 'NAMU', sans-serif;
	font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	line-height: 1.65;
	color: #212121;
	opacity: .65;
}

.news-v2-card-foot {
	width: 100%;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(2, 2, 3, .08);
}

.news-v2-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 64px 80px;
}

.news-v2-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(2, 2, 3, .15);
	border-radius: 50%;
	color: #020203;
	font-size: 15px;
	transition: .3s;
}

.news-v2-pagination .page-numbers:hover,
.news-v2-pagination .page-numbers.current {
	border-color: #BB2649;
	background: #BB2649;
	color: #fff;
}

.news-v2-empty {
	margin: 0 64px 80px;
	padding: 36px;
	border-radius: 16px;
	background: #F6F6F6;
}

.news-v2-article-header {
	padding-bottom: 0;
}

.news-v2-article-header .news-v2-meta {
	margin-bottom: 24px;
}

.news-v2-article-header h1 {
	max-width: 1000px;
	margin-bottom: 48px;
	color: #020203;
	font-size: clamp(32px, calc(32px + (56 - 32) * ((100vw - 320px) / (1920 - 320))), 56px);
	font-weight: 500;
	line-height: 1.1;
}

.news-v2-cover {
	width: 100%;
	aspect-ratio: 21 / 8;
	border-radius: 16px;
}

.news-v2-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 80px;
	align-items: start;
	padding: 64px 64px 80px;
}

.news-v2-content {
	min-width: 0;
}

.news-v2-lead {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(2, 2, 3, .1);
	font-family: 'NAMU', sans-serif;
	font-size: clamp(17px, calc(17px + (22 - 17) * ((100vw - 320px) / (1920 - 320))), 22px);
	line-height: 1.7;
	color: #212121;
}

.news-v2-builder .news-block,
.news-v2-builder .news-block-rich-text,
.news-v2-builder .news-block-image,
.news-v2-builder .news-block-quote {
	max-width: none;
	margin: 0 0 32px;
}

.news-v2-builder .news-content-card,
.news-v2-builder .news-rich-text {
	padding: 0;
	background: transparent;
}

.news-v2-builder .news-rich-text,
.news-v2-builder .news-rich-text p,
.news-v2-builder .news-rich-text li {
	font-family: 'NAMU', sans-serif;
	font-size: clamp(15px, calc(15px + (18 - 15) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1.8;
	color: #212121;
}

.news-v2-builder .news-rich-text h2 {
	margin: 48px 0 18px;
	color: #BB2649;
	font-size: clamp(28px, calc(28px + (40 - 28) * ((100vw - 320px) / (1920 - 320))), 40px);
	font-weight: 500;
	line-height: 1.15;
}

.news-v2-builder .news-rich-text h3 {
	margin: 32px 0 14px;
	color: #020203;
	font-size: clamp(19px, calc(19px + (26 - 19) * ((100vw - 320px) / (1920 - 320))), 26px);
	font-weight: 600;
	line-height: 1.3;
}

.news-v2-builder .news-block-quote {
	padding: 20px 28px;
	border-left: 3px solid #BB2649;
	border-radius: 0 12px 12px 0;
	background: #F6F6F6;
}

.news-v2-builder .news-block-quote .news-content-card {
	border: 0;
}

.news-v2-builder .news-block-quote p {
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	font-style: italic;
	line-height: 1.6;
}

.news-v2-builder .news-block-quote footer {
	background: none;
	padding: 0;
	border: 0;
}

.news-v2-article-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid rgba(2, 2, 3, .1);
}

.news-v2-article-nav a {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px 24px;
	border-radius: 16px;
	background: #F6F6F6;
	color: #020203;
	transition: .3s;
}

.news-v2-article-nav a:hover {
	background: #ececec;
}

.news-v2-article-nav a.next {
	align-items: flex-end;
	text-align: right;
}

.news-v2-article-nav span {
	font-family: 'NAMU', sans-serif;
	font-size: 13px;
	opacity: .5;
}

.news-v2-article-nav strong {
	font-size: 16px;
	line-height: 1.3;
}

.news-v2-sidebar {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.news-v2-sidebar-block,
.news-v2-sidebar-cta {
	padding: 24px;
	border-radius: 16px;
	background: #F6F6F6;
}

.news-v2-sidebar-block h2,
.news-v2-sidebar-cta h2 {
	margin-bottom: 16px;
	color: rgba(2, 2, 3, .45);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.news-v2-author {
	display: flex;
	align-items: center;
	gap: 14px;
}

.news-v2-author-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #BB2649;
	color: #fff;
	font-size: 18px;
	font-weight: 600;
}

.news-v2-author strong,
.news-v2-author span {
	display: block;
}

.news-v2-author strong {
	margin-bottom: 3px;
	font-size: 15px;
}

.news-v2-author div > span {
	font-family: 'NAMU', sans-serif;
	font-size: 13px;
	opacity: .55;
}

.news-v2-sidebar-tags a {
	padding: 6px 14px;
	border: 1px solid rgba(2, 2, 3, .15);
	border-radius: 999px;
	color: #212121;
	font-family: 'NAMU', sans-serif;
	font-size: 13px;
}

.news-v2-sidebar-tags a:hover {
	border-color: #BB2649;
	color: #BB2649;
}

.news-v2-share {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.news-v2-share a,
.news-v2-share button {
	padding: 10px 14px;
	border: 0;
	border-radius: 12px;
	background: #fff;
	color: #020203;
	font-family: 'NAMU', sans-serif;
	font-size: 15px;
	text-align: left;
	cursor: pointer;
}

.news-v2-share a:hover,
.news-v2-share button:hover {
	background: #ececec;
}

.news-v2-sidebar-cta {
	background: #BB2649;
}

.news-v2-sidebar-cta h2 {
	margin-bottom: 12px;
	color: rgba(255, 255, 255, .7);
}

.news-v2-sidebar-cta p {
	margin-bottom: 20px;
	color: #fff;
	font-family: 'NAMU', sans-serif;
	font-size: 16px;
	line-height: 1.55;
}

.news-v2-sidebar-cta button {
	width: 100%;
	padding: 13px;
	border: 0;
	border-radius: 40px;
	background: rgba(0, 0, 0, .2);
	color: #fff;
	font: inherit;
	cursor: pointer;
}

.news-v2-related {
	padding-top: 64px;
	border-top: 1px solid rgba(2, 2, 3, .08);
}

.news-v2-related-header {
	margin-bottom: 40px;
}

.news-v2-related-header .section-name {
	margin-bottom: 12px;
}

.news-v2-related-header h2 {
	color: #020203;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	font-weight: 500;
	line-height: 1;
}

@media (max-width: 1200px) {
	.news-v2-header,
	.news-v2-article-header,
	.news-v2-article-layout,
	.news-v2-related {
		padding-left: 40px;
		padding-right: 40px;
	}

	.news-v2-filters,
	.news-v2-featured,
	.news-v2-section {
		padding-left: 40px;
		padding-right: 40px;
	}

	.news-v2-article-layout {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.news-v2-featured-card,
	.news-v2-article-layout {
		grid-template-columns: 1fr;
	}

	.news-v2-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.news-v2-sidebar {
		position: static;
	}
}

@media (max-width: 768px) {
	.news-page-v2 {
		padding-top: 105px;
	}

	.news-v2-header,
	.news-v2-article-header,
	.news-v2-article-layout,
	.news-v2-related,
	.news-v2-filters,
	.news-v2-featured,
	.news-v2-section,
	.news-v2-pagination {
		padding-left: 20px;
		padding-right: 20px;
	}

	.news-v2-header {
		padding-top: 32px;
	}

	.news-v2-featured-body {
		padding: 24px;
	}

	.news-v2-grid,
	.news-v2-article-nav {
		grid-template-columns: 1fr;
	}

	.news-v2-cover {
		aspect-ratio: 16 / 9;
	}

	.news-v2-article-layout {
		gap: 40px;
		padding-top: 40px;
	}

	.news-v2-empty {
		margin-left: 20px;
		margin-right: 20px;
	}
}

@font-face {
	font-family: 'Loos Wide';
	src: url('/wp-content/themes/shake/fonts/loos-wide-thin.otf');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'Loos Wide';
	src: url('/wp-content/themes/shake/fonts/loos-wide-light.otf');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Loos Wide';
	src: url('/wp-content/themes/shake/fonts/loos-wide-regular.otf');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Loos Wide';
	src: url('/wp-content/themes/shake/fonts/loos-wide-medium.otf');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Loos Wide';
	src: url('/wp-content/themes/shake/fonts/loos-wide-bold.otf');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Loos Wide';
	src: url('/wp-content/themes/shake/fonts/loos-wide-black.otf');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-Pro.ttf');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1400.ttf');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1600.ttf');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1750.ttf');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1850.ttf');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1910.ttf');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1930.ttf');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1960.ttf');
	font-weight: 800;
	font-style: normal;
}

@font-face {
	font-family: 'NAMU';
	src: url('/wp-content/themes/shake/fonts/NAMU-1990.ttf');
	font-weight: 900;
	font-style: normal;
}

body,
html {
	padding: 0;
	margin: 0;
	font-family: 'Loos Wide', sans-serif;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
div,
a {
	margin: 0;
}

li {
	list-style-type: none;
}

a {
	text-decoration: none;
}

h1 {
	font-weight: 500;
	font-size: clamp(32px, calc(32px + (72 - 32) * ((100vw - 320px) / (1920 - 320))), 72px);
	line-height: 80px;
}

.color-text,
h2 {
	font-weight: 500;
	font-style: normal;
	font-size: clamp(40px, calc(40px + (60 - 40) * ((100vw - 320px) / (1920 - 320))), 60px);
	line-height: 100%;
	letter-spacing: 0;
	color: #BB2649;
	text-transform: none;
}

h2 {
	font-size: clamp(40px, calc(40px + (60 - 40) * ((100vw - 320px) / (1920 - 320))), 60px);
	font-weight: 600;
}

.swiper-button-next,
.swiper-button-prev {
	position: relative;
}

.hr {
	display: block;
	height: 1px;
	width: 100%;
	background-color: #000;
}

.btn {
	background: #BB2649;
	padding: 12px 18.5px;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	width: fit-content;
	border-radius: 99px;
	color: #fff;
	display: block;
	border: 0;
	cursor: pointer;
}

.btn-red div,
.btn-red span,
.btn-red-2 {
	background: #BB2649;
	padding: 15px;
	border-radius: 40px;
	color: #fff;
	display: block;
	border: 0;
	cursor: pointer;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 100%;
	letter-spacing: 0;
	color: #fff;
	text-transform: none;
	white-space: nowrap;
	border: 1px solid #BB2649;
	transition: .4s;
}

.btn-red span:hover,
.btn-red-2:hover {
	color: #BB2649;
	border: 1px solid #BB2649;
	background: none;
}

.btn-red {
	display: flex;
	gap: 5px;
}

.btn-white-border {
	padding: 12px 18.5px;
	width: fit-content;
	border-radius: 99px;
	color: #000;
	display: block;
	border: 1px solid #000;
	cursor: pointer;
	background: white;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
}

.btn-white-border:hover {
	background:#BB2649;
	color: #fff;
	border: 1px solid #BB2649;
}

.tags {
	display: flex;
	flex-wrap: wrap;
}

.case .tags {
	gap: 8px;
}

.tags p {
	display: inline-block;
	position: relative;
	padding: 8px 16px;
	margin: 0;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	border-radius: 999px;
	background: #fff;
	z-index: 0;
	box-sizing: border-box;
	color: #212121;
}


.tags p:hover {
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	color: #fff;
}



.cases-wrapper .tags p::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: inherit;
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	padding: 1.1px;
	box-sizing: border-box;
	z-index: -1;
	pointer-events: none;
}

.tags .active {
	background-color: #BB2649;
	color: #fff;
}

.tags .active::after {
	display: none;
}


.services .tags p {
	display: inline-block;
	padding: 8px 16px;
	margin: 0;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	border-radius: 999px;
	font-weight: 500;
	border: none;
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	transition: opacity 0.3s ease;
}

.services .tags p::after {
	display: none !important;
}

.services .tags .active {
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	background-clip: unset;
	-webkit-background-clip: unset;
	-webkit-text-fill-color: #fff;
	color: #fff;
}

section.services .service-item {
	position: relative;
	border-radius: 16px;
	padding: 24px;
	overflow: hidden;
	background-color: #F6F6F6;
	transition: all 0.4s ease;
	z-index: 0;
}

section.services .service-item h3,
section.services .service-item p,
section.services .tags p {
	position: relative;
	z-index: 1;
	transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease;
}


section.services .service-item {
	display: block;
	background-color: #F6F6F6;
	border-radius: 16px;
	padding: 24px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.4s ease, transform 0.3s ease;
	position: relative;
	overflow: hidden;
}

.service-image-wrapper {
	position: relative;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 24px;
}

.service-image-wrapper img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	object-fit: cover;
}

.service-item .btn-icon {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #BB2649;
	display: flex;
	align-items: center;
	justify-content: center;
}

.service-item:hover {
	background-color: #BB2649;
}

.service-item:hover .tags .active {
	-webkit-text-fill-color: #fff;
	color: #fff;
}

.services .tags p::after {
	display: none;
}



.detail_link {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #212121;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 17.86px;
	width: fit-content;
}

.tags .active {
	background-color: #BB2649;
	color: #fff;
}

.cases-info .section-name,
.section-name,
.services-clean .services-left .section-name {
	font-weight: 400;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	vertical-align: middle;
	text-transform: uppercase;
	color: #BB2649;
	padding-left: 14px;
	position: relative;
}

.section-name:after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	background-color: #BB2649;
	transform: translateY(-60%);
}

header {
	position: fixed;
	z-index: 99;
	top: 32px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	width: calc(100vw - 128px);
	min-width: 768px;
	padding: 8px 8px 8px 15px;
	border-radius: 100px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	transition: .4s;
}

.logo-wrapper {
	display: flex;
	align-items: center;
}

.logo-wrapper .logo {
	height: 30px;
}

.burger-wrapper .logo-wrapper .logo {
	height: 40px;
}

.logo-wrapper a {
	display: flex;
}

/* Логотипы для разных типов хедера */
/* Стили по умолчанию - показываем обычный логотип */
.logo-wrapper .logo {
	display: block;
}

.logo-wrapper .logo-white {
	display: none;
}

.header--color .logo-wrapper .logo {
	display: block;
}

.header--color .logo-wrapper .logo-white {
	display: none;
}

.header-white .logo-wrapper .logo {
	display: none;
}

.header-white .logo-wrapper .logo-white {
	display: block;
	height: 30px;
}

.header-move {
	top: 16px;
	-webkit-backdrop-filter: blur(15.3333330154px);
	backdrop-filter: blur(15.3333330154px);
	box-shadow: inset -8px 8px 8px 0 rgba(255, 255, 255, 0.2), inset 8px -8px 8px 0 rgba(194, 194, 194, 0.2);
	background: rgba(255, 255, 255, 0.35);
}

.header-right {
	display: flex;
	gap: 40px;
}

.header_phone,
.header-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}

.header_phone a,
.header-nav a {
	color: #020203;
}

.header-white .header_phone a,
.header-white .header-nav a {
	color: #fff;
}

.header-white .header_phone a:hover, .header-white .header-nav a:hover {
	color:#D9D9D9B2
}

.header-right .btn-white {
	padding: 12px 20px;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 19.2px;
	border-radius: 99px;
	border: 0;
	cursor: pointer;
	font-family: 'Loos Wide', sans-serif;
	border: 1px solid #FFFFFF;
	transition: .4s;
}

.header-right .btn-white:hover {
	color: #FFFFFF;
	background: none;
	border: 1px solid #FFFFFF;
}

.header--color .btn-white {
	background-color: #BB2649;
	border: 1px solid transparent;
	color: #fff;
}

.header--color .header-right nav a {
	color: #000;
}

.topbunner {
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #fff;
	gap: 22px;
}

.topbunner .background_image {
	position: absolute;
	z-index: -1;
	left: 0;
	top: 0;
	height: 100vh;
	width: 100%;
	object-fit: cover;
	object-position: center;
}

.topbunner h1,
.topbunner p {
	text-align: center;
}

.topbunner p {
	font-family: 'NAMU', sans-serif;
	font-style: normal;
	font-size: clamp(20px, calc(20px + (28 - 20) * ((100vw - 320px) / (1920 - 320))), 28px);
	line-height: 35px;
	letter-spacing: 0px;
	text-align: center;
}

section.cases {
	padding: 112px 64px;
}

section h2 {
	margin: 16px 0;
}

.cases-info {
	display: flex;
	align-items: flex-end;
	margin-bottom: 48px;
	justify-content: space-between;
	gap: 5px;
}

.cases-info p {
	font-weight: 400;
	font-style: normal;
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320))), 22px);
	line-height: 28px;
	letter-spacing: 0;
	color: #212121;
}

.cases-button .btn-icon {
	transition: .4s;
}

.cases-button .btn-icon:hover {
	transform: rotate(45deg);
}

.cases-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 48px;
}

.case img {
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: center;
	border-radius: 16px;
	margin-bottom: 24px;
}

.case {
	display: block;
	text-decoration: none;
	color: inherit;
}

.case-image-wrapper {
	position: relative;
	display: block;
	border-radius: 16px;
}

.case-image-wrapper img {
	width: 100%;
	height: auto;
	object-fit: cover;
	margin-bottom: 0;
	transition: .4s;
	aspect-ratio: 573 / 360;
}

.cases .case:hover .case-image-wrapper img {
	-webkit-box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, .3);
    box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, .3);
}

.case .btn-icon {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #BB2649;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .4s;
}

.cases .case:hover .case-image-wrapper .btn-icon {
	transform: rotate(45deg);
}

.case h3 {
	color: #212121;
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	font-weight: 700;
	margin: 25px 0 16px 0;
}

.case>p {
	margin-bottom: 16px;
	color: #212121;
}

section.cases .tags {
	margin-bottom: 32px;
}

section.cases .show_other {
	margin: 0 auto;
	margin-top: 48px;
}

section.services {
	padding: 112px 64px;
	display: grid;
	grid-template-columns: 570fr 1178.67fr;
	gap: 48px;
}

section.services .services-left .btns {
	display: flex;
	gap: 16px;
}

section.services .services-right {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

section.services .service-item {
	background-color: #F6F6F6;
	border-radius: 16px;
	padding: 24px;
	transition: .4s;
}

.service-item h3 {
	font-weight: 500;
	font-style: normal;
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	line-height: 100%;
	letter-spacing: 0;
	color: #212121;
}

section.services .service-item>p {
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 130%;
	letter-spacing: 0;
	margin: 24px 0;
}

section.specialists {
	padding: 112px 64px;
	overflow: hidden;
}

.specialists-info {
	margin-bottom: 48px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.specialists-info .specialists-swiper {
	-moz-user-select: none;
    -o-user-select:none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
     user-select: none;
}

.specialists .swiper-wrapper { cursor: grab; height: fit-content; }
.specialists .swiper-wrapper:active { cursor: grabbing; }

.specialists-item {
	width: 400px !important;
	transition: .4s;
	max-width: 400px;
}

.specialists-swiper:active .specialists-item {
	transform: scale(.95);
}

.specialist-image-wrapper {
	position: relative;
	margin-bottom: 24px;
	border-radius: 20px;
	overflow: hidden;
	width: 100%;
}

.specialist-image-wrapper img {
	width: 100%;
	border-radius: 20px;
	aspect-ratio: 198/233;
	object-fit: cover;
	object-position: top;
	display: block;
}

.specialist-canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: crosshair;
	pointer-events: auto;
	border-radius: 20px;
}

.specialists-item .specialist-info {
	margin-bottom: 3px;
}

.specialists-item .specialist-info .specialist-name {
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px) !important;
	line-height: 110%;
	letter-spacing: 0;
	vertical-align: middle;
}

.specialists-item .specialist-info .specialist-post {
	font-size: clamp(12px, calc(12px + (16 - 12) * ((100vw - 320px) / (1920 - 320))), 16px);
	font-weight: 400;
	line-height: 20px;
}

.swiper-pag .swiper-pagination-bullet-active {
	background: #BB2649;
}

.swiper-pag .swiper-pagination-bullet {
	margin-right: 8px;
}

.specialists-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	display: none;
}

.swiper-prev,
.swiper-next {
	border-radius: 50%;
	background: #BB2649;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.specialist-btns {
	display: flex;
	gap: 15px;
}

@media (max-width: 768px) {
	.specialists-swiper {
		position: relative;
		left: -20px;
		width: 100vw;
	}
	.specialists-item {
		width: 350px !important;
	}
}

.partners {
	padding: 110px 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 45px;
	overflow: hidden;
}

.partners-header {
	display: flex;
	padding-inline: 64px;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
}

.partners .swiper-wrapper {
	padding-left: 64px;
}

.partners-header h2 {
	width: -webkit-fill-available;
	margin: 0;
}

.partners-info {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}

.partners-btns {
	display: flex;
	gap: 15px;
}

.partners-prev,
.partners-next {
	border-radius: 50%;
	background: #BB2649;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.3s ease;
}

.partners-prev:hover,
.partners-next:hover {
	background: #9A1E3A;
}

.partners-swiper {
	width: 100%;
	overflow: hidden;
	touch-action: pan-x;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	user-select: none;
}

.partners-swiper .swiper-wrapper {
	display: flex;
	align-items: center;
	cursor: grab;
	touch-action: pan-x;
}

.partners-swiper .swiper-wrapper:active {
	cursor: grabbing;
}

.partners-swiper .swiper-slide {
	width: fit-content !important;
	height: auto;
	flex-shrink: 0;
	touch-action: pan-x;
	transition: .4s;
}

.partners-swiper:active .swiper-slide {
	transform: scale(.95);
}

.partners-swiper .swiper-slide img {
	width: 200px;
	height: auto;
	background-color: #F6F6F6;
	border-radius: 20px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: block;
	pointer-events: none;
}

footer {
	background: linear-gradient(89.83deg, #8D1C37 -14.75%, #212121 130.83%);
	padding: 64px;
	color: #fff;
	position: relative;
	border-bottom: 8px solid #BB2649;
}

/* Мобильная версия футера */
@media (max-width: 768px) {
	footer {
		background: linear-gradient(89.83deg, #8D1C37 -14.75%, #212121 130.83%);
		padding: 48px 20px;
		border-top: 1px solid #BB2649;
		border-bottom: 1px solid #BB2649;
	}

	.footer-top {
		grid-template-columns: 1fr;
		gap: 32px;
		margin-bottom: 32px;
	}

	.footer-nav-social {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.footer-logo-img {
		height: 32px;
	}

	.footer-contacts a {
		font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	}

	.footer-bottom {
		flex-direction: column;
		align-items: center;
		gap: 16px;
		text-align: center;
		padding-top: 24px;
	}

	.specialists-panel {
		position: relative;
		bottom: 0;
		right: 0;
		width: 100%;
		margin-top: 20px;
	}
}

/* Адаптивная версия для экранов 300px - 700px */
@media (max-width: 700px) and (min-width: 300px) {
	footer {
		padding: 32px 16px;
	}

	.footer-top {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-bottom: 24px;
	}

	.footer-nav-social {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.footer-col {
		gap: 16px;
	}


	.footer-logo-img {
		height: 28px;
	}

	.footer-contacts,
	.footer-logo {
		align-items: flex-start;
	}

	.footer-contacts a {
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	}

	.footer-col h4 {
		font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	}

	.footer-menu a,
	.footer-social a,
	.footer-address-content p,
	.footer-address-content a {
		font-size: clamp(12px, calc(12px + (14 - 12) * ((100vw - 320px) / (1920 - 320))), 14px);
	}

	.footer-bottom {
		flex-direction: column;
		align-items: center;
		gap: 12px;
		text-align: center;
		padding-top: 20px;
	}

	.footer-bottom a,
	.footer-bottom p {
		font-size: clamp(10px, calc(10px + (12 - 10) * ((100vw - 320px) / (1920 - 320))), 12px);
	}

	.footer-up {
		position: static;
		align-self: center;
		margin-top: 20px;
		width: 40px;
		height: 40px;
	}

	.footer-up svg {
		width: 14px;
		height: 14px;
	}
}

.footer-top {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr auto;
	margin-bottom: 60px;
	align-items: start;
	gap: 48px;
}

.footer-nav-social {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

.footer-col {
	display: flex;
	flex-direction: column;
	gap: 34px;
	align-items: flex-start;
}

.footer-address {
	position: relative;
}

.footer-address-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
}

.footer-address-content p {
	margin: 0;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	color: #fff;
}

.footer-address-content a {
	color: #fff;
	text-decoration: none;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	transition: opacity 0.3s ease;
}

.footer-logo {
	display: flex;
	flex-direction: column;
	width: fit-content;
	gap: 100px;
}

.footer-logo-img {
	filter: brightness(0) invert(1);
	height: 40px;
	width: auto;
}

.footer-contacts {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.footer-contacts a {
	color: #fff;
	text-decoration: none;
	font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320))), 24px);
	transition: opacity 0.3s ease;
	font-weight: 700;
}

.footer-contacts a:hover {
	opacity: 0.8;
}

.footer-col h4 {
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
	color: #fff;
}

.footer-menu {
	display: flex;
	flex-direction: column;
	gap: 3px;
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: flex-start;
}

.footer-menu a {
	color: #fff;
	text-decoration: none;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	transition: opacity 0.3s ease;
}

.footer-menu a:hover {
	opacity: 0.8;
}

.footer-social {
	display: flex;
	flex-direction: column;
	gap: 3px;
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: flex-start;
}

.footer-social a {
	color: #fff;
	text-decoration: none;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	transition: opacity 0.3s ease;
}

.footer-social a:hover {
	opacity: 0.8;
}

.footer-col p,
.footer-col a {
	margin: 0;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	color: #D9D9D9;
	font-family: 'NAMU', sans-serif;
}

.footer-up {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.3s ease;
	border: 2px solid #D9D9D9;
	transform: rotate(-90deg);
	position: absolute;
	top: 25px;
	right: 25px;
}

.footer-up:hover {
	background: rgba(255, 255, 255, 0.2);
}

.footer-up svg {
	width: 22px;
	height: 22px;
}

.footer-bottom {
	border-top: 1px solid #DFE6EA;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 32px;
	gap: 32px;
}

.footer-bottom a {
	color: #D9D9D9;
	text-decoration: none;
	font-size: clamp(12px, calc(12px + (20 - 12) * ((100vw - 320px) / (1920 - 320))), 20px);
	transition: opacity 0.3s ease;
}

.footer-bottom a:hover {
	opacity: 0.8;
}

.footer-bottom p {
	margin: 0;
	font-size: clamp(12px, calc(12px + (20 - 12) * ((100vw - 320px) / (1920 - 320))), 20px);
	color: #D9D9D9;
}

.footer-col h4 {
	letter-spacing: 0.5px;
}

.footer-contacts a {
	font-weight: 600;
	font-size: clamp(16px, calc(16px + (32 - 16) * ((100vw - 320px) / (1920 - 320))), 32px);
	    font-family: 'Loos Wide', sans-serif;
}

.footer-contacts a:last-child {
	opacity: 0.9;
}

.footer-menu li,
.footer-social li {
	margin: 0;
	font-size: clamp(12px, calc(12px + (16 - 12) * ((100vw - 320px) / (1920 - 320))), 16px);
}

.bitrix24-dark-block {
	margin: 64px;
	padding: 32px;
	background-color: #000;
	border-radius: 32px;
	display: flex;
	align-items: center;
	flex-direction: column;
	color: #fff;
}

.bitrix24-dark-block h2 {
	color: #fff;
	margin-bottom: 24px;
}

.bitrix24-dark-block p {
	margin-bottom: 32px;
	text-align: center;
	line-height: 27px;
}

.bitrix24-dark-block .btn {
	color: #000;
	background-color: #fff;
	width: 335px;
}

.bitrix24-box {
	padding: 60px 64px;
	background-color: #F0F0F0;
	display: flex;
	align-items: center;
	flex-direction: column;
}

.bitrix24-box .bitrix24-box-top-info h2,
.bitrix24-box .bitrix24-box-top-info p {
	color: #000;
	text-align: center;
}

.bitrix24-box .bitrix24-box-top-info h2 {
	margin-bottom: 24px;
}

.bitrix24-box .bitrix24-box-top-info {
	margin-bottom: 48px;
}

.bitrix24-box-top-info {
	max-width: 768px;
}

.bitrix24-box-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	width: 100%;
	gap: 32px;
}

.bitrix24-cloud-item {
	background-color: #F6F6F6;
	padding: 32px;
	width: 400px;
	height: auto;
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: space-between;
	border-radius: 16px;
}

.bitrix24-box .bitrix24-cloud-item {
	box-sizing: border-box;
}

.bitrix24-cloud-pagination1 span {
	display: none;
}

.bitrix24-cloud-item-topinfo,
.bitrix24-cloud-item-more {
	width: 100%;
}

.bitrix24-cloud-item-more {
	background: #BB2649;
	padding: 15px 17px;
	border-radius: 40px;
	color: #fff;
	display: block;
	border: 0;
	cursor: pointer;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 100%;
	letter-spacing: 0;
	color: #fff;
	text-transform: none;
}

.bitrix24-cloud-item-topinfo>img {
	width: 174px;
	margin-bottom: 16px;
}

.bitrix24-cloud-item-text {
	margin-bottom: 8px;
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320))), 22px);
}

.bitrix24-cloud-item-free {
	padding-top: 24px;
	box-sizing: border-box;
}

span.price {
	color: #BB2649;
	font-size: clamp(32px, calc(32px + (39 - 32) * ((100vw - 320px) / (1920 - 320))), 39px);
	font-family: Golos;
	font-weight: 600;
	line-height: 120%;
	
}

span.old_price {
	font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320))), 24px);
	font-weight: 600;
	line-height: 28.8px;
	text-align: left;
	text-decoration-line: line-through;
	text-underline-position: from-font;
	color: #878787;
}

.bitrix24-cloud-item-cost p {
	font-size: clamp(32px, calc(32px + (39 - 32) * ((100vw - 320px) / (1920 - 320))), 39px);
	font-weight: 600;
	line-height: 120%;
	height: 47px;
	text-align: left;
}

.bitrix24-cloud-item-cost {
	margin-bottom: 32px;
	height: 75px;
}

.bitrix24-cloud-item-users {
	margin-top: 16px;
	margin-bottom: 16px;
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320))), 22px);
	font-weight: 700;
	line-height: 28px;
	text-align: left;
}

.bitrix24-cloud-item-includes_title {
	display: none;
	margin-top: 32px;
	margin-bottom: 16px;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	font-weight: 400;
	line-height: 24px;
	box-sizing: border-box;
}

.bitrix24-cloud-item-includes {
	margin-top: 16px;
	margin-bottom: 10px;
}

.bitrix24-cloud-item-includes li {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: clamp(10px, calc(14px + (16 - 10) * ((100vw - 320px) / (1920 - 320))), 16px);
	font-weight: 400;
	line-height: 24px;
}

.bitrix24-top_section {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 32px;
	padding: 150px 0;
	margin: 0 62px;
	margin-top: 155px;
	background: #F6F6F6;
	border-radius: 20px;
}

.bitrix24-top_section h1 {
	font-size: clamp(48px, calc(48px + (72 - 48) * ((100vw - 320px) / (1920 - 320))), 72px);
	font-weight: 600;
	line-height: 80px;
}

.bitrix24-top_section p {
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320))), 22px);
	font-weight: 400;
	line-height: 28px;
}

.bitrix24-top_section h1,
.bitrix24-top_section p {
	text-align: center;
	max-width: 1312px;
}

.bitrix24-cloud {
	padding: 60px 64px;
}

.bitrix24-cloud-toggle {
	background-color: #EBEBEB;
	border-radius: 100px;
	padding: 4px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 360px;
}

.bitrix24-cloud-toggle-item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 16.5px;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	font-weight: 400;
	line-height: 24px;
	transition: .4s;
	cursor: pointer;
	white-space: nowrap;
}

.bitrix24-cloud-toggle-item span {
	font-size: clamp(10px, calc(10px + (14 - 10) * ((100vw - 320px) / (1920 - 320))), 14px);
	font-weight: 400;
	line-height: 18px;
	background-color: #fff;
	border-radius: 100px;
	padding: 4px 8px;
	color: #000;
	white-space: nowrap;
}

.bitrix24-cloud-toggle-item-active {
	border-radius: 100px;
	background-color: #BB2649;
	color: #fff;
	white-space: nowrap;
}

.bitrix24-cloud-info {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-direction: column;
	margin-bottom: 48px;
	position: relative;
}

.bitrix24-cloud-info .specialist-btns {
	position: absolute;
	right: 25px;
	bottom: 25px;
}

.bitrix24-cloud-info h2 {
	color: #BB2649;
	margin-bottom: 24px;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	font-weight: 600;
	line-height: 57.6px;
}

.bitrix24-cloud-info p {
	margin-bottom: 48px;
	max-width: 768px;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	font-weight: 400;
	line-height: 27px;
}

.about-topsection img {
	width: 100vw;
	max-height: 707px;
	object-fit: cover;
	object-position: top;
}

.about-block {
	padding: 20px 64px;
	padding-bottom: 0;
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: 48px;
}

.about-block-info {
	background: #F6F6F6;
	padding: 60px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: 250px;
	align-items: flex-start;
}

.about-block-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.about-block-info p {
	align-content: left;
}

.about-block-header {
	display: flex;
	flex-direction: column;
	gap: 35px;
}

.about-logo img {
	height: 40px;
	width: auto;
}

.about-block-content h2 {
	margin-bottom: 24px;
	color: #BB2649;
}

.about-block-content p {
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	font-weight: 400;
	color: #212121;
}

.about-block-image {
	border-radius: 20px;
	overflow: hidden;
}

.about-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
	gap: 24px;
	padding: 32px 64px;
	box-sizing: border-box;
}

.about-gallery {
	padding: 80px 0;
	background: #fff;
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

.gallery-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 24px;
	padding: 30px 64px 0 64px;
}

/* Первая строка: 2:1:2 (3 фото) */
.gallery-item:nth-child(1) {
	grid-column: 1 / 3;
	/* 2fr - большое */
	grid-row: 1;
}

.gallery-item:nth-child(2) {
	grid-column: 3;
	/* 1fr - обычное */
	grid-row: 1;
}

.gallery-item:nth-child(3) {
	grid-column: 4 / 6;
	/* 2fr - большое */
	grid-row: 1;
}

/* Вторая строка: 1:1:2:1 (4 фото) */
.gallery-item:nth-child(4) {
	grid-column: 1;
	/* 1fr - обычное */
	grid-row: 2;
}

.gallery-item:nth-child(5) {
	grid-column: 2;
	/* 1fr - обычное */
	grid-row: 2;
}

.gallery-item:nth-child(6) {
	grid-column: 3 / 5;
	/* 2fr - большое */
	grid-row: 2;
}

.gallery-item:nth-child(7) {
	grid-column: 5;
	/* 1fr - обычное */
	grid-row: 2;
}



.gallery-item {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	cursor: pointer;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background: #f5f5f5;
	width: 100%;
	height: 100%;
	min-height: 200px;
}

/* Соотношения сторон для элементов */
/* Большие элементы (715x500px) */
.gallery-item:nth-child(1),
.gallery-item:nth-child(3),
.gallery-item:nth-child(6) {
	aspect-ratio: 715 / 500;
	/* 1.43 */
}

/* Маленькие элементы (334x500px) */
.gallery-item:nth-child(2),
.gallery-item:nth-child(4),
.gallery-item:nth-child(5),
.gallery-item:nth-child(7) {
	aspect-ratio: 334 / 500;
	/* 0.668 */
}

.gallery-image-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	overflow: hidden;
}

.gallery-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 20px;
	transition: transform 0.4s ease;
}

.gallery-canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	cursor: url(https://shaketeam.ru/wp-content/uploads/2025/12/pencilhd_106116-1-2.png) 0 32, auto;
	pointer-events: auto;
	border-radius: 20px; 
}
 
.gallery-item:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.gallery-item:hover .gallery-image-wrapper img {
	transform: scale(1.05);
}

.gallery-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 12px 16px;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	font-family: 'NAMU', sans-serif;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease;
	border-radius: 0 0 16px 16px;
}

.gallery-item:hover .gallery-caption {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 768px) {
	.gallery {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
		gap: 12px;
		padding: 20px;
	}

	.gallery-caption {
		font-size: 12px;
		padding: 8px 10px;
	}

	.about-gallery {
		padding: 40px 0;
		width: 100vw;
		margin-left: calc(-50vw + 50%);
	}

	.gallery-grid {
		grid-template-columns: 1fr 1fr 1fr;
		grid-template-rows: auto auto auto auto;
		gap: 12px;
		padding: 0 20px;
		height: auto;
		width: auto;
		margin-top: 30px;
	}

	/* Первая строка: 3 фото (2:1:2) */
	.gallery-item:nth-child(1) {
		grid-column: 1 / 3;
		/* 2fr - большое */
		grid-row: 1;
	}

	.gallery-item:nth-child(2) {
		grid-column: 3;
		/* 1fr - обычное */
		grid-row: 1;
	}

	.gallery-item:nth-child(3) {
		grid-column: 1 / 3;
		/* 2fr - большое */
		grid-row: 2;
	}

	/* Вторая строка: 4 фото (1:1:2:1) */
	.gallery-item:nth-child(4) {
		grid-column: 3;
		/* 1fr - обычное */
		grid-row: 2;
	}

	.gallery-item:nth-child(5) {
		grid-column: 1;
		/* 1fr - обычное */
		grid-row: 3;
	}

	.gallery-item:nth-child(6) {
		grid-column: 2 / 4;
		/* 2fr - большое */
		grid-row: 3;
	}

	.gallery-item:nth-child(7) {
		display: none;
	}

	/* Мобильные соотношения сторон - уменьшенные */
	.gallery-item {
		aspect-ratio: 60 / 90 !important;
		max-height: 120px;
	}

	/* Большие элементы (2fr) */
	.gallery-item:nth-child(1),
	.gallery-item:nth-child(3),
	.gallery-item:nth-child(6) {
		aspect-ratio: 120 / 80 !important;
		max-height: 100px;
	}

	/* Обычные элементы (1fr) */
	.gallery-item:nth-child(2),
	.gallery-item:nth-child(4),
	.gallery-item:nth-child(5),
	.gallery-item:nth-child(7) {
		aspect-ratio: 50 / 80 !important;
		max-height: 100px;
	}


	.cases-info {
		align-items: flex-start;
		flex-direction: column;
		gap: 15px;
	}
}

.portfolio-section {
	margin-top: 155px;
	margin-bottom: 120px;
	padding: 0 64px;
}

.portfolio-section .tags {
	cursor: pointer;
}

.portfolio-wrapper .js-portfolio-list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

.portfolio-image-wrapper {
	position: relative;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 24px;
	aspect-ratio: 880 / 480;
}

.portfolio-image-wrapper img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	object-fit: cover;
	margin-bottom: 0;
    aspect-ratio: 880 / 480;
}

.portfolio-item .btn-icon {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #BB2649;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.portfolio-item .btn-icon svg {
	fill: #fff;
	transition: all 0.3s ease;
}

.portfolio-item:hover .btn-icon svg {
	fill: #fff;
	transform: rotate(45deg);
}

.portfolio-item h3 {
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	font-weight: 700;
	line-height: 32px;
	margin-bottom: 16px;
}

.portfolio-item-info > p {
	margin-bottom: 16px;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	font-weight: 400;
	line-height: 17.86px;
}

.portfolio-item .tags {
	gap: 8px;
}

.portfolio-section .filter-tags {
	gap: 8px;
	margin: 32px 0;
}

/* Градиентная обводка для тегов в портфолио */
.portfolio-section .filter-tags p,
.portfolio-item .tags p {
	position: relative;
	display: inline-block;
	padding: 8px 16px;
	margin: 0;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	border-radius: 999px;
	background: #fff;
	z-index: 0;
	box-sizing: border-box;
	color: #212121;
}

.portfolio-section .filter-tags p::after,
.portfolio-item .tags p::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: inherit;
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	padding: 1.1px;
	box-sizing: border-box;
	z-index: -1;
	pointer-events: none;
}

.portfolio-section .filter-tags .active,
.portfolio-item .tags .active {
	background-color: #BB2649;
	color: #fff;
}

.portfolio-section .filter-tags .active::after,
.portfolio-item .tags .active::after {
	display: none;
}

/* Стили для секции услуг */
.services .service-item {
	position: relative;
	border-radius: 16px;
	padding: 24px;
	overflow: hidden;
	background-color: #F6F6F6;
	transition: all 0.4s ease;
	z-index: 0;
}

.services .service-item h3,
.services .service-item p,
.services .tags p {
	position: relative;
	z-index: 1;
	transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease;
}



.services .tags p {
	position: relative;
	display: inline-block;
	padding: 8px 16px;
	margin: 0;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	border-radius: 999px;
	background: #fff;
	z-index: 0;
	box-sizing: border-box;
	color: #212121;
}

.services .tags p span {
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	display: inline-block;
}

.services .tags p::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: inherit;
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	padding: 1.1px;
	box-sizing: border-box;
	z-index: -1;
	pointer-events: none;
}

.services .section-name:after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	background-color: #BB2649;
	transform: translateY(-60%);
}

.services .tags .active {
	background-color: #BB2649;
	color: #fff;
}

.services .tags .active span {
	background: unset;
	background-clip: unset;
	-webkit-background-clip: unset;
	-webkit-text-fill-color: #fff;
	color: #fff;
}

.services .tags .active::after {
	display: none;
}

/* Стили для кнопок в секции услуг */
.services .btns {
	display: flex;
	gap: 16px;
}

.services .btns .btn-red {
	background: #BB2649;
	padding: 15px 17px;
	border-radius: 40px;
	color: #fff;
	display: block;
	border: 0;
	cursor: pointer;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 100%;
	letter-spacing: 0;
	text-transform: none;
	transition: background 0.3s ease;
	font-family: 'Loos Wide', sans-serif;
}

.services .btns .btn-red:hover {
	background: #9A1E3A;
}

.services .btns .btn-white-border {
	padding: 12px 18.5px;
	width: fit-content;
	border-radius: 99px;
	color: #000;
	display: block;
	border: 1px solid #000;
	cursor: pointer;
	background: white;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	transition: all 0.3s ease;
	font-family: 'Loos Wide', sans-serif;
}

.services .btns .btn-white-border:hover {
	background: #000;
	color: #fff;
}


.portfolio-item {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.portfolio-item {
    opacity: 0;
    transform: translateY(20px);
    animation: portfolioFadeIn .8s ease forwards; 
}

@keyframes portfolioFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.portfolio-item:hover {
	cursor: pointer;
}

.portfolio-image-wrapper {
	transition: .4s;
}

.portfolio-item:hover .portfolio-image-wrapper {
	-webkit-box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, .3);
    box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, .3);
}





.burger_btn {
	display: none;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 6px;
	width: 24px;
}

.burger_btn div {
	background-color: #fff;
	height: 2px;
	width: 100%;
}

.header--color .burger_btn div {
	background-color: #BB2649;
}

.header-white .burger_btn div {
	background-color: #BB2649;
}

.burger-menu {
	display: none;
	position: fixed;
	z-index: 100;
	background: #fff;
	padding: 24px 36px;
	right: 0;
	top: 0;
	height: 100dvh;
	flex-direction: column;
	justify-content: space-evenly;
	align-items: flex-start;
	width: 0;
	overflow: auto;
	opacity: 0;
	transition: .4s;
}

[name=show_burger]:checked+.burger-menu {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	background: #FFFFFF;
	padding: 25px;
}

.burger-menu.show {
	animation: show_burger 0.5s forwards;
	opacity: 1;
}

.burger-menu.close {
	animation: hide_burger 0.5s forwards;
}

@keyframes show_burger {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes hide_burger {
	0% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

.burger-wrapper {
	flex: 1;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
}

/* Для первого элемента - без отступа */
.burger-wrapper>*:first-child {
	margin-bottom: 0;
}

/* Для второго элемента */
.burger-wrapper>*:nth-child(2) {
	margin-top: 50px;
	/* специальный gap для второго */
}

/* Для всех остальных начиная с третьего */
.burger-wrapper>*:nth-child(n+3) {
	margin-top: 50px;
}

.burger-logo {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 700;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	color: #BB2649;
	margin: 0;
	text-transform: uppercase;
	text-align: center;
}

.burger-content a {
	color: #fff;
	font-size: clamp(20px, calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320))), 24px);
}

.burger-content .btn {
	background: #f0f0f0;
	font-size: clamp(20px, calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320))), 24px);
	color: #000;
}

.burger-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
	width: 100%;
}

.burger-address {
	font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	color: #020203;
	margin-bottom: 16px;
	text-align: center;
	max-width: 220px;
}

.burger-phones {
	margin-bottom: 16px;
	width: 100%;
}

.burger-phones div {
	margin-bottom: 8px;
}

.burger-phones a {
	color: #020203;
	text-decoration: none;
	font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	transition: opacity 0.3s ease;
}

.burger-phones a:last-child {
	color: #BB2649;
	font-weight: 600;
}

.burger-email {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.burger-email a {
	color: #BB2649;
	text-decoration: none;
	font-size: clamp(20px, calc(20px + (26 - 20) * ((100vw - 320px) / (1920 - 320))), 26px);
	font-weight: 600;
	transition: opacity 0.3s ease;
}

.burger-email a:hover {
	opacity: 0.8;
}

.burger-menu nav {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: center;
}

.burger-menu nav a {
	color: #020203;
	font-family: 'NAMU', sans-serif;
	font-weight: 900;
	font-style: normal;
	font-size: 20px;
	text-align: center;
	vertical-align: middle;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.3s ease;
	font-size: clamp(28px, calc(28px + (32 - 28) * ((100vw - 320px) / (1920 - 320))), 32px);
}

.burger-menu nav a:hover {
	opacity: 0.7;
}

.burger-top {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	position: relative;
	padding: 20px;
	box-sizing: border-box;
}

.close_burger {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	cursor: pointer;
}

.close_burger div {
	width: 20px;
	height: 2px;
	position: absolute;
	background-color: #BB2649;
}

.close_burger div:nth-child(1) {
	transform: rotate(45deg);
}

.close_burger div:nth-child(2) {
	transform: rotate(135deg);
}


[name=show_burger] {
	display: none;
}

.burger-menu {
	opacity: 0;
	transition: .4s;
}

.services-page {
	margin-top: 96px;
}

.bitrix24-box .bitrix24-cloud-item {
	width: 100%;
}




/* Стили для секции с формой */
.form-section {
	position: relative;
	padding: 80px 64px;
	overflow: hidden;
	margin: 60px 0;
}

.form-section .container {
	position: relative;
	z-index: 2;
	padding: 80px;
	border-radius: 28px;
}

.form-section-header h2 {
	color: #fff;
	font-family: 'Loos Wide', sans-serif;
	font-size: clamp(47px, calc(47px + (70 - 47) * ((100vw - 320px) / (1920 - 320))), 70px);
	margin-bottom: 30px;
	line-height: 120%;
	font-weight: 400;
	font-style: Regular;
	vertical-align: middle;

}

.form-section-header p {
	color: rgba(255, 255, 255, 0.9);
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
}

/* Стили для формы */
.form-container {
	max-width: 800px;
}

.form-container .form-group {
	margin-bottom: 10px;
}

.form-container .form-group:last-of-type {
	margin-bottom: 0;
}

.form-container label {
	display: block;
	font-family: 'Loos Wide', sans-serif;
	font-weight: 300;
	font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	color: #FFFFFF;
	margin-bottom: 12px;
	line-height: 150%;
}

.form-container .form-input,
.form-container .form-textarea {
	width: 100%;
	padding: 16px 20px;
	border: 1px solid #FFFFFF99;
	border-radius: 12px;
	font-family: 'NAMU', sans-serif;
	font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	font-weight: 500;
	color: #fff;
	background: #FFFFFF2B;
	transition: all 0.3s ease;
	box-sizing: border-box;
}

.form-container .form-input:focus,
.form-container .form-textarea:focus {
	outline: none;
	border-color: #BB2649;
	box-shadow: 0 0 0 3px rgba(187, 38, 73, 0.1);
	transform: translateY(-2px);
}

.form-container .form-textarea {
	height: 120px;
	resize: vertical;
}

.form-container .form-textarea::placeholder {
	color: #999;
	font-style: italic;
}

/* Стили для чекбоксов */
.form-container .form-checkboxes {
	margin: 32px 0;
}

.checkbox-label br {
	display: none;
}

.form-container .checkbox-label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	font-size: clamp(12px, calc(12px + (14 - 12) * ((100vw - 320px) / (1920 - 320))), 14px);
	font-weight: 500;
	color: #666;
	line-height: 1.5;
}

.form-container .checkbox-label input[type="checkbox"] {
	margin-right: 12px;
	margin-top: 4px;
	width: 20px;
	height: 20px;
	accent-color: #BB2649;
	cursor: pointer;
	flex-shrink: 0;
}

.form-container .checkbox-label:hover {
	color: #818181;
}

/* Стили для кнопки отправки */
.form-container .form-submit {
	text-align: center;
	margin-top: 40px;
}

.form-container .btn-submit {
	background: #FFFFFF;
	color: #BB2649;
	border: none;
	padding: 18px 48px;
	border-radius: 50px;
	font-family: 'Loos Wide', sans-serif;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 8px 25px rgba(187, 38, 73, 0.3);
	position: relative;
	overflow: hidden;
}

.form-container .btn-submit::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: left 0.5s ease;
}

.form-container .btn-submit:hover {
	background: #BB2649;
	color: #FFFFFF;
	box-shadow: 0 12px 35px rgba(187, 38, 73, 0.5);
	gap: 16px;
}

.form-container .btn-submit:hover::before {
	left: 100%;
}

.form-container .btn-submit:active {
	transform: translateY(-1px);
}

.form-container .btn-icon {
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}


@media (max-width: 1680px) {
	.logo {
		height: 24px;
	}

	.bitrix24-box .bitrix24-cloud-item {
		width: 100% !important;
	}
}

@media (max-width: 1500px) {

	section.services {
		grid-template-columns: 1fr !important;
	}

	.services-left {
		max-width: 500px;
	}

	.footer-top {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 32px;
	}
}

@media (max-width: 1250px) {
	h1 {
		font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px) !important;
		line-height: 48px;
	}

	h2 {
		font-size: clamp(28px, calc(28px + (40 - 28) * ((100vw - 320px) / (1920 - 320))), 40px) !important;
		line-height: 40px;
	}

	h3 {
		font-size: clamp(20px, calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320))), 24px) !important;
		line-height: 24px;
	}

	p {
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	}

	.tags p {
		font-size: clamp(10px, calc(10px + (14 - 10) * ((100vw - 320px) / (1920 - 320))), 14px);
		line-height: 15px;
	}

	header {
		width: calc(100vw - 40px);
	}

	.header-right .btn-white {
		padding: 12px 25px;
	}

	.header-nav,
	.header-right {
		gap: 20px;
	}


	section.cases,
	section.specialists,
	.portfolio-section,
	.about-block,
	footer {
		padding: 60px 20px;
		padding-bottom: 0;
	}

	.partners {
		padding: 60px 0;
		padding-bottom: 50px;
	}

	.partners-header {
		margin-inline: 20px;
        width: stretch;
	}

	.portfolio-section {
		padding-top: 0;
	}

	.gallery-grid,
	section.services {
		padding-inline: 20px;
		padding-bottom: 0;
	}

	.form-section {
		padding: 0px 20px;
	}

	.bitrix24-cloud {
		padding: 60px 20px;
	}


	section.services .services-right {
		gap: 16px;
	}

	.cases-wrapper {
		gap: 24px;
	}

	.footer-top {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.portfolio-wrapper {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.services-page {
		margin-top: 0;
	}

	.bitrix24-cloud-item-cost p,
	.price {
		font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px) !important;
	}

	.bitrix24-cloud-item-topinfo>img {
		width: 126px;
	}

	.bitrix24-cloud-item-text {
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	}

	.footer-col.last {
		margin-right: 0;
		width: 100%;
	}

	.bitrix24-top_section {
		margin: 60px 20px;
	}
}

@media (max-width: 1000px) {

	.bitrix24-dark-block {
		display: none;
	}

	.burger_btn {
		display: flex;
	}

	.header-right button,
	.header_phone,
	.header-nav {
		display: none;
	}

	.specialists-item {
		width: 100%;
		max-width: 400px;
	}

	.specialist-image-wrapper img,
	.specialists-item img {
		width: 100%;
		height: auto;
		border-radius: 15px;
		object-fit: cover;
	}

	.about-block {
		grid-template-columns: 1fr;
	}

	.form-section .container {
		padding: 1rem;
	}
}

@media (max-width: 768px) {
	header {
		width: 95vw;
		min-width: unset;
		border-radius: 20px;
		top: 10px;
	}


	footer {
		padding: 48px 20px;
	}

	.topbunner h1 {
		font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
		line-height: 48px;
	}

	.burger-menu {
		width: 100vw !important;
		box-sizing: border-box;
	}

	.burger-top {
		padding: 10px;
	}

	section.services .services-right,
	.cases-wrapper {
		grid-template-columns: 1fr;
	}

	.cases-wrapper {
		gap: 48px;
	}

	.partners-header {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 14px;
		padding: 0;
	}

	.specialists-item {
		width: 100%;
		max-width: 350px;
	}

	.specialist-image-wrapper img,
	.specialists-item img {
		width: 100%;
		height: auto;
		border-radius: 15px;
		object-fit: cover;
	}

	.partners-btns {
		gap: 10px;
	}

	.partners-prev,
	.partners-next {
		width: 40px;
		height: 40px;
	}

	.partners-swiper .swiper-slide img {
		width: 160px;
		padding: 50px 30px;
	}

	.footer-top-left img {
		height: 24px;
		width: auto;
	}

	.footer-top {
		grid-template-columns: 1fr;
		gap: 32px;
		margin-bottom: 48px;
	}

	.footer-bottom {
		flex-direction: column;
		align-items: center;
		gap: 16px;
		text-align: center;
	}

	.about-block-info {
		padding: 40px 20px;
		gap: 24px;
	}

	.about-block-header {
		gap: 16px;
	}

	.about-logo img {
		height: 40px;
	}

	.bitrix24-cloud-item {
		width: 335px;
		box-sizing: border-box;
	}

	.bitrix24-cloud-info h2 {
		text-align: center;
	}

	.bitrix24-top_section h1 {
		font-family: Golos;
		font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px) !important;
		font-weight: 600;
		line-height: 32px;
		margin-bottom: 0;
	}

	.bitrix24-top_section p {
		font-family: Golos;
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
		font-weight: 400;
		line-height: 24px;
	}

	.bitrix24-top_section {
		padding-left: 20px;
		padding-right: 20px;
		margin-top: 50px;
	}

	.bitrix24-cloud-toggle-item {
		text-wrap-mode: nowrap;
	}

	.bitrix24-cloud-toggle {
		width: 100%;
	}
}

@media (max-width: 500px) {
	section.services .services-left .btns {
		flex-direction: column;
	}

	section.services .services-left .btns button {
		width: 100%;
	}
}




section.services-clean {
	padding: 0px 64px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	background: #FFFFFF;
}

.services-left .services-info {
	font-weight: 400;
	font-style: normal;
	font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (1920 - 320))), 22px);
	line-height: 28px;
	letter-spacing: 0;
	color: #212121;
	margin-bottom: 30px;
}

section.services-clean .services-left .btns {
	display: flex;
	gap: 16px;
}

section.services-clean .services-right {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}

.service-item {
	background-color: #F1F1F1;
	border-radius: 16px;
	padding: 24px;
	transition: all .4s ease;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	color: inherit;
	position: relative;
	overflow: hidden;
}

.service-video-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 0;
	pointer-events: none;
	border-radius: 16px;
}

.service-item:hover .service-video-bg {
	opacity: 1;
}

.service-item h3 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	line-height: 100%;
	letter-spacing: 0;
	color: #212121;
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
	transition: color 0.3s ease;
}

.service-item:hover h3 {
	color: #fff;
} 

.service-item > p {
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 130%;
	letter-spacing: 0;
	color: #212121;
	margin-bottom: 24px;
	position: relative;
	z-index: 2;
	transition: color 0.3s ease;
}

.service-item:hover>p {
	color: #fff;
}

.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

section.services-clean .tags {
	position: relative;
	z-index: 2;
}

section.services-clean .tags p {
	position: relative;
	display: inline-block;
	padding: 8px 16px;
	margin: 0;
	font-family: 'Loos Wide', sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	border-radius: 999px;
	border: none;
	box-sizing: border-box;
	cursor: default;
	transition: opacity 0.3s ease;
	background-color: #F6F6F6;
	color: #BB2649;
	overflow: hidden;
}

section.services-clean .tags p:hover {
	cursor: pointer;
	color: #fff;
}

section.services-clean .tags p span {
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	display: inline-block;
}

section.services-clean .tags p:hover span {
	background: unset;
	background-clip: unset;
	-webkit-background-clip: unset;
	-webkit-text-fill-color: #fff;
	color: #fff;
}


section.services-clean .service-image-wrapper {
	position: relative;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 24px;
	min-height: 300px;
	aspect-ratio: 16 / 9;
	z-index: 1;
}

section.services-clean .service-image-wrapper img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	object-fit: cover;
	transition: opacity 0.3s ease;
}

section.services-clean .service-image-default {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	min-height: 300px;
	object-fit: cover;
}

section.services-clean .service-item:hover .service-image-default {
	opacity: 0;
}

section.services-clean .btn-icon {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #BB2649;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1500px) {
	section.services-clean {
		grid-template-columns: 1fr;
		padding: 60px 20px;
	}

	section.services-clean .services-left {
		max-width: 500px;
	}
}

@media (max-width: 768px) {

	section.services-clean .services-right {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	section.services-clean .service-item {
		padding: 20px;
	}
}


.specialist-description {
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: clamp(8px, calc(8px + (12 - 8) * ((100vw - 320px) / (1920 - 320))), 12px);
	line-height: 100%;
	letter-spacing: 0;
	vertical-align: middle;
	color: #9A9A9A;
}


.specialists-pagination .swiper-pagination-bullet {
	display: none !important;
}

.specialists-pagination {
	position: relative;
	width: 100%;
	height: 4px;
	background-color: #E0E0E0;
	border-radius: 999px;
	overflow: hidden;
	margin-top: 40px;
}

.specialists-pagination::after {
	content: "";
	position: absolute;
	left: var(--progress, 0%);
	top: 0;
	width: calc(100% / var(--slides, 1.5));
	height: 100%;
	background-color: #000;
	border-radius: 999px;
	transition: left 0.4s ease;
}

/* Стили для страницы контактов в стиле hero */
.contacts-hero {
	box-sizing: border-box;
    position: relative;
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    overflow: hidden;
    flex-direction: column;
    padding-bottom: 100px;
}

.contacts-hero .background_image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-position: center bottom;
	z-index: -1;
	object-fit: cover;
}

/* Социальные сети поверх изображения */
.social-networks-overlay {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	z-index: 2;
}

.social-networks-overlay .social-link {
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 200px;
    background: #FFFFFF33;
    backdrop-filter: blur(10px);
    border-radius: 20px;
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: none;
    aspect-ratio: 1 / 1;
    box-sizing: border-box;
}

.social-networks-overlay .social-link svg {
	width: 48px;
	height: 48px;
	fill: currentColor;
	margin-bottom: 8px;
}

.social-networks-overlay .social-link .social-icon {
	width: 48px;
	height: 48px;
	object-fit: contain;
	margin-bottom: 8px;
}

.social-networks-overlay .social-link span {
	font-size: 16px;
	line-height: 1.2;
}

.contacts-wrapper {
	display: flex;
	flex-direction: column;
	gap: 27px;
}

/* Блоки с адресом и контактами */
.contact-cards-overlay {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	z-index: 2;
	background: #0000004D;
	backdrop-filter: blur(80px);
	border-radius: 20px;
	position: relative;
	overflow: hidden;
}

.contact-cards-overlay::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 15%;
	width: 1px;
	height: 70%;
	background: #FFFFFF;
	transform: translateX(-50%);
	z-index: 1;
}

.contact-card {
	padding: 30px;
	color: #fff;
	position: relative;
	z-index: 2;
}

.contact-card h3 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: 24px;
	line-height: 1.2;
	color: #fff;
	margin-bottom: 20px;
}

.contact-info {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.contact-item {
	position: relative;
	align-items: center;
	padding-left: 27px;
	max-width: 257px;
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #fff;
}

.contact-item img,
.contact-item svg{
	position: absolute;
	left: 0;
	top: 6px;
}

.contact-item svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
	flex-shrink: 0;
	top: 4px;
}

.contact-item a {
	color: #fff;
	text-decoration: none;
	transition: opacity 0.3s ease;
}

.contact-item a:hover {
	opacity: 0.8;
}

/* Адаптивность для контактов */
@media (max-width: 1024px) {
	.social-networks-overlay {
		gap: 18px;
	}

	.social-networks-overlay .social-link {
		width: 100%;
        aspect-ratio: 1 / 1;
	}

	.social-networks-overlay .social-link svg,
	.social-networks-overlay .social-link .social-icon {
		width: 42px;
		height: 42px;
		margin-bottom: 7px;
	}

	.social-networks-overlay .social-link span {
		font-size: 15px;
	}
}

@media (max-width: 768px) {
	.contacts-hero {
		min-height: 600px;
		padding-bottom: 20px;
	}

	.social-networks-overlay {
		gap: 15px;
		grid-template-columns: repeat(2, 1fr);
		width: fit-content;
		margin: 0 auto;
		margin-block: 60px;
	}      

	.social-networks-overlay .social-link {
		width: 100px;
		height: 100px;
	}

	.social-networks-overlay .social-link svg,
	.social-networks-overlay .social-link .social-icon {
		width: 36px;
		height: 36px;
		margin-bottom: 6px;
	}

	.social-networks-overlay .social-link span {
		font-size: 14px;
	}

	.contact-cards-overlay {
		grid-template-columns: 1fr;
		transform: none;
		gap: 0;
	}

	.contact-cards-overlay::before {
		display: none;
	}

	.contact-card {
		min-width: auto;
		padding: 20px;
	}

	.contact-card h3 {
		font-size: 20px;
		margin-bottom: 15px;
	}

	.contact-item {
		font-size: 14px;
		gap: 10px;
	}

	.contact-item svg {
		width: 18px;
		height: 18px;
	}

	.contacts-wrapper {
		width: stretch;
    	margin-inline: 20px;
	}
}

@media (max-width: 500px) {
	.social-networks-overlay {
		gap: 10px;
	}  
   
	.social-networks-overlay .social-link svg,
	.social-networks-overlay .social-link .social-icon {
		width: 28px;
		height: 28px;
		margin-bottom: 4px;
	}

	.social-networks-overlay .social-link span {
		font-size: 12px;
	}

	.contact-cards-overlay {
		grid-template-columns: 1fr;
	}

	.contact-cards-overlay::before {
		display: none;
	}

	.contact-card {
		padding: 15px;
	}

	.contact-card h3 {
		font-size: 18px;
		margin-bottom: 12px;
	}

	.contact-item {
		font-size: 13px;
		gap: 8px;
	}

	.contact-item svg {
		width: 16px;
		height: 16px;
	}

	.contact-item .inn {
		font-size: 12px;
	}
}

/* Стили для дополнительных контактов */
.additional-contacts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 32px;
	margin-bottom: 80px;
}

.additional-contacts-grid .contact-block {
	background: rgba(255, 255, 255, 0.1);
	border: 0.33px solid rgba(255, 255, 255, 0.5);
	border-radius: 20px;
	padding: 32px 24px;
	text-align: center;
	transition: all 0.3s ease;
	backdrop-filter: blur(10px);
	position: relative;
	overflow: hidden;
}

.additional-contacts-grid .contact-block::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
	border-radius: 20px;
	z-index: -1;
}

.additional-contacts-grid .contact-block:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
	border-color: rgba(187, 38, 73, 0.3);
}

.additional-contacts-grid .contact-block a {
	color: #BB2649;
	text-decoration: none;
	transition: color 0.3s ease;
}

.additional-contacts-grid .contact-block a:hover {
	color: #8D1C37;
}

/* Стили для социальных сетей */
.social-networks-section {
	margin-bottom: 80px;
	text-align: center;
}

.social-networks-section h2 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	line-height: 1.2;
	color: #212121;
	margin-bottom: 40px;
}

.social-links {
	display: flex;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
}

.social-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 24px;
	background: linear-gradient(135deg, #BB2649 0%, #8D1C37 100%);
	color: #fff;
	text-decoration: none;
	border-radius: 50px;
	font-weight: 600;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	transition: all 0.3s ease;
	box-shadow: 0 4px 15px rgba(187, 38, 73, 0.3);
}

.social-link svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}

/* Стили для карты */
.map-section {
	margin-bottom: 80px;
}

.map-section h2 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	line-height: 1.2;
	color: #212121;
	margin-bottom: 40px;
	text-align: center;
}

.map-container {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	background: #f5f5f5;
}

.map-container iframe {
	width: 100%;
	height: 400px;
	border: none;
	display: block;
}

/* Стили для дополнительной информации */
.additional-info-section {
	margin-bottom: 80px;
}

.additional-info-section h2 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	line-height: 1.2;
	color: #212121;
	margin-bottom: 40px;
	text-align: center;
}

.additional-info-content {
	background: rgba(255, 255, 255, 0.1);
	border: 0.33px solid rgba(255, 255, 255, 0.5);
	border-radius: 20px;
	padding: 40px;
	backdrop-filter: blur(10px);
	position: relative;
	overflow: hidden;
}

.additional-info-content::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
	border-radius: 20px;
	z-index: -1;
}

.additional-info-content p {
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 1.6;
	color: #212121;
	margin-bottom: 16px;
}

.additional-info-content p:last-child {
	margin-bottom: 0;
}

/* Адаптивность для дополнительных элементов */
@media (max-width: 768px) {
	.additional-contacts-grid {
		grid-template-columns: 1fr;
		gap: 24px;
		margin-bottom: 60px;
	}

	.social-links {
		gap: 16px;
	}

	.social-link {
		padding: 12px 20px;
		font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320))), 16px);
	}

	.map-container iframe {
		height: 300px;
	}

	.additional-info-content {
		padding: 24px;
	}
}

@media (max-width: 500px) {
	.social-links {
		flex-direction: column;
		align-items: center;
	}

	.social-link {
		width: 100%;
		max-width: 280px;
		justify-content: center;
	}

	.map-container iframe {
		height: 250px;
	}
}

/* Модальное окно */
.modal-overlay {
	display: none !important;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 9999;
	align-items: center;
	justify-content: center;
}

.modal-overlay.show {
	display: flex !important;
}

.modal-content {
	background: white;
	border-radius: 20px;
	max-width: 1000px;
	width: 100%;
	max-height: 90vh;
	overflow-y: auto;
	position: relative;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px 30px 20px;
}

.modal-header h2 {
	font-weight: 400;
	font-style: normal;
	font-size: clamp(32px, calc(32px + (45 - 32) * ((100vw - 320px) / (1920 - 320))), 45px);
	vertical-align: middle;
	color: #000;
}

/* Исправление для крестика модального окна - правильный цвет */
.modal-overlay .modal-header button.modal-close {
	background: none !important;
	border: none !important;
	border-radius: 50%;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	color: #BB2649 !important;
}

.modal-overlay .modal-header button.modal-close:hover {
	color: #c41e24 !important;
	background-color: rgba(187, 38, 73, 0.1) !important;
}

.modal-overlay .modal-header button.modal-close svg {
	color: currentColor !important;
	width: 100%;
	height: 100%;
	stroke: currentColor !important;
}

.modal-body {
	padding: 30px;
	padding-top: 0px;
}

/* Стили для формы Contact Form 7 */
.wpcf7-form {
	margin: 0;
}

.wpcf7 form.sent .wpcf7-response-output {
	display: none;
}

/* Скрыть форму Contact Form 7, если она не в модальном окне */
.cases .wpcf7-form {
	display: none;
}

/* Показать форму только в модальном окне */
.modal-overlay .wpcf7-form {
	display: block;
}

.modal-overlay .wpcf7-form>* {
	margin-bottom: 15px;
}

/* Исправление структуры Contact Form 7 */
.modal-overlay .wpcf7-form p {
	margin: 0;
}

.modal-overlay .form-group p {
	margin: 0;
}

.modal-overlay .form-row p {
	margin: 0;
}

.modal-overlay .form-checkboxes p {
	margin: 0;
}

.modal-overlay .form-submit p {
	margin: 0;
}



.modal-overlay .wpcf7-textarea {
	resize: vertical;
}

.modal-overlay .wpcf7-textarea::placeholder {
	color: #999;
}

.modal-overlay .wpcf7-textarea:placeholder-shown {
	background-image: none;
}

.modal-overlay .wpcf7-textarea:not(:placeholder-shown) {
	background-image: none;
}

/* Стили для чекбоксов */
.modal-overlay .wpcf7-checkbox {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	font-size: 14px;
}

.wpcf7-list-item {
	display: flex !important;
	align-items: center;
	margin: 0 !important;
}

.modal-overlay .wpcf7-list-item input[type="checkbox"] {
	margin-right: 12px;
	margin-top: 2px;
	width: 18px;
	height: 18px;
	accent-color: #E31E24;
}

.modal-overlay .wpcf7-list-item-label {
	cursor: pointer;
	font-size: 14px;
}

/* Стили для кнопки отправки */
.modal-overlay .wpcf7-submit {
	background: #E31E24;
	color: white;
	border: none;
	padding: 16px 40px;
	border-radius: 40px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s ease;
	width: auto;
}

.modal-overlay .wpcf7-submit:hover {
	background: #c41e24;
}

.modal-overlay .wpcf7-submit:disabled {
	background: #ccc !important;
	cursor: not-allowed !important;
	opacity: 0.5 !important;
	pointer-events: none !important;
	user-select: none !important;
}

.modal-overlay .wpcf7-submit:disabled:hover {
	background: #ccc !important;
}

/* Дополнительная защита - блокируем кнопку через CSS */
.modal-overlay .wpcf7-submit[disabled] {
	position: relative;
}

.modal-overlay .wpcf7-submit[disabled]::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: transparent;
	z-index: 10;
	cursor: not-allowed;
}

/* Стили для сообщений об ошибках */
.modal-overlay .wpcf7-not-valid-tip {
	display: none;
}

.modal-overlay .wpcf7-response-output {
	display: none;
}

/* Скрыть screen-reader-response */
.modal-overlay .screen-reader-response {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Экран благодарности */
.thank-you-screen {
	text-align: center;
}

.thank-you-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 300px;
	padding-bottom: 50px;
}

.thank-you-icon {
	margin-bottom: 30px;
	animation: checkmark 0.6s ease-in-out;
}

.thank-you-icon svg {
	width: 80px;
	height: 80px;
}

.thank-you-body h3 {
	font-size: 32px;
	font-weight: 700;
	color: #E31E24;
	margin: 0 0 15px 0;
	animation: fadeInUp 0.8s ease-out;
}

.thank-you-body p {
	font-size: 18px;
	color: #666;
	margin: 0;
	animation: fadeInUp 1s ease-out;
}

/* Анимации */
@keyframes checkmark {
	0% {
		transform: scale(0);
		opacity: 0;
	}

	50% {
		transform: scale(1.2);
		opacity: 1;
	}

	100% {
		transform: scale(1);
		opacity: 1;
	}
}

@keyframes fadeInUp {
	0% {
		transform: translateY(30px);
		opacity: 0;
	}

	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

/* Адаптивность для экрана благодарности */
@media (max-width: 768px) {
	.thank-you-screen {
		padding: 40px 20px;
	}

	.thank-you-body {
		min-height: 250px;
	}

	.thank-you-icon svg {
		width: 60px;
		height: 60px;
	}

	.thank-you-body h3 {
		font-size: 24px;
	}

	.thank-you-body p {
		font-size: 16px;
	}
}

@media (max-width: 480px) {
	.thank-you-screen {
		padding: 30px 15px;
	}

	.thank-you-body {
		min-height: 200px;
	}

	.thank-you-icon svg {
		width: 50px;
		height: 50px;
	}

	.thank-you-body h3 {
		font-size: 20px;
	}

	.thank-you-body p {
		font-size: 14px;
	}
}

/* Сетка для формы */
.modal-overlay .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}



.modal-overlay .form-checkboxes {
	margin: 10px 0;
}

.modal-overlay .form-submit {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	flex-direction: column;
}


.form-group br {
	display: none;
}

.form-input,
.form-textarea {
	width: 100%;
	padding: 12px 16px;
	border: none;
	border-radius: 8px;
	font-size: 16px;
	transition: border-color 0.3s ease;
	box-sizing: border-box;
	background: #0000000D;
	border-radius: 10px;
}

.form-input:focus,
.form-textarea:focus {
	outline: none;
	border-color: #E31E24;
}


.form-checkboxes {
	display: flex;
	gap: 10px;
	flex-direction: column;
}

.checkbox-label {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	font-size: 14px;
}

.checkbox-label input[type="checkbox"] {
	margin-right: 12px;
	margin-top: 2px;
	width: 18px;
	height: 18px;
	accent-color: #E31E24;
}

.form-submit {
	display: flex;
	align-items: center;
	position: relative;
}

.btn-submit {
	background: #E31E24;
	color: white;
	border: none;
	padding: 16px 40px;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.3s ease;
	display: flex;
	align-items: center;
	gap: 10px;
}

.btn-submit:hover {
	background: #c41e24;
}

.btn-icon {
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Адаптивность для формы */
@media (max-width: 768px) {
	.form-section {
		padding: 40px 16px;
		margin: 0 0 10px 0;
	}

	.form-section-header {
		margin-bottom: 40px;
	}

	.form-container .form-checkboxes {
		margin: 24px 0;
	}

	.form-container .form-submit {
		margin-top: 32px;
	}

	.form-container .btn-submit {
		padding: 16px 36px;
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 480px) {


	.form-container {
		padding: 24px 20px;
		border-radius: 16px;
	}

	.form-container .form-input,
	.form-container .form-textarea {
		padding: 14px 16px;
	}

	.form-container .btn-submit {
		padding: 14px 32px;
		font-size: 14px;
	}
}

/* Адаптивность модального окна */
@media (max-width: 768px) {
	.modal-content {
		margin: 10px;
		max-height: 95vh;
	}

	.modal-header {
		padding: 20px 20px 15px;
	}

	.modal-header h2 {
		font-size: 20px;
	}

	.modal-body {
		padding: 20px;
	}

	.form-row {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.btn-submit {
		padding: 14px 30px;
		font-size: 14px;
	}
}

@media (max-width: 480px) {

	.modal-header {
		padding: 15px 15px 10px;
	}

	.modal-body {
		padding: 15px;
	}

	.form-input,
	.form-textarea {
		padding: 10px 12px;
		font-size: 14px;
	}
}

/* Стили для страницы 404 */
.error {
	position: relative;
	margin-top: 13vh;
	margin-bottom: 5vh;
	min-height: 85vh;
	margin-inline: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 20px;
}

.error::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('/wp-content/uploads/2025/10/bhautik_patel_5rotzfqu3pm_unsplash_1-scaled.webp');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 1;
}

.error .container {
	position: relative;
	z-index: 2;
	text-align: center;
	color: #fff;
	padding: 40px 20px;
	max-width: 800px;
	width: 100%;
}

.error__title {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 700;
	font-size: clamp(120px, calc(120px + (200 - 120) * ((100vw - 320px) / (1920 - 320))), 200px);
	line-height: 0.8;
	color: #fff;
	margin: 0 0 20px 0;
	text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
	letter-spacing: -0.02em;
}

.error__subtitle {
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-size: clamp(24px, calc(24px + (36 - 24) * ((100vw - 320px) / (1920 - 320))), 36px);
	line-height: 1.2;
	color: #fff;
	margin: 0 0 30px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	opacity: 0.9;
}

.error__descr {
	font-family: 'NAMU', sans-serif;
	font-weight: 400;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 40px 0;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

.error__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	color: #BB2649;
	padding: 18px 36px;
	border-radius: 50px;
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	transition: all 0.3s ease;
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.2);
	position: relative;
	overflow: hidden;
}

.error__link::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: left 0.5s ease;
}

.error__link:hover {
	background: #BB2649;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 35px rgba(187, 38, 73, 0.4);
}

.error__link:hover::before {
	left: 100%;
}

.error__link svg {
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease;
}

.error__link:hover svg {
	transform: translateX(4px);
}

/* Адаптивность для страницы 404 */
@media (max-width: 768px) {
	.error {
		margin-inline: 10px;
	}

	.error .container {
		padding: 20px;
	}

	.error__title {
		font-size: clamp(80px, calc(80px + (120 - 80) * ((100vw - 320px) / (768 - 320))), 120px);
		margin-bottom: 15px;
	}

	.error__subtitle {
		font-size: clamp(20px, calc(20px + (28 - 20) * ((100vw - 320px) / (768 - 320))), 28px);
		margin-bottom: 25px;
	}

	.error__descr {
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (768 - 320))), 18px);
		margin-bottom: 35px;
	}

	.error__link {
		padding: 16px 24px;
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (768 - 320))), 18px);
	}
}

@media (max-width: 480px) {
	.error .container {
		padding: 15px;
	}

	.error__title {
		font-size: clamp(60px, calc(60px + (80 - 60) * ((100vw - 320px) / (480 - 320))), 80px);
		margin-bottom: 10px;
	}

	.error__subtitle {
		font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 320px) / (480 - 320))), 24px);
		margin-bottom: 20px;
	}

	.error__descr {
		font-size: clamp(13px, calc(13px + (16 - 13) * ((100vw - 320px) / (480 - 320))), 16px);
		margin-bottom: 30px;
	}

	.error__link {
		padding: 14px 28px;
		font-size: clamp(13px, calc(13px + (16 - 13) * ((100vw - 320px) / (480 - 320))), 16px);
		width: 50%;
		justify-content: center;
	}
}

/* Стили для страницы политики обработки */
.policy-section {
	padding: 130px 64px 80px;
	background: #fff;
	min-height: 100vh;
	position: relative;
}

.policy-section::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, #BB2649 0%, #8D1C37 50%, #BB2649 100%);
}

.policy-title {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: clamp(32px, calc(32px + (48 - 32) * ((100vw - 320px) / (1920 - 320))), 48px);
	color: #BB2649;
	position: relative;
	max-width: 900px;
	margin: 40px auto;
	line-height: 110%;
}


.policy-content {
	max-width: 900px;
	margin: 0 auto;
	font-size: clamp(16px, calc(16px + (18 - 16) * ((100vw - 320px) / (1920 - 320))), 18px);
	color: #212121;
}

.policy-content h2 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 600;
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	color: #BB2649;
	margin: 40px 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid rgba(187, 38, 73, 0.2);
	position: relative;
}

.policy-content h2:first-child {
	margin-top: 0;
}

.policy-content h3 {
	font-family: 'Loos Wide', sans-serif;
	font-weight: 500;
	font-size: clamp(20px, calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320))), 24px);
	color: #212121;
	margin: 30px 0 15px 0;
	position: relative;
	padding-left: 20px;
}

.policy-content h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 20px;
	background: #BB2649;
	border-radius: 2px;
}

.policy-content p {
	margin-bottom: 20px;
	text-align: justify;
	position: relative;
}

.policy-content ul,
.policy-content ol {
	margin: 20px 0;
	padding-left: 30px;
	position: relative;
}

.policy-content ul::before,
.policy-content ol::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 2px;
	background: linear-gradient(180deg, #BB2649 0%, rgba(187, 38, 73, 0.3) 100%);
	border-radius: 1px;
}

.policy-content li {
	margin-bottom: 12px;
	list-style-type: disc;
	position: relative;
}

.policy-content ol li {
	list-style-type: decimal;
}

.policy-content strong {
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 4px;
}

.policy-content a {
	color: #BB2649;
	text-decoration: none;
	border-bottom: 1px solid rgba(187, 38, 73, 0.3);
	transition: all 0.3s ease;
	padding: 2px 0;
}

.policy-content blockquote {
	border-left: 4px solid #BB2649;
	padding-left: 20px;
	margin: 30px 0;
	font-style: italic;
	color: #666;
	background: rgba(187, 38, 73, 0.05);
	padding: 20px;
	border-radius: 0 8px 8px 0;
}

.policy-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 30px 0;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.policy-content th,
.policy-content td {
	padding: 15px;
	text-align: left;
	border-bottom: 1px solid rgba(187, 38, 73, 0.2);
}

.policy-content th {
	background: #BB2649;
	color: #fff;
	font-weight: 600;
}

.policy-content tr:hover {
	background: rgba(187, 38, 73, 0.05);
}

/* Адаптивность для страницы политики */
@media (max-width: 768px) {
	.policy-section {
		padding: 100px 20px 60px;
	}

	.policy-content {
		padding: 30px 20px;
		margin: 0 10px;
	}

	.policy-title {
		font-size: clamp(28px, calc(28px + (36 - 28) * ((100vw - 320px) / (768 - 320))), 36px);
		margin-bottom: 30px;
	}

	.policy-content {
		font-size: clamp(15px, calc(15px + (17 - 15) * ((100vw - 320px) / (768 - 320))), 17px);
	}

	.policy-content h2 {
		font-size: clamp(22px, calc(22px + (28 - 22) * ((100vw - 320px) / (768 - 320))), 28px);
		margin: 35px 0 18px 0;
	}

	.policy-content h3 {
		font-size: clamp(18px, calc(18px + (22 - 18) * ((100vw - 320px) / (768 - 320))), 22px);
		margin: 25px 0 12px 0;
	}

	.policy-content ul,
	.policy-content ol {
		padding-left: 25px;
	}

	.policy-content table {
		font-size: 14px;
	}

	.policy-content th,
	.policy-content td {
		padding: 10px;
	}
}

@media (max-width: 480px) {
	.policy-section {
		padding: 80px 15px 40px;
	}

	.policy-content {
		padding: 20px 15px;
		margin: 0 5px;
	}

	.policy-title {
		font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (480 - 320))), 32px);
		margin-bottom: 25px;
	}

	.policy-content {
		font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 320px) / (480 - 320))), 16px);
	}

	.policy-content h2 {
		font-size: clamp(20px, calc(20px + (26 - 20) * ((100vw - 320px) / (480 - 320))), 26px);
		margin: 30px 0 15px 0;
	}

	.policy-content h3 {
		font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (480 - 320))), 20px);
		margin: 20px 0 10px 0;
	}

	.policy-content ul,
	.policy-content ol {
		padding-left: 20px;
	}

	.policy-content table {
		font-size: 12px;
	}

	.policy-content th,
	.policy-content td {
		padding: 8px;
	}
}

/* Стили для ссылок в политике */
.policy-link {
	color: #BB2649;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.3s ease;
	border-bottom: 1px solid transparent;
	position: relative;
}

.policy-link:hover {
	color: #8a1c36;
	border-bottom-color: #BB2649;
}

/* Альтернативный вариант с анимацией подчеркивания */
.policy-link::after {
	content: '';
	position: absolute;
	width: 0;
	height: 2px;
	bottom: -2px;
	left: 0;
	background: #BB2649;
	transition: width 0.3s ease;
}

.policy-link:hover::after {
	width: 100%;
}

/* Стили для текста чекбоксов */
.form-checkboxes .wpcf7-list-item-label {
	font-size: 14px;
	line-height: 1.4;
}

/* Адаптивность */
@media (max-width: 768px) {
	.policy-link {
		font-size: 13px;
	}

	.form-checkboxes .wpcf7-list-item-label {
		font-size: 13px;
	}
}

.video_blur {
	background: #bb264959;
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
}
.service-item:hover .video_blur
{
	opacity: 1;
}

/* ######### */
/* case page */

.video-bg .container,
.case-task .container,
.block_progress .container{
	max-width: 1800px;
	margin: 0 auto;
	margin-bottom: clamp(100px, calc(100px + (120 - 100) * ((100vw - 1280px) / (1800 - 1280))), 120px);
}

@media (max-width: 1880px) {
	.video-bg .container,
	.case-task .container,
	.block_progress .container {
		margin-inline: clamp(32px, calc(32px + (40 - 32) * ((100vw - 1280px) / (1800 - 1280))), 40px);
	}
}

.video-bg .container {
	margin-top: clamp(75px, calc(75px + (130 - 75) * ((100vw - 1280px) / (1800 - 1280))), 130px);
	padding: clamp(50px, calc(50px + (85 - 50) * ((100vw - 1280px) / (1800 - 1280))), 85px);
	padding-bottom: clamp(60px, calc(60px + (80 - 60) * ((100vw - 1280px) / (1800 - 1280))), 80px);
	position: relative;
	border-radius: clamp(12px, calc(12px + (20 - 12) * ((100vw - 1280px) / (1800 - 1280))), 20px);
	overflow: hidden;
	box-sizing: border-box;
	color: #fff;
	height: clamp(533px, calc(533px + (800 - 533) * ((100vw - 1280px) / (1800 - 1280))), 800px);
}

.video-bg .container > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	filter: brightness(0.5);
	object-fit: cover;
    object-position: center;
}

.video-bg-wrapper {
	height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.video-bg-tags {
	display: flex;
	max-width: clamp(504px, calc(504px + (755 - 504) * ((100vw - 1280px) / (1800 - 1280))), 755px);
	flex-wrap: wrap;
	gap: clamp(8px, calc(8px + (13 - 8) * ((100vw - 1280px) / (1800 - 1280))), 13px);
}

.video-bg-tags-item {
	border: 1px solid #FFFFFF;
	border-radius: clamp(70px, calc(70px + (106 - 70) * ((100vw - 1280px) / (1800 - 1280))), 106px);
	font-size: clamp(11px, calc(11px + (16 - 11) * ((100vw - 1280px) / (1800 - 1280))), 16px);
	padding: 
		clamp(8px, calc(8px + (10 - 8) * ((100vw - 1280px) / (1800 - 1280))), 10px) 
		clamp(16px, calc(16px + (24 - 16) * ((100vw - 1280px) / (1800 - 1280))), 24px);
	box-sizing: border-box;
}

.video-bg-info .video-bg-tag {
	margin-bottom: clamp(23px, calc(23px + (35 - 23) * ((100vw - 1280px) / (1800 - 1280))), 35px);
	padding-left: clamp(15px, calc(15px + (21 - 15) * ((100vw - 1280px) / (1800 - 1280))), 21px);
	position: relative;
	font-size: clamp(11px, calc(11px + (16 - 11) * ((100vw - 1280px) / (1800 - 1280))), 16px);
}

.video-bg-info .video-bg-tag:after {
	content: "";
	display: block;
	width: clamp(6px, calc(6px + (8 - 6) * ((100vw - 1280px) / (1800 - 1280))), 8px);
	height: clamp(6px, calc(6px + (8 - 6) * ((100vw - 1280px) / (1800 - 1280))), 8px);
	background: #fff;
	position: absolute;
	top: clamp(3px, calc(3px + (5 - 3) * ((100vw - 1280px) / (1800 - 1280))), 5px);
	left: 0;
}

.video-bg-info h1 {
	font-size: clamp(45px, calc(45px + (70 - 45) * ((100vw - 1280px) / (1800 - 1280))), 70px);
	font-weight: 500;
	margin-bottom: clamp(20px, calc(20px + (30 - 20) * ((100vw - 1280px) / (1800 - 1280))), 30px);
}

.video-bg-info p {
	max-width: clamp(527px, calc(527px + (790 - 527) * ((100vw - 1280px) / (1800 - 1280))), 790px);
	font-size: clamp(14px, calc(14px + (22 - 14) * ((100vw - 1280px) / (1800 - 1280))), 22px);
	line-height: 130%;
	font-weight: 400;
	margin-bottom: clamp(30px, calc(30px + (45 - 30) * ((100vw - 1280px) / (1800 - 1280))), 45px);
}

.case-task .container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(26px, calc(26px + (40 - 26) * ((100vw - 1280px) / (1800 - 1280))), 40px);
}

.case-task .container > div {
	border-radius: clamp(13px, calc(13px + (20 - 13) * ((100vw - 1280px) / (1800 - 1280))), 20px);
	overflow: hidden;
}

.case-task-info {
	padding:
		clamp(90px, calc(90px + (130 - 90) * ((100vw - 1280px) / (1800 - 1280))), 130px)
		clamp(50px, calc(50px + (100 - 50) * ((100vw - 1280px) / (1800 - 1280))), 100px);
	box-sizing: border-box;
	background: #F6F6F6;
}

.case-task-info h2 {
	font-size: clamp(30px, calc(30px + (45 - 30) * ((100vw - 1280px) / (1800 - 1280))), 45px);
	margin-bottom: clamp(26px, calc(26px + (40 - 26) * ((100vw - 1280px) / (1800 - 1280))), 40px);
	font-weight: 500;
	line-height: 140%;
}

.case-task-info p {
	font-weight: 400;
	font-size: clamp(14px, calc(14px + (22 - 14) * ((100vw - 1280px) / (1800 - 1280))), 22px);
	line-height: 130%;
}

.case-task .case-task-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.block_progress .container {
	display: flex;
	gap: clamp(34px, calc(34px + (50 - 34) * ((100vw - 1280px) / (1800 - 1280))), 50px);
}

.block_progress .line {
	position: relative;
	height: -webkit-fill-available;
    display: block;
    min-width: 2px;
    margin-top: 40px;
	margin-bottom: 250px;
    background: repeating-linear-gradient(to bottom, rgba(227, 27, 47, .8) 0, rgba(227, 27, 47, .8) 8px, transparent 8px, transparent 18px);
    border-radius: 2px;
}

.block_progress .line:before {
	content: "";
	width: 10px;
	height: 10px;
	display: block;
	border-bottom: 1px solid #BB2649;
	border-left: 1px solid #BB2649;
	position: absolute;
    bottom: -1px;
    left: -4.015px;
    transform: rotate(-45deg);
}

.block_progress h2 {
	font-weight: 500;
	font-size: clamp(30px, calc(30px + (45 - 30) * ((100vw - 1280px) / (1800 - 1280))), 45px);
	line-height: 140%;
	margin-bottom: clamp(27px, calc(27px + (40 - 27) * ((100vw - 1280px) / (1800 - 1280))), 40px);
}

.block_progress h3 {
	color: #BB2649;
	font-weight: 500;
	font-size: clamp(18px, calc(18px + (28 - 18) * ((100vw - 1280px) / (1800 - 1280))), 28px);
	line-height: 110%;
}

.case-text-slider,
.case-development,
.case-text-image {
	width: 100%;
	box-shadow: 0px 0px 5px 5px #F6F6F6;
	border-radius: clamp(13px, calc(13px + (20 - 13) * ((100vw - 1280px) / (1800 - 1280))), 20px);
	margin-bottom: clamp(70px, calc(70px + (120 - 70) * ((100vw - 1280px) / (1800 - 1280))), 120px);
	padding: 
		clamp(58px, calc(58px + (87 - 58) * ((100vw - 1280px) / (1800 - 1280))), 87px)
		clamp(30px, calc(30px + (50 - 30) * ((100vw - 1280px) / (1800 - 1280))), 50px);
	box-sizing: border-box;
}

.text-image-bottom {
	margin-top: clamp(58px, calc(58px + (86 - 58) * ((100vw - 1280px) / (1800 - 1280))), 86px);
}

.text-slider-bottom,
.text-slider-top,
.text-image-top,
.text-image-bottom {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(26px, calc(26px + (40 - 26) * ((100vw - 1280px) / (1800 - 1280))), 40px);
}

.text-slider-bottom img,
.text-image-bottom img {
	width: 100%;
	border: 2px solid #D9D9D9;
	border-radius: clamp(13px, calc(13px + (20 - 13) * ((100vw - 1280px) / (1800 - 1280))), 20px);
	overflow: hidden;
}

.block_progress .step {
	position: relative;
	width: clamp(29px, calc(29px + (42 - 29) * ((100vw - 1280px) / (1800 - 1280))), 42px);
    height: clamp(29px, calc(29px + (42 - 29) * ((100vw - 1280px) / (1800 - 1280))), 42px);
    display: flex;
    align-items: center;
    justify-content: center;
	border-radius: 50%;
	font-weight: 400;
	font-size: clamp(16px, calc(16px + (25 - 16) * ((100vw - 1280px) / (1800 - 1280))), 25px);
	line-height: 140%;
	background-image: linear-gradient(90deg, #D7003A, #19087E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
	aspect-ratio: 1 / 1;
}

.block_progress .step:before {
	content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #D7003A, #19087E);
    pointer-events: none;
    -webkit-mask: linear-gradient(#D7003A 0 0) content-box, linear-gradient(#19087E 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
	padding: 1px;
    box-sizing: border-box;
}

.text-image-header,
.text-slider-header {
	display: flex;
	align-items: center;
	gap: clamp(20px, calc(20px + (30 - 20) * ((100vw - 1280px) / (1800 - 1280))), 30px);
}

.text-slider-header,
.text-image-header {
	margin-bottom: clamp(26px, calc(26px + (37 - 26) * ((100vw - 1280px) / (1800 - 1280))), 37px);
}

.block_progress p + p { margin-top: clamp(26px, calc(26px + (37 - 26) * ((100vw - 1280px) / (1800 - 1280))), 37px); }
.block_progress p + ul,
.block_progress p + ol{ margin-top: clamp(12px, calc(12px + (18 - 12) * ((100vw - 1280px) / (1800 - 1280))), 18px); }

.block_progress ul li {
	padding-left: clamp(16px, calc(16px + (23 - 16) * ((100vw - 1280px) / (1800 - 1280))), 23px);
    position: relative;
}

.block_progress ol li {
	list-style-type: auto;
}

.block_progress ol {
	padding-left: clamp(24px, calc(24px + (35 - 24) * ((100vw - 1280px) / (1800 - 1280))), 35px);
}

.block_progress li {
	margin-bottom: clamp(7px, calc(7px + (10 - 7) * ((100vw - 1280px) / (1800 - 1280))), 10px);
}

.block_progress ol,
.block_progress ul,
.block_progress p {
	font-weight: 400;
	font-size: clamp(14px, calc(14px + (22 - 14) * ((100vw - 1280px) / (1800 - 1280))), 22px);
	line-height: 140%;
}

.text-image-textblock ul li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 8px;
	height: 8px;
	background: #BB2649;
}

.text-image-textblock li,
.text-image-textblock p {
	color: #171717;
	font-weight: 400;
	font-size: clamp(14px, calc(14px + (22 - 14) * ((100vw - 1280px) / (1800 - 1280))), 22px);
	line-height: 120%;
}

.text-image-right img {
	width: 100%;
	border-radius: clamp(13px, calc(13px + (20 - 13) * ((100vw - 1280px) / (1800 - 1280))), 20px);
}

.case-lid-cost{
	/* твои исходные параметры как “источник истины” */
	--bw: 2;                 
	--r: 20;                 
	--a: 101.27;            
	--c1: #D7003A;           
	--c2: #19087E;           

	/* пунктир */
	--dash: 10;              
	--gap: 12;               

	position: relative;
	border-radius: calc(var(--r) * 1px);
	padding-block: 50px;
	margin-bottom: 80px;
	text-align: center;
	font-weight: 500;
	font-size: 28px;
	line-height: 110%;
	background: #fff;
}

/* SVG-рамка */
.case-lid-cost > svg.case-border{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.case-lid-cost b { color:#BB2649; }


.development-top {
	display: grid;
	grid-template-columns: 808fr 731fr;
	gap: 118px;
	margin-bottom: 62px;
}

.development-cards {
	display: grid;
	grid-template-columns: 399fr 312fr;
	gap: 20px;
}

.development-card {
	background: #F6F6F6;
	border-radius: 20px;
	padding: 35px 45px 35px 40px;
}

.development-card:nth-child(3):last-child {
    grid-column: 1 / 3;
}

.development-card a {
	color: #171717;
	text-decoration: underline;
}

.development-card-title {
	position: relative;
	padding: 10px 24px;
    border-radius: 106px;
	width: fit-content;
	margin-bottom: 15px;
	font-weight: 400;
	font-size: 16px;
	line-height: 100%;
    background-image: linear-gradient(90deg, #D7003A, #19087E);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.development-card-title:before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #D7003A, #19087E);
    pointer-events: none;
    -webkit-mask: linear-gradient(#D7003A 0 0) content-box, linear-gradient(#19087E 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: 1px;
    box-sizing: border-box;
}

.development-card-value {
	font-weight: 400;
	font-size: 28px;
	line-height: 140%;
}

.case-development-bottom {
	overflow: hidden;
	border: 2px solid #D9D9D9;
	border-radius: 20px;
	margin-top: 62px;
}

.case-development-bottom .swiper-slide {
	width: 100%;
	aspect-ratio: 1657 / 701;
}

.block_progress .swiper-wrapper,
.block_progress .swiper-slide {
	width: 100% !important;
}

.case-development-bottom .swiper-slide img {
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: top center;
}

.case-development-bottom-pagination,
.case-text_slider_swiper-pagination{
	display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 25px;
}

.case-development-bottom-pagination .swiper-pagination-bullet-active,
.case-text_slider_swiper-pagination .swiper-pagination-bullet-active {
	background: #BB2649;
}

.case-development-bottom-pagination .swiper-pagination-bullet,
.case-text_slider_swiper-pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
}

.text-slider-swiper .swiper-slide {
	width: 100% !important;
	aspect-ratio: 804 / 540;
}

.text-slider-swiper {
	overflow: hidden;
	border: 2px solid #D9D9D9;
	border-radius: 20px;
}

.text-slider-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.text-slider-bottom {
	margin-top: 86px;
}

.case-results-wrapper {
	display: flex;
	gap: 40px;
}

.case-results-item {
	flex: 1;
	background: #F6F6F6;
	border-radius: 20px;
	padding: 50px;
}

.case-results-item-title {
	font-weight: 400;
	font-size: 28px;
	line-height: 140%;
	margin-bottom: 15px;
}

.with_tag .text-image-header {
	position: relative;
}

.with_tag .text-image-header:before {
    content: "";
    position: absolute;
    left: calc( -1 * clamp(71px, calc(71px + (110 - 71) * ((100vw - 1280px) / (1800 - 1280))), 110px));
    display: block;
    width: clamp(12px, calc(12px + (19 - 12) * ((100vw - 1280px) / (1800 - 1280))), 19px);
    height: clamp(12px, calc(12px + (19 - 12) * ((100vw - 1280px) / (1800 - 1280))), 19px);
    background: #BB2649;
}

.case-results h3 {
	font-weight: 500;
	font-size: clamp(30px, calc(30px + (45 - 30) * ((100vw - 1280px) / (1800 - 1280))), 45px);
	line-height: 140%;
	margin-bottom: clamp(26px, calc(26px + (40 - 26) * ((100vw - 1280px) / (1800 - 1280))), 40px);
}

.case-results-item-text {
	font-weight: 400;
	font-size: 16px;
	line-height: 100%;
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.video-bg .container,
.case-task .container,
.block_progress .container {
	max-width: none;
	width: clamp(1200px, calc(1200px + (1800 - 1200) * ((100vw - 1280px) / (1920 - 1280))), 1800px);
	margin-inline: auto;
}

.video-bg .container,
.case-task .container,
.block_progress .container {
	margin-bottom: clamp(100px, calc(100px + (120 - 100) * ((100vw - 1280px) / (1920 - 1280))), 120px);
}

.video-bg .container {
	padding-top: clamp(56.6667px, calc(56.6667px + (85 - 56.6667) * ((100vw - 1280px) / (1920 - 1280))), 85px);
	padding-right: clamp(50px, calc(50px + (85 - 50) * ((100vw - 1280px) / (1920 - 1280))), 85px);
	padding-bottom: clamp(59.3333px, calc(59.3333px + (80 - 59.3333) * ((100vw - 1280px) / (1920 - 1280))), 80px);
	padding-left: clamp(50px, calc(50px + (85 - 50) * ((100vw - 1280px) / (1920 - 1280))), 85px);
	height: clamp(533.3333px, calc(533.3333px + (800 - 533.3333) * ((100vw - 1280px) / (1920 - 1280))), 800px);
}

.video-bg-tags {
	max-width: clamp(503.3333px, calc(503.3333px + (755 - 503.3333) * ((100vw - 1280px) / (1920 - 1280))), 755px);
}

.video-bg-tags-item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(27px, calc(27px + (40 - 27) * ((100vw - 1280px) / (1920 - 1280))), 40px);
	padding-top: 0;
	padding-bottom: 0;
	padding-right: clamp(16px, calc(16px + (24 - 16) * ((100vw - 1280px) / (1920 - 1280))), 24px);
	padding-left: clamp(16px, calc(16px + (24 - 16) * ((100vw - 1280px) / (1920 - 1280))), 24px);
	border-radius: clamp(70px, calc(70px + (106 - 70) * ((100vw - 1280px) / (1920 - 1280))), 106px);
	font-size: clamp(11px, calc(11px + (16 - 11) * ((100vw - 1280px) / (1920 - 1280))), 16px);
	line-height: clamp(13.86px, calc(13.86px + (20.16 - 13.86) * ((100vw - 1280px) / (1920 - 1280))), 20.16px);
}

.video-bg-info .video-bg-tag {
	margin-bottom: clamp(23.3333px, calc(23.3333px + (35 - 23.3333) * ((100vw - 1280px) / (1920 - 1280))), 35px);
	padding-left: clamp(15px, calc(15px + (21 - 15) * ((100vw - 1280px) / (1920 - 1280))), 21px);
	font-size: clamp(11px, calc(11px + (16 - 11) * ((100vw - 1280px) / (1920 - 1280))), 16px);
	line-height: clamp(13.86px, calc(13.86px + (20.16 - 13.86) * ((100vw - 1280px) / (1920 - 1280))), 20.16px);
}

.video-bg-info h1 {
	font-size: clamp(45px, calc(45px + (70 - 45) * ((100vw - 1280px) / (1920 - 1280))), 70px);
	line-height: clamp(45px, calc(45px + (70 - 45) * ((100vw - 1280px) / (1920 - 1280))), 70px);
	margin-bottom: clamp(20px, calc(20px + (30 - 20) * ((100vw - 1280px) / (1920 - 1280))), 30px);
}

.video-bg-info p {
	max-width: clamp(527.3333px, calc(527.3333px + (791 - 527.3333) * ((100vw - 1280px) / (1920 - 1280))), 791px);
	font-size: clamp(14px, calc(14px + (22 - 14) * ((100vw - 1280px) / (1920 - 1280))), 22px);
	line-height: clamp(18.2px, calc(18.2px + (28.6 - 18.2) * ((100vw - 1280px) / (1920 - 1280))), 28.6px);
}

.video-bg .btn-red {
	gap: 0;
}

.video-bg .btn-red span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(35px, calc(35px + (50 - 35) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	padding-top: 0;
	padding-bottom: 0;
	padding-right: clamp(25px, calc(25px + (32 - 25) * ((100vw - 1280px) / (1920 - 1280))), 32px);
	padding-left: clamp(25px, calc(25px + (32 - 25) * ((100vw - 1280px) / (1920 - 1280))), 32px);
	border-radius: clamp(66.6667px, calc(66.6667px + (100 - 66.6667) * ((100vw - 1280px) / (1920 - 1280))), 100px);
	font-size: clamp(12px, calc(12px + (16 - 12) * ((100vw - 1280px) / (1920 - 1280))), 16px);
	line-height: clamp(15.12px, calc(15.12px + (20.16 - 15.12) * ((100vw - 1280px) / (1920 - 1280))), 20.16px);
}

.case-task .container > div,
.case-text-slider,
.case-development,
.case-text-image,
.case-development-bottom,
.text-slider-swiper,
.case-results-item,
.development-card,
.case-lid-cost {
	border-radius: clamp(12px, calc(12px + (20 - 12) * ((100vw - 1280px) / (1920 - 1280))), 20px);
}

.case-task-info {
	padding-top: clamp(90px, calc(90px + (131 - 90) * ((100vw - 1280px) / (1920 - 1280))), 131px);
	padding-right: clamp(50px, calc(50px + (102 - 50) * ((100vw - 1280px) / (1920 - 1280))), 102px);
	padding-bottom: clamp(90px, calc(90px + (131 - 90) * ((100vw - 1280px) / (1920 - 1280))), 131px);
	padding-left: clamp(50px, calc(50px + (102 - 50) * ((100vw - 1280px) / (1920 - 1280))), 102px);
}

.case-task-info h2 {
	font-size: clamp(30px, calc(30px + (45 - 30) * ((100vw - 1280px) / (1920 - 1280))), 45px);
	line-height: clamp(42px, calc(42px + (63 - 42) * ((100vw - 1280px) / (1920 - 1280))), 63px);
	margin-bottom: clamp(26.6667px, calc(26.6667px + (40 - 26.6667) * ((100vw - 1280px) / (1920 - 1280))), 40px);
}

.case-task-info p {
	font-size: clamp(14px, calc(14px + (22 - 14) * ((100vw - 1280px) / (1920 - 1280))), 22px);
	line-height: clamp(18.2px, calc(18.2px + (28.6 - 18.2) * ((100vw - 1280px) / (1920 - 1280))), 28.6px);
}

.case-text-slider,
.case-development,
.case-text-image {
	padding-top: clamp(58px, calc(58px + (87 - 58) * ((100vw - 1280px) / (1920 - 1280))), 87px);
	padding-right: clamp(30px, calc(30px + (50 - 30) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	padding-bottom: clamp(58px, calc(58px + (87 - 58) * ((100vw - 1280px) / (1920 - 1280))), 87px);
	padding-left: clamp(30px, calc(30px + (50 - 30) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	margin-bottom: clamp(53.3333px, calc(53.3333px + (80 - 53.3333) * ((100vw - 1280px) / (1920 - 1280))), 80px);
}

.development-top {
	gap: clamp(78.6667px, calc(78.6667px + (118 - 78.6667) * ((100vw - 1280px) / (1920 - 1280))), 118px);
	margin-bottom: clamp(41.6667px, calc(41.6667px + (62 - 41.6667) * ((100vw - 1280px) / (1920 - 1280))), 62px);
}

.development-cards {
	gap: clamp(13.3333px, calc(13.3333px + (20 - 13.3333) * ((100vw - 1280px) / (1920 - 1280))), 20px);
}

.development-card {
	padding-top: clamp(24px, calc(24px + (35 - 24) * ((100vw - 1280px) / (1920 - 1280))), 35px);
	padding-right: clamp(30px, calc(30px + (40 - 30) * ((100vw - 1280px) / (1920 - 1280))), 40px);
	padding-bottom: clamp(24px, calc(24px + (35 - 24) * ((100vw - 1280px) / (1920 - 1280))), 35px);
	padding-left: clamp(30px, calc(30px + (40 - 30) * ((100vw - 1280px) / (1920 - 1280))), 40px);
}

.development-card-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(26px, calc(26px + (40 - 26) * ((100vw - 1280px) / (1920 - 1280))), 40px);
	padding-top: 0;
	padding-bottom: 0;
	padding-right: clamp(16px, calc(16px + (24 - 16) * ((100vw - 1280px) / (1920 - 1280))), 24px);
	padding-left: clamp(16px, calc(16px + (24 - 16) * ((100vw - 1280px) / (1920 - 1280))), 24px);
	border-radius: clamp(70px, calc(70px + (106 - 70) * ((100vw - 1280px) / (1920 - 1280))), 106px);
	margin-bottom: clamp(10px, calc(10px + (15 - 10) * ((100vw - 1280px) / (1920 - 1280))), 15px);
	font-size: clamp(11px, calc(11px + (16 - 11) * ((100vw - 1280px) / (1920 - 1280))), 16px);
	line-height: clamp(13.86px, calc(13.86px + (20.16 - 13.86) * ((100vw - 1280px) / (1920 - 1280))), 20.16px);
}

.development-card-value {
	font-size: clamp(18px, calc(18px + (28 - 18) * ((100vw - 1280px) / (1920 - 1280))), 28px);
	line-height: clamp(25.2px, calc(25.2px + (39.2 - 25.2) * ((100vw - 1280px) / (1920 - 1280))), 39.2px);
}

.case-lid-cost {
	--r: 20;
	border-radius: 20px;
	padding-top: clamp(34px, calc(34px + (50 - 34) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	padding-right: clamp(34px, calc(34px + (50 - 34) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	padding-bottom: clamp(34px, calc(34px + (50 - 34) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	padding-left: clamp(34px, calc(34px + (50 - 34) * ((100vw - 1280px) / (1920 - 1280))), 50px);
	margin-bottom: clamp(70px, calc(70px + (80 - 70) * ((100vw - 1280px) / (1920 - 1280))), 80px);
	font-size: clamp(18px, calc(18px + (28 - 18) * ((100vw - 1280px) / (1920 - 1280))), 28px);
	line-height: clamp(19.8px, calc(19.8px + (30.8 - 19.8) * ((100vw - 1280px) / (1920 - 1280))), 30.8px);
}

.case-results-wrapper {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(26px, calc(26px + (40 - 26) * ((100vw - 1280px) / (1920 - 1280))), 40px);
}

.case-results-item {
	padding: clamp(30px, calc(30px + (50 - 30) * ((100vw - 1280px) / (1920 - 1280))), 50px);
}

.case-results-item-title {
	font-size: clamp(18px, calc(18px + (28 - 18) * ((100vw - 1280px) / (1920 - 1280))), 28px);
	line-height: clamp(25.2px, calc(25.2px + (39.2 - 25.2) * ((100vw - 1280px) / (1920 - 1280))), 39.2px);
	margin-bottom: clamp(10px, calc(10px + (15 - 10) * ((100vw - 1280px) / (1920 - 1280))), 15px);
}

.case-results h3 {
	font-size: clamp(30px, calc(30px + (45 - 30) * ((100vw - 1280px) / (1920 - 1280))), 45px);
	line-height: clamp(42px, calc(42px + (63 - 42) * ((100vw - 1280px) / (1920 - 1280))), 63px);
}

.case-results-item-text {
	font-size: clamp(11px, calc(11px + (16 - 11) * ((100vw - 1280px) / (1920 - 1280))), 16px);
	line-height: clamp(13.86px, calc(13.86px + (20.16 - 13.86) * ((100vw - 1280px) / (1920 - 1280))), 20.16px);
}

@media (max-width: 1280px) {
	.video-bg .container,
	.case-task .container,
	.block_progress .container {
		width: clamp(964px, calc(964px + (1200 - 964) * ((100vw - 1024px) / (1280 - 1024))), 1200px);
		margin-bottom: clamp(65.6px, calc(65.6px + (100 - 65.6) * ((100vw - 1024px) / (1280 - 1024))), 100px);
	}

	.video-bg .container {
		padding-top: clamp(45.3333px, calc(45.3333px + (56.6667 - 45.3333) * ((100vw - 1024px) / (1280 - 1024))), 56.6667px);
		padding-right: clamp(40px, calc(40px + (50 - 40) * ((100vw - 1024px) / (1280 - 1024))), 50px);
		padding-bottom: clamp(47.2px, calc(47.2px + (59.3333 - 47.2) * ((100vw - 1024px) / (1280 - 1024))), 59.3333px);
		padding-left: clamp(40px, calc(40px + (50 - 40) * ((100vw - 1024px) / (1280 - 1024))), 50px);
		height: clamp(427px, calc(427px + (533.3333 - 427) * ((100vw - 1024px) / (1280 - 1024))), 533.3333px);
	}

	.video-bg-tags {
		max-width: clamp(404px, calc(404px + (503.3333 - 404) * ((100vw - 1024px) / (1280 - 1024))), 503.3333px);
	}

	.video-bg-tags-item {
		min-height: clamp(24px, calc(24px + (27 - 24) * ((100vw - 1024px) / (1280 - 1024))), 27px);
		padding-right: clamp(12px, calc(12px + (16 - 12) * ((100vw - 1024px) / (1280 - 1024))), 16px);
		padding-left: clamp(12px, calc(12px + (16 - 12) * ((100vw - 1024px) / (1280 - 1024))), 16px);
		border-radius: clamp(56.5333px, calc(56.5333px + (70 - 56.5333) * ((100vw - 1024px) / (1280 - 1024))), 70px);
		font-size: clamp(11px, calc(11px + (11 - 11) * ((100vw - 1024px) / (1280 - 1024))), 11px);
		line-height: clamp(13.86px, calc(13.86px + (13.86 - 13.86) * ((100vw - 1024px) / (1280 - 1024))), 13.86px);
	}

	.video-bg-info h1 {
		font-size: clamp(36px, calc(36px + (45 - 36) * ((100vw - 1024px) / (1280 - 1024))), 45px);
		line-height: clamp(36px, calc(36px + (45 - 36) * ((100vw - 1024px) / (1280 - 1024))), 45px);
	}

	.video-bg-info p {
		max-width: clamp(421.8667px, calc(421.8667px + (527.3333 - 421.8667) * ((100vw - 1024px) / (1280 - 1024))), 527.3333px);
		font-size: clamp(12px, calc(12px + (14 - 12) * ((100vw - 1024px) / (1280 - 1024))), 14px);
		line-height: clamp(15.6px, calc(15.6px + (18.2 - 15.6) * ((100vw - 1024px) / (1280 - 1024))), 18.2px);
	}

	.video-bg .btn-red span {
		min-height: clamp(28px, calc(28px + (35 - 28) * ((100vw - 1024px) / (1280 - 1024))), 35px);
		padding-right: clamp(22px, calc(22px + (25 - 22) * ((100vw - 1024px) / (1280 - 1024))), 25px);
		padding-left: clamp(22px, calc(22px + (25 - 22) * ((100vw - 1024px) / (1280 - 1024))), 25px);
		border-radius: clamp(70px, calc(70px + (66.6667 - 70) * ((100vw - 1024px) / (1280 - 1024))), 70px);
		font-size: clamp(9.6px, calc(9.6px + (12 - 9.6) * ((100vw - 1024px) / (1280 - 1024))), 12px);
		line-height: clamp(12.096px, calc(12.096px + (15.12 - 12.096) * ((100vw - 1024px) / (1280 - 1024))), 15.12px);
	}

	.case-task .container {
		gap: clamp(20.8px, calc(20.8px + (26 - 20.8) * ((100vw - 1024px) / (1280 - 1024))), 26px);
	}

	.case-task-info {
		padding-top: clamp(72px, calc(72px + (90 - 72) * ((100vw - 1024px) / (1280 - 1024))), 90px);
		padding-right: clamp(40px, calc(40px + (50 - 40) * ((100vw - 1024px) / (1280 - 1024))), 50px);
		padding-bottom: clamp(72px, calc(72px + (90 - 72) * ((100vw - 1024px) / (1280 - 1024))), 90px);
		padding-left: clamp(40px, calc(40px + (50 - 40) * ((100vw - 1024px) / (1280 - 1024))), 50px);
	}

	.case-task-info h2,
	.block_progress h2,
	.case-results h3 {
		font-size: clamp(24px, calc(24px + (30 - 24) * ((100vw - 1024px) / (1280 - 1024))), 30px);
		line-height: clamp(33.6px, calc(33.6px + (42 - 33.6) * ((100vw - 1024px) / (1280 - 1024))), 42px);
	}

	.case-task-info h2 {
		margin-bottom: clamp(21.3333px, calc(21.3333px + (26.6667 - 21.3333) * ((100vw - 1024px) / (1280 - 1024))), 26.6667px);
	}

	.case-task-info p,
	.block_progress ol,
	.block_progress ul,
	.block_progress p,
	.text-image-textblock li,
	.text-image-textblock p {
		font-size: clamp(12px, calc(12px + (14 - 12) * ((100vw - 1024px) / (1280 - 1024))), 14px);
		line-height: clamp(15.6px, calc(15.6px + (18.2 - 15.6) * ((100vw - 1024px) / (1280 - 1024))), 18.2px);
	}

	.case-text-slider,
	.case-development,
	.case-text-image {
		padding-top: clamp(46.4px, calc(46.4px + (58 - 46.4) * ((100vw - 1024px) / (1280 - 1024))), 58px);
		padding-right: clamp(26.6667px, calc(26.6667px + (30 - 26.6667) * ((100vw - 1024px) / (1280 - 1024))), 30px);
		padding-bottom: clamp(46.4px, calc(46.4px + (58 - 46.4) * ((100vw - 1024px) / (1280 - 1024))), 58px);
		padding-left: clamp(26.6667px, calc(26.6667px + (30 - 26.6667) * ((100vw - 1024px) / (1280 - 1024))), 30px);
		margin-bottom: clamp(42.6667px, calc(42.6667px + (53.3333 - 42.6667) * ((100vw - 1024px) / (1280 - 1024))), 53.3333px);
	}

	.development-top {
		gap: clamp(62.9333px, calc(62.9333px + (78.6667 - 62.9333) * ((100vw - 1024px) / (1280 - 1024))), 78.6667px);
		margin-bottom: clamp(33.6667px, calc(33.6667px + (41.6667 - 33.6667) * ((100vw - 1024px) / (1280 - 1024))), 41.6667px);
	}

	.development-cards {
		gap: clamp(10.6667px, calc(10.6667px + (13.3333 - 10.6667) * ((100vw - 1024px) / (1280 - 1024))), 13.3333px);
	}

	.development-card {
		padding-top: clamp(19.2px, calc(19.2px + (24 - 19.2) * ((100vw - 1024px) / (1280 - 1024))), 24px);
		padding-right: clamp(24px, calc(24px + (30 - 24) * ((100vw - 1024px) / (1280 - 1024))), 30px);
		padding-bottom: clamp(19.2px, calc(19.2px + (24 - 19.2) * ((100vw - 1024px) / (1280 - 1024))), 24px);
		padding-left: clamp(24px, calc(24px + (30 - 24) * ((100vw - 1024px) / (1280 - 1024))), 30px);
	}

	.development-card-title {
		min-height: clamp(20.8px, calc(20.8px + (26 - 20.8) * ((100vw - 1024px) / (1280 - 1024))), 26px);
		padding-right: clamp(13px, calc(13px + (16 - 13) * ((100vw - 1024px) / (1280 - 1024))), 16px);
		padding-left: clamp(13px, calc(13px + (16 - 13) * ((100vw - 1024px) / (1280 - 1024))), 16px);
		font-size: clamp(9px, calc(9px + (11 - 9) * ((100vw - 1024px) / (1280 - 1024))), 11px);
		line-height: clamp(11.34px, calc(11.34px + (13.86 - 11.34) * ((100vw - 1024px) / (1280 - 1024))), 13.86px);
	}

	.development-card-value {
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 1024px) / (1280 - 1024))), 18px);
		line-height: clamp(19.6px, calc(19.6px + (25.2 - 19.6) * ((100vw - 1024px) / (1280 - 1024))), 25.2px);
	}

	.case-lid-cost {
		--r: 12;
		border-radius: 12px;
		padding-top: clamp(27.2px, calc(27.2px + (34 - 27.2) * ((100vw - 1024px) / (1280 - 1024))), 34px);
		padding-right: clamp(27.2px, calc(27.2px + (34 - 27.2) * ((100vw - 1024px) / (1280 - 1024))), 34px);
		padding-bottom: clamp(27.2px, calc(27.2px + (34 - 27.2) * ((100vw - 1024px) / (1280 - 1024))), 34px);
		padding-left: clamp(27.2px, calc(27.2px + (34 - 27.2) * ((100vw - 1024px) / (1280 - 1024))), 34px);
		margin-bottom: clamp(45px, calc(45px + (70 - 45) * ((100vw - 1024px) / (1280 - 1024))), 70px);
		font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 1024px) / (1280 - 1024))), 18px);
		line-height: clamp(15.4px, calc(15.4px + (19.8 - 15.4) * ((100vw - 1024px) / (1280 - 1024))), 19.8px);
	}

	.case-results-wrapper {
		gap: clamp(20px, calc(20px + (26 - 20) * ((100vw - 1024px) / (1280 - 1024))), 26px);
	}

	.case-results-item {
		padding: clamp(24px, calc(24px + (30 - 24) * ((100vw - 1024px) / (1280 - 1024))), 30px);
	}

	.case-results-item-title {
		font-size: clamp(15px, calc(15px + (18 - 15) * ((100vw - 1024px) / (1280 - 1024))), 18px);
		line-height: clamp(21px, calc(21px + (25.2 - 21) * ((100vw - 1024px) / (1280 - 1024))), 25.2px);
		margin-bottom: clamp(8px, calc(8px + (10 - 8) * ((100vw - 1024px) / (1280 - 1024))), 10px);
	}

	.case-results-item-text {
		font-size: clamp(9px, calc(9px + (11 - 9) * ((100vw - 1024px) / (1280 - 1024))), 11px);
		line-height: clamp(11.34px, calc(11.34px + (13.86 - 11.34) * ((100vw - 1024px) / (1280 - 1024))), 13.86px);
	}
}

@media (max-width: 1024px) {
	.video-bg .container,
	.case-task .container,
	.block_progress .container {
		width: calc(100vw - clamp(20px, calc(20px + (60 - 20) * ((100vw - 320px) / (1024 - 320))), 60px));
		max-width: clamp(300px, calc(300px + (964 - 300) * ((100vw - 320px) / (1024 - 320))), 964px);
		margin-bottom: clamp(60px, calc(60px + (65.6 - 60) * ((100vw - 320px) / (1024 - 320))), 65.6px);
	}

	.video-bg .container {
		padding-top: clamp(27px, calc(27px + (45.3333 - 27) * ((100vw - 320px) / (1024 - 320))), 45.3333px);
		padding-right: clamp(20px, calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320))), 40px);
		padding-bottom: clamp(27px, calc(27px + (47.2 - 27) * ((100vw - 320px) / (1024 - 320))), 47.2px);
		padding-left: clamp(20px, calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320))), 40px);
		height: clamp(427px, calc(500px + (427 - 500) * ((100vw - 320px) / (1024 - 320))), 500px);
		border-radius: 10px;
	}

	.video-bg-tags {
		max-width: clamp(240px, calc(240px + (404 - 240) * ((100vw - 320px) / (1024 - 320))), 404px);
	}

	.video-bg-info h1 {
		font-size: clamp(24px, calc(24px + (36 - 24) * ((100vw - 320px) / (1024 - 320))), 36px);
		line-height: clamp(24px, calc(24px + (36 - 24) * ((100vw - 320px) / (1024 - 320))), 36px);
		margin-bottom: clamp(15px, calc(15px + (16 - 15) * ((100vw - 320px) / (1024 - 320))), 16px);
	}

	.video-bg-info p {
		max-width: clamp(260px, calc(260px + (421.8667 - 260) * ((100vw - 320px) / (1024 - 320))), 421.8667px);
		font-size: 12px;
		line-height: clamp(14.4px, calc(14.4px + (15.6 - 14.4) * ((100vw - 320px) / (1024 - 320))), 15.6px);
		margin-bottom: clamp(20px, calc(25px + (20 - 25) * ((100vw - 320px) / (1024 - 320))), 25px);
	}

	.video-bg .btn-red span {
		min-height: 28px;
		padding-right: 22px;
		padding-left: 22px;
		border-radius: 70px;
		font-size: 9.6px;
		line-height: 12.096px;
	}

	.case-task .container {
		gap: clamp(20px, calc(20px + (20.8 - 20) * ((100vw - 320px) / (1024 - 320))), 20.8px);
	}

	.case-task .container > div,
	.case-text-slider,
	.case-development,
	.case-text-image,
	.case-development-bottom,
	.text-slider-swiper,
	.case-results-item,
	.development-card,
	.case-lid-cost {
		border-radius: 10px;
	}

	.case-task-info {
		padding-top: clamp(65.5px, calc(65.5px + (72 - 65.5) * ((100vw - 320px) / (1024 - 320))), 72px);
		padding-right: clamp(20px, calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320))), 40px);
		padding-bottom: clamp(65.5px, calc(65.5px + (72 - 65.5) * ((100vw - 320px) / (1024 - 320))), 72px);
		padding-left: clamp(20px, calc(20px + (40 - 20) * ((100vw - 320px) / (1024 - 320))), 40px);
	}

	.case-task-info h2,
	.block_progress h2,
	.case-results h3 {
		font-size: 24px;
	}

	.case-task-info h2,
	.case-results h3 {
		line-height: clamp(26.4px, calc(26.4px + (33.6 - 26.4) * ((100vw - 320px) / (1024 - 320))), 33.6px);
	}

	.block_progress h2 {
		line-height: 33.6px;
	}

	.case-task-info h2 {
		margin-bottom: clamp(15px, calc(15px + (21.3333 - 15) * ((100vw - 320px) / (1024 - 320))), 21.3333px);
	}

	.case-task-info p,
	.block_progress ol,
	.block_progress ul,
	.block_progress p,
	.text-image-textblock li,
	.text-image-textblock p {
		font-size: 12px;
		line-height: 15.6px;
	}

	.case-text-slider,
	.case-development,
	.case-text-image {
		padding-top: clamp(30px, calc(30px + (46.4 - 30) * ((100vw - 320px) / (1024 - 320))), 46.4px);
		padding-right: clamp(15px, calc(15px + (26.6667 - 15) * ((100vw - 320px) / (1024 - 320))), 26.6667px);
		padding-bottom: clamp(30px, calc(30px + (46.4 - 30) * ((100vw - 320px) / (1024 - 320))), 46.4px);
		padding-left: clamp(15px, calc(15px + (26.6667 - 15) * ((100vw - 320px) / (1024 - 320))), 26.6667px);
		margin-bottom: clamp(30px, calc(30px + (42.6667 - 30) * ((100vw - 320px) / (1024 - 320))), 42.6667px);
	}

	.development-top {
		gap: clamp(20px, calc(20px + (62.9333 - 20) * ((100vw - 320px) / (1024 - 320))), 62.9333px);
		margin-bottom: clamp(20px, calc(20px + (33.6667 - 20) * ((100vw - 320px) / (1024 - 320))), 33.6667px);
	}

	.development-cards {
		gap: clamp(10px, calc(10px + (10.6667 - 10) * ((100vw - 320px) / (1024 - 320))), 10.6667px);
	}

	.development-card {
		padding: clamp(17px, calc(17px + (19.2 - 17) * ((100vw - 320px) / (1024 - 320))), 19.2px)
			clamp(17px, calc(17px + (24 - 17) * ((100vw - 320px) / (1024 - 320))), 24px);
	}

	.development-card-title {
		min-height: clamp(18px, calc(18px + (20.8 - 18) * ((100vw - 320px) / (1024 - 320))), 20.8px);
		padding-right: 13px;
		padding-left: 13px;
		font-size: 9px;
		line-height: 11.34px;
	}

	.development-card-value {
		font-size: clamp(12px, calc(12px + (14 - 12) * ((100vw - 320px) / (1024 - 320))), 14px);
		line-height: clamp(14.4px, calc(14.4px + (19.6 - 14.4) * ((100vw - 320px) / (1024 - 320))), 19.6px);
	}

	.case-lid-cost {
		--r: 10;
		border-radius: 10px;
		padding: 27.2px;
		margin-bottom: clamp(45px, calc(60px + (45 - 60) * ((100vw - 320px) / (1024 - 320))), 60px);
		font-size: 14px;
		line-height: clamp(15.4px, calc(16.8px + (15.4 - 16.8) * ((100vw - 320px) / (1024 - 320))), 16.8px);
	}

	.case-results-wrapper {
		gap: clamp(10px, calc(10px + (20 - 10) * ((100vw - 320px) / (1024 - 320))), 20px);
	}

	.case-results-item {
		padding: clamp(17px, calc(17px + (24 - 17) * ((100vw - 320px) / (1024 - 320))), 24px);
	}

	.case-results-item-title {
		font-size: 15px;
		line-height: 21px;
		margin-bottom: 8px;
	}

	.case-results-item-text {
		font-size: clamp(9px, calc(11px + (9 - 11) * ((100vw - 320px) / (1024 - 320))), 11px);
		line-height: clamp(11.34px, calc(13.86px + (11.34 - 13.86) * ((100vw - 320px) / (1024 - 320))), 13.86px);
	}

	.block_progress .step {
		width: clamp(24.0299px, calc(24.0299px + (25 - 24.0299) * ((100vw - 320px) / (1024 - 320))), 25px);
		height: clamp(24.0299px, calc(24.0299px + (25 - 24.0299) * ((100vw - 320px) / (1024 - 320))), 25px);
		font-size: 14px;
	}

	.text-image-header {
		gap: clamp(14.5664px, calc(15.3529px + (14.5664 - 15.3529) * ((100vw - 320px) / (1024 - 320))), 15.3529px);
	}

	.with_tag .text-image-header:before {
		left: calc(-1 * clamp(35.2383px, calc(35.2383px + (61.6641 - 35.2383) * ((100vw - 320px) / (1024 - 320))), 61.6641px));
		width: 9.6px;
		height: 9.6px;
	}
}

@media (max-width: 768px) {
	.video-bg-tags {
		gap: 6px;
	}

	.video-bg-tags-item {
		min-height: 22px;
		padding-right: 10px;
		padding-left: 10px;
		font-size: 8px;
		line-height: 10.08px;
	}

	.video-bg-info .video-bg-tag {
		margin-bottom: 18px;
		padding-left: 15px;
		font-size: 9px;
		line-height: 11.34px;
	}

	.video-bg-info .video-bg-tag:after {
		width: 5px;
		height: 5px;
		top: 3px;
	}

	.case-task .container,
	.development-top,
	.text-slider-top,
	.text-image-top,
	.text-image-bottom,
	.case-results-wrapper {
		grid-template-columns: 1fr;
	}

	.case-results h3 {
		margin-bottom: 25px;
	}

	.case-task .case-task-img {
		aspect-ratio: 300 / 224;
	}

	.block_progress .container {
		gap: 10px;
	}

	.block_progress .line {
		margin-top: 0;
		margin-bottom: 0;
	}

	.development-cards {
		grid-template-columns: 1fr;
	}

	.development-card:nth-child(3):last-child {
		grid-column: auto;
	}

	.case-development-bottom .swiper-slide {
		aspect-ratio: 280 / 150;
	}

	.text-slider-swiper .swiper-slide {
		aspect-ratio: 280 / 171;
	}

	.case-development-bottom-pagination,
	.case-text_slider_swiper-pagination {
		gap: 3px;
		margin-top: 14px;
	}

	.case-development-bottom-pagination .swiper-pagination-bullet,
	.case-text_slider_swiper-pagination .swiper-pagination-bullet {
		width: 5px;
		height: 5px;
	}
}

.field-error-tip {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #d63638;
}

.is-invalid {
  border-color: #d63638 !important;
  outline: none;
}

.grecaptcha-badge {
	z-index: -10 !important;
    opacity: 0 !important;
}


/* cookie */

.cc-banner{
	position: fixed;
	right: 20px;
	bottom: 20px;
	box-sizing: content-box;
	padding: 30px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 30px;
	box-shadow: 0 0 6px rgba(23, 23, 23, 0.0666666667);
	display: flex;
	align-items: center;
	gap: 25px;
	z-index: 2147483647;
	font-family: inherit;
	color: #111827;
}

.cc-banner__title{
	margin: 0 0 6px 0;
	font-weight: 700;
	font-size: 14px;
}

.cc-banner__text{
	width: 100%;
	max-width: 385px;
	margin: 0;
	color: #111827;
	font-weight: 400;
	font-size: 22px;
	line-height: 100%;
	text-align: left;
}

.cc-banner__row{
	width: auto;
	margin-top: 0;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
	align-items: center;
	flex: 0 0 auto;
}

.cc-btn{
	appearance: none;
	border: 1px solid #BB2649;
	background: #BB2649;
	border-radius: 36px;
	padding: 7px 15px;
	cursor: pointer;
	color: #fff;
	font: inherit;
	font-size: 13.3333px;
	font-weight: 400;
	line-height: normal;
	transition: background-color .2s ease, opacity .2s ease;
}

.cc-btn:hover{
	background: #a82040;
	border-color: #a82040;
}

.cc-btn:focus{
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.cc-btn--primary{
	background: #BB2649;
	color: #fff;
	border-color: #BB2649;
}

.cc-x{
	position: absolute;
	top: 10px;
	right: 12px;
	margin: 0;
	padding: 0;
	border: 0;
	width: 24px;
	height: 24px;
	background: transparent;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	line-height: 1;
	color: #999999;
	opacity: 1;
}

.cc-x:hover{
	color: #6b7280;
}

.cc-x:focus{
	outline: 2px solid #2563eb;
	outline-offset: 2px;
}

.cc-hide{display:none !important}
@media (prefers-reduced-motion:no-preference){
	.cc-banner{transition:transform .2s ease,opacity .2s ease}
	.cc-banner[data-anim="in"]{transform:translateY(0);opacity:1}
	.cc-banner[data-anim="out"]{transform:translateY(8px);opacity:.0}
}

@media (max-width: 750px){
	.cc-banner{
		align-items: flex-start;
		flex-direction: column;
	}

	.cc-banner__text{
		font-size: 14px;
	}

	.cc-banner__row{
		justify-content: flex-start;
	}
}

@media (max-width: 600px){
	.cc-banner{
		right: 39px;
		padding: 15px;
		border-radius: 20px;
		max-width: 50%;
		transform: translateY(15px) translateX(35px) scale(1);
		gap: 15px;
	}

	.cc-banner[data-anim="in"]{
		transform: translateY(15px) translateX(35px) scale(1);
	}
}

@media (max-width: 480px){
	.cc-banner{
		right: 10px;
		padding: 15px;
		border-radius: 20px;
		max-width: 268px;
		transform: translateY(15px) translateX(35px) scale(0.75);
		gap: 15px;
	}

	.cc-banner[data-anim="in"]{
		transform: translateY(15px) translateX(35px) scale(0.75);
	}

	.cc-x{
		top: 8px;
		right: 8px;
		font-size: 22px;
	}
}

.news-archive {
	margin-top: 155px;
	margin-bottom: 120px;
	padding: 0 64px;
}

.news-archive-hero {
	max-width: 1200px;
	margin-bottom: 24px;
	padding: 44px 48px;
	border-radius: 20px;
	background: #F6F6F6;
}

.news-archive-hero h1 {
	margin-top: 14px;
	margin-bottom: 16px;
}

.news-archive-description {
	max-width: 780px;
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-size: clamp(18px, calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320))), 24px);
	line-height: 135%;
	letter-spacing: 0;
	color: #212121;
}

.news-filter {
	gap: 8px;
	margin-bottom: 32px;
}

.news-filter a,
.news-term-list a,
.news-card-tags p {
	position: relative;
	display: inline-block;
	padding: 8px 16px;
	margin: 0;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 100%;
	letter-spacing: 0;
	border-radius: 999px;
	background: #fff;
	z-index: 0;
	box-sizing: border-box;
	color: #212121;
}

.news-filter a::after,
.news-term-list a::after,
.news-card-tags p::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: inherit;
	background: linear-gradient(101.27deg, #D7003A 8.61%, #19087E 100.5%);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	padding: 1.1px;
	box-sizing: border-box;
	z-index: -1;
	pointer-events: none;
}

.news-filter a.active,
.news-term-list a:hover {
	background-color: #BB2649;
	color: #fff;
}

.news-filter a.active::after,
.news-term-list a:hover::after {
	display: none;
}

.news-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 36px;
}

.news-card {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.news-card-image-wrapper {
	position: relative;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	margin-bottom: 20px;
}

.news-card-image-wrapper img,
.news-card-image-placeholder {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 573 / 360;
	border-radius: 16px;
	transition: .4s;
}

.news-card-image-placeholder {
	background: linear-gradient(135deg, #8D1C37 0%, #212121 100%);
}

.news-card:hover .news-card-image-wrapper img,
.news-card:hover .news-card-image-placeholder {
	-webkit-box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, .3);
	box-shadow: 0px 4px 20px 5px rgba(0, 0, 0, .3);
}

.news-card .btn-icon {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background-color: #BB2649;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .4s;
}

.news-card:hover .btn-icon {
	transform: rotate(45deg);
}

.news-card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: calc(100% - 24px);
}

.news-card-date,
.news-single-meta {
	font-weight: 400;
	font-size: clamp(12px, calc(12px + (16 - 12) * ((100vw - 320px) / (1920 - 320))), 16px);
	line-height: 1.35;
	color: #6B7280;
}

.news-card-date {
	margin-bottom: 10px;
}

.news-card h3 {
	color: #212121;
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	font-weight: 700;
	line-height: 100%;
	margin-bottom: 12px;
}

.news-card-body > p {
	margin-bottom: 12px;
	color: #212121;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1.45;
}

.news-card-tags {
	gap: 8px;
}

.news-pagination {
	margin-top: 36px;
}

.news-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.news-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: #F6F6F6;
	color: #212121;
	font-size: 16px;
}

.news-pagination .page-numbers.current,
.news-pagination .page-numbers:hover {
	background: #BB2649;
	color: #fff;
}

.news-empty {
	padding: 36px;
	border-radius: 20px;
	background: #F6F6F6;
}

.news-empty h2 {
	margin-bottom: 16px;
}

.news-empty p {
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 1.4;
}

.news-single {
	padding-bottom: 100px;
}

.news-single-hero {
	padding: 20px 64px 0;
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: 32px;
}

.news-single-hero--solo {
	grid-template-columns: 1fr;
}

.news-single-hero__content {
	background: #F6F6F6;
	padding: 42px 44px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.news-single-hero__content .section-name {
	margin-bottom: 18px;
}

.news-back-link {
	margin-bottom: 18px;
	color: #212121;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1;
}

.news-back-link:hover {
	color: #BB2649;
}

.news-term-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.news-single-hero__content h1 {
	margin-bottom: 16px;
	line-height: 1;
}

.news-single-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-bottom: 16px;
}

.news-single-lead {
	font-family: 'NAMU', sans-serif;
	font-weight: 500;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 130%;
	letter-spacing: 0;
	color: #212121;
}

.news-single-hero__media {
	border-radius: 20px;
	overflow: hidden;
}

.news-single-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
	display: block;
}

.news-single-content {
	padding: 36px 64px 0;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.news-block {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.news-block-rich-text,
.news-block-image,
.news-block-quote {
	max-width: 820px;
}

.news-content-card,
.news-cta-card {
	border-radius: 20px;
	background: #F6F6F6;
}

.news-content-card {
	padding: 42px 38px;
}

.news-block-rich-text .news-content-card,
.news-block-image .news-content-card,
.news-gallery .news-content-card {
	padding: 0;
	background: transparent;
}

.news-rich-text {
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 1.5;
	color: #212121;
}

.news-rich-text h2 {
	margin-top: 44px;
	margin-bottom: 20px;
	color: #BB2649;
	font-size: clamp(30px, calc(30px + (42 - 30) * ((100vw - 320px) / (1920 - 320))), 42px);
	line-height: 110%;
}

.news-rich-text h3 {
	margin-top: 32px;
	margin-bottom: 16px;
	color: #212121;
	font-size: clamp(22px, calc(22px + (30 - 22) * ((100vw - 320px) / (1920 - 320))), 30px);
	line-height: 110%;
}

.news-rich-text h4 {
	margin-top: 24px;
	margin-bottom: 14px;
	color: #212121;
	font-size: clamp(20px, calc(20px + (24 - 20) * ((100vw - 320px) / (1920 - 320))), 24px);
	line-height: 120%;
}

.news-rich-text p,
.news-rich-text ul,
.news-rich-text ol {
	margin-bottom: 16px;
}

.news-rich-text ul,
.news-rich-text ol {
	padding-left: 1.3em;
}

.news-rich-text li {
	margin-bottom: 10px;
}

.news-rich-text blockquote {
	margin: 24px 0;
	padding: 24px;
	border-radius: 20px;
	background: linear-gradient(101.27deg, rgba(215, 0, 58, 0.06) 8.61%, rgba(25, 8, 126, 0.06) 100.5%);
	border: 1px solid rgba(187, 38, 73, 0.12);
}

.news-rich-text blockquote p:last-child {
	margin-bottom: 0;
}

.news-rich-text img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}

.news-media-card {
	overflow: hidden;
}

.news-media-card img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 20px;
	object-fit: cover;
}

.news-block-image figcaption,
.news-gallery-slide figcaption {
	margin-top: 12px;
	font-size: clamp(12px, calc(12px + (14 - 12) * ((100vw - 320px) / (1920 - 320))), 14px);
	line-height: 1.4;
	color: #6B7280;
}

.news-block-quote .news-content-card {
	background: linear-gradient(101.27deg, rgba(215, 0, 58, 0.06) 8.61%, rgba(25, 8, 126, 0.06) 100.5%);
	border: 1px solid rgba(187, 38, 73, 0.12);
}

.news-block-quote p {
	font-size: clamp(24px, calc(24px + (32 - 24) * ((100vw - 320px) / (1920 - 320))), 32px);
	line-height: 1.2;
	color: #212121;
}

.news-block-quote footer {
	margin-top: 20px;
	font-size: clamp(14px, calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1.35;
	color: #6B7280;
}

.news-gallery-card h2 {
	margin-bottom: 20px;
	color: #BB2649;
}

.news-gallery-slide {
	border-radius: 20px;
	overflow: hidden;
}

.news-gallery-slide img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
	aspect-ratio: 880 / 480;
	border-radius: 20px;
}

.news-gallery-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 20px;
}

.news-gallery-nav {
	display: flex;
	gap: 15px;
}

.news-gallery-prev,
.news-gallery-next {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #BB2649;
	border: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.news-gallery-pagination {
	display: flex;
	align-items: center;
	gap: 8px;
}

.news-gallery-pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	margin: 0 !important;
	background: #D9D9D9;
	opacity: 1;
}

.news-gallery-pagination .swiper-pagination-bullet-active {
	background: #BB2649;
}

.news-cta-card {
	padding: 36px;
	background: linear-gradient(89.83deg, #8D1C37 -14.75%, #212121 130.83%);
	color: #fff;
}

.news-cta-card h2 {
	margin-bottom: 16px;
	color: #fff;
}

.news-cta-card p {
	margin-bottom: 20px;
	max-width: 680px;
	font-size: clamp(16px, calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320))), 20px);
	line-height: 1.45;
	color: #fff;
}

.news-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

@media (max-width: 1250px) {
	.news-archive {
		padding: 0 20px;
	}

	.news-archive-hero {
		padding: 36px 32px;
	}

	.news-grid {
		grid-template-columns: 1fr 1fr;
		gap: 28px;
	}

	.news-single-hero,
	.news-single-content {
		padding-left: 20px;
		padding-right: 20px;
	}

	.news-single-hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

@media (max-width: 1024px) {
	.news-single-hero__content {
		padding: 32px 26px;
	}

	.news-content-card,
	.news-cta-card {
		border-radius: 16px;
	}

	.news-content-card {
		padding: 32px 24px;
	}

	.news-block-rich-text .news-content-card,
	.news-block-image .news-content-card,
	.news-gallery .news-content-card {
		padding: 0;
	}

	.news-single-hero__media,
	.news-single-hero__media img,
	.news-gallery-slide,
	.news-gallery-slide img {
		border-radius: 16px;
	}
}

@media (max-width: 768px) {
	.news-archive {
		margin-top: 120px;
		margin-bottom: 64px;
	}

	.news-archive-hero {
		padding: 28px 20px;
		border-radius: 16px;
	}

	.news-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.news-single {
		padding-bottom: 64px;
	}

	.news-single-hero {
		padding-top: 0;
	}

	.news-single-content {
		padding-top: 24px;
		gap: 20px;
	}

	.news-gallery-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.news-rich-text h2 {
		margin-top: 32px;
	}

	.news-rich-text blockquote {
		padding: 20px;
		border-radius: 16px;
	}
}

@media (max-width: 500px) {
	.news-filter a,
	.news-term-list a,
	.news-card-tags p {
		font-size: 14px;
	}

	.news-card-image-wrapper,
	.news-card-image-wrapper img,
	.news-card-image-placeholder {
		border-radius: 12px;
	}

	.news-single-hero__content {
		padding: 20px 18px;
		border-radius: 12px;
	}

	.news-content-card,
	.news-empty,
	.news-cta-card {
		padding: 20px 18px;
		border-radius: 12px;
	}

	.news-gallery-prev,
	.news-gallery-next,
	.news-card .btn-icon {
		width: 40px;
		height: 40px;
	}

	.news-gallery-slide,
	.news-gallery-slide img,
	.news-single-hero__media,
	.news-single-hero__media img {
		border-radius: 12px;
	}
}

.news-page-v2 .news-v2-card,
.news-v2-related .news-v2-card {
    display: flex;
}

.news-v2-card .news-v2-card-body h3 {
    margin: 0;
    color: #111;
    font-size: clamp(18px, 1.25vw, 22px);
    line-height: 1.25;
}

.news-detail-v2 {
	padding-top: 130px;
	overflow-x: hidden;
	color: #020203;
}

.news-detail-v2 .news-v2-article-header {
	display: block;
	max-width: none;
	margin: 0;
	padding: 64px 64px 0;
}

.news-detail-v2 .news-v2-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
}

.news-detail-v2 .news-v2-breadcrumb a,
.news-detail-v2 .news-v2-breadcrumb span {
	color: #020203;
	font-family: 'NAMU', sans-serif;
	font-size: 14px;
	line-height: 1.3;
	opacity: .5;
}

.news-detail-v2 .news-v2-breadcrumb .cur {
	opacity: .7;
}

.news-detail-v2 .news-v2-article-header .news-v2-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 24px;
}

.news-detail-v2 .news-v2-article-header h1 {
	max-width: 900px;
	margin: 0 0 48px;
	color: #020203;
	font-size: clamp(32px, calc(32px + (56 - 32) * ((100vw - 320px) / (1920 - 320))), 56px);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	overflow-wrap: anywhere;
}

.news-detail-v2 .news-v2-article-header.no-cover h1 {
	margin-bottom: 0;
}

.news-detail-v2 .news-v2-cover {
	width: 100%;
	aspect-ratio: 21 / 8;
	overflow: hidden;
	border-radius: 16px;
	background: linear-gradient(135deg, #e0e0e0, #ebebeb);
}

.news-detail-v2 .news-v2-cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.news-detail-v2 .news-v2-article-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 80px;
	align-items: start;
	max-width: none;
	margin: 0;
	padding: 64px 64px 80px;
}

.news-detail-v2 .news-v2-content,
.news-detail-v2 .news-v2-builder {
	min-width: 0;
	max-width: 100%;
}

.news-detail-v2 .news-v2-lead {
	margin: 0 0 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid rgba(2, 2, 3, .1);
	color: #212121;
	font-family: 'NAMU', sans-serif;
	font-size: clamp(17px, calc(17px + (22 - 17) * ((100vw - 320px) / (1920 - 320))), 22px);
	line-height: 1.7;
}

.news-detail-v2 .news-v2-builder .news-content-card,
.news-detail-v2 .news-v2-builder .news-rich-text {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.news-detail-v2 .news-v2-builder .news-rich-text,
.news-detail-v2 .news-v2-builder .news-rich-text p,
.news-detail-v2 .news-v2-builder .news-rich-text li {
	color: #212121;
	font-family: 'NAMU', sans-serif;
	font-size: clamp(15px, calc(15px + (18 - 15) * ((100vw - 320px) / (1920 - 320))), 18px);
	line-height: 1.8;
}

.news-detail-v2 .news-v2-builder .news-rich-text p {
	margin: 0 0 18px;
}

.news-detail-v2 .news-v2-builder .news-rich-text h2 {
	margin: 48px 0 18px;
	color: #BB2649;
	font-size: clamp(28px, calc(28px + (40 - 28) * ((100vw - 320px) / (1920 - 320))), 40px);
	font-weight: 500;
	line-height: 1.15;
}

.news-detail-v2 .news-v2-builder .news-rich-text h3,
.news-detail-v2 .news-v2-builder .news-rich-text h4 {
	margin: 32px 0 14px;
	color: #020203;
	font-size: clamp(19px, calc(19px + (26 - 19) * ((100vw - 320px) / (1920 - 320))), 26px);
	font-weight: 600;
	line-height: 1.3;
}

.news-detail-v2 .news-v2-builder .news-rich-text ul,
.news-detail-v2 .news-v2-builder .news-rich-text ol {
	margin: 0 0 20px;
	padding-left: 24px;
}

.news-detail-v2 .news-v2-builder .news-rich-text li {
	margin-bottom: 8px;
	list-style: revert;
}

.news-detail-v2 .news-v2-article-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid rgba(2, 2, 3, .1);
}

.news-detail-v2 .news-v2-sidebar {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.news-detail-v2 .news-v2-sidebar-block,
.news-detail-v2 .news-v2-sidebar-cta {
	padding: 24px;
	border-radius: 16px;
	background: #F6F6F6;
}

.news-detail-v2 .news-v2-sidebar-cta {
	padding: 28px;
	background: #BB2649;
}

.news-detail-v2 .news-v2-author {
	display: flex;
	align-items: center;
	gap: 14px;
}

.news-detail-v2-related {
	padding: 64px;
	border-top: 1px solid rgba(2, 2, 3, .08);
}

@media (max-width: 1200px) {
	.news-detail-v2 .news-v2-article-header,
	.news-detail-v2 .news-v2-article-layout,
	.news-detail-v2-related {
		padding-left: 40px;
		padding-right: 40px;
	}

	.news-detail-v2 .news-v2-article-layout {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.news-detail-v2 .news-v2-article-layout {
		grid-template-columns: 1fr;
	}

	.news-detail-v2 .news-v2-sidebar {
		position: static;
	}
}

@media (max-width: 768px) {
	.news-detail-v2 {
		padding-top: 105px;
	}

	.news-detail-v2 .news-v2-article-header,
	.news-detail-v2 .news-v2-article-layout,
	.news-detail-v2-related {
		padding-left: 20px;
		padding-right: 20px;
	}

	.news-detail-v2 .news-v2-article-header {
		padding-top: 40px;
	}

	.news-detail-v2 .news-v2-article-header h1 {
		margin-bottom: 32px;
	}

	.news-detail-v2 .news-v2-cover {
		aspect-ratio: 16 / 9;
	}

	.news-detail-v2 .news-v2-article-layout {
		gap: 40px;
		padding-top: 40px;
		padding-bottom: 56px;
	}

	.news-detail-v2 .news-v2-article-nav {
		grid-template-columns: 1fr;
	}
}
