/* fonts-brand.css + tokens.css linked from HTML (avoid @import waterfall) */

/*nullstyles*/
* {
	padding: 0;
	margin: 0;
	border: 0;
}
*,
*:before,
*:after {
	box-sizing: border-box;
}
:focus,
:active {
	outline: none;
}
a:focus,
a:active {
	outline: none;
}
*::before,
*::after {
	flex-shrink: 0;
	pointer-events: none;
	background-repeat: no-repeat;
	background-position: center center;
}
*::selection {
    background: hsla(0, 0%, 0%, 0.5);
    color: #fff;
    mix-blend-mode: difference;
}
nav,
footer,
header,
aside {
	display: block;
}
html,
body {
	height: 100%;
	width: 100%;
	font-size: 100%;
	line-height: 1;
	font-size: 14px;
	-ms-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
input,
button,
textarea {
	font-family: inherit;
}
input::-ms-clear {
	display: none;
}
img {
	vertical-align: top;
	pointer-events: none;
	user-select: none;
}
svg {
	pointer-events: none;
}
picture {
	pointer-events: none;
	user-select: none;
}
button,
a {
	cursor: pointer;
	transition: all 0.25s ease-in-out;
}
button::-moz-focus-inner {
	padding: 0;
	border: 0;
}
a,
a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: none;
}
ul li {
	list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: inherit;
	font-weight: inherit;
}
* {
	cursor: default;
}
b,
strong {
	font-weight: 600;
}
/* обязательные стили */
html,
body {
	width: 100%;
	height: 100%;
	font-family: "Inter", system-ui, -apple-system, sans-serif;
	font-weight: 300;
	color: var(--color-fg);
	background-color: var(--color-bg);
}
.wrapper {
	max-width: 1920px;
	margin-inline: auto;
	overflow: hidden;
	min-height: 100%;
	display: flex;
	flex-direction: column;
}
.main {
	flex: 1 1 auto;
}

/* Headings & CTAs — condensed (Roboto Condensed: Cyrillic-safe stand-in for Barlow Condensed) */
.main-title,
.title-1,
.title-2,
.card-title,
._main-btn,
.sec-3__slide-name,
.sec-form__button,
.header__number,
.footer__number,
.footer__mail,
.sec-5__contacts-phone,
.sec-5__contacts-mail,
.sec-10__phone,
.sec-10__mail,
.landing__h1,
.landing__h2,
.landing__cta,
.home-faq__title {
	font-family: "Roboto Condensed", "Barlow Condensed", sans-serif;
}

/* регулируемые стили */
.container {
	width: 100%;
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
	position: relative;
}
._mt200 {
	margin-top: 200px;
}
._sec-grey {
	background-color: var(--color-bg-soft);
	padding: 200px 0;
}
.enough {
	transition: all 0.8s ease-in-out;
	opacity: 0;
	transform: translateY(100px);
}
.enough.visible {
	opacity: 1;
	transform: translateY(0);
}
/* ШРИФТЫ */
.main-title {
font-weight: 400;
font-size: 66px;
line-height: calc(74/66 * 100%);
color: #FFFFFF;
}
.title-1 {
	font-size: 50px;
	font-weight: 400;
	line-height: calc(60/50 * 100%);
}
.subtitle-1 {
	margin-top: 20px;
	font-size: 28px;
	font-weight: 300;
	line-height: calc(38/28 * 100%);
	font-family: "Inter", system-ui, sans-serif;
}
.card-title {
	font-size: 20px;
	font-weight: 400;
	line-height: calc(28/20 * 100%);
}
/* КНОПКИ */
._main-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding-inline: 10px;
	font-size: 22px;
	font-weight: 500;
	min-height: 100px;
	line-height: calc(30/22 * 100%);
	text-align: center;
}
._white-btn {
	background-color: var(--color-white);
	max-width: 410px;
	color: var(--color-primary);
}
._white-btn:hover {
	background-color: var(--color-bg-soft);
}
._black-btn {
	background-color: var(--color-primary);
	max-width: 580px;
	color: var(--color-white);
}
._black-btn:hover {
	background-color: var(--color-primary-hover);
}
._social-btn {
	max-width: 200px;
	min-height: 54px;
	border: 1px solid color-mix(in srgb, var(--color-fg) 20%, transparent);
}
._swiper-next-btn {
	margin: 0 0 0 auto !important;
        width: 100% !important;
        max-width: 100px !important;
        min-height: 54px !important;
        display: flex !important;
        justify-content: center;
        align-items: center;
        position: relative !important;
        border: 1px solid #0000001a;
}
._swiper-next-btn::after {
	content: url('') !important;
            position: absolute;
            inset: 0 !important;
            background: var(--color-primary-hover) url(../img/icon/arrow0f.svg);
            background-position: 32px center !important;
            width: 0 !important;
            height: 100%;
            display: flex;
            justify-content: center;
            transition: all 0.25s ease-in-out;
            z-index: 3 !important;
			background-repeat: no-repeat;
}
._swiper-next-btn svg {
		width: 100%;
		max-width: 35px;
		transition: all 0.25s ease-in-out;
}
._swiper-next-btn:hover::after {
	width: 100% !important;
}
._swiper-next-btn:active svg {
	transform: translateX(5px);
}
._swiper-next-btn:active::after {
	background-position: 60% center !important;
}
/* абсолютные картинки */
._image-abs {
	position: relative;
	overflow: hidden;
	cursor: pointer;
}
._image-abs img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.8s ease-in-out;
	display: flex;
}
._image-abs:hover img {
	transform:scale(1.05);
}
/* горизонт скролл */
._coursor {
	display: none;
	align-items: center;
	justify-content: center;
	margin: 0 0 10px 0;
}
@keyframes tooltip-horizontal-scroll-icon_anim-scroll-hand {
	0% {
		transform: translateX(80px) scale(1);
		opacity: 0;
	}
	10% {
		transform: translateX(80px) scale(1);
		opacity: 1;
	}
	20%,
	60% {
		transform: translateX(175px) scale(0.6);
		opacity: 1;
	}
	80% {
		transform: translateX(5px) scale(0.6);
		opacity: 1;
	}

	to {
		transform: translateX(5px) scale(0.6);
		opacity: 0;
	}
}
@keyframes tooltip-horizontal-scroll-icon_anim-scroll-card {
	0%,
	60% {
		transform: translateX(0);
	}
	80%,
	to {
		transform: translateX(-240px);
	}
}
.tooltip-horizontal-scroll-icon_hand {
	animation: tooltip-horizontal-scroll-icon_anim-scroll-hand 2s infinite;
}

.tooltip-horizontal-scroll-icon_card {
	animation: tooltip-horizontal-scroll-icon_anim-scroll-card 2s infinite;
}

/* адаптив базовые */
@media (min-width: 1628px) {
	.container1600 {
		max-width: 1628px;
	}
}
@media (max-width: 1200px) {
	.container {
		max-width: 990px;
		padding-inline: 15px;
	}
	._mt200 {
		margin-top: 150px;
	}
	._sec-grey {
		padding: 150px 0;
	}
	._main-btn {
		min-height: 90px;
	}
	._black-btn {
		max-width: 560px;
	}
	.title-1 {
		font-size: 43px;
	}
	.subtitle-1:not(.main-page__subtitle) {
		margin-top: 15px;
	}
	.subtitle-1:not(.main-page__subtitle):not(.sec-2__subtitle)	br {
		display: none;
	}
}
@media (max-width: 991.98px) {
	._swiper-next-btn {
		max-width: 80px !important;
		min-height: 44px !important;
	}
	._swiper-next-btn::after {
		background-position: 22px center !important;
	}
	._overflow-container_mob {
		max-width: 100%;
		padding: 0;
	}
	._overflow-container_mob ._coursor + div {
		padding: 0 15px;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		grid-auto-flow: column;
		overflow-x: scroll;
		overflow-y: visible;
		margin-top: 0;
		padding-bottom: 10px;
		gap: 15px;
	}
	._coursor {
		display: flex;
	}
	.container {
		max-width: 770px;
		padding-inline: 10px;
	}
	._mt200 {
		margin-top: 100px;
	}
	._sec-grey {
		padding: 100px 0;
	}
	._main-btn {
		font-size: 21px;
		min-height: 80px;
	}
	._black-btn {
		max-width: 540px;
	}
	._white-btn {
		min-height: 80px;
	}
	.title-1 {
		font-size: 38px;
	}
	.title-1:not(.sec-2__title) br {
		display: none;
	}
	.subtitle-1:not(.main-page__subtitle) {
		font-size: 26px;
		margin-top: 15px;
	}
	.card-title {
		font-size: 19px;
	}
}
@media (max-width: 767.98px) {
	.container {
		max-width: 100%;
	}
	._mt200 {
		margin-top: 50px;
	}
	._sec-grey {
		padding: 50px 0;
	}
	._main-btn {
		min-height: 75px;
		max-width: 500px;
	}
	._main-btn {
		font-size: 20px;
	}
	.title-1 {
		font-size: clamp(28px, calc(28px + (33 - 28) * ((100vw - 375px) / (767 - 375))), 33px) !important;
	}
	.subtitle-1:not(.main-page__subtitle) {
		font-size: 22px;
		margin-top: 10px;
	}
	.card-title {
		font-size: 18px;
	}
}
@media (max-width: 575px) {
	._swiper-next-btn {
		max-width: 60px !important;
		min-height: 40px !important;
		height: auto !important;
	}
	._swiper-next-btn svg {
		max-width: 30px;
		height: auto !important;	
	}
	._swiper-next-btn::after {
		background-position: 14px center !important;
		background-size: 30px auto !important;
	}
}