.faq-section{background:var(--surface-base);position:relative}.faq-list{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0}.faq-item{background:var(--surface-base);border:1px solid var(--border-light);border-radius:8px;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.faq-question{align-items:center;background:transparent;border:none;color:var(--text-heading);cursor:pointer;display:flex;font-family:var(--font-primary,"Montserrat",sans-serif);font-size:1.05rem;font-weight:600;gap:1rem;justify-content:space-between;line-height:1.4;padding:1.25rem 1.5rem;text-align:left;transition:color .2s ease;width:100%}.faq-question i,.faq-question:hover{color:var(--accent-coral)}.faq-question i{flex-shrink:0;font-size:.875rem;transition:transform .3s ease}.faq-answer{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.faq-answer p{color:var(--text-body);font-size:.95rem;line-height:1.7;margin:0;padding:0 1.5rem 1.25rem}.faq-answer p+p{padding-top:.5rem}.faq-answer ol,.faq-answer ul{color:var(--text-body);font-size:.95rem;margin:0;padding:0 1.5rem .5rem 3rem}.faq-answer li{line-height:1.7;margin-bottom:.5rem}.faq-item.is-open .faq-answer,details.faq-item[open] .faq-answer{max-height:1000px;opacity:1}.faq-item.is-open .faq-question,details.faq-item[open] .faq-question{color:var(--accent-coral)}.faq-item.is-open .faq-question i,details.faq-item[open] .faq-question i{transform:rotate(180deg)}.faq-question:focus{outline:2px solid var(--accent-coral);outline-offset:-2px}.faq-question:focus-visible{outline:2px solid var(--accent-coral);outline-offset:2px}.faq-question:active{background:var(--surface-raised)}.faq-question{-webkit-tap-highlight-color:transparent}[data-theme=dark] .faq-section,body.theme-dark .faq-section{background:var(--surface-base)}[data-theme=dark] .faq-item,body.theme-dark .faq-item{background:var(--surface-muted);border-color:var(--border-light)}[data-theme=dark] .faq-item:hover,body.theme-dark .faq-item:hover{border-color:var(--border-medium)}[data-theme=dark] .faq-question,body.theme-dark .faq-question{color:var(--text-heading)}[data-theme=dark] .faq-item.is-open .faq-question,[data-theme=dark] .faq-question i,[data-theme=dark] .faq-question:hover,[data-theme=dark] details.faq-item[open] .faq-question,body.theme-dark .faq-item.is-open .faq-question,body.theme-dark .faq-question i,body.theme-dark .faq-question:hover,body.theme-dark details.faq-item[open] .faq-question{color:var(--accent-coral)}[data-theme=dark] .faq-answer li,[data-theme=dark] .faq-answer p,body.theme-dark .faq-answer li,body.theme-dark .faq-answer p{color:var(--text-body)}[data-theme=dark] .faq-question:active,body.theme-dark .faq-question:active{background:var(--surface-navy)}@media (max-width:991px){.faq-item{border-radius:6px}.faq-question{font-size:1rem;padding:1.125rem 1.25rem}.faq-answer p{font-size:.925rem;padding:0 1.25rem 1.125rem}.faq-answer ol,.faq-answer ul{padding:0 1.25rem .5rem 2.5rem}}@media (max-width:767px){.faq-list{gap:.75rem}.faq-question{font-size:.95rem;line-height:1.5;padding:1rem}.faq-question i{font-size:.75rem}.faq-answer p{font-size:.9rem;padding:0 1rem 1rem}.faq-answer ol,.faq-answer ul{font-size:.9rem;padding:0 1rem .5rem 2rem}}.faq-list--compact .faq-question{font-size:.95rem;padding:.875rem 1rem}.faq-list--compact .faq-answer p{font-size:.875rem;padding:0 1rem .875rem}.faq-list--bordered .faq-item{border:2px solid var(--border-light)}.faq-list--bordered .faq-item.is-open,.faq-list--bordered details.faq-item[open]{border-color:var(--accent-coral)}.faq-list--minimal .faq-item{background:transparent;border:none;border-bottom:1px solid var(--border-light);border-radius:0}.faq-list--minimal .faq-item:last-child{border-bottom:none}@media print{.faq-item{page-break-inside:avoid;border:1px solid #ddd;margin-bottom:1rem}.faq-answer{max-height:none!important;opacity:1!important}.faq-question i{display:none}}