/* ════════════════ FAQ — open ledger rows ════════════════ */
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 7vw, 120px); align-items: start; }
.faq-grid .faq-head { position: sticky; top: 140px; }
.faq { border-top: 1px solid var(--hair); }
.qa { border-bottom: 1px solid var(--hair); }
.qa h3 { margin: 0; }
.qa button {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; text-align: left;
  padding: 20px 0; background: none; border: 0; cursor: pointer;
  font-family: var(--display); font-weight: 900; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.25; letter-spacing: .01em; color: #fff; transition: color .3s;
}
.qa button:hover { color: var(--mint); }
.qa .plus { flex-shrink: 0; width: 30px; height: 30px; border-radius: 9px; box-shadow: inset 0 0 0 1px var(--hair); display: grid; place-items: center; color: var(--mint); transition: transform .5s var(--ease), background .3s; }
.qa .plus svg { width: 12px; height: 12px; }
.qa button[aria-expanded="true"] .plus { transform: rotate(45deg); background: rgba(135,189,159,.1); }
.qa .ans { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease); }
.qa .ans > div { overflow: hidden; }
.qa .ans p { padding: 0 60px 24px 0; color: var(--ink-2); font-size: 16px; line-height: 1.7; opacity: 0; transform: translateY(-6px); transition: opacity .5s, transform .5s var(--ease); }
.qa.open .ans { grid-template-rows: 1fr; }
.qa.open .ans p { opacity: 1; transform: none; }

@media (max-width: 960px) {
  .faq-grid { grid-template-columns: 1fr; }
  .faq-grid .faq-head { position: relative; top: 0; }
}
@media (max-width: 560px) {
  .qa .ans p { padding-right: 0; }
}
