/* FAQ accordion (Concept D). Used on faq.html and the homepage FAQ section. */
.faq__g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:36px;align-items:start}
.faq__hd{grid-column:1 / span 4;position:sticky;top:110px}
.faq__hd .lab{padding-top:14px;border-top:1px solid var(--ink)}
.faq__hd .lab b{color:var(--gd);margin-right:.9em}
.faq__hd h2{font-size:clamp(38px,3.9vw,56px);margin-top:18px}
.faq__hd h2 em{font-style:normal;color:var(--gd)}
.faq__ctl{margin-top:28px}
.faq__ctl button{background:none;border-width:0 0 1px;border-style:solid;border-color:currentColor;cursor:pointer;color:inherit;font-family:inherit;padding:0 0 6px}
.faq__ctl button[hidden]{display:none}
.faq__list{grid-column:5 / span 8;border-top:1px solid var(--ink)}
.faq__i{border-bottom:1px solid var(--rule);scroll-margin-top:96px}
.faq__i summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(22px,2.6vw,32px) 0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.faq__i summary::-webkit-details-marker{display:none}
.faq__i summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
.faq__q{flex:1 1 auto;display:flex;align-items:baseline;gap:20px;min-width:0}
.faq__n{flex:none;width:28px;font-weight:600;font-size:13px;letter-spacing:.18em;color:var(--gd)}
.faq__t{font-family:var(--font-display);font-stretch:75%;font-weight:800;text-transform:uppercase;font-size:clamp(23px,2.5vw,34px);line-height:1.02;letter-spacing:-.003em;text-wrap:balance;transition:color .2s ease}
.faq__i summary:hover .faq__t,.faq__i[open] .faq__t{color:var(--gd)}
.faq__pm{flex:none;position:relative;width:38px;height:38px;border:1px solid var(--ink);border-radius:50%;transition:background-color .25s ease,border-color .25s ease}
.faq__pm::before,.faq__pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;background:var(--ink);transition:transform .3s ease,background-color .25s ease}
.faq__pm::after{transform:rotate(90deg)}
.faq__i summary:hover .faq__pm{border-color:var(--green)}
.faq__i[open] .faq__pm{background:var(--green);border-color:var(--green)}
.faq__i[open] .faq__pm::before,.faq__i[open] .faq__pm::after{background:#07180f}
.faq__i[open] .faq__pm::after{transform:rotate(0)}
.faq__a{overflow:hidden}
.faq__ai{padding:0 calc(38px + 24px) clamp(26px,3vw,38px) 0;margin-left:48px;max-width:none;border-left:0}
.faq--home .faq__ai{margin-left:0}
.faq__ai p{font-size:18px;line-height:1.65;color:#2c302e;max-width:62ch}
.faq__ai p+p{margin-top:1em}
.faq__ai p.lead{font-weight:600;color:var(--ink);font-size:19px}
.faq__ai strong{font-weight:600;color:var(--gd)}
.faq__sl{margin-top:20px;font-size:15px;line-height:1.5;color:#9fc7b0;font-style:italic}
@media (max-width:980px){
  .faq__g{grid-template-columns:1fr;row-gap:28px}
  .faq__hd,.faq__list{grid-column:1 / -1}
  .faq__hd{position:static}
}
@media (max-width:640px){
  .faq__i summary{gap:16px;padding-block:20px}
  .faq__q{flex-direction:column;gap:8px}
  .faq__t{font-size:21px;text-wrap:wrap}
  .faq__pm{width:34px;height:34px}
  .faq__ai{margin-left:0;padding-right:0}
  .faq__ai p{font-size:16.5px}
  .faq__ai p.lead{font-size:17.5px}
}
@media (prefers-reduced-motion:reduce){.faq__pm,.faq__pm::before,.faq__pm::after,.faq__t{transition:none}}
.cta--faq h2{font-size:clamp(36px,8vw,128px);max-width:1100px}
