.wx-faq__top,
.wx-faq__grid {
	display: grid;
	grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr);
	column-gap: 4rem;
	align-items: start;
	min-width: 0;
	max-width: 100%;
}

.wx-faq__grid { margin-top: 2.8rem; }

.wx-faq__grid > *,
.wx-faqlist,
.wx-faqitem,
.wx-faqitem__a {
	min-width: 0;
	max-width: 100%;
}

.wx-faq__title {
	margin: 0;
	font-size: clamp(3rem, 5.4vw, 5.4rem);
	font-weight: 600;
	line-height: 0.92;
	letter-spacing: -0.05em;
}

.wx-faq__title a {
	color: inherit;
	text-decoration: none;
}

.wx-faq__aside {
	max-width: 22.5rem;
	margin: 0.4rem 0 0;
	font-size: clamp(1.25rem, 1.6vw, 1.7rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.03em;
}

.wx-faq__aside span { color: var(--wx-muted); }

.wx-faqitem__line {
	height: 1px;
	background: color-mix(in srgb, var(--wx-text) 22%, transparent);
}

.wx-faqitem__q {
	display: flex;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	/* Beat Elementor kit `.elementor-kit-4 button` primary fill. */
	padding: 2.6rem 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	color: var(--wx-text) !important;
	text-align: left;
	white-space: normal !important;
	cursor: pointer;
	font-family: var(--wx-font) !important;
	font-size: clamp(1.25rem, 1.6vw, 1.5rem) !important;
	font-weight: 700 !important;
	line-height: 1.2;
	letter-spacing: -0.03em;
	transition: padding 0.3s cubic-bezier(0.23, 0.65, 0.74, 1.09);
}

.wx-faqitem__q > span:first-child {
	min-width: 0;
	flex: 1 1 auto;
	white-space: normal;
	overflow-wrap: break-word;
}

.wx-faqitem.is-open .wx-faqitem__q { padding-bottom: 1.1rem; }

.wx-faqitem__mark {
	position: relative;
	flex: none;
	width: 24px;
	height: 24px;
}

.wx-faqitem__mark svg {
	position: absolute;
	left: 3px;
	top: 3px;
	width: 18px;
	height: 18px;
	fill: currentColor;
	transition: opacity 0.25s ease;
}

.wx-faqitem__x { opacity: 0; }
.wx-faqitem.is-open .wx-faqitem__x { opacity: 1; }
.wx-faqitem.is-open .wx-faqitem__plus { opacity: 0; }

.wx-faqitem__a {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.45s cubic-bezier(0.23, 0.65, 0.74, 1.09);
}

.wx-faqitem__a p {
	overflow: hidden;
	overflow-wrap: break-word;
	word-wrap: break-word;
	max-width: min(40rem, 100%);
	margin: 0;
	color: var(--wx-muted);
	font-size: 1.05rem;
	line-height: 1.45;
}

.wx-faqitem.is-open .wx-faqitem__a { grid-template-rows: 1fr; }
.wx-faqitem.is-open .wx-faqitem__a p { padding-bottom: 2.4rem; }

.wx-faq__more {
	display: inline-flex;
	margin-top: 1.8rem;
	padding-bottom: 0.2rem;
	font-family: var(--wx-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.wx-faq__top,
	.wx-faq__grid { grid-template-columns: minmax(0, 1fr); row-gap: 1.4rem; }
	.wx-faq__grid { margin-top: 1.6rem; }
	.wx-faq__aside { max-width: 100%; }
	.wx-faq__title { max-width: 100%; overflow-wrap: break-word; }
	.wx-faqitem__q {
		padding: 1.5rem 0;
		gap: 1rem;
		max-width: 100%;
	}
	.wx-faqitem__q > span:first-child {
		min-width: 0;
		flex: 1 1 auto;
		overflow-wrap: break-word;
	}
	.wx-faqitem__a p { max-width: 100%; }
}
