.faq-page main {padding-top:82px;}
.faq-hero {padding-top:64px;padding-bottom:36px;border-bottom:var(--glass-border);}
.faq-heading {display:flex;justify-content:space-between;align-items:center;gap:24px;}
.faq-heading h1 {font-size:clamp(38px,5vw,64px);font-weight:700;margin:0 0 20px;}
.faq-intro {font-size:18px;color:var(--text-muted);max-width:38em;}
.faq-index {font:clamp(32px,6vw,78px) ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);opacity:.5;white-space:nowrap;}
.faq-languages {display:flex;flex-wrap:wrap;gap:8px;margin-top:30px;}
.faq-languages button,.faq-tools button {font:inherit;border:var(--glass-border);color:var(--text-main);background:transparent;border-radius:4px;min-height:44px;padding:8px 16px;}
.faq-languages button[aria-pressed="true"] {background:var(--accent);color:var(--bg-body);border-color:var(--accent);font-weight:600;}
.faq-languages button:hover,.faq-tools button:hover {border-color:var(--accent);}
.faq-body {padding-top:32px;padding-bottom:56px;}
.faq-tools label {display:block;font-size:13px;margin-bottom:10px;color:var(--text-muted);}
.faq-search-row {display:flex;gap:10px;}
.faq-search-row input {min-width:0;flex:1;border:var(--glass-border);border-radius:4px;padding:14px 18px;background:var(--bg-card);color:var(--text-main);font-size:16px;}
.faq-search-row input::placeholder {color:var(--text-muted);}
.faq-actions {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;}
.faq-actions p {font-size:12px;color:var(--text-muted);margin:0;}
.faq-actions button {border:0;padding:8px 0;color:var(--primary);font-size:13px;}
.faq-categories {display:flex;gap:10px 24px;flex-wrap:wrap;margin:24px 0 36px;padding-bottom:22px;border-bottom:var(--glass-border);}
.faq-categories a {padding:8px 0;color:var(--text-muted);font-size:14px;text-decoration:none;}
.faq-categories a:hover {color:var(--primary);}
.faq-group {margin-bottom:44px;scroll-margin-top:110px;}
.faq-group h2 {font-size:22px;margin-bottom:22px;}
.faq-question {border-bottom:var(--glass-border);scroll-margin-top:110px;}
.faq-question:first-of-type {border-top:var(--glass-border);}
.faq-question summary {list-style:none;display:flex;align-items:baseline;gap:20px;padding:22px 0;cursor:pointer;font-size:16px;}
.faq-question summary::-webkit-details-marker {display:none;}
.faq-number {font:12px ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--primary);}
.faq-mark {margin-left:auto;font-size:22px;line-height:1;}
.faq-question[open] .faq-mark {transform:rotate(45deg);}
.faq-answer {padding:0 44px 24px;max-width:72em;color:var(--text-muted);line-height:1.95;overflow-wrap:anywhere;}
.faq-answer p {white-space:pre-line;margin-bottom:14px;}
.faq-answer p:last-child {margin:0;}
.faq-gallery {display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px;margin:22px 0 30px;}
.faq-image {width:calc((100% - 32px)/3);max-width:230px;margin:0;}
.faq-image a {display:block;border:var(--glass-border);border-radius:5px;overflow:hidden;background:#fff;}
.faq-image img {display:block;width:100%;height:auto;}
.faq-image figcaption {font-size:12px;line-height:1.6;margin-top:9px;color:var(--text-muted);}
.faq-image.faq-qr {width:180px;}
.faq-source {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:24px;color:var(--text-muted);font-size:12px;}
.faq-source p {margin:0;}
.faq-source a {color:var(--primary);text-underline-offset:4px;}
.faq-empty {padding:40px 28px;border:var(--glass-border);border-left:2px solid var(--accent);background:var(--bg-card);color:var(--text-muted);}
.faq-empty-label {font:11px ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em;color:var(--primary);}
.faq-empty h2 {font-size:24px;margin:18px 0 12px;}
.faq-empty a {color:var(--primary);text-underline-offset:5px;}
.faq-contact {display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:var(--glass-border);padding-top:32px;padding-bottom:52px;}
.faq-contact h2 {font-size:28px;}
.faq-contact p {color:var(--text-muted);}
.faq-contact .subpage-kicker {margin-bottom:12px;}
.faq-contact a {color:var(--primary);font-size:18px;overflow-wrap:anywhere;}
.faq-noscript {margin-top:20px;color:var(--text-muted);}
.faq-page [hidden] {display:none!important;}
@media(max-width:767px) {
 .faq-page main {padding-top:72px;}
 .faq-hero {padding-top:38px;}
 .faq-index {display:none;}
 .faq-intro {font-size:16px;}
 .faq-contact {align-items:flex-start;flex-direction:column;gap:8px;}
 .faq-question summary {gap:12px;}
 .faq-answer {padding-left:30px;padding-right:0;}
 .faq-empty {padding:28px 20px;}
 .faq-gallery {gap:18px 12px;}
 .faq-image {width:calc((100% - 12px)/2);}
}
