.faq-section { padding: 100px 0; background: var(--white); }
.faq-section .section-header { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.faq-section .section-header .eyebrow,
.faq-section .section-header .divider { margin-left: auto; margin-right: auto; }
.faq-section .section-header .divider { margin: 16px auto 22px; }
.faq-section h2 { font-family: 'DM Serif Display', serif; color: var(--navy); line-height: 1.15; font-weight: 400; }
.faq-section h2 em { font-style: italic; }
.faq-section .section-sub { font-size: 1rem; line-height: 1.7; color: var(--navy-mid); margin-top: 16px; }
.faq-section .faq-wrap { max-width: 880px; margin: 0 auto; }
.faq-section .faq-icon { width: 18px !important; height: 18px !important; flex-shrink: 0; color: var(--bronze); transition: transform .3s; }
.faq-section .faq-btn[aria-expanded="true"] .faq-icon { transform: rotate(45deg); }
.faq-section .faq-btn { width: 100%; display: flex; align-items: center; padding: 22px 0; font-family: 'DM Sans', sans-serif; font-size: 1rem; font-weight: 700; color: var(--navy); background: none; border: none; cursor: pointer; text-align: left; }
.faq-section .faq-btn .faq-icon { margin-left: auto !important; padding-left: 16px; box-sizing: content-box; }
.faq-section .faq-btn:hover { color: var(--bronze); }
.faq-section .faq-item { border-bottom: 1px solid var(--border); }
.faq-section .faq-body { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.4,0,.2,1); }
.faq-section .faq-body p { padding-bottom: 22px; color: var(--navy-mid); line-height: 1.75; font-size: .9375rem; }
.faq-section .faq-body p strong { color: var(--navy); font-weight: 600; }
.faq-section .faq-body p a { color: var(--bronze); text-decoration: none; font-weight: 500; }
.faq-section .faq-body p a:hover { text-decoration: underline; }
@media (max-width: 720px) {
  .faq-section { padding: 64px 0; }
  }