.faq-page { background: #f4f4f6; padding: 64px 24px; color: #141414; }
.faq-container { max-width: 1100px; margin: 0 auto; }
.faq-page h1 { margin: 0 0 16px; font-weight: 400; }
.faq-intro { font-size: 20px; line-height: 1.5; margin: 0 0 32px; }
.faq-item { margin-bottom: 12px; background: #fff; border-radius: 12px; }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; font-size: 22px; line-height: 1.35; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; flex: 0 0 24px; text-align: center; font-size: 28px; font-weight: 400; }
.faq-item[open] summary::after { content: '−'; }
.faq-item summary:focus-visible { outline: 2px solid #141414; outline-offset: 3px; border-radius: 12px; }
.faq-answer { padding: 0 28px 24px; font-size: 18px; line-height: 1.65; overflow-wrap: anywhere; }
.faq-answer p { margin: 0; }
.faq-contact { margin: 32px 0 0; font-size: 18px; line-height: 1.6; }
.faq-contact a { color: #f80d0d; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
 .faq-page { padding: 32px 16px 48px; }
 .faq-page h1 { font-size: 36px; line-height: 1.1; }
 .faq-intro { font-size: 17px; margin-bottom: 24px; }
 .faq-item summary { padding: 20px; font-size: 19px; gap: 16px; }
 .faq-answer { padding: 0 20px 22px; font-size: 17px; line-height: 1.6; }
 .faq-contact { font-size: 17px; }
}
