html {
			overflow-x: hidden;
		}

		.faq-page {
			background: #fff;
			overflow-x: hidden;
		}

		.faq-main {
			position: relative;
			padding-top: 152px;
		}

		.faq-section {
			position: relative;
			overflow: hidden;
			padding: 80px 0 160px;
		}

		.faq-section::before,
		.faq-section::after,
		.faq-list::after {
			content: "";
			position: absolute;
			border-radius: 50%;
			pointer-events: none;
		}

		.faq-section::before {
			left: -182px;
			top: 48px;
			width: 414px;
			height: 414px;
			background: radial-gradient(circle at center, rgba(214, 241, 249, 0.94) 0%, rgba(238, 247, 233, 0.72) 100%);
		}

		.faq-section::after {
			right: -108px;
			top: 486px;
			width: 306px;
			height: 306px;
			background: radial-gradient(circle at center, rgba(255, 245, 224, 0.9) 0%, rgba(255, 250, 242, 0.36) 100%);
		}

		.faq-list {
			position: relative;
		}

		.faq-list::after {
			left: -190px;
			bottom: 84px;
			width: 336px;
			height: 336px;
			background: radial-gradient(circle at center, rgba(214, 241, 249, 0.9) 0%, rgba(238, 247, 233, 0.3) 100%);
		}

		.faq-shell {
			position: relative;
			z-index: 1;
			max-width: 1040px;
			margin: 0 auto;
		}

		.faq-heading {
			max-width: none;
			width: fit-content;
			margin-bottom: 80px;
			padding: 0 40px;
		}

		.faq-label {
			display: inline-flex;
			align-items: center;
			gap: 8px;
			margin-bottom: 24px;
			color: #5fb7e1;
			font-size: 18px;
			font-weight: 700;
		}

		.faq-label::before {
			content: "";
			width: 8px;
			height: 8px;
			border-radius: 50%;
			background: #5fb7e1;
		}

		.faq-title {
			margin: 0;
			font-size: 40px;
			font-weight: 700;
			line-height: 1.5;
			letter-spacing: 0.04em;
			white-space: nowrap;
		}

		.faq-accordion {
			position: relative;
			z-index: 1;
		}

		.faq-accordion .accordion-item {
			overflow: hidden;
			margin-bottom: 16px;
			border: 4px solid #faf8f6;
			border-radius: 32px;
			background: #fff;
		}

		.faq-accordion .accordion-button {
			position: relative;
			padding: 24px 40px;
			background: #faf8f6;
			color: #333;
			font-size: 16px;
			font-weight: 700;
			line-height: 1.7;
			box-shadow: none;
		}

		.faq-accordion .accordion-button::after {
			content: "";
			position: absolute;
			right: 40px;
			top: 50%;
			width: 16px;
			height: 16px;
			margin: 0;
			background-image: url('../images/icon_plus.svg') !important;
			background-size: contain;
			background-position: center;
			background-repeat: no-repeat;
			transform: translateY(-50%);
		}

		.faq-accordion .accordion-button:not(.collapsed)::after {
			background-image: url('../images/icon_minus.svg') !important;
		}

		.faq-accordion .accordion-button:not(.collapsed) {
			color: #333;
			background: #faf8f6;
		}

		.faq-accordion .accordion-body {
			padding: 24px 40px;
			font-size: 16px;
			line-height: 2;
		}

		@media (max-width: 991.98px) {
			.faq-main {
				padding-top: 122px;
			}
		}

		@media (max-width: 767.98px) {
			.faq-main {
				padding-top: 98px;
			}

			.faq-section {
				padding: 56px 0 80px;
			}

			.faq-section::before {
				left: -112px;
				top: 22px;
				width: 260px;
				height: 260px;
			}

			.faq-section::after,
			.faq-list::after {
				display: none;
			}

			.faq-shell {
				padding: 0;
			}

			.faq-heading {
				max-width: none;
				margin-bottom: 40px;
				padding: 0;
			}

			.faq-label {
				font-size: 16px;
				margin-bottom: 16px;
			}

			.faq-title {
				font-size: 28px;
				line-height: 1.3;
				letter-spacing: 0.02em;
				white-space: normal;
			}

			.faq-accordion .accordion-item {
				margin-bottom: 16px;
				border-width: 4px;
				border-radius: 16px;
			}

			.faq-accordion .accordion-button {
				padding: 24px 54px 24px 24px;
				font-size: 14px;
				line-height: 1.7;
			}

			.faq-accordion .accordion-button::after {
				right: 24px;
			}

			.faq-accordion .accordion-body {
				padding: 24px;
				font-size: 14px;
				line-height: 2;
			}
		}