.faq-main { background:var(--cream); overflow:visible; }
.faq-intro { background:var(--paper); border-bottom:1px solid var(--line); display:grid; gap:clamp(2rem,6vw,6rem); grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr); padding:clamp(4rem,8vw,8rem) max(1.25rem,calc((100vw - 80rem) / 2)) clamp(3rem,6vw,5rem); }
.faq-intro h1 { font-size:clamp(3.8rem,7vw,7rem); line-height:.92; margin:0 0 1.75rem; max-width:8ch; }
.faq-intro-lede { color:var(--muted); font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.65; max-width:32rem; }
.faq-jump { align-self:end; border-top:1px solid var(--line); display:grid; gap:.85rem; padding-top:1.25rem; }
.faq-jump-label { color:var(--clay); font-size:.68rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.faq-jump a { border-bottom:1px solid var(--line); font-size:.88rem; padding-bottom:.8rem; }
.faq-jump a:hover,.faq-jump a:focus-visible { color:var(--clay); }
.faq-layout { display:grid; gap:clamp(3rem,7vw,8rem); grid-template-columns:minmax(12rem,16rem) minmax(0,1fr); margin:0 auto; max-width:80rem; padding:clamp(3.5rem,6vw,6rem) max(1.25rem,calc((100vw - 80rem) / 2)) clamp(5rem,8vw,8rem); }
.faq-index { align-self:start; position:sticky; top:6rem; }
.faq-index h2 { font-family:"DM Sans",sans-serif; font-size:.68rem; font-weight:600; letter-spacing:.16em; margin:0 0 1rem; text-transform:uppercase; }
.faq-index ul { border-top:1px solid var(--line); list-style:none; margin:0; padding:0; }
.faq-index li { border-bottom:1px solid var(--line); }
.faq-index a { color:var(--muted); display:block; font-size:.8rem; line-height:1.35; padding:.8rem 0; }
.faq-index a:hover,.faq-index a:focus-visible { color:var(--clay); }
.faq-group { border-top:1px solid var(--line); margin:0 0 clamp(4rem,8vw,7rem); scroll-margin-top:6rem; }
.faq-group:last-child { margin-bottom:0; }
.faq-group-heading { align-items:baseline; display:flex; gap:1.25rem; justify-content:space-between; padding:1.15rem 0 1.6rem; }
.faq-group-heading h2 { font-size:clamp(2.2rem,4.2vw,4.2rem); line-height:1; margin:0; max-width:12ch; }
.faq-group-heading a { color:var(--clay); font-size:.76rem; white-space:nowrap; }
.faq-item { border-top:1px solid var(--line); scroll-margin-top:6rem; }
.faq-item summary { align-items:baseline; cursor:pointer; display:flex; font-family:Fraunces,Georgia,serif; font-size:clamp(1.2rem,1.8vw,1.65rem); gap:1rem; justify-content:space-between; list-style:none; line-height:1.18; padding:1.3rem 0; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { color:var(--clay); content:"+"; flex:0 0 auto; font-family:"DM Sans",sans-serif; font-size:1.15rem; font-weight:400; }
.faq-item[open] summary::after { content:"−"; }
.faq-item summary:focus-visible { outline:2px solid var(--clay); outline-offset:4px; }
.faq-answer { color:var(--muted); font-size:1rem; line-height:1.75; max-width:48rem; padding:0 2rem 1.65rem 0; }
.faq-answer p { margin:0 0 1rem; }
.faq-answer p:last-child { margin-bottom:0; }
.faq-answer a { color:var(--moss); text-decoration:underline; text-decoration-color:var(--clay); text-underline-offset:.18em; }
.faq-answer a:hover,.faq-answer a:focus-visible { color:var(--clay); }
@media (max-width: 52rem) {
  .faq-intro { display:block; }
  .faq-jump { margin-top:2.5rem; max-width:34rem; }
  .faq-layout { display:block; }
  .faq-index { background:var(--cream); margin-bottom:3.5rem; position:static; }
  .faq-index ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .faq-index li:nth-child(even) { border-left:1px solid var(--line); padding-left:1rem; }
  .faq-index a { padding:.7rem 0; }
}
@media (max-width: 42rem) {
  .faq-intro { padding:3.5rem 1.25rem 3rem; }
  .faq-intro h1 { font-size:clamp(3.6rem,16vw,5.2rem); }
  .faq-layout { padding:3rem 1.25rem 4.5rem; }
  .faq-index ul { display:block; }
  .faq-index li:nth-child(even) { border-left:0; padding-left:0; }
  .faq-group { margin-bottom:4.25rem; }
  .faq-group-heading { align-items:flex-start; display:block; }
  .faq-group-heading a { display:inline-block; margin-top:1rem; }
  .faq-item summary { font-size:1.28rem; padding:1.15rem 0; }
  .faq-answer { padding-right:.35rem; }
}
