/* A question index and answer spread, inspired by an editorial consultation notebook. */
#faq .r-faq { max-width: 1200px; }
#faq h2 { margin-bottom: 18px; }
#faq .accordion[hidden], #faq .qa-question[hidden] { display: none; }
#faq .qa-intro { margin: 0 0 32px; color: #594b53; font-size: 16px; }
#faq .qa-topics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; border-top: 1px solid #c9a9b7; border-bottom: 1px solid #c9a9b7; }
#faq button { font-family: inherit; }
#faq .qa-topic { display: flex; align-items: center; gap: 16px; position: relative; min-height: 88px; padding: 18px 24px; border: 0; border-right: 1px solid #decbd3; background: #fff; color: #382c33; text-align: left; font-size: 18px; font-weight: 700; cursor: pointer; transition: background .2s; }
#faq .qa-topic:last-child { border-right: 0; }
#faq .qa-topic > span { color: #a83c61; font-size: 28px; font-family: Georgia,serif; font-weight: 400; }
#faq .qa-topic[aria-pressed="true"] { background: #fff0f5; box-shadow: inset 0 -4px #a83c61; }
#faq .qa-topic:hover { background: #fff0f5; }
#faq .qa-spread { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr); gap: 0; margin-top: 24px; border: 1px solid #decbd3; border-radius: 4px 28px 28px 4px; overflow: hidden; background: #fff; box-shadow: 0 16px 48px #5833450b; }
#faq .qa-index { padding: 30px 24px; background: #fff9fb; border-right: 1px solid #decbd3; }
#faq .qa-caption { margin: 0; color: #6d4556; font-size: 13px; font-weight: 700; letter-spacing: .13em; }
#faq .qa-caption > span { display: block; margin-top: 6px; color: #594b53; font-size: 14px; letter-spacing: .06em; font-weight: 400; }
#faq .qa-questions { margin-top: 24px; }
#faq .qa-question { width: 100%; display: grid; grid-template-columns: 28px minmax(0,1fr) 18px; gap: 12px; align-items: start; min-height: 80px; padding: 20px 12px; border: 0; border-top: 1px solid #decbd3; border-left: 3px solid transparent; color: #382c33; background: transparent; text-align: left; font-size: 16px; line-height: 1.8; cursor: pointer; transition: background .2s, border-color .2s; }
#faq .qa-question:last-child { border-bottom: 1px solid #decbd3; }
#faq .qa-question[aria-pressed="true"] { border-left-color: #a83c61; background: #f9e6ee; font-weight: 700; }
#faq .qa-question:hover { background: #f9e6ee; }
#faq .qa-question-number { color: #a83c61; font-family: Georgia,serif; font-size: 18px; font-weight: 400; }
#faq .qa-question-arrow { color: #a83c61; transition: transform .2s; }
#faq .qa-question:hover .qa-question-arrow { transform: translate(2px,-2px); }
#faq .qa-answer { display: flex; flex-direction: column; min-width: 0; min-height: 410px; padding: 32px 40px 24px; background: #fff; }
#faq .qa-answer-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
#faq .qa-page-number { color: #efdde5; font-family: Georgia,serif; font-size: 96px; line-height: 1; font-style: italic; }
#faq .qa-answer h3 { margin: 4px 0 22px; color: #382c33; font-size: clamp(22px,2.15vw,30px); line-height: 1.65; font-weight: 600; letter-spacing: .02em; }
#faq .qa-answer-text { margin: 0 0 30px; color: #382c33; font-size: 17px; line-height: 2; }
#faq .qa-pagination { display: flex; justify-content: flex-end; align-items: center; gap: 20px; margin-top: auto; padding-top: 18px; border-top: 1px solid #decbd3; }
#faq .qa-pagination button { width: 48px; height: 48px; border: 1px solid #c9a9b7; border-radius: 50%; color: #6d4556; background: #fff; font-size: 22px; cursor: pointer; transition: background .2s, color .2s; }
#faq .qa-pagination button:hover { color: #fff; background: #a83c61; }
#faq .qa-progress { color: #6d4556; font-size: 14px; letter-spacing: .12em; font-variant-numeric: tabular-nums; }
#faq .qa-notebook button:focus-visible, #faq .qa-answer:focus-visible { outline: 3px solid #a83c61; outline-offset: -4px; }
#faq .qa-turn { animation: qa-page-in .28s ease-out; }
@keyframes qa-page-in { from { opacity: .45; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  #faq .qa-topic { min-height: 92px; padding: 14px 10px; flex-direction: column; align-items: flex-start; gap: 6px; font-size: 15px; line-height: 1.5; }
  #faq .qa-topic > span { font-size: 24px; }
  #faq .qa-spread { grid-template-columns: 1fr; border-radius: 4px 20px 20px 4px; margin-top: 18px; }
  #faq .qa-index { border-right: 0; border-bottom: 1px solid #decbd3; padding: 22px 18px; }
  #faq .qa-caption > span { display: inline; margin-left: 12px; }
  #faq .qa-questions { margin-top: 16px; }
  #faq .qa-question { min-height: 64px; padding: 14px 10px; gap: 8px; font-size: 16px; }
  #faq .qa-answer { min-height: 360px; padding: 24px; }
  #faq .qa-page-number { font-size: 64px; }
  #faq .qa-answer-text { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { #faq .qa-turn { animation: none; } #faq .qa-notebook * { transition: none; } }
html.asb-motion-reduced #faq .qa-turn { animation: none; }
html.asb-motion-reduced #faq .qa-notebook * { transition: none; }