/* SiteWave FAQs: inherited ink/cherry/mauve surfaces, shared 1520px grid,
   native disclosures, legible supporting type. No entrance-hiding or JS dependency. */
.ap-family .ap-faq{
  --faq-ink:var(--ap-dark-text);
  --faq-copy:#69505f;
  --faq-line:#b8a2b1;
  --faq-accent:#3b1730;
  --faq-active:#e4d6e0;
  color:var(--faq-ink);
  padding-block:clamp(64px,7vw,108px);
  scroll-margin-top:125px;
}
.ap-family:is(.theme-aperture,.theme-dark,.theme-studio) .ap-faq{
  --faq-ink:var(--ap-ink);
  --faq-copy:#d6c3d0;
  --faq-line:var(--ap-rule);
  --faq-accent:var(--ap-pink);
  --faq-active:#ffffff05;
}
.ap-faq-inner{
  width:91%;max-width:var(--ap-content-max,1520px);margin-inline:auto;
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);
  gap:8%;border-top:1px solid var(--faq-line);padding-top:48px;
}
.ap-family .ap-faq-intro h2{font-size:clamp(34px,3.8vw,58px);line-height:1.1;letter-spacing:-.04em;max-width:13ch;text-wrap:balance;margin:0}
.ap-family .ap-faq-intro>p{font-size:16px;line-height:1.75;color:var(--faq-copy);max-width:36ch;margin:24px 0 0}
.ap-family .ap-faq-intro .text-link{color:var(--faq-ink);font-size:15px;min-height:44px;margin-top:22px;border-color:var(--faq-line)}
.ap-faq-list{min-width:0}
.ap-faq-item{border-bottom:1px solid var(--faq-line);scroll-margin-top:125px}
.ap-faq-item:first-child{border-top:1px solid var(--faq-line)}
.ap-family .ap-faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  list-style:none;cursor:pointer;min-height:76px;padding:24px 0;
  color:var(--faq-ink);font-size:18px;line-height:1.5;font-weight:600;letter-spacing:-.015em;
}
.ap-faq-item summary::-webkit-details-marker{display:none}
.ap-faq-item summary::marker{content:''}
.ap-faq-item summary>span{max-width:56ch}
.ap-family .ap-faq-item[open] summary{color:var(--faq-accent)}
.ap-faq-item[open]{background:var(--faq-active)}
.ap-faq-toggle{width:24px;height:24px;flex:none;color:var(--faq-accent)}
.ap-faq-toggle-vertical{transform-origin:12px 12px;transition:transform .24s var(--ap-ease)}
.ap-faq-item[open] .ap-faq-toggle-vertical{transform:scaleY(0)}
.ap-family .ap-faq-answer{padding:0 48px 28px 0}
.ap-family .ap-faq-answer p{font-size:16px;line-height:1.8;color:var(--faq-copy);max-width:68ch;margin:0}
.ap-family .ap-faq :focus-visible{outline:2px solid var(--faq-accent);outline-offset:5px}
@media(hover:hover){.ap-family .ap-faq-item summary:hover,.ap-family .ap-faq-intro .text-link:hover{color:var(--faq-accent)}}
@media(max-width:900px){
  .ap-faq-inner{grid-template-columns:1fr;gap:32px;padding-top:32px}
  .ap-family .ap-faq-intro h2{max-width:20ch}
  .ap-family .ap-faq-intro>p{max-width:55ch;margin-top:20px}
  .ap-family .ap-faq-intro .text-link{margin-top:14px}
}
@media(max-width:600px){
  .ap-family .ap-faq-item summary{font-size:17px;gap:18px;padding-block:22px}
  .ap-family .ap-faq-answer{padding-right:0}
}
@media(prefers-reduced-motion:reduce){.ap-faq-toggle-vertical{transition:none}}
@media(prefers-contrast:more){.ap-family .ap-faq{--faq-copy:var(--faq-ink);--faq-line:currentColor}}
@media(forced-colors:active){.ap-faq-item[open]{background:Canvas}.ap-family .ap-faq{--faq-ink:CanvasText;--faq-copy:CanvasText;--faq-accent:LinkText;--faq-line:CanvasText}}
