.faq-cats { display:flex; gap:9px; flex-wrap:wrap; margin-bottom:48px; }
.faq-cats button { padding:9px 16px; border:1px solid var(--line); border-radius:999px; font-size:12px; letter-spacing:.1em; transition:all .25s; background:var(--paper); }
.faq-cats button:hover { border-color:var(--accent); color:var(--accent); }
.faq-cats button.active { background:var(--ink); color:var(--paper); border-color:var(--ink); }

.faq-group { margin-bottom:56px; }
.faq-group-title { font-family: var(--latin); font-weight: 600; font-size:12px; letter-spacing:.18em; color:var(--accent); margin:0 0 20px; display:flex; align-items:center; gap:10px; }
.faq-group-title::before { content:""; flex:1; height:1px; background:var(--line); }
.faq-group-title::after { content:""; flex:1; height:1px; background:var(--line); }

.faq-item { border-bottom:1px solid var(--line); }
.faq-item:first-of-type { border-top:1px solid var(--line); }
.faq-q { width:100%; text-align:left; padding:22px 0; display:flex; align-items:flex-start; gap:18px; cursor:pointer; }
.faq-q .ql { font-family: var(--latin); font-weight: 600; font-size:18px; color:var(--accent); line-height:1; flex-shrink:0; margin-top:2px; }
.faq-q .qt { font-family:var(--serif); font-size:17px; font-weight:500; flex:1; text-align:left; line-height:1.5; }
.faq-q .icon { font-size:18px; color:var(--accent); transition:transform .3s; flex-shrink:0; margin-top:2px; }
.faq-item.open .faq-q .icon { transform:rotate(45deg); }
.faq-a { display:none; padding:0 0 24px 42px; font-size:14px; line-height:2; color:var(--ink-soft); }
.faq-a strong { color:var(--ink); font-weight:600; }
.faq-item.open .faq-a { display:block; }
