/* ── FAQ page ─────────────────────────────────────────────── */
/* No video banner here, so the default .page-hero rhythm is too airy —
   pull the eyebrow up and tighten the gap before the accordion. */
.faq-hero { padding: calc(var(--nav-h, 66px) + clamp(24px, 5vh, 52px)) 0 clamp(18px, 3vh, 36px); }
.faq-section { padding: clamp(10px, 2.5vh, 28px) 0 clamp(56px, 8vh, 100px); }
.faq-list    { max-width: 780px; margin: 0 auto; }

.faq-item {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  margin-bottom: 12px;
  overflow: hidden;
  transition: border-color 0.25s, box-shadow 0.25s;
}
.faq-item[open] {
  border-color: rgba(138,170,124,0.5);
  box-shadow: 0 14px 34px rgba(28,36,25,0.08);
}
.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  list-style: none;
  padding: 22px 24px;
  font-weight: 600;
  font-size: 16px;
  color: var(--ink);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-ic { color: var(--sage-deep); flex-shrink: 0; transition: transform 0.3s var(--ease); }
.faq-item[open] .faq-ic { transform: rotate(45deg); }
.faq-item p { padding: 0 24px 22px; font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); }

/* Rich answer body (admin-authored HTML: lead paragraph, key phrase, bullet groups) */
.faq-answer { padding: 0 24px 22px; font-size: 14.5px; line-height: 1.7; color: var(--ink-soft); }
.faq-answer > :first-child { margin-top: 0; }
.faq-answer > :last-child { margin-bottom: 0; }
.faq-answer p { padding: 0; margin: 0 0 14px; font-size: inherit; line-height: inherit; color: inherit; }
.faq-answer strong { color: var(--ink); font-weight: 600; }
.faq-answer ul { list-style: none; margin: 0 0 16px; padding: 0; }
.faq-answer li { position: relative; padding: 0 0 0 20px; margin-bottom: 7px; }
.faq-answer li::before { content: ""; position: absolute; left: 4px; top: 0.62em; width: 5px; height: 5px; border-radius: 50%; background: var(--sage-deep); }
.faq-answer .faq-lead-in { font-weight: 600; color: var(--ink); margin-bottom: 8px; }

.faq-empty { max-width: 640px; margin: 0 auto; text-align: center; color: var(--ink-soft); line-height: 1.7; }
.faq-close { text-align: center; }

@media (max-width: 640px) {
  .faq-hero { padding: calc(var(--nav-h, 58px) + clamp(18px, 4vh, 36px)) 0 clamp(14px, 2.5vh, 26px); }
  .faq-section { padding: clamp(8px, 2vh, 20px) 0 clamp(48px, 7vh, 72px); }
  .faq-item { margin-bottom: 10px; border-radius: 14px; }
  .faq-item summary { padding: 16px 18px; font-size: 14px; gap: 12px; }
  .faq-item summary span { font-weight: 500; }
  .faq-item p { padding: 0 18px 18px; font-size: 13.5px; line-height: 1.65; }
  .faq-answer { padding: 0 18px 18px; font-size: 13.5px; line-height: 1.65; }
}
