@charset "utf-8";
/*
@media only screen and (max-width: 479px) {}
@media only screen and (min-width: 480px) and (max-width: 639px) {}
@media only screen and (min-width: 640px) and (max-width: 759px) {}
@media only screen and (min-width: 760px) and (max-width: 949px) {}
@media only screen and (min-width: 950px) and (max-width: 1019px) {}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {}
@media only screen and (min-width: 1400px) {}
*/ :root {
		--font: Poppins, -apple-system, system-ui, "sans-serif";
		--body-bg: #E6FBEF;
		--body-bg-80: rgba(230, 251, 239, 0.8);
		--text: #54685E;
		--link: #3F7258;
		--link-hover: #30A168;
		--btn-bg: #3F7258;
		--btn-bg-hover: #399064;
		--btn: #B2FFEA;
		--heading-small: #27A982;
		--heading: #000;
		--white: #fff;
		--white-70: rgba(255, 255, 255, 0.7);
		--white-60: rgba(255, 255, 255, 0.6);
		--input: rgba(57, 144, 100, 0.06);
}
html, body {
		height: 100%;
		box-sizing: border-box;
		text-rendering: optimizeLegibility !important;
		-webkit-font-smoothing: antialiased;
}
body {
		margin: 0;
		padding: 0;
		background: var(--body-bg);
		font: normal 16px/1.35 var(--font);
		color: var(--text);
		-webkit-text-size-adjust: none;
		display: flex;
		flex-direction: column;
}
@media only screen and (min-width: 1200px) {
		body {
				font-size: 18px;
		}
}
*, *:before, *:after {
		box-sizing: border-box;
}
form, fieldset {
		margin: 0;
		padding: 0;
		border: 0;
}
input::-ms-clear {
		display: none;
}
button::-moz-focus-inner {
		border: 0;
}
textarea {
		resize: none;
}
video {
		-webkit-mask-image: -webkit-radial-gradient(white, black);
		-webkit-backface-visibility: hidden;
		-moz-backface-visibility: hidden;
}
.inputs {
		display: flex;
		flex-direction: column;
		gap: 20px;
}
.inputs > * {
		flex: 0 0 auto;
		width: 100%;
}
.inputs .stretch-textarea {
		flex: 1 0 auto;
		position: relative;
		max-height: 370px;
		min-height: 200px;
}
.inputs .stretch-textarea .textarea {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100% !important;
}
.inputs-submit .btn {
		width: 100%;
}
.input, .textarea {
		font: normal 15px/1.35 var(--font);
		color: var(--text);
		outline: none;
		text-align: left;
		-webkit-appearance: none;
		border-radius: 28px;
		background: var(--input);
		border-style: solid;
		border-width: 2px;
		border-color: transparent;
		padding: 18px 18px 18px 28px;
		display: block;
		width: 100%;
		box-shadow: none;
		margin: 0;
		transition-property: border;
		transition-duration: 0.2s;
		transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
.input::-webkit-input-placeholder, .textarea::-webkit-input-placeholder {
		opacity: 1;
		color: var(--text);
}
.input::-moz-placeholder, .textarea::-moz-placeholder {
		opacity: 1;
		color: var(--text);
}
.input:-ms-input-placeholder, .textarea:-ms-input-placeholder {
		opacity: 1;
		color: var(--text);
}
.input:hover, .input:focus, .textarea:hover, .textarea:focus {
		border-color: var(--btn-bg-hover);
}
.input {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
}
@media only screen and (max-width: 759px) {
		.input, .textarea {
				font-size: 15px;
				padding: 18px 18px 18px 28px;
		}
		.input {
				height: 64px;
		}
		.textarea {
				height: 200px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.input, .textarea {
				font-size: 16px;
				padding: 17px 18px 17px 32px;
		}
		.input {
				height: 64px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.input, .textarea {
				font-size: 16px;
				padding: 21.5px 21px 21.5px 32px;
		}
		.input {
				height: 72px;
		}
}
@media only screen and (min-width: 1200px) {
		.input, .textarea {
				font-size: 18px;
				padding: 27px 27px 27px 32px;
		}
		.input {
				height: 86px;
		}
}
header, nav, section, article, aside, footer, menu, time, figure, figcaption, main {
		display: block;
}
img, svg, picture {
		border: 0;
		vertical-align: top;
}
a {
		color: var(--link);
		text-decoration: none;
		transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
		outline: none;
		cursor: pointer;
}
a:hover, a:active, a:focus {
		color: var(--link-hover);
}
strong {
		font-weight: bold;
}
p, ol, ul {
		margin: 1.35em 0;
		padding: 0;
}
ol, ul, li {
		list-style: none;
}
li {
		margin: 20px 0;
		padding: 0 0 0 32px;
}
ul > li {
		background: url("../img/list-arrow.svg") no-repeat 0 calc((1.35em - 20px) / 2);
		background-size: auto 20px;
}
ol {
		counter-reset: li;
}
ol > li:before {
		counter-increment: li;
		content: counters(li, ".") ". ";
		position: relative;
		display: inline-block;
		vertical-align: top;
		min-width: 32px;
		margin: 0 0 0 -32px;
		padding: 0 0.25em 0 0;
}
.nowrap {
		white-space: nowrap;
}
.mainwrap {
		flex: 0 0 auto;
		width: 100%;
		min-height: 100%;
		position: relative;
		display: flex;
		flex-direction: column;
		overflow: hidden;
}
.content {
		flex: 1 0 auto;
}
.header, .footer {
		flex: 0 0 auto;
}
.container {
		position: relative;
		flex: 0 0 auto;
		width: 100%;
		margin: 0 auto;
		--side-padding: 30px;
		--max-width: 1282px;
		padding: 0 var(--side-padding);
		max-width: calc(var(--max-width) + var(--side-padding) * 2);
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.container {
				--side-padding: 40px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.container {
				--side-padding: 44px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.container {
				--side-padding: 60px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.container {
				--side-padding: 42px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.container {
				--side-padding: 65px;
		}
}
@media only screen and (min-width: 1400px) {
		.container {
				--side-padding: 80px;
		}
}
.btn {
		-webkit-appearance: none;
		cursor: pointer;
		user-select: none;
		text-align: center;
		font: 500 15px/1.1 var(--font);
		text-transform: none;
		letter-spacing: normal;
		white-space: normal;
		padding: 16px 42px;
		border: 0;
		outline: none;
		background: none;
		text-decoration: none;
		transition-property: color, background;
		transition-duration: 0.2s;
		transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
		border-radius: 25px;
		display: block;
		flex: 0 0 auto;
		max-width: 100%;
}
.btn-big {
		padding-top: 21.75px;
		padding-bottom: 21.75px;
		border-radius: 30px;
}
.btn-simple {
		color: var(--link);
		padding: 0;
		border-radius: 0;
}
.btn-simple:hover, .btn-simple:active, .btn-simple:focus {
		color: var(--link-hover);
}
.btn-green {
		color: var(--btn);
		background-color: var(--btn-bg);
}
.btn-green:hover, .btn-green:active, .btn-green:focus {
		color: var(--btn);
		background-color: var(--btn-bg-hover);
}
.logo {
		position: relative;
		text-decoration: none;
		display: flex;
		align-items: center;
		font-size: 8px;
		gap: 1em;
		flex: 0 0 auto;
}
.logo:before {
		content: '';
		flex: 0 0 auto;
		width: 3em;
		height: 3.375em;
		background: conic-gradient(from 230deg at 50% 50%, #00FFC2, #3F7258);
		mask-image: url("../img/logo.svg");
		-webkit-mask-image: url("../img/logo.svg");
		mask-size: contain;
		-webkit-mask-size: contain;
}
.logo-big {
		flex: 0 0 auto;
		font-weight: bold;
		font-size: 2.25em;
		line-height: 1;
		color: var(--heading);
		letter-spacing: -0.003em;
		transition: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
a.logo:hover .logo-big, a.logo:active .logo-big, a.logo:focus .logo-big {
		color: var(--link);
}
.logo-slash {
		flex: 0 0 auto;
		overflow: hidden;
		text-align: left;
		text-indent: -100vw;
		width: 1px;
		height: 2.875em;
		background: #14D5A2;
		transform: rotate(20deg);
		margin: 0 0.5em;
}
.logo-text {
		color: var(--link);
		font-weight: 600;
		line-height: 1.1;
		text-transform: uppercase;
		letter-spacing: 0.04em;
}
.header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 100;
		height: 70px;
}
@media only screen and (min-width: 1200px) {
		.header {
				height: 100px;
		}
}
.header .fader {
		z-index: 1;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 100%;
		background: var(--body-bg-80);
		backface-visibility: hidden;
		backdrop-filter: blur(21px);
		-webkit-backdrop-filter: blur(21px);
		transition: height 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.header .container {
		display: flex;
		align-items: center;
		height: 100%;
		position: relative;
		z-index: 2;
}
.menu ul, .menu li {
		list-style: none;
		margin: 0;
		padding: 0;
		background: none;
}
.menu li.up {
		position: fixed;
		width: 0;
		height: 0;
		overflow: hidden;
		opacity: 0;
		z-index: -1;
}
@media only screen and (max-width: 1199px) {
		.header .logo {
				z-index: 3;
		}
		.toggle-menu {
				flex: 0 0 auto;
				cursor: pointer;
				user-select: none;
				display: flex;
				align-items: center;
				flex-direction: column;
				justify-content: center;
				width: 48px;
				height: 48px;
				margin: 0 -12px 0 auto;
				border-radius: 50%;
				position: relative;
				z-index: 3;
				gap: 3px;
				-webkit-appearance: none;
				border: 0;
				background: none;
				outline: none;
		}
		.toggle-menu:before, .toggle-menu:after {
				content: '';
		}
		.toggle-menu:before, .toggle-menu:after, .toggle-menu > * {
				flex: 0 0 auto;
				width: 18px;
				height: 2px;
				background: var(--link);
				transition-property: transform, background, opacity;
				transition-duration: 0.2s;
				transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
				transform: translate3d(0, 0, 0) rotate(0deg);
		}
		.toggle-menu:hover:before, .toggle-menu:hover:after, .toggle-menu:hover > *, .toggle-menu:active:before, .toggle-menu:active:after, .toggle-menu:active > *, .toggle-menu:focus:before, .toggle-menu:focus:after, .toggle-menu:focus > * {
				background-color: var(--link-hover);
		}
		html.open-menu .toggle-menu > * {
				opacity: 0;
		}
		html.open-menu .toggle-menu:before {
				transform: translate3d(0, 5px, 0) rotate(135deg);
		}
		html.open-menu .toggle-menu:after {
				transform: translate3d(0, -5px, 0) rotate(-135deg);
		}
		.menu {
				position: fixed;
				top: 0;
				left: 100%;
				height: 100%;
				width: 100%;
				background: var(--body-bg);
				display: flex;
				flex-direction: column;
				z-index: 2;
				transform: translate3d(0, 0, 0);
				transition: transform 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
				overflow: hidden;
				overflow-y: auto;
		}
		html.open-menu {
				overflow: hidden;
		}
		html.open-menu .menu {
				transform: translate3d(-100%, 0, 0);
		}
		@media only screen and (min-width: 640px) {
				.menu {
						max-width: 480px;
				}
				html.open-menu .header .fader {
						height: 100vh;
				}
		}
		.menu:before {
				content: '';
				flex: 0 0 auto;
				width: 100%;
				position: sticky;
				top: 0;
				z-index: 5;
				height: 70px;
				background: var(--body-bg-80);
				backface-visibility: hidden;
				backdrop-filter: blur(21px);
				-webkit-backdrop-filter: blur(21px);
				transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
		}
		.menu ul {
				display: flex;
				flex-direction: column;
				flex: 1 0 auto;
				align-items: center;
				font-weight: normal;
				font-size: 21px;
				line-height: 1.1;
				text-align: center;
				gap: 34px;
				padding: 0 var(--side-padding) 37px var(--side-padding);
		}
		.menu ul:before {
				content: '';
				margin-bottom: auto;
		}
		.menu li.for-btn {
				margin-top: auto;
				width: 100%;
		}
		.menu li.for-btn:not(:nth-child(1 of li.for-btn)) {
				margin-top: -18px;
		}
		.menu li.for-btn .btn {
				width: 100%;
		}
		.menu .btn-simple {
				background-color: rgba(63, 114, 88, 0.08);
				padding: 16px 42px;
				border-radius: 25px;
		}
}
@media only screen and (min-width: 1200px) {
		.toggle-menu {
				display: none;
		}
		.menu {
				flex: 1;
		}
		.menu ul {
				display: flex;
				align-items: center;
				justify-content: flex-end;
				flex-wrap: wrap;
				font-weight: 500;
				font-size: 15px;
				line-height: 1.1;
				gap: 0 32px;
		}
		.menu li.for-green-btn {
				order: 2;
		}
}
@media only screen and (min-width: 1400px) {
		.menu ul {
				gap: 0 42px;
		}
}
.heading-small {
		font: 600 10px/1.1 var(--font);
		text-transform: uppercase;
		color: var(--heading-small);
		letter-spacing: 0.06em;
		margin: 0 0 24px 0;
}
@media only screen and (max-width: 479px) {
		.heading-small {
				margin-bottom: 16px;
		}
}
.heading {
		font-weight: 600;
		line-height: 0.85;
		color: var(--heading);
		letter-spacing: -0.001em;
		margin: 0 0 24px 0;
}
@media only screen and (max-width: 479px) {
		.heading {
				font-size: 30px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.heading {
				font-size: 34px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.heading {
				font-size: 42px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.heading {
				font-size: 48px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.heading {
				font-size: 54px;
		}
}
@media only screen and (min-width: 1200px) {
		.heading {
				font-size: 72px;
		}
}
.heading-inner {
		font-weight: 600;
		line-height: 1;
		color: var(--heading);
		letter-spacing: -0.001em;
		margin: 0 0 20px 0;
}
.btns {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: 10px 30px;
		margin: 34px 0 0 0;
}
@media only screen and (max-width: 479px) {
		.btns {
				flex-direction: column;
		}
		.btns .btn-simple {
				background-color: rgba(63, 114, 88, 0.08);
				padding: 16px 42px;
				border-radius: 25px;
		}
}
.section {
		display: block;
		margin-top: 95px;
}
.top-index {
		margin-top: 0;
		padding-top: 120px;
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-index {
				margin-bottom: 110px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-index {
				padding-top: 148px;
				margin-bottom: 88px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.top-index {
				padding-top: 164px;
				margin-bottom: 140px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.top-index {
				padding-top: 179px;
				margin-bottom: 174px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-index {
				padding-top: 183px;
				margin-bottom: 189px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-index {
				padding-top: 203px;
				margin-bottom: 255px;
		}
}
.top-index .container {
		position: relative;
}
.top-index .image {
		pointer-events: none;
		position: absolute;
		left: 75%;
		transform: translate3d(-50%, 0, 0);
		mask-image: url("../img/top-double.svg");
		-webkit-mask-image: url("../img/top-double.svg");
		mask-size: contain;
		-webkit-mask-size: contain;
		aspect-ratio: 903/1082;
}
@media only screen and (max-width: 479px) {
		.top-index .image {
				width: 261px;
				top: -129px;
				margin-left: 20px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-index .image {
				width: 274px;
				top: -42px;
				margin-left: 48px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-index .image {
				width: 361px;
				top: -110px;
				margin-left: 50px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.top-index .image {
				width: 509px;
				top: -178px;
				margin-left: 60px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.top-index .image {
				width: 658px;
				top: -206px;
				margin-left: 75px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-index .image {
				width: 658px;
				top: -210px;
				margin-left: 30px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.top-index .image {
				width: 832px;
				top: -334px;
				margin-left: 68px;
		}
}
@media only screen and (min-width: 1400px) and (max-width: 1799px) {
		.top-index .image {
				width: 902px;
				top: -376px;
		}
}
@media only screen and (min-width: 1800px) {
		.top-index .image {
				width: 1011px;
				top: -442px;
				margin-left: 70px;
		}
}
.top-index .image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		position: absolute;
		top: 0;
		left: 0;
}
.top-index .image:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: conic-gradient(from 225deg at 50% 50%, #00FFC2, #3F7258);
		opacity: 0.3;
}
.top-index .image ~ * {
		position: relative;
}
@media only screen and (max-width: 949px) {
		.top-index .heading-small {
				margin-bottom: 19px;
		}
}
.top-index .heading {
		margin-bottom: 33px;
		max-width: 5.416em;
}
.top-index .heading img {
		vertical-align: middle;
		height: 0.842em;
		max-height: 64px;
		width: auto;
		position: relative;
		top: -1px;
}
@media only screen and (max-width: 479px) {
		.top-index .heading {
				font-size: 38px;
				margin-bottom: 26px;
				max-width: 4.3em;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-index .heading {
				font-size: 42px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.top-index .heading {
				font-size: 54px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.top-index .heading {
				font-size: 72px;
				margin-bottom: 39px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-index .heading {
				font-size: 96px;
		}
}
.top-index .text {
		max-width: var(--text);
}
.top-index {
		--text: 275px;
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.top-index {
				--text: 362px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.top-index {
				--text: 388px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-index {
				--text: 495px;
		}
}
@media only screen and (max-width: 479px) {
		.top-index .btns .btn {
				width: 100%;
		}
}
@media only screen and (min-width: 480px) {
		.top-index .btns {
				margin-top: 42px;
		}
}
@media only screen and (max-width: 479px) {
		.how-it-works {
				margin-bottom: 27px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.how-it-works {
				margin-bottom: 102px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.how-it-works {
				margin-bottom: 117px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.how-it-works {
				margin-bottom: 127px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.how-it-works {
				margin-bottom: 154px;
		}
}
@media only screen and (min-width: 1200px) {
		.how-it-works {
				margin-bottom: 196px;
		}
}
.how-it-works {
		font-size: 16px;
}
@media only screen and (max-width: 639px) {
		.how-it-works .heading-small {
				margin-bottom: 16px;
		}
}
.how-it-works .heading {
		margin-bottom: 0;
}
.how-slider {
		overflow: visible !important;
		margin: 12px 0 0 0 !important;
		--gap: 54px;
		padding-bottom: 80px !important;
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.how-slider {
				margin-top: 20px !important;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.how-slider {
				margin-top: 24px !important;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.how-slider {
				margin-top: 40px !important;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.how-slider {
				margin-top: 60px !important;
		}
}
@media only screen and (min-width: 1400px) {
		.how-slider {
				margin-top: 80px !important;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.how-slider {
				--gap: 34px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.how-slider {
				--gap: 74px;
		}
}
@media only screen and (min-width: 1250px) {
		.how-slider {
				--gap: calc((100vw - var(--side-padding) * 2 - 1040px) / 3);
		}
}
@media only screen and (min-width: 1440px) {
		.how-slider {
				--gap: calc((var(--max-width) - 1120px) / 3);
		}
}
.how-slider ol {
		list-style: none;
		margin: 0;
		padding: 0;
		counter-reset: how;
		display: flex;
}
.how-slider li {
		margin: 0;
		padding: 0;
		height: auto !important;
		width: auto;
		flex: 0 0 auto;
		display: flex !important;
		flex-direction: column;
		position: relative;
		background: none;
}
.how-slider li:before {
		display: none;
}
.how-slider li:not(:last-child) {
		padding-right: var(--gap);
}
.how-slider li:nth-child(4n - 3) {
		top: 30px;
}
.how-slider li:nth-child(4n - 2) {
		top: 80px;
}
.how-slider li:nth-child(4n - 1) {
		top: 0;
}
.how-slider li:nth-child(4n) {
		top: 50px;
}
.how-slider li:not(:last-child):after {
		content: '';
		width: 24px;
		height: 24px;
		position: absolute;
		right: calc((var(--gap) - 24px) / 2);
		background: url("../img/arrow-how.svg") no-repeat 50% 50%;
		background-size: contain;
}
.how-slider li:nth-child(4n - 3):after {
		top: 283px;
}
.how-slider li:nth-child(4n - 2):after {
		top: 153px;
}
.how-slider li:nth-child(4n - 1):after {
		top: 283px;
}
.how-slider li:nth-child(4n):after {
		top: 153px;
}
.how-slider .block {
		flex: 1 0 auto;
		width: 260px;
		border-radius: 130px;
		color: var(--white-70);
		padding: 96px 42px 70px 42px;
		background: var(--btn-bg);
		display: flex;
		flex-direction: column;
		gap: 10px;
		line-height: 1.4;
}
@media only screen and (min-width: 950px) and (max-width: 1019px), only screen and (min-width: 1440px) {
		.how-slider .block {
				width: 280px;
				border-radius: 140px;
		}
}
.how-slider li:nth-child(4n - 3) .block {
		background-color: #3F6F72;
}
.how-slider li:nth-child(4n - 2) .block {
		background-color: #3F7265;
}
.how-slider li:nth-child(4n - 1) .block {
		background-color: #3F7253;
}
.how-slider li:nth-child(4n) .block {
		background-color: #43723F;
}
.how-slider .block .heading-inner {
		font-size: 24px;
		margin: 0;
		color: var(--white);
}
.how-slider .block .heading-inner:before {
		content: counters(how, ".") ". ";
		counter-increment: how;
}
.how-slider .block .text {
		flex: 1 0 auto;
}
.how-slider .block .done {
		text-align: center;
		font-weight: normal;
		font-size: 48px;
		line-height: 1.35;
		letter-spacing: normal;
		color: rgba(176, 255, 97, 0.7);
}
.how-slider .block .done img {
		display: block;
		width: auto;
		height: 42px;
		margin: 0 auto;
}
/*edited 12.12.23 start*/
@media only screen and (max-width: 479px) {
		.book-call {
				margin-top: 27px;
				margin-bottom: 95px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.book-call {
				margin-top: 102px;
				margin-bottom: 164px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.book-call {
				margin-top: 117px;
				margin-bottom: 109px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.book-call {
				margin-top: 127px;
				margin-bottom: 170px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.book-call {
				margin-top: 154px;
				margin-bottom: 190px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.book-call {
				margin-top: 154px;
				margin-bottom: 150px;
		}
}
@media only screen and (min-width: 1200px) {
		.book-call {
				margin-top: 196px;
				margin-bottom: 196px;
		}
}
.book-call .heading-small, .book-call .heading {
		text-align: center;
		padding-left: 24px;
		padding-right: 24px;
		box-sizing: content-box;
		margin-left: auto;
		margin-right: auto;
}
.book-call .heading {
		margin-bottom: 0;
		line-height: 1;
		letter-spacing: -0.01em;
}
@media only screen and (max-width: 639px) {
		.book-call .heading {
				max-width: 11.85em;
				font-size: 28px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.book-call .heading {
				max-width: 13.433em;
				font-size: 30px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.book-call .heading {
				max-width: 17.9em;
				font-size: 30px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.book-call .heading {
				max-width: 15.24em;
				font-size: 42px;
		}
}
@media only screen and (min-width: 1200px) {
		.book-call .heading {
				max-width: 15.24em;
				font-size: 48px;
		}
}
.book-call .block {
		background: var(--white);
		border-radius: 48px;
		box-shadow: 0px 24px 42px rgba(0, 0, 0, 0.08);
		padding-top: 60px;
		overflow: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
}
@media only screen and (max-width: 639px) {
		.book-call .block {
				padding-bottom: 0;
		}
}
@media only screen and (min-width: 640px) and (max-width: 1019px) {
		.book-call .block {
				padding-bottom: 60px;
		}
}
@media only screen and (min-width: 1020px) {
		.book-call .block {
				padding-top: 100px;
				padding-bottom: 100px;
		}
}
.book-thumbs {
		--side: 24px;
		padding: 42px var(--side) 64px var(--side) !important;
		overflow: visible !important;
		z-index: 5 !important;
		position: relative !important;
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.book-thumbs {
				--side: 45px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.book-thumbs {
				--side: 55px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.book-thumbs {
				--side: 60px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.book-thumbs {
				--side: 80px;
		}
}
@media only screen and (min-width: 1020px) {
		.book-thumbs {
				--side: 90px;
		}
}
.book-thumbs:before, .book-thumbs:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		width: var(--side);
		z-index: 5;
		pointer-events: none;
}
.book-thumbs:before {
		left: 0;
		background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.book-thumbs:after {
		right: 0;
		background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}
.book-thumbs .swiper-slide {
		width: auto;
		pointer-events: none;
}
.book-thumbs .swiper-slide:not(:last-child) {
		padding-right: 24px;
}
.book-thumbs .link {
		display: block;
		position: relative;
		text-decoration: none;
		cursor: pointer;
		user-select: none;
		pointer-events: all;
		font-weight: 500;
		font-size: 16px;
		line-height: 1.3;
		color: #999;
		white-space: nowrap;
		padding: 10px 40px 6px 69px;
		border: 2px solid transparent;
		box-shadow: 0px 24px 42px 0px rgba(0, 0, 0, 0.08);
		height: 68px;
		border-radius: 34px;
		background: var(--white);
		transition: border 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.book-thumbs .link:after {
		content: '';
		pointer-events: none;
		position: absolute;
		top: 100%;
		left: 50%;
		margin: 4px 0 0 -7px;
		background: url("../img/book-selected.svg") no-repeat 50% 50%;
		background-size: contain;
		width: 14px;
		height: 35px;
		transform: translate3d(0, 0, 0);
		opacity: 0;
		transition-property: transform, opacity;
		transition-duration: 0.2s;
		transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
.book-thumbs .swiper-slide-thumb-active .link {
		border-color: var(--link-hover);
}
.book-thumbs .swiper-slide-thumb-active .link:after {
		opacity: 1;
		transform: translate3d(0, 16px, 0);
}
.book-thumbs .link img {
		position: absolute;
		top: 8px;
		left: 9px;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		object-fit: cover;
		object-position: center;
}
.book-thumbs .name {
		display: block;
		font-weight: 600;
		font-size: 18px;
		color: var(--heading);
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.book-thumbs {
				padding-top: 50px !important;
				padding-bottom: 80px !important;
		}
		.book-thumbs .link {
				height: 80px;
				border-radius: 40px;
				padding: 17px 40px 13px 81px;
		}
		.book-thumbs .link img {
				width: 60px;
				height: 60px;
		}
		.book-thumbs .name {
				font-size: 20px;
		}
}
@media only screen and (min-width: 1200px) {
		.book-thumbs {
				padding-top: 64px !important;
				padding-bottom: 80px !important;
		}
		.book-thumbs .link {
				height: 100px;
				border-radius: 50px;
				padding: 27px 40px 23px 101px;
		}
		.book-thumbs .link:after {
				margin-top: 12px;
		}
		.book-thumbs .link img {
				width: 80px;
				height: 80px;
		}
		.book-thumbs .name {
				font-size: 20px;
		}
}
.book-blocks {
		width: calc(100% - 20px) !important;
		margin: 0 auto !important;
		max-width: 343px;
}
@media only screen and (min-width: 640px) {
		.book-blocks {
				box-shadow: 0px 24px 42px 0px rgba(0, 0, 0, 0.08);
				border-radius: 8px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.book-blocks {
				max-width: 673px;
		}
}
@media only screen and (min-width: 1200px) {
		.book-blocks {
				max-width: 999px;
		}
}
.book-blocks .swiper-slide {
		background: var(--white);
}
/*edited 12.12.23 end*/
.about {
		text-align: center;
}
.about .container {
		--max-width: 1190px;
}
@media only screen and (max-width: 479px) {
		.about {
				margin-bottom: 97px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.about {
				margin-bottom: 146px;
		}
		.about .container {
				--side-padding: 50px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.about {
				margin-bottom: 158px;
		}
		.about .container {
				--side-padding: 60px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.about {
				margin-bottom: 128px;
		}
		.about .container {
				--side-padding: 80px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.about {
				margin-bottom: 189px;
		}
		.about .container {
				--side-padding: 80px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.about {
				margin-bottom: 128px;
		}
		.about .container {
				--side-padding: 70px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.about {
				margin-bottom: 270px;
		}
		.about .container {
				--side-padding: 120px;
		}
}
@media only screen and (min-width: 1400px) {
		.about {
				margin-bottom: 232px;
		}
		.about .container {
				--side-padding: 120px;
		}
}
.about .heading {
		line-height: 1;
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.about .heading {
				font-size: 48px;
		}
}
.about .list {
		display: flex;
		flex-direction: column;
		gap: 96px;
		text-align: left;
		margin: 0;
		padding: 0;
}
@media only screen and (max-width: 479px) {
		.about .list {
				margin-top: 54px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.about .list {
				margin-top: 88px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.about .list {
				margin-top: 64px;
				gap: 70px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.about .list {
				margin-top: 68px;
				gap: 104px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.about .list {
				margin-top: 128px;
				gap: 190px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.about .list {
				margin-top: 128px;
				gap: 150px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.about .list {
				margin-top: 210px;
				gap: 290px;
		}
}
@media only screen and (min-width: 1400px) {
		.about .list {
				margin-top: 142px;
				gap: 252px;
		}
}
.about .list > li {
		flex: 0 0 auto;
		width: 100%;
		margin: 0;
		padding: 0;
		position: relative;
		background: none;
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.about .list > li:nth-child(odd) {
				padding-left: calc(50% + 10px);
		}
		.about .list > li:nth-child(even) {
				padding-right: calc(50% + 10px);
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.about .list > li:nth-child(odd) {
				padding-left: calc(50% + 20px);
		}
		.about .list > li:nth-child(even) {
				padding-right: calc(50% + 20px);
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.about .list > li:nth-child(odd) {
				padding-left: calc(50% + 35px);
		}
		.about .list > li:nth-child(even) {
				padding-right: calc(50% + 35px);
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.about .list > li:nth-child(odd) {
				padding-left: calc(50% + 45px);
		}
		.about .list > li:nth-child(even) {
				padding-right: calc(50% + 45px);
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.about .list > li:nth-child(odd) {
				padding-left: calc(100% - 452px);
		}
		.about .list > li:nth-child(even) {
				padding-right: calc(100% - 452px);
		}
}
@media only screen and (min-width: 1400px) {
		.about .list > li:nth-child(odd) {
				padding-left: calc(100% - 483px);
		}
		.about .list > li:nth-child(even) {
				padding-right: calc(100% - 483px);
		}
}
.about .image {
		max-width: 1000px;
		aspect-ratio: 1000/540;
		position: relative;
		flex: 0 0 auto;
		border-radius: 500px;
		overflow: hidden;
		backface-visibility: hidden;
		transform: rotate(-2deg);
}
.about .image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		border-radius: inherit;
}
.about .image:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		aspect-ratio: 1/1;
		opacity: 0.2;
		background: linear-gradient(221deg, #00FFC2 4.66%, #3F7258 95.34%);
		transform: translate3d(-50%, -50%, 0);
}
@media only screen and (min-width: 640px) {
		.about .list .image {
				width: 94%;
				position: absolute;
				top: 50%;
				transform: translate3d(-50%, -50%, 0) rotate(-8deg);
		}
		.about .list > li:nth-child(odd) .image {
				left: 0;
		}
		.about .list > li:nth-child(even) .image {
				left: 100%;
		}
}
@media only screen and (min-width: 1200px) {
		.about .list > li:nth-child(odd) .image {
				left: 50%;
				margin-left: -482px;
		}
		.about .list > li:nth-child(even) .image {
				left: 50%;
				margin-left: 482px;
		}
}
@media only screen and (min-width: 1400px) {
		.about .list > li:nth-child(odd) .image {
				margin-left: -452px;
		}
		.about .list > li:nth-child(even) .image {
				margin-left: 452px;
		}
}
.about .list .heading-small {
		margin-bottom: 16px;
}
.about .list .heading-inner {
		margin-bottom: 26px;
}
@media only screen and (max-width: 949px) {
		.about .list .heading-inner {
				font-size: 28px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.about .list .heading-inner {
				font-size: 36px;
		}
}
@media only screen and (min-width: 1200px) {
		.about .list .heading-inner {
				font-size: 42px;
		}
}
.about .list ul {
		list-style: none;
		margin: 37px 0 0 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 20px;
}
.about .list ul li {
		margin: 0;
		flex: 0 0 auto;
		width: 100%;
}
@media only screen and (min-width: 640px) {
		.about .list > li {
				display: flex;
				flex-direction: column;
				justify-content: center;
				aspect-ratio: 2/0.9175;
		}
		.about .list .heading-small {
				grid-area: hs;
				margin-top: auto;
				margin-bottom: 24px;
		}
		.about .list .heading-inner {
				grid-area: hi;
				margin-bottom: 20px;
		}
		.about .list ul {
				grid-area: ul;
				margin: 0 0 auto 0;
		}
		.about .list .heading-small, .about .list .heading-inner, .about .list ul {
				max-width: 483px;
		}
}
.rules {
		text-align: center;
}
@media only screen and (max-width: 479px) {
		.rules {
				margin-bottom: 120px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.rules {
				margin-bottom: 90px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.rules {
				margin-bottom: 130px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.rules {
				margin-bottom: 156px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.rules {
				margin-bottom: 146px;
		}
}
@media only screen and (min-width: 1200px) {
		.rules {
				margin-bottom: 236px;
		}
}
.rules .container {
		--max-width: 1240px;
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.rules .container {
				--side-padding: 34px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.rules .container {
				--side-padding: 72px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.rules .container {
				--side-padding: 80px;
		}
}
@media only screen and (min-width: 1400px) {
		.rules .container {
				--side-padding: 100px;
		}
}
@media only screen and (max-width: 639px) {
		.rules .heading-small {
				margin-bottom: 16px;
		}
}
@media only screen and (max-width: 479px) {
		.rules .heading {
				font-size: 34px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.rules .heading {
				font-size: 48px;
		}
}
@media only screen and (min-width: 1200px) {
		.rules .heading {
				font-size: 66px;
		}
}
.rules .list {
		list-style: none;
		margin: 55px 0 0 0;
		padding: 0;
		display: flex;
		text-align: left;
		justify-content: space-between;
		color: var(--white-70);
}
@media only screen and (max-width: 479px), only screen and (min-width: 640px) and (max-width: 759px) {
		.rules .list {
				margin-left: calc(var(--side-padding) * -1);
				margin-right: calc(var(--side-padding) * -1);
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.rules .list {
				gap: 20px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.rules .list {
				gap: 34px;
		}
}
@media only screen and (min-width: 1020px) {
		.rules .list {
				gap: 40px;
		}
}
@media only screen and (max-width: 639px) {
		.rules .list {
				flex-direction: column;
		}
		.rules .list > li {
				flex: 0 0 auto;
				width: 100%;
		}
}
@media only screen and (min-width: 640px) {
		.rules .list > li {
				flex: 1;
		}
}
.rules .list > li {
		padding: 0;
		margin: 0;
		--padding: 20px;
		container-type: inline-size;
		container-name: rules-list-li;
		display: flex;
		flex-direction: column;
		background: none;
}
@media only screen and (max-width: 479px) {
		.rules .list > li {
				--padding: calc(var(--side-padding) + 23px);
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.rules .list > li {
				--padding: 75px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.rules .list > li {
				--padding: var(--side-padding);
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.rules .list > li {
				--padding: 51px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.rules .list > li {
				--padding: 65px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.rules .list > li {
				--padding: 75px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.rules .list > li {
				--padding: 90px;
		}
}
@media only screen and (min-width: 1400px) {
		.rules .list > li {
				--padding: 120px;
		}
}
.rules .list > li:nth-child(odd) {
		--color: #3F6F72;
}
.rules .list > li:nth-child(even) {
		--color: #3F7253;
}
.rules .list > li:after {
		content: '';
		display: block;
		background: var(--color);
		border-radius: 0 0 50% 50% / 0 0 100% 100%;
		aspect-ratio: 2/1;
}
.rules .heading-inner {
		color: var(--white);
		margin: 0;
		display: flex;
		align-items: flex-end;
		background: var(--color);
		padding: 0 var(--padding);
		border-radius: 50% 50% 0 0 / 100% 100% 0 0;
		aspect-ratio: 2/1;
}
@media only screen and (max-width: 949px) {
		.rules .heading-inner {
				font-size: 28px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.rules .heading-inner {
				font-size: 32px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.rules .heading-inner {
				font-size: 36px;
		}
}
@media only screen and (min-width: 1200px) {
		.rules .heading-inner {
				font-size: 42px;
		}
}
.rules .list ul {
		margin: 0;
		padding: 20px var(--padding) 0 var(--padding);
		display: flex;
		flex-direction: column;
		gap: 20px;
		background: var(--color);
		flex: 1 0 auto;
		width: 100%;
}
.rules .list ul li {
		margin: 0;
		background-image: url("../img/rules-arrow.svg");
		position: relative;
}
@container rules-list-li (min-width: 350px) {
		.rules .heading-inner {
				padding-bottom: 44px;
		}
		.rules .list ul {
				padding-top: 0;
		}
		.rules .list ul li:first-child {
				margin-top: -24px;
		}
}
@container rules-list-li (min-width: 520px) {
		.rules .heading-inner {
				padding-bottom: 0;
		}
		.rules .list ul {
				padding-top: 20px;
		}
		.rules .list ul li:first-child {
				margin-top: 0;
		}
}
.rules .list ul li:last-child {
		margin-bottom: -1.35em;
}
.rules .list ul li.for-link {
		background: none;
}
.rules .list a {
		color: #6DF8AD;
}
.rules .list a:hover, .rules .list a:active, .rules .list a:focus {
		color: #95FFC6;
}
.rules .list ul li a:before, .rules .list ul li a:after {
		content: '';
		width: 21px;
		height: 20px;
		pointer-events: none;
		top: calc((1.35em - 20px) / 2);
		left: 0;
		position: absolute;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
		background-repeat: no-repeat;
		background-position: 0 50%;
		background-size: contain;
}
.rules .list ul li a:before {
		background-image: url("../img/rules-arrow-link.svg");
}
.rules .list ul li a:after {
		background-image: url("../img/rules-arrow-link-hover.svg");
		opacity: 0;
}
.rules .list ul li a:hover:after, .rules .list ul li a:active:after, .rules .list ul li a:focus:after {
		opacity: 1;
}
.need-help {
		background: #225241;
		color: var(--white-60);
		text-align: center;
}
@media only screen and (max-width: 479px) {
		.need-help {
				padding-top: 78px;
				padding-bottom: 78px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.need-help {
				padding-top: 99px;
				padding-bottom: 99px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.need-help {
				padding-top: 104px;
				padding-bottom: 104px;
		}
}
@media only screen and (min-width: 950px) {
		.need-help {
				padding-top: 170px;
				padding-bottom: 170px;
		}
}
@media only screen and (max-width: 479px) {
		.need-help .heading-inner {
				margin-bottom: 16px;
		}
}
.need-help .heading {
		color: var(--white);
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.need-help .heading {
				font-size: 30px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.need-help .heading {
				font-size: 34px;
		}
}
@media only screen and (min-width: 1200px) {
		.need-help .heading {
				font-size: 66px;
		}
}
.need-help .text {
		margin: 0 auto;
}
@media only screen and (max-width: 639px) {
		.need-help .text {
				max-width: 370px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.need-help .text {
				max-width: 496px;
		}
}
@media only screen and (min-width: 950px) {
		.need-help .text {
				max-width: 781px;
		}
}
.need-help .btns {
		justify-content: center;
}
@media only screen and (max-width: 479px) {
		.need-help .btns {
				margin-top: 34px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.need-help .btns {
				margin-top: 40px;
		}
}
@media only screen and (min-width: 640px) {
		.need-help .btns {
				margin-top: 48px;
		}
}
.footer {
		padding-top: 58px;
		padding-bottom: 34px;
}
.footer-bottom {
		font-weight: normal;
		font-size: 12px;
		line-height: 1.2;
		color: var(--link);
		border-top: 1px solid rgba(63, 114, 88, 0.1);
		padding-top: 34px;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		gap: 4px 24px;
}
.footer-menu {
		font-weight: normal;
		font-size: 18px;
		line-height: 1.1;
		color: var(--link);
}
.footer-menu ul, .footer-menu li {
		list-style: none;
		margin: 0;
		padding: 0;
		background: none;
}
.footer-menu li.up {
		position: absolute;
		transform: scale(0);
		opacity: 0;
		z-index: -1;
}
.footer-menu .list {
		display: flex;
		gap: 42px;
		flex-wrap: wrap;
}
@media only screen and (max-width: 639px) {
		.footer-menu .list {
				flex-direction: column;
				margin-top: 18px;
		}
}
.footer-menu .list > li {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		--gap: 24px;
		gap: var(--gap);
}
.footer-menu-title {
		display: block;
		font-weight: bold;
		font-size: inherit;
		line-height: 1.5;
		letter-spacing: 0.01em;
		margin: 0;
		color: var(--link);
}
.footer-menu .list ul {
		display: flex;
		flex-direction: column;
		gap: var(--gap);
}
.footer .container {
		--max-width: 1240px;
		display: grid;
		gap: 24px;
		grid-template-areas:
				"logo"
				"book"
				"links"
				"bott";
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto auto;
}
.footer .logo {
		grid-area: logo;
}
.footer .link-book {
		grid-area: book;
}
.footer-menu {
		grid-area: links;
}
.footer-bottom {
		grid-area: bott;
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.footer .container {
				--side-padding: 45px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.footer .container {
				--side-padding: 50px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.footer .container {
				--side-padding: 64px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.footer .container {
				--side-padding: 62px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.footer .container {
				--side-padding: 69px;
		}
}
@media only screen and (min-width: 1400px) {
		.footer .container {
				--side-padding: 100px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 949px) {
		.footer .container {
				gap: 44px 57px;
				grid-template-areas:
						"logo links"
						"book links"
						"bott bott";
				grid-template-columns: 222px 1fr;
				grid-template-rows: auto 1fr auto;
		}
}
@media only screen and (min-width: 640px) {
		.footer .link-book {
				margin-bottom: auto;
		}
		.footer-menu {
				font-size: 15px;
				width: 100%;
				max-width: 310px;
				margin-left: auto;
		}
		.footer-menu .list > li {
				--gap: 16px;
		}
		.footer-bottom {
				margin-top: 12px;
		}
}
@media only screen and (min-width: 950px) {
		.footer .container {
				gap: 44px 57px;
				grid-template-areas:
						"logo links book"
						"bott bott bott";
				grid-template-columns: 222px 1fr auto;
				grid-template-rows: 1fr auto;
		}
		.footer .logo {
				margin-bottom: auto;
		}
		.footer-menu {
				margin-right: auto;
				max-width: 345px;
		}
}
@media only screen and (min-width: 480px) {
		.footer .link-book {
				margin-right: auto;
		}
}
.top-inner {
		margin-top: 0;
		padding-top: 112px;
}
@media only screen and (max-width: 759px) {
		.top-inner {
				font-size: 15px;
		}
}
@media only screen and (min-width: 1020px) {
		.top-inner {
				font-size: 18px;
		}
}
@media only screen and (max-width: 479px) {
		.top-inner {
				margin-bottom: 30px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-inner {
				margin-bottom: 36px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-inner {
				margin-bottom: 43px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 1019px) {
		.top-inner {
				margin-bottom: 55px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-inner {
				margin-bottom: 61px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-inner {
				margin-bottom: 77px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-inner {
				padding-top: 122px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.top-inner {
				padding-top: 114px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1199px) {
		.top-inner {
				padding-top: 150px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-inner {
				padding-top: 203px;
		}
}
.top-inner .image-single {
		position: absolute;
		left: 75%;
		transform: translate3d(-50%, 0, 0) rotate(-8deg);
		aspect-ratio: 1000/662;
		border-radius: 500px;
		overflow: hidden;
		backface-visibility: hidden;
		width: 200px;
}
.top-inner .image-single img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
}
.top-inner .image-single:after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		aspect-ratio: 1/1;
		opacity: 0.2;
		background: linear-gradient(221deg, #00FFC2 4.66%, #3F7258 95.34%);
		transform: translate3d(-50%, -50%, 0);
}
.top-inner .container > *:not(.image-single):not(.image-double) {
		position: relative;
}
@media only screen and (max-width: 479px) {
		.top-inner .image-single {
				width: 219px;
				top: -27px;
				margin-left: 8px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-inner .image-single {
				width: 347px;
				top: -40px;
				margin-left: 110px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-inner .image-single {
				width: 541px;
				top: -16px;
				margin-left: 160px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.top-inner .image-single {
				width: 541px;
				top: -10px;
				margin-left: 124px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.top-inner .image-single {
				width: 684px;
				top: -54px;
				margin-left: 122px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-inner .image-single {
				width: 769px;
				top: -62px;
				margin-left: 177px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.top-inner .image-single {
				width: 769px;
				top: -42px;
				margin-left: 160px;
		}
}
@media only screen and (min-width: 1400px) {
		.top-inner .image-single {
				width: 1000px;
				top: -60px;
				margin-left: 180px;
		}
}
.top-inner .image-double {
		pointer-events: none;
		position: absolute;
		left: 75%;
		transform: translate3d(-50%, 0, 0);
		mask-image: url("../img/top-double.svg");
		-webkit-mask-image: url("../img/top-double.svg");
		mask-size: contain;
		-webkit-mask-size: contain;
		aspect-ratio: 903/1082;
}
@media only screen and (max-width: 479px) {
		.top-inner .image-double {
				width: 261px;
				top: -160px;
				margin-left: 20px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-inner .image-double {
				width: 353px;
				top: -130px;
				margin-left: 12px;
		}
		.top-inner .image-double ~ .text {
				margin-right: 180px;
		}
		.top-inner .image-double ~ .heading {
				font-size: 42px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-inner .image-double {
				width: 477px;
				top: -225px;
				margin-left: 42px;
		}
		.top-inner .image-double ~ .text {
				max-width: 306px;
		}
		.top-inner .image-double ~ .heading {
				font-size: 42px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.top-inner .image-double {
				width: 577px;
				top: -298px;
				margin-left: 54px;
		}
		.top-inner .image-double ~ .text {
				font-size: 18px;
				max-width: 434px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.top-inner .image-double {
				width: 676px;
				top: -350px;
				margin-left: 0;
		}
		.top-inner .image-double ~ .text {
				font-size: 18px;
				max-width: 434px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-inner .image-double {
				width: 730px;
				top: -385px;
				margin-left: -10px;
		}
		.top-inner .image-double ~ .text {
				max-width: 495px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.top-inner .image-double {
				width: 793px;
				top: -385px;
				margin-left: 30px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-inner .image-double ~ .text {
				max-width: 590px;
		}
}
@media only screen and (min-width: 1400px) and (max-width: 1799px) {
		.top-inner .image-double {
				width: 1011px;
				top: -395px;
				margin-left: 50px;
		}
}
@media only screen and (min-width: 1800px) {
		.top-inner .image-double {
				width: 1011px;
				top: -442px;
				margin-left: 70px;
		}
}
.top-inner .image-double img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		position: absolute;
		top: 0;
		left: 0;
}
.top-inner .image-double:after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: conic-gradient(from 225deg at 50% 50%, #00FFC2, #3F7258);
		opacity: 0.3;
}
@media only screen and (max-width: 759px) {
		.top-inner .heading-small {
				margin-bottom: 16px;
		}
}
.top-inner .heading:last-child {
		margin-bottom: 0 !important;
}
@media only screen and (max-width: 639px) {
		.top-inner .heading {
				max-width: 5.3em;
		}
}
@media only screen and (min-width: 640px) {
		.top-inner .heading:not(.wide) {
				max-width: 7.3em;
		}
}
@media only screen and (max-width: 479px) {
		.top-inner .heading {
				font-size: 38px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.top-inner .heading {
				font-size: 42px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.top-inner .heading {
				font-size: 48px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.top-inner .heading {
				font-size: 54px;
				margin-bottom: 30px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.top-inner .heading {
				font-size: 64px;
				margin-bottom: 30px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-inner .heading {
				font-size: 72px;
				margin-bottom: 40px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-inner .heading {
				font-size: 96px;
				margin-bottom: 40px;
		}
}
@media only screen and (max-width: 759px) {
		.top-inner .text {
				max-width: 290px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 1019px) {
		.top-inner .text {
				max-width: 362px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.top-inner .text {
				max-width: 408px;
		}
}
@media only screen and (min-width: 1200px) {
		.top-inner .text {
				max-width: 495px;
		}
}
.inner-block {
		background: var(--white);
		position: relative;
		border-radius: 48px;
		box-shadow: 0px 24px 42px rgba(0, 0, 0, 0.08);
}
@media only screen and (min-width: 1400px) {
		.inner-block {
				margin-bottom: 30px;
		}
}
.filter-input {
		position: relative;
		border-style: solid;
		border-width: 20px 20px 0 20px;
		border-color: transparent;
}
.filter-input .input::-webkit-input-placeholder {
		color: rgba(106, 134, 120, 0.4);
}
.filter-input .input::-moz-placeholder {
		color: rgba(106, 134, 120, 0.4);
}
.filter-input .input:-ms-input-placeholder {
		color: rgba(106, 134, 120, 0.4);
}
.filter-input .pic {
		width: 24px;
		height: 24px;
		pointer-events: none;
		position: absolute;
		top: 50%;
		transform: translate3d(0, -50%, 0);
		opacity: 0.4;
		background: url("../img/search.svg") no-repeat 50% 50%;
		background-size: contain;
		transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.filter-input input:focus ~ .pic, .filter-input input:not(:placeholder-shown) ~ .pic {
		opacity: 1;
}
@media only screen and (max-width: 759px) {
		.filter-input .input {
				font-size: 16px;
				padding: 16px 16px 16px 51px;
				height: 60px;
		}
		.filter-input .pic {
				left: 21px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.filter-input .input {
				font-size: 18px;
				padding: 19px 19px 19px 58px;
				height: 70px;
		}
		.filter-input .pic {
				left: 26px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.filter-input .input {
				font-size: 18px;
				padding: 24px 24px 24px 58px;
				height: 80px;
		}
		.filter-input .pic {
				left: 26px;
		}
}
@media only screen and (min-width: 1020px) {
		.filter-input .pic {
				width: 32px;
				height: 32px;
				left: 26px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.filter-input .input {
				font-size: 21px;
				padding: 22px 22px 22px 67px;
				height: 80px;
		}
}
@media only screen and (min-width: 1200px) {
		.filter-input .input {
				font-size: 21px;
				padding: 27px 27px 27px 67px;
				height: 90px;
		}
}
.table {
		padding: 0 20px;
}
.table table {
		border-collapse: collapse;
		width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
}
.table th, .table td {
		text-align: left;
		vertical-align: top;
		padding: 0 24px;
		border: 0;
		border-bottom: 1px solid #E5E7EB;
		word-wrap: break-word;
}
@media only screen and (max-width: 479px) {
		.table th, .table td {
				padding-left: 6px;
				padding-right: 6px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.table th, .table td {
				padding-left: 12px;
				padding-right: 12px;
		}
}
@media only screen and (max-width: 639px) {
		.table th:first-child, .table td:first-child {
				padding-left: 0;
		}
		.table th:last-child, .table td:last-child {
				padding-right: 0;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.table th:first-child, .table td:first-child {
				padding-left: 12px;
		}
		.table th:last-child, .table td:last-child {
				padding-right: 12px;
		}
}
.table th {
		font-weight: normal;
		line-height: 1.2;
		font-size: 12px;
		color: #6B7280;
		padding-top: 16px;
		padding-bottom: 16px;
}
@media only screen and (min-width: 760px) {
		.table th {
				font-size: 14px;
				padding-top: 21px;
				padding-bottom: 22px;
		}
}
.table td {
		font-weight: normal;
		font-size: 15px;
		line-height: 1;
		color: var(--heading);
		padding-top: 22px;
		padding-bottom: 21px;
		vertical-align: middle;
		height: 80px;
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.table td {
				font-size: 16px;
		}
}
@media only screen and (min-width: 950px) {
		.table td {
				font-size: 18px;
		}
}
.table strong {
		font-weight: inherit;
		color: var(--btn-bg-hover);
}
.table td.pic {
		width: 1px !important;
		min-width: 1px !important;
		padding-right: 0;
}
.table td:last-child {
		min-width: 48.5%;
}
.table td.name {
		padding-left: 10px;
		min-width: 12.5%;
}
.table .pic img {
		vertical-align: middle;
		width: 22px;
		height: auto;
		position: relative;
		top: -1px;
}
@media only screen and (max-width: 759px) {
		.table td.name {
				padding: 0 !important;
				color: transparent !important;
				font-size: 0;
				line-height: 0;
				width: 1px !important;
				min-width: 1px !important;
				max-width: 1px !important;
		}
}
.table-text {
		text-align: center;
		font-weight: normal;
		font-size: 18px;
		line-height: 1.2;
		color: var(--heading);
		padding: 42px 0;
}
.table-text a {
		color: var(--link-hover);
}
.table-text a:hover, .table-text a:active, .table-text a:focus {
		color: #41C783;
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.table-text {
				padding-top: 64px;
				padding-bottom: 58px;
		}
}
@media only screen and (min-width: 640px) {
		.table-text {
				padding-top: 64px;
				padding-bottom: 101px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.table-text {
				font-size: 21px;
				padding-top: 64px;
				padding-bottom: 97px;
		}
}
@media only screen and (min-width: 950px) {
		.table-text {
				font-size: 24px;
				padding-top: 96px;
				padding-bottom: 126px;
		}
}
@media only screen and (max-width: 759px) {
		.inner-block-form {
				font-size: 15px;
		}
}
@media only screen and (max-width: 479px) {
		.inner-block-form {
				padding: 44px 40px 54px 40px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.inner-block-form {
				padding: 44px 50px 55px 50px;
		}
}
@media only screen and (min-width: 640px) and (max-width: 759px) {
		.inner-block-form {
				padding: 57px 50px 71px 50px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.inner-block-form {
				padding: 52px 53px 100px 53px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.inner-block-form {
				padding: 63px 60px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.inner-block-form {
				padding: 78px 75px 88px 75px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.inner-block-form {
				padding: 80px 75px;
		}
}
@media only screen and (min-width: 1400px) {
		.inner-block-form {
				padding: 90px 100px;
		}
}
@media only screen and (max-width: 759px) {
		.inner-block-form .heading {
				font-size: 30px;
				margin-bottom: 20px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.inner-block-form .heading {
				font-size: 36px;
		}
}
@media only screen and (min-width: 950px) {
		.inner-block-form .heading {
				margin-bottom: 34px;
		}
}
@media only screen and (min-width: 1200px) {
		.inner-block-form .heading {
				font-size: 66px;
		}
}
.inner-block-success {
		text-align: center;
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 50vh;
		max-height: 600px;
}
.form-grid {
		display: flex;
		flex-direction: column;
		gap: 34px;
}
.form-grid > * {
		flex: 0 0 auto;
		width: 100%;
}
@media only screen and (min-width: 760px) {
		.form-grid {
				flex-direction: row;
				justify-content: space-between;
		}
		.form-grid .text {
				width: calc(100% - 314px);
		}
		.form-grid .inputs {
				width: 280px;
		}
}
@media only screen and (min-width: 950px) and (max-width: 1019px) {
		.form-grid .text {
				width: calc(100% - 360px);
		}
		.form-grid .inputs {
				width: 320px;
		}
}
@media only screen and (min-width: 1020px) and (max-width: 1199px) {
		.form-grid .text {
				width: calc(100% - 430px);
		}
		.form-grid .inputs {
				width: 390px;
		}
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
		.form-grid .text {
				width: calc(100% - 560px);
		}
		.form-grid .inputs {
				width: 500px;
		}
}
@media only screen and (min-width: 1400px) {
		.form-grid .text {
				width: calc(100% - 640px);
		}
		.form-grid .inputs {
				width: 580px;
		}
}
@media only screen and (max-width: 759px) {
		.form-grid .text p, .form-grid .text ol, .form-grid .text ul {
				margin: 20px 0;
		}
}
@media only screen and (min-width: 760px) and (max-width: 949px) {
		.form-grid .text p, .form-grid .text ol, .form-grid .text ul {
				margin: 24px 0;
		}
}
@media only screen and (min-width: 950px) {
		.form-grid .text p, .form-grid .text ol, .form-grid .text ul {
				margin: 34px 0;
		}
}
.form-grid .text > *:last-child, .form-grid .text li:last-child {
		margin-bottom: 0 !important;
}
.inner-block-text {
		font-size: 16px;
		line-height: 1.5;
		padding: 36px;
}
@media only screen and (min-width: 480px) and (max-width: 759px) {
		.inner-block-text {
				padding: 48px;
		}
}
@media only screen and (min-width: 760px) and (max-width: 1019px) {
		.inner-block-text {
				padding: 64px;
		}
}
@media only screen and (min-width: 1020px) {
		.inner-block-text {
				padding: 80px;
		}
}
.inner-block-text p, .inner-block-text ol, .inner-block-text ul {
		margin: 24px 0;
}
.inner-block-text > *:first-child, .inner-block-text li:first-child {
		margin-top: 0 !important;
}
.inner-block-text > *:last-child, .inner-block-text li:last-child {
		margin-bottom: 0 !important;
}
.inner-block-text h1, .inner-block-text h2, .inner-block-text h3, .inner-block-text h4, .inner-block-text h5, .inner-block-text h6 {
		font-weight: 600;
		line-height: 0.85;
		font-size: inherit;
		color: var(--heading);
		letter-spacing: -0.001em;
		margin: 54px 0 24px 0;
}
@media only screen and (max-width: 479px) {
		.inner-block-text h1 {
				font-size: 24px;
		}
		.inner-block-text h2 {
				font-size: 20px;
		}
		.inner-block-text h3 {
				font-size: 18px;
		}
}
@media only screen and (min-width: 480px) and (max-width: 639px) {
		.inner-block-text h1 {
				font-size: 34px;
		}
		.inner-block-text h2 {
				font-size: 24px;
		}
		.inner-block-text h3 {
				font-size: 20px;
		}
}
@media only screen and (min-width: 640px) {
		.inner-block-text h1 {
				font-size: 40px;
		}
		.inner-block-text h2 {
				font-size: 34px;
		}
		.inner-block-text h3 {
				font-size: 24px;
		}
}
.anchor {
		display: block;
		position: relative;
		height: 0;
		top: -90px;
		pointer-events: none;
}
@media only screen and (min-width: 1200px) {
		.anchor {
				top: -120px;
		}
}