.hfs-faq-hero {
  min-height: 540px;
  background-image:
    linear-gradient(90deg, rgba(23,26,27,.96) 0%, rgba(23,26,27,.82) 45%, rgba(23,26,27,.42) 100%),
    url('/assets/images/services_hero.png');
  background-position: center;
}
.hfs-faq-list { background: var(--hfs-cream); }
.hfs-faq-group + .hfs-faq-group { margin-top: 72px; }
.hfs-faq-items { display: grid; gap: 14px; max-width: 920px; }
.hfs-faq-item { background: #fff; border: 1px solid var(--hfs-line); border-radius: var(--hfs-radius-card); box-shadow: var(--hfs-shadow-soft); overflow: hidden; }
.hfs-faq-item summary { cursor: pointer; list-style: none; padding: 22px 64px 22px 24px; color: var(--hfs-ink); font-family: var(--hfs-heading); font-size: 1.35rem; font-weight: 600; position: relative; }
.hfs-faq-item summary::-webkit-details-marker { display: none; }
.hfs-faq-item summary::after { content: '+'; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); color: var(--hfs-green-deep); font-family: var(--hfs-body); font-size: 1.5rem; }
.hfs-faq-item[open] summary::after { content: '−'; }
.hfs-faq-item div { padding: 0 24px 22px; color: var(--hfs-muted); }
.hfs-faq-item p { margin: 0; max-width: 780px; }
@media (max-width: 640px) { .hfs-faq-item summary { padding: 18px 54px 18px 18px; font-size: 1.18rem; } .hfs-faq-item div { padding: 0 18px 18px; } }
