.home-faq-section { padding: 4rem 0; background: #fff; scroll-margin-top: 110px; }
.home-faq-header { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 3rem; margin-bottom: 2.8rem; }
.home-faq-header h2 { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 3.1vw, 2.85rem); font-weight: 500; line-height: 1.2; letter-spacing: -.03em; color: #342c24; margin: 0; }
.home-faq-header p { color: #8c8175; font-size: .94rem; line-height: 1.85; margin: .35rem 0 0; }
.home-faq-accordion { border-top: 1px solid #e5ded6; --bs-accordion-border-width: 0; --bs-accordion-border-radius: 0; --bs-accordion-inner-border-radius: 0; --bs-accordion-bg: #fff; }
.home-faq-accordion .accordion-item { border: 0; border-bottom: 1px solid #e5ded6; border-radius: 0; background: transparent; }
.home-faq-accordion .accordion-header { margin: 0; }
.home-faq-accordion .accordion-button { gap: 1.5rem; padding: 1.6rem 0; color: #40372e; background: transparent; box-shadow: none; font-family: 'Playfair Display', serif; font-size: 1.15rem; font-weight: 500; line-height: 1.5; border-radius: 0; }
.home-faq-accordion .accordion-button > span:first-child { flex: 1; }
.home-faq-accordion .accordion-button::after { display: none; }
.home-faq-accordion .accordion-button:not(.collapsed) { color: #826039; background: transparent; box-shadow: none; }
.home-faq-accordion .accordion-button:hover { color: #826039; }
.home-faq-accordion .accordion-button:focus { box-shadow: none; }
.home-faq-accordion .accordion-button:focus-visible { outline: 2px solid #b89a6d; outline-offset: 4px; border-radius: 4px; }
.home-faq-toggle { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: #f8f5f1; }
.home-faq-toggle::after { content: ''; width: 6px; height: 6px; border-right: 1px solid #8a7966; border-bottom: 1px solid #8a7966; transform: rotate(45deg); margin-top: -3px; transition: transform .2s; }
.home-faq-accordion .accordion-button:not(.collapsed) .home-faq-toggle::after { transform: rotate(225deg); margin-top: 3px; }
.home-faq-accordion .accordion-body { padding: 0 3.7rem 1.6rem 0; color: #817466; background: transparent; font-size: .9rem; line-height: 1.9; }
.home-faq-accordion .accordion-body a { color: #8a653e; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767.98px) {
    .home-faq-section { padding: 3rem 0; }
    .home-faq-header { grid-template-columns: minmax(0,1fr); gap: 1rem; margin-bottom: 2rem; }
    .home-faq-header h2 { font-size: 2rem; }
    .home-faq-header p { font-size: .85rem; margin-top: 0; }
    .home-faq-accordion .accordion-button { font-size: 1.05rem; padding: 1.3rem 0; gap: 1rem; }
    .home-faq-accordion .accordion-body { padding-right: 0; font-size: .85rem; }
}
@media (prefers-reduced-motion: reduce) { .home-faq-toggle::after { transition: none; } }
