/* FAQ (template: rails 120/40 row gap 64; sticky intro max 380 top 120) */
.fq__rails { padding: 120px var(--rail-pad); display: flex; align-items: flex-start; gap: 64px; }
.fq__intro { flex: 1 0 0; max-width: 380px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; position: sticky; top: 120px; }
.fq__list { flex: 1 0 0; min-width: 0; }
@media (max-width: 1199.98px) { .fq__rails { flex-direction: column; gap: 40px; padding: 96px var(--rail-pad); } .fq__intro { position: relative; top: auto; max-width: 560px; flex: none; width: 100%; } .fq__list { flex: none; width: 100%; } }
@media (max-width: 809.98px) { .fq__rails { padding: 72px var(--rail-pad); } }
.ac__item { border-bottom: 1px solid var(--line); }
.ac__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; color: var(--text); text-align: left; font: 600 18px/1.35 var(--f-display); letter-spacing: -0.015em; }
.ac__btn span:first-child { text-wrap: balance; }
.ac__icon { flex-shrink: 0; width: 30px; height: 30px; border-radius: 30px; border: 1px solid rgba(250, 250, 249, 0.12); display: grid; place-items: center; transition: border-color 200ms ease; }
.ac__icon svg { width: 12px; height: 12px; transition: transform 320ms cubic-bezier(0.23, 1, 0.32, 1); }
.ac__item.is-open .ac__icon { border-color: rgba(250, 250, 249, 0.28); }
.ac__item.is-open .ac__icon svg { transform: rotate(45deg); }
@media (hover: hover) and (pointer: fine) { .ac__btn:hover .ac__icon { border-color: rgba(250, 250, 249, 0.32); } }
.ac__panel { overflow: hidden; height: 0; transition: height 0.42s var(--spring); }
.ac__panel p { margin: 0; padding: 0 56px 26px 0; font-size: 15px; line-height: 1.6; color: var(--muted); text-wrap: pretty; opacity: 0; transform: translateY(-6px); transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0.06s, transform 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0.06s; }
.ac__item.is-open .ac__panel p { opacity: 1; transform: none; }
@media (max-width: 560px) { .ac__btn { font-size: 16px; padding: 20px 0; } }
