.r2faq {
	--r2-ink: #082a1c;
	--r2-lime: #cdff8c;
	--r2-lime-hover: #bff26f;
	--r2-muted: #5c6b63;
	--r2-line: #d9ddd6;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 8fr);
	gap: 64px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 56px 32px;
	color: var(--r2-ink);
	font-family: inherit;
}
.r2faq *, .r2faq *::before, .r2faq *::after { box-sizing: border-box; }

.r2faq__intro { position: sticky; top: 120px; align-self: start; }
.r2faq__pill {
	display: inline-block;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--r2-lime);
	color: var(--r2-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}
.r2faq .r2faq__title {
	margin: 28px 0 0;
	font-size: clamp(40px, 4.6vw, 66px);
	line-height: 1.05;
	letter-spacing: -0.04em;
	font-weight: 500;
	color: var(--r2-ink);
}
.r2faq__subtitle {
	margin: 36px 0 0;
	max-width: 460px;
	font-size: 20px;
	line-height: 1.6;
	color: var(--r2-muted);
}
.r2faq .r2faq__button {
	display: inline-block;
	margin-top: 40px;
	padding: 20px 32px;
	border-radius: 999px;
	background: var(--r2-lime);
	color: var(--r2-ink);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .2s ease, transform .2s ease;
}
.r2faq .r2faq__button:hover, .r2faq .r2faq__button:focus-visible { background: var(--r2-lime-hover); color: var(--r2-ink); transform: translateY(-1px); }

.r2faq__list { border-top: 1px solid var(--r2-line); }
.r2faq__item { border-bottom: 1px solid var(--r2-line); }
.r2faq .r2faq__q { margin: 0; font-size: inherit; line-height: inherit; font-weight: inherit; }
.r2faq .r2faq__toggle {
	all: unset;
	box-sizing: border-box;
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 36px 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 26px;
	line-height: 1.35;
	letter-spacing: -0.02em;
	font-weight: 400;
	color: var(--r2-ink);
	text-align: left;
}
.r2faq .r2faq__toggle:focus-visible { outline: 2px solid var(--r2-ink); outline-offset: 4px; }
.r2faq__icon { position: relative; flex: 0 0 24px; width: 24px; height: 24px; }
.r2faq__icon::before, .r2faq__icon::after {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 24px;
	height: 2px;
	margin-top: -1px;
	background: currentColor;
	transition: transform .3s ease;
}
.r2faq__icon::after { transform: rotate(90deg); }
.r2faq__item.is-open .r2faq__icon::after { transform: rotate(0deg); }

.r2faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.r2faq__item.is-open .r2faq__a { grid-template-rows: 1fr; }
.r2faq__a-inner { overflow: hidden; max-width: 760px; font-size: 18px; line-height: 1.95; color: var(--r2-ink); }
.r2faq__a-inner > :first-child { margin-top: 0; }
.r2faq__a-inner > :last-child { margin-bottom: 40px; }
.r2faq__a-inner p { margin: 0 0 16px; }
.r2faq__a-inner strong { font-weight: 600; }
.r2faq__a-inner table { width: 100%; margin: 8px 0 20px; border-collapse: collapse; font-size: 16px; line-height: 1.5; }
.r2faq__a-inner th, .r2faq__a-inner td { padding: 12px 14px; border-bottom: 1px solid var(--r2-line); text-align: left; vertical-align: top; }
.r2faq__a-inner thead th { background: var(--r2-ink); color: #fff; font-weight: 500; }
.r2faq__a-inner tbody th { font-weight: 600; }

/* No-JS fallback: everything readable */
.no-js .r2faq__a { grid-template-rows: 1fr; }

@media (max-width: 1024px) {
	.r2faq { grid-template-columns: 1fr; gap: 40px; padding: 48px 24px; }
	.r2faq__intro { position: static; }
	.r2faq .r2faq__toggle { font-size: 22px; padding: 28px 0; }
}
@media (max-width: 600px) {
	.r2faq { padding: 40px 20px; }
	.r2faq__subtitle { font-size: 17px; margin-top: 24px; }
	.r2faq .r2faq__button { margin-top: 28px; padding: 16px 26px; font-size: 16px; }
	.r2faq .r2faq__toggle { font-size: 19px; gap: 20px; padding: 24px 0; }
	.r2faq__icon { flex-basis: 18px; width: 18px; height: 18px; }
	.r2faq__icon::before, .r2faq__icon::after { width: 18px; }
	.r2faq__a-inner { font-size: 16px; line-height: 1.75; }
	.r2faq__a-inner table { display: block; overflow-x: auto; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.r2faq__a, .r2faq__icon::before, .r2faq__icon::after { transition: none; }
}
