.faq-section { background:var(--soft,#f7f7f5); }
.faq-heading { max-width:820px; margin-bottom:40px; }
.faq-heading .section-lead { margin-top:24px; max-width:720px; }
.faq-list { border-top:1px solid var(--line,#d6d6d2); }
.faq-item { border-bottom:1px solid var(--line,#d6d6d2); scroll-margin-top:18px; }
.faq-item :is(h2,h3) { margin:0; font-family:var(--font-body); font-size:clamp(18px,2vw,22px); font-weight:500; line-height:1.45; letter-spacing:normal; text-wrap:initial; }
.faq-question { display:flex; align-items:center; justify-content:space-between; gap:24px; width:100%; min-height:72px; padding:23px 0; text-align:left; font:inherit; }
.faq-question:hover { color:var(--red); }
.faq-question:focus-visible { outline-offset:-3px; }
.faq-symbol { color:var(--red); flex:0 0 24px; text-align:center; font-size:26px; font-weight:400; }
.faq-symbol::after { content:'−'; }
.faq-question[aria-expanded="false"] .faq-symbol::after { content:'+'; }
.faq-answer { max-width:760px; padding:0 44px 28px 0; }
.faq-answer>p { font-size:17px; line-height:1.8; color:#494949; margin:0; }
.faq-permalink { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-top:12px; color:var(--muted); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.faq-permalink:hover { color:var(--red); }
.faq-cta { margin-top:30px; }
.faq-page-intro { padding-bottom:50px; }
.faq-back { margin-bottom:35px; }
.faq-topics { border-top:1px solid var(--line,#d6d6d2); }
.faq-topics-layout { display:grid; grid-template-columns:minmax(200px,.8fr) minmax(0,2fr); gap:60px; margin-top:38px; }
.faq-topic-nav { display:flex; flex-direction:column; align-self:start; gap:0; }
.faq-tab { text-align:left; padding:17px 18px; border-bottom:1px solid var(--line,#d6d6d2); border-left:2px solid transparent; font-size:16px; line-height:1.5; }
.faq-tab[aria-selected="true"] { border-left-color:var(--red); color:var(--ink); background:var(--soft,#f7f7f5); font-weight:600; }
.faq-tab:hover { color:var(--red); }
.faq-topic-heading { font-family:var(--font-body); font-size:19px; font-weight:600; margin:0 0 24px; }
.faq-panel+.faq-panel { margin-top:45px; }
.faq-enhanced .faq-panel { margin-top:0; }
.faq-quote { max-width:920px; margin:0 auto; padding:45px 0; text-align:center; border-top:1px solid var(--line,#d6d6d2); }
.faq-quote p { margin:0; font-family:var(--font-display); font-size:clamp(24px,3vw,34px); line-height:1.5; }
.faq-press-note { padding:22px 25px; margin:24px 0 0; border-left:2px solid #b8b8b2; background:var(--soft,#f7f7f5); }
.faq-press-note p { margin:0 0 12px; font-size:14px; line-height:1.75; }
.faq-press-note a { font-size:14px; text-decoration:underline; text-underline-offset:4px; line-height:1.7; }
html:not(.faq-enhanced) .faq-topics-layout { display:block; }
@media(max-width:760px) {
 .faq-heading { margin-bottom:28px; }
 .faq-question { min-height:68px; gap:14px; padding:21px 0; }
 .faq-answer { padding-right:0; padding-bottom:23px; }
 .faq-answer>p { font-size:16px; }
 .faq-topics-layout { grid-template-columns:1fr; gap:32px; }
 .faq-tab { padding:14px 16px; min-height:52px; }
 .faq-quote { text-align:left; padding:32px 0; }
 .faq-press-note { padding:18px; }
}
@media print {
 .faq-answer[hidden],.faq-panel[hidden] { display:block!important; }
 .faq-topic-nav,.faq-permalink,.faq-cta,.faq-back { display:none!important; }
 .faq-topics-layout { display:block; }
 .faq-item { break-inside:avoid; }
}
