.faq-section{margin:40px 0;padding:28px;background:#fff;border-radius:12px;border:2px solid #e9ecef;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.faq-section h3{color:#1a252f;font-size:1.45em;margin:0 0 24px 0;font-weight:700;display:flex;align-items:center;gap:10px}
.faq-item{border-radius:10px;margin-bottom:12px;overflow:hidden;transition:all .3s;border:2px solid #f0f0f0}
.faq-item:hover{border-color:#e9ecef}
.faq-item.active{border-color:#667eea;background:#f8f9ff}
.faq-question{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:600;color:#2c3e50;font-size:1.02em;padding:16px 18px;transition:all .2s;user-select:none}
.faq-item:hover .faq-question,.faq-item.active .faq-question{color:#667eea}
.faq-toggle{font-size:1em;color:#667eea;transition:transform .3s;flex-shrink:0;margin-left:12px}
.faq-item.active .faq-toggle{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s,padding .4s;color:#495057;line-height:1.7;font-size:.98em;padding:0 18px}
.faq-item.is-open .faq-answer { display: block; max-height:400px;padding:0 18px 16px}
.faq-item.is-open .faq-toggle { transform: rotate(180deg); }