/* SWD FAQ — sticky heading left, smooth accordion right. */
.swd-faq .fq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 40px 72px; align-items: start; }
.swd-faq .fq__side { position: sticky; top: 110px; }
.swd-faq .fq__side .ih { margin-bottom: 0; }
.swd-faq .fq__sidetext { margin-top: 28px; color: var(--muted); font-size: 16px; }
.swd-faq .fq__sidebtn { margin-top: 14px; }
.swd-faq .fq__list { border-radius: 28px; background: var(--card); box-shadow: inset 0 0 0 1px var(--edge); padding: 8px 30px; }
.swd-faq .fq + .fq { box-shadow: inset 0 1px 0 var(--edge); }
.swd-faq .fq h3 { margin: 0; font-size: inherit; letter-spacing: inherit; }
.swd-faq .fq__q { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 20px; padding: 24px 0; background: none; border: 0; text-align: left; white-space: normal; cursor: pointer; font-size: 18.5px; font-weight: 500; line-height: 1.35; letter-spacing: -.015em; color: #fff; }
.swd-faq .fq__q:hover span { color: var(--a); }
.swd-faq .fq__q i { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--edge); transition: background .25s, transform .3s; }
.swd-faq .fq__q i::before, .swd-faq .fq__q i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.6px; margin: -.8px 0 0 -6px; background: currentColor; border-radius: 2px; transition: transform .3s; }
.swd-faq .fq__q i::after { transform: rotate(90deg); }
.swd-faq .fq.is-open .fq__q i { background: var(--a); color: var(--ink); transform: rotate(180deg); }
.swd-faq .fq.is-open .fq__q i::after { transform: rotate(0deg); }
.swd-faq .fq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s var(--ease, cubic-bezier(.2, .7, .1, 1)); }
.swd-faq .fq__a > div { overflow: hidden; }
.swd-faq .fq.is-open .fq__a { grid-template-rows: 1fr; }
.swd-faq .fq__a p { padding: 0 54px 26px 0; font-size: 16.5px; line-height: 1.6; color: var(--muted); }

@media (max-width: 980px) {
	.swd-faq .fq__grid { grid-template-columns: minmax(0, 1fr); }
	.swd-faq .fq__side { position: static; }
}
@media (max-width: 640px) {
	.swd-faq .fq__list { padding: 4px 20px; border-radius: 24px; }
	.swd-faq .fq__q { font-size: 17px; padding: 20px 0; }
	.swd-faq .fq__a p { padding-right: 0; font-size: 16px; }
}
