
.faq-page { width:100%; min-width:0; align-self:stretch; padding:160px var(--space-40) 100px; color:var(--gray-800); }
.faq-wrap { width:100%; max-width:var(--public-content-width); margin:0 auto; }
.faq-eyebrow { font-size:12px; color:var(--action-primary); letter-spacing:.08em; margin:0 0 var(--space-16); }
.faq-page-heading h1 { font-size:48px; line-height:1.3; letter-spacing:-.04em; margin:0 0 var(--space-24); }
.faq-page-heading > p:last-child { font-size:18px; color:var(--gray-500); line-height:1.7; }
.faq-filters { display:flex; flex-wrap:wrap; gap:10px; margin-top:var(--space-48); }
.faq-filters[hidden],.faq-item[hidden] { display:none; }
.faq-filters button { min-height:44px; padding:10px 18px; border:1px solid var(--gray-200); border-radius:var(--radius-control); background:var(--gray-white); color:var(--gray-600); font:inherit; font-size:15px; cursor:pointer; }
.faq-filters button[aria-pressed=true] { background:var(--gray-800); border-color:var(--gray-800); color:#d7fc8a; }
.faq-count { color:var(--gray-500); font-size:14px; margin:var(--space-24) 0 var(--space-16); }
.faq-list { border-top:1px solid var(--gray-800); }
.faq-item { border-bottom:1px solid var(--gray-200); }
.faq-item summary { display:flex; align-items:center; gap:var(--space-20); padding:var(--space-24) 0; min-height:64px; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-category { flex:0 0 135px; color:var(--gray-500); 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 var(--space-24) 155px; }
.faq-answer p { font-size:16px; line-height:1.75; color:var(--gray-500); margin:0; word-break:keep-all; overflow-wrap:break-word; text-wrap:pretty; }
.faq-answer-link { display:inline-block; color:var(--action-primary); margin-top:14px; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.faq-contact { margin-top:var(--space-64); padding:var(--space-32); background:var(--gray-100); border-radius:var(--radius-control); }
.faq-contact h2 { font-size:26px; line-height:1.4; word-break:keep-all; }
.faq-contact p { margin:var(--space-12) 0 var(--space-20); color:var(--gray-500); line-height:1.7; word-break:keep-all; }
.faq-contact a { display:inline-flex; align-items:center; justify-content:center; vertical-align:top; gap:var(--space-20); min-height:48px; box-sizing:border-box; padding:var(--space-12) var(--space-20); font-size:16px; line-height:24px; border-radius:var(--radius-control); background:var(--gray-800); 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 var(--action-primary); outline-offset:4px; }
.home-page .home-faq { display:block; width:100%; max-width:var(--public-frame-width); margin:0 auto; padding:0 var(--space-40); }
.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:var(--space-20); margin-bottom:var(--space-32); }
.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:var(--space-16); margin-top:var(--space-16); color:var(--action-primary); font-size:15px; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:767px) {
 .faq-page { padding:110px var(--space-20) var(--space-64); }
 .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:var(--space-32); gap:var(--space-8); }
 .faq-filters button { font-size:14px; padding:10px var(--space-12); }
 .faq-item summary { flex-wrap:wrap; gap:var(--space-8) var(--space-12); padding:var(--space-20) 0; }
 .faq-category { flex-basis:100%; }
 .faq-question { font-size:16px; }
 .faq-answer { padding:0 0 var(--space-20); }
 .faq-answer p { font-size:14px; line-height:1.65; }
 .faq-contact { margin-top:var(--space-40); padding:var(--space-24) var(--space-20); }
 .faq-contact h2 { font-size:23px; }
 .home-page .home-faq { padding:0 var(--space-20); }
 .home-faq-heading { align-items:flex-start; flex-direction:column; gap:var(--space-16); margin-bottom:var(--space-24); }
 .home-faq-heading h2 { font-size:28px; }
}

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

/* Reading text and supporting metadata use distinct semantic roles. */
.faq-page .faq-answer,.faq-page .faq-page-heading>p:last-child{color:var(--text-muted)}
