/* ==========================================================
   FAQ — índice fijo lateral + acordeones <details>
   ========================================================== */
.faq-layout { display: grid; grid-template-columns: 280px 1fr; gap: clamp(40px, 7vw, 120px); align-items: start; }
.faq-index { position: sticky; top: 120px; }
.faq-index .eyebrow { margin-bottom: 20px; }
.faq-index ol { counter-reset: t; }
.faq-index li { counter-increment: t; border-top: 1px solid rgba(21,32,42,.14); }
.faq-index li:last-child { border-bottom: 1px solid rgba(21,32,42,.14); }
.faq-index a { display: flex; gap: 16px; padding: 14px 0; font-family: var(--serif); font-size: 22px; transition: color .3s; }
.faq-index a::before { content: "0" counter(t); font-family: var(--sans); font-size: 10px; letter-spacing: .3em; color: var(--text-soft); padding-top: 8px; }
.faq-index a:hover { color: #b8862a; }
.faq-quick { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 44px; }
.faq-quick b { display: block; font-family: var(--serif); font-weight: 400; font-size: 44px; line-height: 1; color: #b8862a; }
.faq-quick span { font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: var(--text-soft); }

.faq-group { scroll-margin-top: 110px; }
.faq-group + .faq-group { margin-top: clamp(64px, 8vw, 110px); }
.faq-title {
  display: flex; align-items: baseline; gap: 20px;
  font-family: var(--serif); font-weight: 400; font-size: clamp(36px, 4vw, 58px); line-height: 1;
  margin-bottom: 24px;
}
.faq-title span { font-family: var(--sans); font-size: 11px; letter-spacing: .3em; color: #b8862a; }

.qa { border-top: 1px solid rgba(21,32,42,.14); }
.qa:last-child { border-bottom: 1px solid rgba(21,32,42,.14); }
.qa summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding: 22px 0;
  font-size: 18px; font-weight: 400;
  transition: color .3s;
}
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after {
  content: ""; flex: 0 0 auto; width: 14px; height: 14px;
  background:
    linear-gradient(currentColor, currentColor) center / 14px 1px no-repeat,
    linear-gradient(currentColor, currentColor) center / 1px 14px no-repeat;
  color: #b8862a;
  transition: transform .5s var(--ease-out);
}
.qa[open] summary::after { transform: rotate(45deg); }
.qa summary:hover { color: #b8862a; }
.qa p { padding: 0 60px 26px 0; max-width: 64ch; color: var(--text-soft); line-height: 1.75; }
.qa p a { color: var(--text); border-bottom: 1px solid rgba(184,134,42,.6); }

.faq-contact { font-family: var(--serif); font-size: clamp(22px, 2.4vw, 32px); opacity: 1 !important; }
.faq-contact a:hover { color: var(--gold); }

@media (max-width: 900px) {
  .faq-layout { grid-template-columns: 1fr; }
  .faq-index { position: static; }
  .faq-quick { margin-top: 28px; }
}
@media (max-width: 700px) {
  .qa summary { font-size: 16px; padding: 18px 0; }
  .qa p { padding-right: 0; }
}
