/* === Base === */
	body { font-family: 'Inter', sans-serif; margin: 0; display: flex; width: 100%; justify-content: center; }
	a { text-decoration: none; }
	.container { width: 1440px; max-width: 100%; margin: auto; }
	.landing-page { max-width: 100vw; }

	/* === Header === */
	header { position: fixed; max-width: 100vw; width: 100%; z-index: 100; top: 0; left: 0; right: 0; margin: 0; }
	.header__bar { display: flex; justify-content: space-between; align-items: center; padding: 20px 120px; background: #F0F0F0; }
	.header__bar--nav { background: #F0F5FF; }
	.header__info-item { display: flex; align-items: center; gap: 5px; }
	.header__info-item--contacts { gap: 32px; }
	.header__info-icon { display: flex; }
	.header__info-text { display: flex; align-items: center; gap: 2.5px; }
	.header__info-label { font-weight: 600; font-size: 16px; line-height: 20px; letter-spacing: .03em; color: #000; }
	.header__info-value { font-weight: 400; font-size: 14px; line-height: 20px; letter-spacing: .03em; color: #000; }
	.header__info-value a { font-weight: 400; font-size: 14px; line-height: 20px; letter-spacing: .03em; color: #000; }
	.header__bar .footer__logo { padding: 0; }
	/* === Nav === */
	.nav__toggle { display: none; }
	.nav__menu { display: flex; margin: 0 -18px 0 0; padding: 0; gap: 64px; list-style: none; }
	.nav__menu li { display: block; }
	.nav__link { font-weight: 500; font-size: 16px; line-height: 20px; letter-spacing: .03em; color: #000; padding: 2px 18px; }
	.nav__link:hover { background: #D9D9D9; }
	.social-link { display: flex; }

	/* === Hero === */
	.hero { height: 100%; display: flex; position: relative; }
	.hero__bg { width: 100%; position: absolute; z-index: -1; height: 100%; }
	.hero__content { margin-left: 120px; padding-top: 26px; max-width: 700px; display: flex; flex-direction: column; height: 100%; }
	.hero__content > img { display: none; }
	.hero__subtitle { font-weight: 600; font-size: 48px; line-height: 56px; color: #000; padding-bottom: 8px; }
	.hero__title { font-weight: 600; font-size: 96px; line-height: 116px; color: #10239E; padding-bottom: 24px; }
	.hero__desc { font-size: 24px; line-height: 29px; letter-spacing: .03em; color: #000; font-weight: 600; padding-bottom: 16px; }
	.hero__price { font-size: 20px; line-height: 24px; letter-spacing: .03em; color: #434343; }
	.hero__price span { font-size: 16px; line-height: 19px; letter-spacing: .03em; color: #434343; }
	.hero__actions { display: flex; gap: 40px; margin: 100px 0; }
	.btn { padding: 16px 24px; border-radius: 15px; font-size: 24px; line-height: 26px; }
	.btn--primary { background: #10239E; color: #fff; }
	.btn--primary:hover { background: #D6E4FF; color: #000; }
	.btn--secondary { background: #D6E4FF; color: #000; }
	.btn--secondary:hover { background: #10239E; color: #fff; }

	/* === Features === */
	.features { display: flex; justify-content: space-between; margin-bottom: auto; width: 100%; gap: 16px; }
	.feature { background: #F5F5F5; border-top-right-radius: 20px; border-top-left-radius: 20px; padding: 26px 16px; display: flex; flex-direction: column; width: calc(33.3% - 16px); align-items: center; }
	.feature__icon { height: 40px; width: 47px; display: flex; }
	.feature__icon img { width: 100%; object-fit: cover; border-radius: 10px; }
	.feature__label { font-size: 16px; line-height: 19px; text-align: center; letter-spacing: .03em; color: #000; margin-top: 16px; }

	/* === About === */
	.about { margin: 100px 0 57px 118px; }
	.about__heading { padding-bottom: 48px; font-weight: 600; font-size: 48px; line-height: 58px; color: #000; }
	.about__body { display: flex; gap: 80px; }
	.about__text { font-weight: 400; font-size: 24px; line-height: 29px; letter-spacing: .03em; color: #000; width: 50%; }
	.about__stats { display: flex; flex-wrap: wrap; justify-content: space-between; padding-right: 80px; }
	.stat { width: calc(50% - 12px); margin-bottom: 24px; }
	.stat:nth-last-child(-n+2) { margin-bottom: 0; }
	.stat__value { font-weight: 800; font-size: 50px; line-height: 61px; text-align: center; letter-spacing: .03em; color: #061178; display: flex; justify-content: center; align-items: baseline; position: relative; }
	.stat__value .sub-text { font-size: 24px; line-height: 29px }
	.stat__label { font-weight: 400; font-size: 20px; line-height: 24px; text-align: center; letter-spacing: .03em; color: #434343; }

	/* === Services === */
	.services { margin-top: 120px; padding: 0 118px; }
	.services__heading { padding: 56px 0 48px; font-weight: 600; font-size: 48px; line-height: 58px; color: #000; text-align: center; }
	.services__grid { display: flex; flex-wrap: wrap; gap: 40px; }
	.service-card { display: flex; flex-direction: column; width: calc(33.3% - 27px); border-radius: 15px; overflow: hidden; background: #F0F0F0; }
	.service-card__img img { width: 100%; }
	.service-card__title { padding-top: 32px; font-weight: 500; font-size: 24px; line-height: 29px; text-align: center; letter-spacing: .03em; color: #000; }
	.service-card__desc { padding: 16px 8px 32px; font-weight: 400; font-size: 16px; line-height: 19px; text-align: center; letter-spacing: .03em; color: #8C8C8C; }

	/* === Contact section === */
	.contact-section { background: #D6E4FF; padding: 56px 118px; margin-top: 176px; display: flex; gap: 32px; }
	.card { padding: 24px 24px 40px; background: #fff; border-radius: 20px; width: 50%; }
	.card__heading { font-weight: 600; font-size: 48px; line-height: 58px; color: #000; }
	.card__subheading { font-size: 24px; line-height: 29px; letter-spacing: .03em; color: #8C8C8C; margin: 24px 0; }
	.card--form { display: flex; flex-direction: column; padding-bottom: 16px; }
	.card--form .form-fields { gap: 32px; padding: 16px 16px 0; margin-top: 24px; }
	.card--steps { display: flex; flex-direction: column; gap: 80px; }
	.card--steps .card__heading { text-align: center; }
	.card--steps .form-fields { padding: 0 76px; }

	/* === Form === */
	.form-fields { display: flex; flex-direction: column; gap: 64px; }
	.form-field input { box-sizing: border-box; display: flex; align-items: center; padding: 24.5px 16px; gap: 8px; border: 2px solid #D9D9D9; border-radius: 15px; width: 100%; }
	.form-field--phone { position: relative; }
	.form-field--phone .flag { display: flex; position: absolute; left: 16px; top: calc(50% - 12px); }
	.form-field--phone input[type="tel"] { padding-left: 48px; }
	.form-field select { padding: 24.5px 16px; background: #fff; width: 100%; border: 2px solid #D9D9D9; border-radius: 15px; color: #8C8C8C;     appearance: none; -webkit-appearance: none; -moz-appearance: none; background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>'); background-repeat: no-repeat; background-position: right 10px center; background-size: 24px; cursor: pointer;}
	.form-submit a { display: flex; justify-content: center; align-items: center; padding: 24px; gap: 16px; background: #10239E; border-radius: 15px; color: #fff; }

	/* === Steps === */
	.step { display: flex; gap: 24px; }
	.step__body { display: flex; flex-direction: column; gap: 8px; }
	.step__title { font-weight: 500; font-size: 24px; line-height: 29px; letter-spacing: .03em; color: #000; }
	.step__desc { font-weight: 400; font-size: 16px; line-height: 19px; letter-spacing: .03em; color: #8C8C8C; }

	/* === Reviews === */
	.reviews { margin-top: 120px; padding: 0 118px 120px; }
	.reviews__heading { padding: 56px 0 80px; text-align: center; font-weight: 600; font-size: 48px; line-height: 58px; color: #000; }
	.reviews__list { display: flex; justify-content: space-between; align-items: center; }
	.review-card { padding: 0 39.5px; }
	.review-card__name { font-weight: 500; font-size: 32px; line-height: 39px; text-align: center; letter-spacing: .03em; color: #262626; padding: 0 18px 8px; }
	.review-card__stars { text-align: center; margin-bottom: 42px; }
	.review-card__text { font-weight: 400; font-size: 20px; line-height: 24px; text-align: center; letter-spacing: .03em; color: #262626; }

	/* === Footer === */
	.footer { background: #F0F5FF; padding: 40px 120px 82px; display: flex; justify-content: space-between; margin-bottom: 48px; }
	.footer__logo { display: flex; padding-bottom: 32px; }
	.footer__heading { font-weight: 500; font-size: 32px; line-height: 39px; letter-spacing: .03em; color: #000; padding-bottom: 56px; }
	.footer__grid { display: flex; flex-wrap: wrap; }
	.footer__card { width: 50%; margin-bottom: 56px; }
	.footer__card-title { font-weight: 500; font-size: 20px; line-height: 24px; letter-spacing: .03em; color: #000; padding-bottom: 16px; }
	.footer__card-text { font-weight: 400; font-size: 16px; line-height: 19px; letter-spacing: .03em; color: #000; display: flex; flex-wrap: wrap; }
	.footer__card-text a { font-weight: 400; font-size: 16px; line-height: 19px; letter-spacing: .03em; color: #000; display: flex; gap: 32px; }
	.footer__card-text--socials { align-items: center; gap: 32px; }
	.footer__form { padding: 16px; }
	.footer__form .card__heading { text-align: center; }
	.footer__form .form-fields { padding-bottom: 16px; gap: 16px; }

	/* === Desktop === */
	@media (min-width: 1200px) {
		.container { width: 1440px; padding: 0; max-width: 100%; margin: auto; }
	}

	/* === Mobile === */
	@media (max-width: 991px) {
		.nav__toggle { display: flex; }
		.header__bar { flex-direction: column; padding: 14px 0; }
		.header__bar--nav { flex-direction: row; padding: 16px; }
		.container { padding: 0; max-width: 991px; width: 100%; }
		.header__bar--nav .nav__menu { display: flex; position: absolute; right: -100%; flex-direction: column; top: 100%; background: #fff; padding: 20px 12.5px; gap: 32px; transition: .2s all; z-index: -1; border: 1px solid #F0F5FF; }
		.header__bar--nav .nav__menu.open { right: 12.5px; }
		.nav__toggle:focus { outline: none; }
		.nav__link:hover { background: none; border-bottom: 1px solid #F0F5FF; }
		.hero { flex-direction: column; }
		.hero__bg { display: none; }
		.hero__content { margin: 16px; max-width: 100%; padding-top: 48px; }
		.hero__content > img { display: flex; margin-top: 56px; }
		.hero__actions { margin: 56px 0; flex-direction: column; }
		.hero__actions a { text-align: center; }
		.hero__subtitle { font-size: 36px; line-height: 44px; text-align: center; }
		.hero__title { font-size: 40px; line-height: 48px; text-align: center; }
		.hero__desc { font-size: 16px; line-height: 19px; text-align: center; }
		.hero__price { font-size: 16px; line-height: 19px; text-align: center; font-weight: 500; }
		.feature { width: calc(33.3% - 8px); padding: 8px; }
		.about { margin: 120px 16px 0 16px; }
		.about__heading { text-align: center; font-size: 40px; line-height: 48px; }
		.about__body { gap: 42px; flex-direction: column; }
		.about__text { width: 100%; text-align: center; }
		.about__stats { padding-right: 0; }
		.stat__value > span { position: relative; right: 0; }
		.services { padding: 0 16px; margin-top: 64px; }
		.services__grid { flex-direction: column; }
		.service-card { width: 100%; }
		.contact-section { margin-top: 120px; flex-direction: column; padding: 16px; }
		.card--form { order: 1; width: calc(100% - 48px); }
		.card--form .form-fields { margin-top: 16px; gap: 48px; }
		.card--steps { width: calc(100% - 32px); padding: 16px 16px 40px; }
		.card--steps .form-fields { padding: 0 20px; gap: 32px; }
		.card__heading { font-size: 40px; line-height: 48px; text-align: center; }
		.card__subheading { font-size: 20px; line-height: 24px; text-align: center; }
		.form-submit a { font-size: 24px; line-height: 29px; text-align: center; letter-spacing: .03em; }
		.reviews { padding: 0 16px; margin-bottom: 120px; }
		.reviews__heading { font-size: 40px; line-height: 48px; }
		.reviews__list { flex-direction: column; gap: 40px; }
		.footer { padding: 16px; justify-content: center; }
		.footer__form { display: none; }
		.footer__logo { justify-content: center; }
		.footer__heading { font-size: 32px; line-height: 39px; text-align: center; letter-spacing: .03em; }
		.footer__grid { flex-direction: column; justify-content: center; }
		.footer__card { width: 100%; text-align: center; display: flex; flex-direction: column; justify-content: center; margin-bottom: 24px; }
		.footer__card-title { font-size: 20px; line-height: 24px; text-align: center; letter-spacing: .03em; }
		.footer__card-text { justify-content: center; font-size: 16px; line-height: 19px; text-align: center; letter-spacing: .03em; }
		.header__bar.single-item { padding: 14px 0; flex-direction: row; }
		.header__bar.single-item .header__info-item { min-height: 32px; justify-content: center; }
		.header__info-item { display: flex !important; align-items: center; gap: 5px; text-align: center; }
		.header__info-item--contacts { gap: 32px; max-width: 100%; }
		#common-home { margin-top: 128px; }
	}