/* RL FAQ Accordion */
.rl-faq { background: var(--rl-sand, #F1ECE2); }
.rl-faq__grid { display: grid; gap: 48px; }
@media (min-width: 960px) {
	.rl-faq__grid { grid-template-columns: var(--rl-faq-cols, .8fr 1.2fr); gap: 80px; }
	.rl-faq__grid--single { grid-template-columns: minmax(0, 1fr); }
}
.rl-faq__side { display: grid; gap: 24px; align-content: start; justify-items: start; min-width: 0; }
.rl-faq__card { display: grid; gap: 18px; width: 100%; margin-top: 12px; padding: 28px; background: var(--rl-ink, #0E0D0B); color: var(--rl-on-ink, #F4EFE5); }
.rl-faq__card-title { font: 500 24px/1.2 var(--rl-font-display, Georgia, serif); color: inherit; }
.rl-faq__card dl { display: grid; gap: 14px; margin: 0; }
.rl-faq__card dt { margin-bottom: 6px; font: 400 10px/1 var(--rl-font-mono, monospace); letter-spacing: .18em; text-transform: uppercase; color: var(--rl-gold-lt, #E8CD8A); }
.rl-faq__card dd { margin: 0; font-size: 16px; line-height: 1.5; }
.rl-faq__card dd a { color: inherit; border-bottom: 1px solid transparent; transition: border-color .3s, color .3s; }
.rl-faq__card dd a:hover { border-color: currentColor; }
.rl-faq__btn { justify-self: start; }

.rl-faq__list { min-width: 0; --rl-faq-num: 44px; }
.rl-faq__item { border-top: 1px solid var(--rl-line, #E2DACB); transition: background-color .3s; }
.rl-faq__item:last-child { border-bottom: 1px solid var(--rl-line, #E2DACB); }
.rl-faq__q {
	display: grid; grid-template-columns: var(--rl-faq-num) minmax(0, 1fr) 28px; gap: 12px; align-items: baseline;
	padding: 26px 0; list-style: none; cursor: pointer;
}
.rl-faq__q:not(:has(.rl-faq__num)) { grid-template-columns: minmax(0, 1fr) 28px; }
.rl-faq__q::-webkit-details-marker { display: none; }
.rl-faq__q::marker { content: ""; }
.rl-faq__num { font: 500 12px/1 var(--rl-font-mono, monospace); letter-spacing: .1em; color: var(--rl-gold-dk, #8C6A2D); }
.rl-faq__q-text { margin: 0; font: 500 clamp(19px, 1.7vw, 23px)/1.3 var(--rl-font-display, Georgia, serif); color: var(--rl-ink, #0E0D0B); transition: color .3s; }
.rl-faq__q:hover .rl-faq__q-text { color: var(--rl-gold-dk, #8C6A2D); }

.rl-faq__icon { position: relative; justify-self: end; align-self: center; width: 18px; height: 18px; color: var(--rl-ink, #0E0D0B); transition: transform .35s var(--rl-ease), color .3s; }
.rl-faq-icon-plus .rl-faq__icon::before, .rl-faq-icon-plus .rl-faq__icon::after {
	content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; transition: transform .35s var(--rl-ease);
}
.rl-faq-icon-plus .rl-faq__icon::after { transform: rotate(90deg); }
.rl-faq-icon-plus .rl-faq__item[open] .rl-faq__icon::after { transform: rotate(0); }
.rl-faq-icon-chevron .rl-faq__icon::before {
	content: ""; position: absolute; inset: 15% 25% 35%; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg);
}
.rl-faq-icon-chevron .rl-faq__item[open] .rl-faq__icon { transform: rotate(180deg); }
.rl-faq-icon-none .rl-faq__icon { display: none; }

.rl-faq__a { display: grid; gap: 12px; max-width: 68ch; padding: 0 40px 28px calc(var(--rl-faq-num) + 12px); color: #3E3A33; font-size: 17px; line-height: 1.65; }
.rl-faq__q:not(:has(.rl-faq__num)) + .rl-faq__a { padding-left: 0; }
.rl-faq__a p { margin: 0; }
.rl-faq__item[open] .rl-faq__a { animation: rl-faq-in .4s var(--rl-ease); }
@keyframes rl-faq-in { from { opacity: 0; transform: translateY(-6px); } }
@media (max-width: 767px) { .rl-faq__a { padding-left: 0; padding-right: 0; } }
