.faq-hero { width: min(100% - 40px, 900px); margin: 0 auto; padding: clamp(76px, 10vw, 130px) 0 50px; text-align: center; }
.faq-hero h1 { margin: 0; font-family: "Alice", serif; font-size: clamp(3rem, 7vw, 6rem); font-weight: 400; line-height: 0.98; letter-spacing: -0.05em; }
.faq-hero p:last-child { max-width: 620px; margin: 24px auto 0; color: var(--muted); }
.faq { width: min(100% - 40px, 900px); margin: 0 auto; padding-bottom: clamp(80px, 10vw, 140px); }
.faq-item { border-top: 1px solid rgba(214, 181, 109, 0.28); }
.faq-item:last-child { border-bottom: 1px solid rgba(214, 181, 109, 0.28); }
.faq-question {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  align-items: center;
  padding: 24px 0;
  border: 0;
  background: transparent;
  color: var(--ivory);
  cursor: pointer;
  font-family: "Alice", serif;
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  text-align: left;
}
.faq-toggle { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(214, 181, 109, 0.38); border-radius: 50%; color: var(--gold); font-family: "Nunito Sans", sans-serif; font-size: 1.2rem; transition: transform 180ms ease, background 180ms ease; }
.faq-item.active .faq-toggle { transform: rotate(45deg); background: rgba(214, 181, 109, 0.12); }
.faq-answer { padding: 0 58px 25px 0; color: var(--muted); }
.faq-answer p { margin: 0; }
.faq-answer ul { margin: 8px 0 0; padding-left: 20px; }
.faq-contact { padding: 0 20px 100px; }
@media (max-width: 560px) { .faq-answer { padding-right: 0; } }
