
:root {
  --off-white: #faf9f7;
  --charcoal: #2d2d2d;
  --charcoal-dark: #1a1a1a;
  --accent: #b8866b;
  --accent-light: #d4a98a;
  --text-secondary: #6b6560;
  --text-light: #9a928a;
  --transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* ===== Page Content ===== */
.section { max-width: 800px; margin: 0 auto; padding: 48px 20px; }
.section h2 { font-size: 1.2rem; font-weight: 500; color: var(--charcoal); margin-bottom: 24px; padding-bottom: 8px; border-bottom: 1px solid var(--accent); letter-spacing: 0.04em; }
.cat { font-size: 1rem; color: var(--accent); margin: 32px 0 16px; padding-left: 12px; border-left: 4px solid var(--accent); font-weight: 500; }
.faq { background: #fff; border-radius: 8px; margin-bottom: 12px; border: 1px solid #e8e3db; overflow: hidden; }
.faq summary { padding: 16px 20px; font-size: .9rem; font-weight: 500; color: var(--charcoal); cursor: pointer; list-style: none; }
.faq summary::before { content: "Q. "; color: var(--accent); }
.faq summary::-webkit-details-marker { display: none; }
.faq[open] summary { border-bottom: 1px solid #e8e3db; }
.faq .answer { padding: 16px 20px; font-size: .85rem; color: var(--text-secondary); }
.faq .answer::before { content: "A. "; color: var(--accent); font-weight: 500; }
