.faq-section { padding: 80px 20px; max-width: 1000px; margin: 0 auto; }
.faq-list { display: flex; flex-direction: column; gap: 20px; }
.faq-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,.08); border: 1px solid #e5e7eb; transition: all .4s cubic-bezier(.4,0,.2,1); position: relative; }
.faq-card:hover { border-color: #dc2626; box-shadow: 0 8px 20px rgba(0,0,0,.12); transform: translateY(-2px); }
.faq-card-open { box-shadow: 0 12px 32px rgba(220,38,38,.15); border: 2px solid #dc2626; }
.faq-card-open:hover { transform: none; }
.faq-toggle { width: 100%; padding: 28px; text-align: left; background: transparent; border: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.faq-main { flex: 1; }
.faq-question { font-size: 1.25rem; font-weight: 800; color: #111827; margin: 0 0 8px; line-height: 1.4; }
.faq-category-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; background: #f3f4f6; border-radius: 6px; font-size: .8rem; color: #6b7280; font-weight: 600; }
.faq-caret { width: 48px; height: 48px; border-radius: 12px; background: #f3f4f6; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; color: #dc2626; font-weight: 700; transition: all .3s; flex-shrink: 0; }
.faq-caret-open { background: linear-gradient(135deg,#dc2626 0%,#b91c1c 100%); color: #fff; transform: rotate(180deg); box-shadow: 0 4px 12px rgba(220,38,38,.3); }
.faq-answer-wrap { padding: 0 28px 28px; border-top: 1px solid #e5e7eb; animation: faqFadeIn .4s ease-in; }
.faq-answer { font-size: 1.0625rem; color: #374151; line-height: 1.8; margin: 20px 0 0; }
.faq-contact-section { background: linear-gradient(135deg,#fff 0%,#f8f9fa 50%,#e9ecef 100%); padding: 100px 20px; margin-top: 40px; }
.faq-contact-inner { max-width: 800px; margin: 0 auto; text-align: center; }
.faq-contact-icon-wrap { width: 80px; height: 80px; border-radius: 20px; background: linear-gradient(135deg,#dc2626 0%,#b91c1c 100%); display: flex; align-items: center; justify-content: center; font-size: 2.5rem; margin: 0 auto 32px; box-shadow: 0 8px 24px rgba(220,38,38,.3); }
.faq-contact-title { font-size: clamp(2rem,4vw,3rem); font-weight: 800; margin-bottom: 20px; color: #111827; letter-spacing: -.02em; }
.faq-contact-subtitle { font-size: 1.25rem; color: #6b7280; line-height: 1.7; max-width: 600px; margin: 0 auto 48px; }
.faq-contact-actions { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
.faq-contact-button { padding: 18px 40px; border-radius: 12px; text-decoration: none; font-weight: 700; font-size: 1.125rem; transition: all .3s; display: inline-flex; align-items: center; gap: 10px; }
.faq-contact-button-primary { background: linear-gradient(135deg,#dc2626 0%,#b91c1c 100%); color: #fff; box-shadow: 0 6px 20px rgba(220,38,38,.35); }
.faq-contact-button-primary:hover { transform: translateY(-4px); box-shadow: 0 10px 28px rgba(220,38,38,.45); }
.faq-contact-button-secondary { background: #fff; color: #dc2626; border: 2px solid #dc2626; box-shadow: 0 4px 12px rgba(0,0,0,.08); }
.faq-contact-button-secondary:hover { background: #fee2e2; transform: translateY(-4px); box-shadow: 0 8px 20px rgba(220,38,38,.2); }
@keyframes faqFadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
