
.faq-page { width:100%; min-width:0; align-self:stretch; padding:160px 40px 100px; color:#252525; }
.faq-wrap { width:100%; max-width:1200px; margin:0 auto; }
.faq-eyebrow { font-size:12px; color:#6134c6; letter-spacing:.08em; margin:0 0 16px; }
.faq-page-heading h1 { font-size:48px; line-height:1.3; letter-spacing:-.04em; margin:0 0 24px; }
.faq-page-heading > p:last-child { font-size:18px; color:#666; line-height:1.7; }
.faq-filters { display:flex; flex-wrap:wrap; gap:10px; margin-top:48px; }
.faq-filters[hidden],.faq-item[hidden] { display:none; }
.faq-filters button { min-height:44px; padding:10px 18px; border:1px solid #d8d5dd; border-radius:6px; background:#fff; color:#555; font:inherit; font-size:15px; cursor:pointer; }
.faq-filters button[aria-pressed=true] { background:#252525; border-color:#252525; color:#d7fc8a; }
.faq-count { color:#777; font-size:14px; margin:24px 0 16px; }
.faq-list { border-top:1px solid #252525; }
.faq-item { border-bottom:1px solid #dedce2; }
.faq-item summary { display:flex; align-items:center; gap:20px; padding:24px 0; min-height:64px; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-category { flex:0 0 135px; color:#777; font-size:13px; }
.faq-question { flex:1; min-width:0; font-size:18px; line-height:1.5; font-weight:500; word-break:keep-all; overflow-wrap:break-word; text-wrap:pretty; }
.faq-mark { flex:0 0 24px; text-align:center; font-size:24px; line-height:1; }
.faq-item[open] .faq-mark { transform:rotate(45deg); }
.faq-answer { padding:0 44px 24px 155px; }
.faq-answer p { font-size:16px; line-height:1.75; color:#666; margin:0; word-break:keep-all; overflow-wrap:break-word; text-wrap:pretty; }
.faq-answer-link { display:inline-block; color:#6134c6; margin-top:14px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.faq-contact { margin-top:64px; padding:32px; background:#f6f5f8; border-radius:8px; }
.faq-contact h2 { font-size:26px; line-height:1.4; word-break:keep-all; }
.faq-contact p { margin:12px 0 20px; color:#666; line-height:1.7; word-break:keep-all; }
.faq-contact a { display:inline-flex; align-items:center; justify-content:center; vertical-align:top; gap:20px; min-height:48px; box-sizing:border-box; padding:12px 20px; font-size:16px; line-height:24px; border-radius:6px; background:#252525; color:#d7fc8a; }
.faq-contact a span { color:inherit; display:block; line-height:24px; }
.faq-page :is(button,a,summary):focus-visible,.home-faq :is(a,summary):focus-visible { outline:2px solid #6134c6; outline-offset:4px; }
.home-page .home-faq { display:block; width:100%; max-width:1280px; margin:0 auto; padding:0 40px; }
.home-faq > .home-faq-heading,.home-faq > .faq-list { width:100%; }
.home-faq-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.home-faq-heading h2 { font-size:36px; line-height:1.35; letter-spacing:-.035em; }
.home-faq-heading .home-link { flex-shrink:0; margin:0; }
.home-faq .faq-answer { padding-left:0; }
.contact-page .contact-faq-link { display:inline-flex; min-height:44px; align-items:center; gap:16px; margin-top:16px; color:#6134c6; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:767px) {
 .faq-page { padding:110px 20px 64px; }
 .faq-page-heading h1 { font-size:34px; }
 .faq-page-heading > p:last-child { font-size:16px; }
 .faq-page-heading br { display:none; }
 .faq-filters { margin-top:32px; gap:8px; }
 .faq-filters button { font-size:14px; padding:10px 12px; }
 .faq-item summary { flex-wrap:wrap; gap:8px 12px; padding:20px 0; }
 .faq-category { flex-basis:100%; }
 .faq-question { font-size:16px; }
 .faq-answer { padding:0 0 20px; }
 .faq-answer p { font-size:14px; line-height:1.65; }
 .faq-contact { margin-top:40px; padding:24px 20px; }
 .faq-contact h2 { font-size:23px; }
 .home-page .home-faq { padding:0 20px; }
 .home-faq-heading { align-items:flex-start; flex-direction:column; gap:16px; margin-bottom:24px; }
 .home-faq-heading h2 { font-size:28px; }
}

.faq-page .faq-answer p { max-width:800px; }
.faq-page .faq-contact { width:100%; }
