/* faq — count hero + pillar strip + disclosure groups with a sticky index */
.fhero{max-width:var(--wide); margin-inline:auto; padding:clamp(40px,7vh,88px) var(--gut) 0}
.fhero__in{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.8fr); gap:clamp(28px,5vw,96px); align-items:start; padding-bottom:clamp(32px,5vh,56px)}
.fhero h1{font-size:clamp(2.4rem,5.2vw,4.6rem); font-weight:800; letter-spacing:-.04em; text-wrap:balance; margin-bottom:clamp(18px,2.6vh,28px); animation:fadeUp .9s var(--ease) both}
.fhero .lead{animation:fadeUp .9s var(--ease) .12s both}
.fhero .readout{animation:fadeUp .9s var(--ease) .2s both}
.fhero .readout .big{font-size:clamp(3.2rem,6vw,5.4rem); font-weight:700}
/* R1-09: pillar filter as ONE wrapping row of pill anchors (the .rail__menu summary /
   chip register) — never a 5-across cell grid. */
.pillars{display:flex; flex-wrap:wrap; gap:8px}
.pillars a{display:inline-flex; align-items:baseline; line-height:1.35; gap:10px; border:1px solid var(--line-struct); border-radius:var(--radius); padding:13px 15px; font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--txt-2); transition:border-color .25s,color .25s; min-width:0}
.pillars a .n{color:var(--sig); flex:none}
.pillars a i{font-style:normal; color:var(--dim); flex:none}
.pillars a:hover{border-color:rgba(133,224,255,.45); color:var(--sig)}

/* shell: questions at 80ch + index in the right gutter */
.faqshell{max-width:var(--wide); margin-inline:auto; padding:clamp(48px,7vh,96px) var(--gut) clamp(56px,8vh,110px); display:grid; grid-template-columns:minmax(0,80ch) minmax(200px,1fr); gap:clamp(32px,6vw,120px); align-items:start}
.faqbody{min-width:0}
.faqg + .faqg{margin-top:clamp(48px,7vh,88px)}
.faqg h2{font-size:clamp(1.6rem,3vw,2.6rem); display:flex; gap:18px; align-items:baseline; padding-bottom:18px; border-bottom:1px solid var(--line-struct); margin-bottom:4px}
.faqg h2 .num{font-family:var(--mono); font-size:12px; letter-spacing:.12em; color:var(--txt-2); flex:none}
.faqlist details{border-bottom:1px solid var(--line-struct)}
.faqlist summary{list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr 28px; gap:20px; align-items:start; padding:22px 0}
.faqlist summary::-webkit-details-marker{display:none}
.faqlist .q{font-family:var(--disp); font-weight:600; font-size:clamp(1.15rem,1.7vw,1.5rem); letter-spacing:-.025em; line-height:1.2; color:var(--txt); text-wrap:balance; transition:color .2s}
.faqlist summary::after{content:"+"; font-family:var(--mono); font-size:20px; line-height:1; color:var(--dim); text-align:right; padding-top:2px; transition:color .2s}
.faqlist details[open] summary::after{content:"\2212"; color:var(--sig)}
.faqlist summary:hover .q,.faqlist details[open] .q{color:var(--sig)}
.faqlist .ans{padding:0 48px 26px 0}
.faqlist .ans p{font-size:17px; line-height:1.65; color:var(--txt-2); max-width:var(--measure)}
.faqlist .ans p.see{margin-top:16px; font-size:12px; letter-spacing:.06em; color:var(--dim)}
.faqlist .see a{color:var(--sig); border-bottom:1px solid rgba(133,224,255,.35)}
/* R1-13: the figure closes the group above it — near that group, with a full group-gap
   before the next one (the `.faqg + .faqg` sibling rule cannot see across the figure). */
.faqfig{margin-top:clamp(24px,3.6vh,44px)}
.faqfig + .faqg{margin-top:clamp(48px,7vh,88px)}
.faqbody .caveat a{color:var(--sig)}

@media (max-width:1180px){
  .fhero__in{grid-template-columns:1fr}
  .faqshell{grid-template-columns:1fr}
  .faqindex{display:none}
}
@media (max-width:720px){
  .faqlist .ans{padding-right:0}
}
/* B6-02: 12px mono in tracking caps needs a SHORTER measure than 17px prose, not an
   unlimited one -- this ran ~180 characters, third object on the first screen. */
.fcaveat{margin-top:clamp(20px,3vh,32px); max-width:var(--measure)}
