/*
 * FAQ (#faq): a flat list. Hairline dividers instead of boxed cards, a plain plus/minus, the question
 * in the page's own type, answers that open with a short height transition. The accordion script in the
 * page toggles `.is-open` on each `.crux-faq` and `aria-expanded` on its header; nothing else is needed.
 */
#faq {
  --faq-line: #ffffff1f;
  --faq-line-strong: #ffffff40;
  --faq-fg: #f6f8ff;
  --faq-fg-2: #a1acbd;
  --faq-icon: #8d97a8;
  --faq-ease: cubic-bezier(.4, 0, .2, 1);
  --faq-time: 280ms;
}

/* Heading stays put while the list is read. */
#faq .framer-2yHWH { align-items: flex-start; }
@media (min-width: 900px) {
  #faq .framer-1rlg1wv { position: sticky; top: 112px; align-self: flex-start; }
}

/* List: lines between items, no cards. The export slid each item in from the right on scroll (opacity 0,
   translateX, will-change on every row); that entrance and the permanent compositing layers made opening
   and closing stutter, so rows are plain, and the scroll anchor skips this list. */
#faq .crux-faq { opacity: 1 !important; transform: none !important; transition: none !important; will-change: auto !important; }
#faq .framer-HasIk { overflow-anchor: none; }
#faq .framer-HasIk { gap: 0; width: 100%; align-items: stretch; border-bottom: 1px solid var(--faq-line); }
#faq .crux-faq { border-top: 1px solid var(--faq-line); }
#faq .framer-685Ow { align-items: stretch; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 0fr; gap: 0; width: 100%; padding: 0; background: none !important; border-radius: 0; transition: grid-template-rows var(--faq-time) var(--faq-ease); }
#faq .framer-685Ow::after { display: none !important; }
#faq .crux-faq.is-open .framer-685Ow { grid-template-rows: auto 1fr; }

/* Question row. */
#faq .framer-zu3y24 { gap: 24px; padding: 22px 0; align-items: center; }
#faq .framer-1fnfarm h3 { margin: 0; color: var(--faq-fg); font: 500 19px/1.35 Geist, -apple-system, BlinkMacSystemFont, sans-serif; letter-spacing: -.012em; text-wrap: balance; }
#faq .framer-1fnfarm h3 { transition: color 160ms ease; }
#faq .crux-faq:hover .framer-1fnfarm h3 { color: #fff; }
#faq .framer-685Ow:focus-visible { outline: 2px solid #a5d8ff; outline-offset: 4px; border-radius: 6px; }

/* Plus that becomes a minus: two bars drawn in CSS, replacing the masked chevron. */
#faq .framer-iXkoi { position: relative; flex: none; width: 14px; height: 14px; background: none !important; -webkit-mask: none !important; mask: none !important; transform: none !important; transition: none; }
#faq .framer-iXkoi::before,
#faq .framer-iXkoi::after { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 1.5px; border-radius: 1px; background: var(--faq-icon); transition: transform var(--faq-time) var(--faq-ease), background-color 160ms ease; }
#faq .framer-iXkoi::after { transform: rotate(90deg); }
#faq .crux-faq:hover .framer-iXkoi::before,
#faq .crux-faq:hover .framer-iXkoi::after { background: var(--faq-fg); }
#faq .crux-faq.is-open .framer-iXkoi::before,
#faq .crux-faq.is-open .framer-iXkoi::after { background: var(--faq-fg); }
#faq .crux-faq.is-open .framer-iXkoi::after { transform: rotate(0deg); }

/* Answer: always laid out so the row height can animate; hidden from everything while closed. The export left an
   inline opacity:1 on it, so opacity needs !important. The text fades and settles 6px while the row grows. */
#faq .crux-faq .framer-gxudfp { display: block !important; align-self: stretch; height: auto !important; min-height: 0; overflow: hidden; visibility: hidden; opacity: 0 !important; transition: opacity 140ms ease, visibility 0s linear var(--faq-time); }
#faq .crux-faq.is-open .framer-gxudfp { visibility: visible; opacity: 1 !important; transition: opacity 220ms ease 70ms, visibility 0s; }
#faq .framer-gxudfp p { transform: translateY(-6px); transition: transform var(--faq-time) var(--faq-ease); }
#faq .crux-faq.is-open .framer-gxudfp p { transform: none; }
/* The page forces all Framer text white; answers sit one step back from the questions. */
#faq .framer-gxudfp p, #faq .framer-gxudfp p * { color: var(--faq-fg-2) !important; -webkit-text-fill-color: var(--faq-fg-2) !important; }
#faq .framer-gxudfp p { max-width: 560px; margin: 0; padding: 0 48px 26px 0; color: var(--faq-fg-2); font: 400 16px/1.65 Geist, -apple-system, BlinkMacSystemFont, sans-serif; text-wrap: pretty; }

@media (max-width: 767px) {
  #faq .framer-zu3y24 { padding: 18px 0; }
  #faq .framer-1fnfarm h3 { font-size: 17px; }
  #faq .framer-gxudfp p { padding-right: 0; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  #faq .framer-685Ow,
  #faq .framer-iXkoi::before,
  #faq .framer-iXkoi::after,
  #faq .crux-faq .framer-gxudfp,
  #faq .crux-faq.is-open .framer-gxudfp,
  #faq .framer-gxudfp p { transition: none; }
  #faq .framer-gxudfp p { transform: none; }
}
