/* A reading page, not a second brand palette or a JavaScript-only FAQ. */
.faq-page-header { padding:48px max(28px, calc((100% - 1080px) / 2)) 44px; background:var(--brand-dark); color:var(--brand-paper); }
.faq-page-header .back-link, .faq-page-header .eyebrow { color:#c7c7c1; }
.faq-page-header .lead { color:#e0e0dc; }
.faq-page-header .back-link { display:inline-flex; align-items:center; min-height:44px; margin-bottom:24px; }
.faq-page-header h1 { margin:16px 0 24px; font-size:clamp(36px,4vw,54px); }
.faq-page-header .lead { max-width:42rem; font-size:18px; line-height:1.75; }
.faq-page-layout { display:grid; grid-template-columns:200px minmax(0,1fr); gap:64px; padding:48px max(28px, calc((100% - 1080px) / 2)) 64px; background:#f3f3f1; }
.faq-page-groups { min-width:0; }
.faq-category-nav { align-self:start; position:sticky; top:128px; }
.faq-category-nav a { display:flex; align-items:center; gap:16px; min-height:56px; padding:12px; margin-bottom:6px; font-size:16px; }
.faq-category-nav a:hover, .faq-category-nav a:focus-visible { background:#e5e5e1; }
.faq-category-nav span { color:var(--body); font-size:12px; font-variant-numeric:tabular-nums; }
.faq-category-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
.faq-page-group.inquiry-faq { display:block; background:transparent; color:var(--ink); scroll-margin-top:128px; padding-bottom:56px; }
.faq-page-group:last-child { padding-bottom:0; }
.faq-page-group-heading { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-bottom:24px; }
.faq-page-group h2 { margin:0; font-size:clamp(28px,3vw,36px); line-height:1.3; }
.faq-page-group-heading .text-link { display:inline-flex; align-items:center; gap:12px; margin-left:auto; min-height:44px; font-size:14px; }
.faq-page-group .inquiry-faq-items { display:grid; gap:12px; }
.faq-page-group details, .faq-page-group details:last-child { border:0; padding:20px 24px; background:#fafafa; }
.faq-page-group details[open] { background:#e7e7e4; box-shadow:inset 3px 0 var(--brand-dark); }
.faq-page-group summary { align-items:center; gap:24px; line-height:1.7; }
.faq-page-group summary .faq-toggle { flex-shrink:0; }
.faq-page-group details p { color:var(--body); }
.faq-page-contact { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:16px 32px; padding:40px max(28px, calc((100% - 1080px) / 2)) 48px; background:#e5e5e1; }
.faq-page-contact>.eyebrow { grid-column:1/-1; margin:0; }
.faq-page-contact h2 { margin:0; font-size:clamp(30px,3.5vw,42px); }
.faq-page-contact .button { background:var(--ink); border-color:var(--ink); grid-column:2; grid-row:2; }
@media(max-width:850px) {
 .faq-page-header { padding-top:36px; padding-bottom:28px; }
 .faq-page-header h1 { font-size:40px; }
 .faq-page-header .lead { font-size:16px; }
 .faq-page-layout { grid-template-columns:1fr; gap:36px; padding-top:24px; padding-bottom:44px; }
 .faq-category-nav { position:static; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .faq-category-nav a { gap:10px; font-size:15px; }
 .faq-page-group-heading { gap:12px; }
 .faq-page-group-heading .text-link { margin-left:0; }
 .faq-page-group h2 { font-size:28px; }
 .faq-page-contact { grid-template-columns:1fr; justify-items:start; padding-bottom:80px; }
 .faq-page-contact .button { grid-column:1; grid-row:3; margin-top:8px; }
}
