	/* ---------- Проверка номера HLR-запросом ---------- */

	.thq {
		max-width: 1200px;
		margin: 30px auto 0px;
		font-size: 17px;
		line-height: 1.55;
		color: #222;
	}

	.thq * {
		box-sizing: border-box;
	}

	.thq__grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.77fr);
		column-gap: 22px;
		align-items: start;
	}

	.thq__card {
		grid-column: 1;
		grid-row: 1;
	}

	.thq__reg {
		grid-column: 1;
		grid-row: 2;
	}

	.thq__aside {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	/* ---------- карточка с формой ---------- */

	.thq__card {
		background: #fff;
		border-radius: 18px;
		box-shadow: 0 8px 40px rgba(34, 52, 80, .10);
		padding: 55px 58px 50px;
	}

	.thq__title {
		font-family: StemWeb, Verdana;
		font-size: 56px;
		line-height: 1.12;
		margin: 0 0 24px;
	}

	.thq__lead {
		margin: 0 0 24px;
		max-width: 600px;
		font-size: 18px;
	}

	.thq__descr {
		display: inline-block;
		font-size: 19px;
		color: #0254A2;
		margin-bottom: 46px;
	}

	/* ---------- поля ---------- */

	.thq__form {
		margin: 0;
	}

	.thq__row {
		display: grid;
		grid-template-columns: 40px minmax(0, 155px) minmax(0, 1fr);
		align-items: center;
		gap: 0 16px;
		margin-bottom: 24px;
	}

	.thq__ico {
		width: 40px;
		height: 40px;
		border-radius: 10px;
		background-color: #F1F8E9;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 24px 24px;
	}

	.thq__ico--phone {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%2381B44A' stroke-width='1.15' stroke-linejoin='round'%3E%3Cpath d='M38.2 46C36.9 45.9 35.3 45.7 32.9 44.5C30.4 43.4 26.2 40.9 23.6 39.1C20.9 37.3 19.4 35.9 17.2 33.9C15.1 31.9 12.7 29.6 10.6 26.9C8.5 24.2 6.1 20.4 4.8 17.9C3.4 15.4 2.8 13.6 2.3 11.9C1.9 10.3 1.8 9.3 2.2 8C2.5 6.8 3.3 5.7 4.6 4.7C5.8 3.7 8.3 1.9 9.8 2C11.2 2.1 11.7 3.4 13 5.3C14.3 7.2 17.2 11.2 17.5 13.3C17.8 15.4 15.4 16.9 15 18C14.6 19.2 14.6 19.1 15.1 20.3C15.6 21.5 16.8 23.7 18.1 25.3C19.3 26.9 20.9 28.6 22.6 29.8C24.3 31.1 27.1 32.5 28.3 33C29.6 33.5 29.2 33.2 30 32.8C30.9 32.5 32.4 31.1 33.2 30.7C34 30.2 33.6 29.9 34.8 30.3C36 30.8 38.6 32.2 40.4 33.3C42.2 34.5 44.6 36.5 45.5 37.4C46.4 38.4 46.2 37.9 45.8 38.9C45.5 39.9 44 42.3 43.2 43.4C42.5 44.4 42.1 44.7 41.3 45.1C40.4 45.5 39.6 46.1 38.2 46Z'/%3E%3C/svg%3E");
	}

	.thq__ico--lock {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%2381B44A' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.4' y='20.1' width='31.3' height='25.7' rx='3.0'/%3E%3Cpath d='M16.2 20.1V9.8a7.8 7.8 0 0 1 15.6 0V20.1'/%3E%3C/svg%3E");
	}

	.thq__label {
		font-size: 17px;
	}

	.thq__field {
		position: relative;
		display: flex;
		align-items: center;
		gap: 10px;
		min-width: 0;
	}

	.thq__plus {
		position: absolute;
		left: 15px;
		z-index: 1;
		color: #96A2B0;
		pointer-events: none;
	}

	/* поля рисует хелпер edit(), поэтому цепляемся за структуру, а не за класс */
	.thq__field input {
		width: 100%;
		max-width: 330px;
		height: 46px;
		padding: 0 15px;
		border: 1px solid #DEE4EC;
		border-radius: 8px;
		background: #fff;
		font-family: inherit;
		font-size: 16px;
		color: #222;
		outline: none;
		transition-duration: 200ms;
	}

	.thq__row--phone .thq__field input {
		padding-left: 27px;
	}

	.thq__row--code .thq__field input {
		max-width: 235px;
	}

	.thq__field input:focus {
		border-color: #0254A2;
	}

	.thq__code {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 92px;
		height: 46px;
		border: 1px solid #DEE4EC;
		border-radius: 8px;
		background: #F7F9FC;
	}

	.thq__code img {
		display: block;
		cursor: pointer;
	}

	.thq__req {
		flex: 0 0 auto;
		font-style: normal;
		color: #E03131;
	}

	.thq__submit {
		margin-top: 38px;
	}

	.thq__note {
		margin: 26px 0 0;
		font-size: 14px;
		line-height: 1.5;
		color: #8A939F;
	}

	/* ---------- кнопки: те же стили, что и на остальных страницах ---------- */

	.thq button,
	.thq input[type=submit] {
		background: #0254A2;
		color: #fff;
		border: none;
		padding: 10px 40px;
		font-family: StemWebLight, Verdana;
		font-size: 22px;
		border-radius: 5px;
		cursor: pointer;
		transition-duration: 200ms;
	}

	.thq button:hover,
	.thq input[type=submit]:hover {
		background: #0F4985;
	}

	.thq button.green {
		background: #72B634;
	}

	.thq button.green:hover {
		background: #5d9f24;
	}

	.thq__reg {
		display: flex;
		justify-content: flex-end;
		margin-top: 26px;
	}

	/* ---------- ответ на запрос (в макете блока нет) ---------- */

	.thq__res {
		margin-top: 36px;
		padding-top: 28px;
		border-top: 1px solid #EDF1F5;
	}

	.thq__res-head {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 14px;
		margin-bottom: 20px;
	}

	.thq__res-phone {
		font-family: StemWeb, Verdana;
		font-size: 26px;
		font-weight: bold;
	}

	.thq__badge {
		padding: 6px 15px;
		border-radius: 20px;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.3;
	}

	.thq__badge--ok {
		background: #EAF5E2;
		color: #4C9639;
	}

	.thq__badge--no {
		background: #FDECEC;
		color: #D33F3F;
	}

	.thq__res-sub {
		margin: 30px 0 12px;
		font-family: StemWeb, Verdana;
		font-size: 20px;
	}

	.thq__dl {
		display: grid;
		grid-template-columns: 190px minmax(0, 1fr);
	}

	.thq__dt,
	.thq__dd {
		padding: 10px 0;
		border-bottom: 1px solid #F1F4F8;
		font-size: 16px;
	}

	.thq__dt {
		color: #77808D;
		padding-right: 15px;
	}

	.thq__dd {
		font-weight: bold;
		overflow-wrap: break-word;
	}

	.thq__wait {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 18px;
		margin-top: 22px;
		padding: 18px 22px;
		border-radius: 12px;
		background: #F7F9FC;
	}

	/* ---------- правая колонка ---------- */

	.thq__aside {
		position: relative;
	}

	.thq__hero {
		display: block;
		width: 100%;
		max-width: 266px;
		height: auto;
		margin: 0 auto;
	}

	.thq__facts {
		position: absolute;
		left: 0;
		right: 0;
		top: 80%;
		display: flex;
		align-items: center;
		padding: 16px 6px;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 8px 30px rgba(34, 52, 80, .12);
	}

	.thq__fact {
		display: flex;
		align-items: center;
		gap: 9px;
		flex: 1 1 0;
		min-width: 0;
		padding: 0 9px;
		font-size: 11.5px;
		font-weight: bold;
		line-height: 1.25;
	}

	.thq__fact + .thq__fact {
		border-left: 1px solid #E8EDF3;
	}

	.thq__fico {
		flex: 0 0 auto;
		width: 28px;
		height: 28px;
		border-radius: 8px;
		background-color: #EEF4FB;
		background-repeat: no-repeat;
		background-position: center;
		background-size: 19px 19px;
	}

	.thq__fico--shield {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23215190' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24.0 2.0C19.9 3.5 9.4 7.5 3.9 9.9C3.9 28.4 12.6 42.9 24.0 46.0C35.4 42.9 44.1 28.4 44.1 9.9C38.6 7.5 28.1 3.5 24.0 2.0Z'/%3E%3Cpath d='M16.2 24.0L21.0 29.5L32.1 14.5'/%3E%3C/svg%3E");
	}

	.thq__fico--inbox {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23215190' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.1 4.0H38.9a3.5 3.5 0 0 1 2.6 1.9L47.4 26.2V40.0a4.6 4.6 0 0 1 -4.6 4.6H5.2a4.6 4.6 0 0 1 -4.6 -4.6V26.2L6.5 5.9a3.5 3.5 0 0 1 2.6 -1.9Z'/%3E%3Cpath d='M0.6 26.2H16.9a7.1 7.1 0 0 0 14.2 0H47.4'/%3E%3Cpath d='M11.2 11.3H36.7'/%3E%3Cpath d='M9.3 18.5H38.5'/%3E%3C/svg%3E");
	}

	.thq__fico--secure {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23215190' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.4' y='20.1' width='31.3' height='25.7' rx='3.0'/%3E%3Cpath d='M16.2 20.1V9.8a7.8 7.8 0 0 1 15.6 0V20.1'/%3E%3C/svg%3E");
	}

	/* ---------- адаптив ---------- */

	@media (max-width: 1280px) {
		.thq {
			padding: 0 20px;
		}

		.thq__card {
			padding: 44px 44px 40px;
		}

		.thq__title {
			font-size: 46px;
		}

	}

	@media (max-width: 1100px) {
		.thq__grid {
			column-gap: 24px;
		}

		.thq__title {
			font-size: 40px;
		}

		.thq__row {
			grid-template-columns: 40px minmax(0, 140px) minmax(0, 1fr);
		}

		.thq__fact {
			flex-direction: column;
			align-items: flex-start;
			gap: 6px;
			padding: 0 10px;
		}
	}

	@media (max-width: 1000px) {
		/* одна колонка: форма, кнопка регистрации, затем картинка с плашками */
		.thq__grid {
			grid-template-columns: minmax(0, 1fr);
			row-gap: 0;
		}

		.thq__card,
		.thq__reg,
		.thq__aside {
			grid-column: 1;
			grid-row: auto;
		}

		/* в разметке картинка идёт перед кнопкой - в одну колонку меняем местами */
		.thq__card {
			order: 1;
		}

		.thq__reg {
			order: 2;
		}

		.thq__aside {
			order: 3;
			margin-top: 44px;
		}

		.thq__hero {
			max-width: 210px;
		}

		/* плашки остаются поверх картинки, как на десктопе:
		   при static их перекрывали туфли (img рисуется поверх фона блока) */
		.thq__facts {
			left: 50%;
			right: auto;
			transform: translateX(-50%);
			top: 78%;
			width: 100%;
			max-width: 620px;
			z-index: 2;
		}

		.thq__fact {
			flex-direction: row;
			align-items: center;
			gap: 10px;
		}

		.thq__reg {
			justify-content: flex-start;
		}
	}

	@media (max-width: 720px) {
		.thq {
			margin-top: 20px;
		}

		.thq__card {
			padding: 34px 26px 30px;
			border-radius: 14px;
		}

		.thq__title {
			font-size: 34px;
		}

		.thq__descr {
			font-size: 17px;
			margin-bottom: 30px;
		}

		.thq__dl {
			grid-template-columns: 140px minmax(0, 1fr);
		}
	}

	@media (max-width: 560px) {
		/* подпись встаёт над полем, поле занимает всю ширину */
		.thq__row {
			grid-template-columns: 40px minmax(0, 1fr);
			gap: 8px 12px;
			margin-bottom: 24px;
		}

		.thq__field {
			grid-column: 1 / -1;
		}

		.thq__field input,
		.thq__row--code .thq__field input {
			max-width: none;
		}

		.thq button,
		.thq input[type=submit] {
			width: 100%;
			padding: 12px 20px;
			font-size: 19px;
		}

		.thq__reg button {
			width: 100%;
		}

		/* на узких экранах плашки уже не помещаются поверх картинки -
		   ставим их под неё, с небольшим нахлёстом */
		.thq__facts {
			position: relative;
			left: auto;
			right: auto;
			top: auto;
			transform: none;
			margin: -22px auto 0;
			display: grid;
			grid-template-columns: minmax(0, 1fr);
			gap: 14px;
			padding: 18px 20px;
		}

		.thq__fact + .thq__fact {
			border-left: none;
			border-top: 1px solid #E8EDF3;
			padding-top: 14px;
		}

		.thq__fact {
			padding: 0;
			font-size: 13px;
		}

		.thq__fact br {
			display: none;
		}

		.thq__dl {
			grid-template-columns: minmax(0, 1fr);
		}

		.thq__dt {
			padding-bottom: 0;
			border-bottom: none;
		}

		.thq__dd {
			padding-top: 2px;
		}

		.thq__res-phone {
			font-size: 22px;
		}
	}

	@media (max-width: 400px) {
		.thq__title {
			font-size: 29px;
		}

		.thq__card {
			padding: 28px 18px 24px;
		}

		.thq__hero {
			max-width: 175px;
		}
	}
