/* Ported from FACTdemo client/src/index.css — parity-first. */

.faq-item-reveal { display: block; }

/* FAQ — two-column accordion with rounded question cards. */
.faq-section { padding: clamp(88px, 10vw, 132px) 0 110px; color: #111; background: #fff; scroll-margin-top: 96px; }

.faqs-page .faq-section { padding-top: 169px; }

.faq-layout { display: grid; grid-template-columns: minmax(280px, .4fr) minmax(0, .6fr); gap: 56px 80px; align-items: start; }

.faq-copy { position: sticky; top: 154px; }

.faq-kicker { display: block; margin-bottom: 18px; color: var(--signal); font: 600 13px/1 var(--font-display); letter-spacing: -.01em; }

.faq-copy h2 { margin: 0; color: #111; font: 600 clamp(32px, 3.6vw, 48px)/1.08 var(--font-display); letter-spacing: -.02em; }

.faq-copy h2 strong { color: var(--signal); font-weight: 700; }

.faq-list { display: grid; gap: 12px; }

.faq-item { background: #f7f7f5; border-radius: 16px; overflow: hidden; }

.faq-item[open] { background: #f3f3f0; }

.faq-trigger { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 22px 24px; cursor: pointer; list-style: none; color: #111; font: 600 clamp(15px, 1.35vw, 18px)/1.25 var(--font-display); letter-spacing: -.03em; }

.faq-trigger::-webkit-details-marker { display: none; }

.faq-trigger:focus-visible { outline: 2px solid var(--signal); outline-offset: -2px; }

.faq-trigger svg { flex: 0 0 auto; color: #6a6a6a; transition: transform .22s var(--easing); }

.faq-item[open] .faq-trigger svg { transform: rotate(180deg); }

.faq-answer { padding: 0 24px 22px; }

.faq-answer p { margin: 0 0 12px; color: #4d4d4d; font: 400 15px/1.6 var(--font-sans); }

.faq-answer p:last-child { margin-bottom: 0; }

.faq-answer ul { margin: 0 0 12px; padding: 0; list-style: none; }

.faq-answer li { position: relative; padding: 6px 0 6px 16px; color: #4d4d4d; font: 400 15px/1.55 var(--font-sans); }

.faq-answer li::before { content: ""; position: absolute; left: 0; top: 14px; width: 6px; height: 6px; background: var(--signal); }

.faq-all-link { width: max-content; display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; color: #111; font: 600 14px/1 var(--font-display); letter-spacing: -.02em; transition: color .18s var(--easing), gap .18s var(--easing); }

.faq-all-link:hover { gap: 14px; color: var(--signal); }

@media (max-width: 980px) {
  .faq-layout { grid-template-columns: 1fr; gap: 32px; }
  .faq-copy { position: static; }
}

@media (max-width: 620px) {
  .faq-section { padding: 72px 0 80px; }
  .faqs-page .faq-section { padding-top: 168px; }
  .faq-trigger { padding: 18px 18px; }
  .faq-answer { padding: 0 18px 18px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; }.hero-scanline, .scroll-cue svg, .pulse-dot, .system-strip-track, .testimonial-row, .magic-live-chip > i, .hero-title-emphasis.is-live .hero-title-emphasis-copy::after, .cxo-cursor, .cxo-card { animation: none; }.site-header, .nav-cta, .button-primary, .button-light, .button-quiet, .proof-item::before, .capability-row, .capability-arrow, .destination-subtitle, .faq-trigger svg, .faq-all-link, .event-card img, .footer-link, .footer-intro-actions a, .footer-social a, .footer-legal-links a { transition: none; } }
