.faq-section { display:grid; grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr); align-items:start; gap:clamp(36px,6vw,90px); overflow:visible; background:var(--white); }
.faq-heading { position:sticky; top:112px; }
.faq-section h2 { line-height:1.02; }
.faq-section .lead { max-width:430px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); background:rgba(255,255,255,.42); }
.faq-list details[open] { background:var(--paper); }
.faq-list summary { display:grid; grid-template-columns:minmax(0,1fr) 32px; align-items:center; gap:20px; padding:22px 20px; color:var(--ink); cursor:pointer; list-style:none; font:800 clamp(18px,1.55vw,24px)/1.25 Georgia,"Times New Roman",serif; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; color:var(--blue); font:700 22px/1 ui-sans-serif,system-ui,sans-serif; }
.faq-list details[open] summary::after { content:"−"; background:var(--ink); color:var(--lime); }
.faq-list summary:hover { color:var(--blue); }
.faq-list summary:focus-visible { outline:3px solid var(--blue-bright); outline-offset:-3px; }
.faq-answer { max-width:900px; padding:0 72px 24px 20px; color:var(--ink-soft); font-size:16px; line-height:1.7; }
.faq-answer p { margin:0 0 14px; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer ul { margin:10px 0 16px; padding-left:22px; }
.faq-answer li { margin:8px 0; }
.faq-answer strong { color:var(--ink); }
@media(max-width:800px) {
  .faq-section { grid-template-columns:minmax(0,1fr); gap:34px; padding:90px 24px 48px; }
  .faq-heading { position:static; }
  .faq-list summary { padding:19px 14px; font-size:18px; }
  .faq-answer { padding:0 14px 22px; font-size:15px; }
}
