/* === Advantages === */
.kvarts-advantages {
	width: 100%;
	margin: 80px 0 0;
}

.kvarts-blocks {
	display: flex;
	flex-direction: column;
	gap: 80px;
	width: 100%;
	margin: 12px 0 0;
	padding: 80px 12px;
	background: #f0f0f0;
	border-radius: 4px;
	box-sizing: border-box;
	overflow: visible;
}

.kvarts-advantages__inner {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	min-height: 580px;
	padding: 80px 48px 48px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 80px;
	background: #1a1a1a var(--kvarts-adv-bg) center / cover no-repeat;
	box-sizing: border-box;
}

.kvarts-advantages__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.45) 100%);
	pointer-events: none;
}

.kvarts-advantages__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 1200px;
}

.kvarts-advantages__title {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: 48px;
	line-height: 1.25;
	color: #fff;
}

.kvarts-advantages__text {
	margin: 0;
	max-width: 929px;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	color: #fff;
}

.kvarts-advantages__grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.kvarts-advantages__item {
	display: flex;
	align-items: center;
	gap: 16px;
	min-height: 112px;
	padding: 30px;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.48);
	backdrop-filter: blur(12.8px);
	-webkit-backdrop-filter: blur(12.8px);
	box-sizing: border-box;
}

.kvarts-advantages__icon {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(12.8px);
	-webkit-backdrop-filter: blur(12.8px);
}

.kvarts-advantages__icon img {
	display: block;
	width: 32px;
	height: 32px;
}

.kvarts-advantages__label {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	color: #fff;
}

/* === Choose === */
.kvarts-choose {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.kvarts-choose__intro {
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 936px;
}

.kvarts-choose__title {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: 36px;
	line-height: 1.11;
	color: #000;
}

.kvarts-choose__text {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: #212529;
}

.kvarts-choose__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 24px;
}

.kvarts-choose__card {
	display: flex;
	flex-direction: column;
	gap: 24px;
	min-height: 232px;
	padding: 24px;
	border-radius: 4px;
	background: #fff;
	border: 1px solid #e9ecef;
	box-sizing: border-box;
}

.kvarts-choose__num {
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 1.25;
	color: rgba(175, 175, 175, 0.8);
}

.kvarts-choose__label {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: rgba(33, 37, 41, 0.8);
}

/* === Types === */
.kvarts-types {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.kvarts-types__title {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: 36px;
	line-height: 1.11;
	color: #000;
}

.kvarts-types__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.kvarts-types__card {
	display: flex;
	flex-direction: row;
	gap: 16px;
	min-height: 320px;
	border-radius: 4px;
	background: #ffffff;
	overflow: hidden;
	box-sizing: border-box;
}

.kvarts-types__body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	padding: 32px;
	background: #ffffff;
	box-sizing: border-box;
}

.kvarts-types__copy {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.kvarts-types__name {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	color: #111827;
}

.kvarts-types__text {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: rgba(33, 37, 41, 0.8);
}

.kvarts-types__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	width: 200px;
	height: 40px;
	padding: 10px 16px;
	border-radius: 4px;
	background: #f0f0f0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 1.43;
	color: #212529;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.kvarts-types__btn:hover {
	background: #e4e4e4;
	color: #111827;
	text-decoration: none;
}

.kvarts-types__media {
	flex: 0 0 300px;
	width: 300px;
	align-self: stretch;
	border-radius: 4px;
	overflow: hidden;
	background: #f0f0f0;
}

.kvarts-types__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* === Tech === */
.kvarts-tech {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.kvarts-tech__title {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: 36px;
	line-height: 1.11;
	color: #000;
}

.kvarts-tech__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

.kvarts-tech__card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 24px;
	border-radius: 4px;
	background: #ffffff;
	box-sizing: border-box;
}

.kvarts-tech__name {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	color: #212529;
}

.kvarts-tech__text {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
	color: rgba(33, 37, 41, 0.8);
}

/* === FAQ === */
.catalog-faq {
	width: 100%;
	margin: 80px 0 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
	box-sizing: border-box;
}

.catalog-faq__title {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: 36px;
	line-height: 1.11;
	color: #000;
}

.catalog-faq__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

.catalog-faq__col {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.catalog-faq__item {
	border-radius: 4px;
	background: #f7f8f9;
	overflow: hidden;
}

.catalog-faq__question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 18px 24px;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
}

.catalog-faq__question-text {
	flex: 1 1 auto;
	font-family: "Open Sans", sans-serif;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	color: #212529;
}

.catalog-faq__icon {
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	margin-top: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	color: #9299a5;
	transition: transform 0.2s ease;
}

.catalog-faq__icon svg {
	display: block;
	width: 24px;
	height: 24px;
}

.catalog-faq__icon svg path {
	stroke: currentColor;
}

.catalog-faq__item.is-open .catalog-faq__icon {
	transform: rotate(180deg);
}

.catalog-faq__answer {
	padding: 0 24px 24px;
}

.catalog-faq__answer p {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.56;
	color: #111827;
}

/* === CTA === */
.kvarts-cta {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 80px 0 0;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 32px;
	min-height: 208px;
	padding: 40px 48px;
	border-radius: 4px;
	background: #1a1a1a var(--kvarts-cta-bg) center / cover no-repeat;
	box-sizing: border-box;
}

.kvarts-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	/* Wide ellipse so short banner height stays in the light part of the radial */
	background: radial-gradient(
		100% 320% at 40% 50%,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.1) 28.45%,
		rgba(0, 0, 0, 0.75) 70%,
		rgba(0, 0, 0, 1) 100%
	);
	opacity: 0.45;
	pointer-events: none;
}

.kvarts-cta__content {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.kvarts-cta__title {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 700;
	font-size: 40px;
	line-height: 1.5;
	color: #fff;
}

.kvarts-cta__br {
	display: none;
}

.kvarts-cta__text {
	margin: 0;
	font-family: "Open Sans", sans-serif;
	font-weight: 400;
	font-size: 18px;
	line-height: 1.56;
	color: #fff;
}

.kvarts-cta__actions {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
}

.kvarts-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 203px;
	height: 52px;
	padding: 14px 24px;
	border: 1px solid #00563a;
	border-radius: 4px;
	background: #fff;
	font-family: "Open Sans", sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.5;
	color: #00563a;
	text-decoration: none;
	box-sizing: border-box;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.kvarts-cta__btn:hover {
	background: #f3f7f5;
	color: #00452e;
	text-decoration: none;
}

/* === Tablet ≤1199 === */
@media (max-width: 1199px) {
	.kvarts-advantages,
	.kvarts-blocks,
	.catalog-faq,
	.kvarts-cta {
		margin-top: 56px;
	}

	.kvarts-blocks {
		gap: 56px;
		padding: 56px 16px;
	}

	.kvarts-advantages__inner {
		padding: 56px 32px 32px;
		gap: 40px;
		min-height: 0;
	}

	.kvarts-advantages__title {
		font-size: 36px;
		line-height: 1.22;
	}

	.kvarts-advantages__text {
		font-size: 18px;
	}

	.kvarts-advantages__item {
		padding: 24px;
		min-height: 0;
	}

	.kvarts-choose__title,
	.kvarts-types__title,
	.kvarts-tech__title,
	.catalog-faq__title {
		font-size: 32px;
	}

	.kvarts-choose__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}

	.kvarts-choose__card {
		min-height: 200px;
	}

	.kvarts-types__media {
		flex-basis: 220px;
		width: 220px;
	}

	.kvarts-types__body {
		padding: 24px;
	}

	.kvarts-tech__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.kvarts-cta {
		padding: 36px 32px;
	}

	.kvarts-cta__title {
		font-size: 32px;
		line-height: 1.3;
	}
}

/* === Tablet ≤1024 === */
@media (max-width: 1024px) {
	.kvarts-advantages__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.kvarts-advantages__title {
		font-size: 28px;
	}

	.kvarts-advantages__text {
		font-size: 16px;
		line-height: 1.5;
	}

	.kvarts-advantages__item {
		padding: 20px;
		gap: 12px;
	}

	.kvarts-advantages__icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
	}

	.kvarts-advantages__icon img {
		width: 28px;
		height: 28px;
	}

	.kvarts-choose__title,
	.kvarts-types__title,
	.kvarts-tech__title,
	.catalog-faq__title {
		font-size: 28px;
	}

	/* Choose: horizontal scroll, peek past block on the right */
	.kvarts-choose__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		overflow-y: hidden;
		width: calc(100% + 16px);
		margin-right: -16px;
		padding-right: 16px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.kvarts-choose__grid::-webkit-scrollbar {
		display: none;
	}

	.kvarts-choose__card {
		flex: 0 0 290px;
		width: 290px;
		max-width: 290px;
		min-height: 208px;
		height: 208px;
		padding: 16px;
		gap: 40px;
		scroll-snap-align: start;
		border: 0;
	}

	/* Types: horizontal scroll, peek past block on the right */
	.kvarts-types__grid {
		display: flex;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 16px;
		overflow-x: auto;
		overflow-y: visible;
		width: calc(100% + 16px);
		margin-right: -16px;
		padding-right: 16px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.kvarts-types__grid::-webkit-scrollbar {
		display: none;
	}

	.kvarts-types__card {
		flex: 0 0 min(640px, 88vw);
		width: min(640px, 88vw);
		max-width: min(640px, 88vw);
		min-height: 320px;
		height: auto;
		overflow: hidden;
		scroll-snap-align: start;
	}

	.kvarts-types__body {
		overflow: visible;
	}

	.kvarts-types__media {
		flex-basis: 260px;
		width: 260px;
		min-height: 320px;
		flex-shrink: 0;
		align-self: stretch;
	}

	/* Tech: horizontal scroll, peek past block on the right */
	.kvarts-tech__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		overflow-y: hidden;
		width: calc(100% + 16px);
		margin-right: -16px;
		padding-right: 16px;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.kvarts-tech__grid::-webkit-scrollbar {
		display: none;
	}

	.kvarts-tech__card {
		flex: 0 0 290px;
		width: 290px;
		max-width: 290px;
		min-height: 260px;
		height: auto;
		padding: 16px;
		gap: 12px;
		scroll-snap-align: start;
		box-sizing: border-box;
	}

	.kvarts-tech__name {
		font-size: 18px;
		line-height: 1.33;
	}

	.catalog-faq__grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.catalog-faq__col {
		gap: 12px;
	}

	.catalog-faq__question {
		padding: 18px 24px;
		gap: 10px;
		align-items: center;
	}

	.catalog-faq__question-text {
		font-size: 18px;
		line-height: 1.33;
	}

	.catalog-faq__answer {
		padding: 0 24px 18px;
	}

	.catalog-faq__answer p {
		font-size: 16px;
		line-height: 1.75;
	}

	.kvarts-cta {
		flex-direction: column;
		align-items: stretch;
		padding: 32px 24px;
		gap: 24px;
	}

	.kvarts-cta__title {
		font-size: 28px;
	}

	.kvarts-cta__btn {
		width: 100%;
	}
}

/* === Mobile ≤767 — advantages per Frame 4790 === */
@media (max-width: 767px) {
	.kvarts-advantages {
		margin: 32px 0;
		padding: 0;
		box-sizing: border-box;
	}

	.catalog-faq,
	.kvarts-cta {
		margin-top: 40px;
	}

	.kvarts-blocks {
		gap: 40px;
		padding: 40px 12px;
	}
	.kvarts-blocks{
		margin-top: 0px;
	}
	.kvarts-advantages__inner {
		justify-content: space-between;
		padding: 32px 20px 20px;
		gap: 40px;
		min-height: 488px;
		height: auto;
		background-color: #1a1a1a;
		background-image: var(--kvarts-adv-bg-mobile, var(--kvarts-adv-bg));
		background-position: center top;
		background-size: cover;
		background-repeat: no-repeat;
		box-sizing: border-box;
	}

	.kvarts-advantages__content {
		gap: 16px;
		padding-right: 0;
		max-width: none;
	}

	.kvarts-advantages__title {
		font-size: 24px;
		line-height: 1.33;
	}

	.kvarts-advantages__text {
		font-size: 16px;
		line-height: 1.5;
		max-width: none;
	}

	.kvarts-advantages__grid {
		display: flex;
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		overflow-y: hidden;
		margin: 0 -20px 0 0;
		padding: 0 20px 0 0;
		width: auto;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 0;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.kvarts-advantages__grid::-webkit-scrollbar {
		display: none;
	}

	.kvarts-advantages__item {
		flex: 0 0 290px;
		width: 290px;
		max-width: 290px;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 12px;
		min-height: 172px;
		height: 172px;
		padding: 16px;
		scroll-snap-align: start;
		background: rgba(0, 0, 0, 0.48);
		box-sizing: border-box;
	}

	.kvarts-advantages__icon {
		flex: 0 0 32px;
		width: 32px;
		height: 32px;
		border-radius: 2.5px;
		background: rgba(255, 255, 255, 0.1);
		backdrop-filter: blur(7.88px);
		-webkit-backdrop-filter: blur(7.88px);
	}

	.kvarts-advantages__icon img {
		width: 20px;
		height: 20px;
	}

	.kvarts-advantages__label {
		font-size: 16px;
		line-height: 1.5;
	}

	.kvarts-choose,
	.kvarts-types,
	.kvarts-tech,
	.catalog-faq {
		gap: 24px;
	}

	.kvarts-choose__title,
	.kvarts-types__title,
	.kvarts-tech__title,
	.catalog-faq__title {
		font-size: 24px;
		line-height: 1.25;
	}

	.kvarts-choose__grid {
		width: calc(100% + 12px);
		margin-right: -12px;
		padding-right: 12px;
		gap: 8px;
	}

	.kvarts-choose__card {
		padding: 16px;
		gap: 40px;
	}

	.kvarts-choose__num {
		font-size: 32px;
	}

	.kvarts-choose__title {
		font-size: 24px;
		line-height: 1.33;
	}

	.kvarts-types__grid {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		gap: 16px;
		overflow: visible;
		width: 100%;
		margin-right: 0;
		padding-right: 0;
		scroll-snap-type: none;
	}

	.kvarts-types__card {
		flex: 0 0 auto;
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
		flex-direction: column-reverse;
		overflow: hidden;
		border-radius: 4px;
	}

	.kvarts-types__media {
		flex: 0 0 auto;
		width: 100%;
		height: 200px;
	}

	.kvarts-types__body {
		padding: 16px;
		gap: 24px;
	}

	.kvarts-types__copy {
		gap: 8px;
	}

	.kvarts-types__name {
		font-size: 18px;
		line-height: 1.33;
		color: #111827;
	}

	.kvarts-types__text {
		color: #5a616c;
	}

	.kvarts-types__btn {
		align-self: flex-start;
		width: auto;
		min-width: 0;
		max-width: none;
		height: 30px;
		padding: 5px 12px;
		border-radius: 6px;
		font-size: 14px;
		line-height: 1.43;
		color: #111827;
	}

	.kvarts-tech__grid {
		width: calc(100% + 12px);
		margin-right: -12px;
		padding-right: 12px;
		gap: 8px;
	}

	.kvarts-tech__card {
		padding: 16px;
		gap: 12px;
	}

	.kvarts-tech__name {
		font-size: 18px;
		line-height: 1.33;
		color: #111827;
	}

	.kvarts-tech__text {
		opacity: 0.8;
	}

	.catalog-faq__question {
		padding: 18px 24px;
		gap: 10px;
		align-items: center;
	}

	.catalog-faq__question-text {
		font-size: 20px;
		line-height: 28px;
	}

	.catalog-faq__icon {
		margin-top: 0;
		align-self: center;
	}

	.catalog-faq__answer {
		padding: 0 24px 18px;
	}

	.catalog-faq__answer p {
		font-size: 16px;
		line-height: 1.75;
	}

	.kvarts-cta {
		flex-direction: column;
		justify-content: flex-end;
		align-items: stretch;
		padding: 24px;
		gap: 32px;
		min-height: 324px;
		background-image: var(--kvarts-cta-bg-mobile, var(--kvarts-cta-bg));
		background-position: center;
		background-size: cover;
	}

	.kvarts-cta::before {
		background: radial-gradient(
			ellipse at center,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0.75) 63.72%,
			rgba(0, 0, 0, 1) 100%
		);
		opacity: 0.55;
	}

	.kvarts-cta__title {
		font-size: 24px;
		line-height: 1.33;
		font-weight: 700;
	}

	.kvarts-cta__br {
		display: inline;
	}

	.kvarts-cta__text {
		font-size: 16px;
		line-height: 1.5;
	}
}

/* === ≤576: full-bleed gray until FAQ, keep content side insets === */
@media (max-width: 576px) {
	.kvarts-blocks {
		padding: 40px 0;
		margin-left: -12px;
		margin-right: -12px;
		width: calc(100% + 24px);
		max-width: none;
		border-radius: 0;
		background: #f0f0f0;
		box-sizing: border-box;
	}

	.kvarts-choose,
	.kvarts-types,
	.kvarts-tech {
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	.kvarts-choose__grid,
	.kvarts-tech__grid {
		width: calc(100% + 12px);
		margin-right: -12px;
		padding-right: 12px;
	}
}

/* === Small phones ≤374 — cards scale with viewport === */
@media (max-width: 374px) {
	.kvarts-advantages__item {
		flex-basis: calc(100vw - 85px);
		width: calc(100vw - 85px);
		max-width: calc(100vw - 85px);
		height: auto;
		min-height: 160px;
	}
}
