.faq-page { min-height: 70vh; }
.faq-hero { padding-bottom: 2rem; }
.faq-hero h1 { max-width: none; margin-bottom: 1rem; font-size: clamp(2.6rem, 6vw, 5rem); }
.faq-hero > p:last-child { max-width: 720px; margin: 0 auto; color: var(--muted); font-size: 1.08rem; }
.faq-section { max-width: 960px; margin: 0 auto; padding-top: 1.5rem; padding-bottom: 3rem; }
.faq-list { display: grid; gap: 0.9rem; }
.faq-item { overflow: hidden; background: rgba(23, 21, 18, 0.96); border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: 0.7rem; box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18); }
.faq-item summary { position: relative; padding: 1.25rem 3.5rem 1.25rem 1.35rem; color: var(--text); font-family: Cinzel, Georgia, serif; font-size: 1.08rem; font-weight: 700; line-height: 1.35; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; position: absolute; top: 50%; right: 1.35rem; color: var(--gold-light); font-family: Inter, Arial, sans-serif; font-size: 1.6rem; font-weight: 400; transform: translateY(-50%); }
.faq-item[open] summary::after { content: '−'; }
.faq-item summary:hover { color: var(--gold-light); }
.faq-item summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -3px; }
.faq-answer { padding: 0 1.35rem 1.35rem; border-top: 1px solid var(--line); }
.faq-answer p { margin: 1rem 0 0; color: var(--muted); }
.faq-contact { padding-top: 3rem; padding-bottom: 6rem; }
.faq-contact p { color: var(--muted); }
.faq-contact .button { margin-top: 0.75rem; }
@media (max-width: 700px) {
  .faq-hero { padding-top: 3rem; }
  .faq-section { padding-left: 1rem; padding-right: 1rem; }
  .faq-item summary { padding: 1.1rem 3rem 1.1rem 1rem; font-size: 1rem; }
  .faq-item summary::after { right: 1rem; }
  .faq-answer { padding: 0 1rem 1.1rem; }
}
