.faq-section { order: 6; padding: 92px 0 104px; background: #f5f7f6; }
.faq-container { width: min(100% - 48px, 900px); margin: 0 auto; }
.faq-header { position: relative; max-width: 680px; margin-bottom: 34px; padding-left: 18px; }
.faq-header::before { position: absolute; top: 3px; bottom: 4px; left: 0; width: 3px; border-radius: 3px; background: linear-gradient(180deg, #72e6d0, #7b5cff); content: ''; opacity: .72; }
.faq-eyebrow { margin: 0 0 12px; color: #66756f; font-size: .7rem; font-weight: 700; letter-spacing: .16em; }
.faq-header h2 { margin: 0 0 14px; color: #16231f; font-family: Manrope, Inter, sans-serif; font-size: clamp(1.85rem, 3vw, 2.65rem); font-weight: 600; line-height: 1.14; letter-spacing: -.035em; }
.faq-intro, .faq-answer p, .faq-cta p { color: #52615c; line-height: 1.68; }
.faq-intro { max-width: 620px; font-size: .95rem; }
.faq-list { position: relative; padding-left: 28px; }
.faq-list::before { position: absolute; top: 10px; bottom: 10px; left: 5px; width: 3px; background: rgba(123, 92, 255, .28); content: ''; pointer-events: none; }
.faq-item { position: relative; }
.faq-item::before { position: absolute; top: 24px; left: -26px; width: 8px; height: 8px; border: 1px solid rgba(123, 92, 255, .72); border-radius: 50%; background: rgba(123, 92, 255, .56); content: ''; pointer-events: none; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.faq-item:hover::before, .faq-item[open]::before { border-color: #7b5cff; background: #7b5cff; box-shadow: 0 0 0 3px rgba(123, 92, 255, .13); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 21px 0; color: #16231f; cursor: pointer; font-size: 1rem; font-weight: 600; line-height: 1.45; list-style: none; transition: color .2s ease, padding-bottom .2s ease; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; flex: 0 0 auto; color: #7b5cff; font-size: 1.25rem; font-weight: 400; line-height: 1; }
.faq-item summary:hover, .faq-item[open] summary { color: #43cdb1; }
.faq-item[open] summary { padding-bottom: 10px; }
.faq-item[open] summary::after { content: '−'; color: #7b5cff; }
.faq-item summary:focus-visible, .faq-cta-button:focus-visible { outline: 3px solid #6b58d3; outline-offset: 4px; }
.faq-answer { max-width: 760px; padding: 0 48px 22px 18px; border-left: 2px solid rgba(114, 230, 208, .32); }
.faq-answer p { margin: 0 0 12px; font-size: .94rem; }
.faq-answer p:last-child { margin-bottom: 0; }
.faq-cta { max-width: 640px; margin-top: 48px; padding: 28px 0 0; border-top: 1px solid #d5dfda; }
.faq-cta h3 { margin: 0 0 10px; color: #16231f; font-family: Manrope, Inter, sans-serif; font-size: clamp(1.35rem, 2.5vw, 1.8rem); font-weight: 600; letter-spacing: -.025em; }
.faq-cta p { margin: 0 0 20px; font-size: .92rem; }
.faq-cta-button { display: inline-flex; align-items: center; gap: 10px; padding: 11px 16px; border: 2px solid #72e6d0; border-radius: 999px; background: transparent; color: #16231f; font-size: .88rem; font-weight: 700; text-decoration: none; transition: border-color .18s ease, background-color .18s ease, transform .18s ease; }
.faq-cta-button span { display: none; }
.faq-cta-button:hover { border-color: #72e6d0; background: #eef9f5; transform: translateY(-2px) scale(1.08); }
@media (prefers-reduced-motion: reduce) { .faq-item, .faq-item summary, .faq-cta-button { transition: none; } }
@media (max-width: 640px) { .faq-section { padding: 68px 0 78px; } .faq-container { width: min(100% - 32px, 900px); } .faq-header { margin-bottom: 28px; padding-left: 14px; } .faq-header h2 { font-size: clamp(1.7rem, 8vw, 2.2rem); } .faq-list { padding-left: 22px; } .faq-list::before { left: 2.5px; width: 3px; } .faq-item::before { top: 21px; left: -20px; width: 6px; height: 6px; } .faq-item summary { gap: 16px; padding: 18px 0; font-size: .95rem; } .faq-item[open] summary { padding-bottom: 9px; } .faq-answer { padding: 0 0 18px 14px; } .faq-answer p { font-size: .9rem; } .faq-cta { margin-top: 38px; padding-top: 24px; } }
