/* A quiet, readable chapter; the entrance and disclosure have separate owners. */
.sst-faq { overflow-anchor: none; }
/* Give the family cards and first question a little breathing room. */
.family-carousel + .sst-faq.faq.section { padding-top: 72px; }
.sst-faq .faq-intro::before { display: none; }
.faq-rule { display: block; width: 56px; height: 3px; margin-bottom: 28px; background: var(--blue, #0864da); transform-origin: left; }
.faq-title-line { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.faq-title-line > span { display: block; }
.sst-faq .faq-intro p { max-width: 300px; }
.faq-help { display: inline-flex; margin-top: 20px; padding-block: 8px; color: var(--blue, #0864da); font-size: 16px; font-weight: 600; text-underline-offset: 5px; }
.sst-faq .faq-answers { min-width: 0; }
/* Keep border spacing on the article; draw the lines inside its animated content. */
#faq .faq-answers .sst-faq-item { border-color: transparent; }
.sst-faq .sst-faq-reveal { position: relative; }
.sst-faq .sst-faq-reveal::after,
.sst-faq .sst-faq-item:first-child .sst-faq-reveal::before {
  content: ""; position: absolute; left: 0; right: 0; height: 1px;
  background: #cadcf1; pointer-events: none;
}
.sst-faq .sst-faq-reveal::after { bottom: -1px; }
.sst-faq .sst-faq-item:first-child .sst-faq-reveal::before { top: -1px; }
.sst-faq-toggle { transition: color .2s ease; }
.sst-faq-toggle i {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: var(--blue, #0864da);
  background: #edf4ff;
  transition: background-color .24s ease, color .24s ease;
}
.sst-faq-toggle i::before,.sst-faq-toggle i::after {
  width: 14px;
  height: 2px;
  border-radius: 2px;
}
.sst-faq-item.is-open .sst-faq-toggle i {
  color: #fff;
  background: var(--blue, #0864da);
}
.sst-faq-item.is-open .sst-faq-toggle { color: var(--blue, #0864da); }
.sst-faq-toggle i::after { transition: transform .32s cubic-bezier(.22,1,.36,1), opacity .24s ease; }
.sst-faq-answer { min-height: 0; overflow: hidden; }
.sst-faq.sst-faq-enhanced .sst-faq-body {
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows .42s cubic-bezier(.22,.68,0,1), visibility 0s .42s;
}
.sst-faq.sst-faq-enhanced .is-open .sst-faq-body {
  grid-template-rows: 1fr;
  visibility: visible;
  transition: grid-template-rows .42s cubic-bezier(.22,.68,0,1), visibility 0s;
}
.sst-faq .sst-faq-body p { transition: opacity .28s ease, transform .36s cubic-bezier(.22,1,.36,1); }
.sst-faq-enhanced .sst-faq-body p { opacity: 0; transform: translateY(-5px); }
.sst-faq-enhanced .is-open .sst-faq-body p { opacity: 1; transform: translateY(0); }
.sst-faq-body a { color: var(--blue, #0864da); text-underline-offset: 3px; }
.faq-help:focus-visible,.sst-faq-body a:focus-visible { outline: 3px solid #ff823d; outline-offset: 4px; border-radius: 2px; }
html.faq-is-resizing { overflow-anchor: none; }
@media (hover:hover) { .sst-faq-toggle:hover { color: var(--blue, #0864da); } }
@media (max-width:800px) {
  .sst-faq .faq-intro { position: static; }
  .sst-faq .faq-intro p { max-width: 440px; }
}
@media (max-width:760px) {
  /* Match both states: the open-state rule otherwise keeps its desktop duration. */
  .sst-faq.sst-faq-enhanced .sst-faq-item .sst-faq-body,
  .sst-faq.sst-faq-enhanced .sst-faq-item.is-open .sst-faq-body{transition:grid-template-rows .18s ease-out,visibility 0s .18s}
  .sst-faq.sst-faq-enhanced .sst-faq-item.is-open .sst-faq-body{transition:grid-template-rows .18s ease-out,visibility 0s}
  .sst-faq .sst-faq-body p{transition:opacity .12s ease-out;transform:none}
  .family-carousel + .sst-faq.faq.section { padding-top: 60px; }
  .faq-rule { margin-bottom: 22px; width: 44px; }
  .faq-help { margin-top: 8px; }
}
@media (prefers-reduced-motion:reduce) {
  .sst-faq.sst-faq-enhanced .sst-faq-item .sst-faq-body,
  .sst-faq.sst-faq-enhanced .sst-faq-item.is-open .sst-faq-body{transition:none}
  .sst-faq.sst-faq-enhanced .sst-faq-body,
  .sst-faq.sst-faq-enhanced .is-open .sst-faq-body,
  .sst-faq .sst-faq-body p,.sst-faq-toggle,.sst-faq-toggle i,.sst-faq-toggle i::after { transition: none; }
}
