/* 21st.dev demo 6504 disclosure cards, adapted to the live page's own tokens. */
.lx-faq { border-top: 1px solid var(--rule); scroll-margin-top: 90px; }
.lx-faq-layout { max-width: 800px; text-align: center; }
.lx-faq-intro { margin-bottom: 32px; }
.lx-faq-tabs { position: relative; isolation: isolate; display: flex; gap: 4px; padding: 5px; border: 1px solid var(--rule); border-radius: var(--squircle-action, 16px); corner-shape: squircle; margin: 0 auto 23px; max-width: 640px; background: var(--bg); }
.lx-faq-tab-glide { position: absolute; z-index: -1; pointer-events: none; top: 5px; bottom: 5px; left: 5px; width: calc((100% - 18px) / 3); border-radius: var(--squircle-sm, 12px); corner-shape: squircle; background: var(--ink); box-shadow: var(--shadow-sm); transform: translateX(calc(var(--faq-tab-index, 0) * (100% + 4px))); transition: transform var(--dur-emphasis, 460ms) var(--ease-settle); }
.lx-faq-tabs button { flex: 1 1 0; min-width: 0; border: 0; border-radius: var(--squircle-sm, 12px); corner-shape: squircle; padding: 12px 8px; background: transparent; color: var(--ink-soft); font: 600 14px/1.4 'Poppins', sans-serif; cursor: pointer; transition: transform var(--dur-standard, 320ms) var(--ease-settle), color var(--dur-emphasis, 460ms) var(--ease-settle); }
.lx-faq-tabs button[aria-selected="true"] { color: var(--bg); }
.lx-faq-item { margin: 0 0 10px; border: 1px solid var(--rule); border-radius: var(--squircle-card, 20px); corner-shape: squircle; background: var(--card-bg); cursor: pointer; transition: transform var(--dur-standard, 320ms) var(--ease-settle), border-color var(--dur-standard, 320ms) var(--ease-settle), box-shadow var(--dur-standard, 320ms) var(--ease-settle); overflow: hidden; }
.lx-faq-item.is-open { border-color: transparent; box-shadow: 0 2px 4px rgb(26 23 18 / 3%), 0 8px 24px -8px rgb(26 23 18 / 12%); }
@media (hover: hover) and (pointer: fine) {
  .lx-faq-tabs button:hover, .lx-faq-item:hover { transform: translateY(-2px); }
}
.lx-faq-item h3 { margin: 0; }
.lx-faq-question { display: flex; align-items: center; justify-content: space-between; gap: 24px; width: 100%; padding: 22px 58px; position: relative; border: 0; background: transparent; color: var(--ink); text-align: center; cursor: pointer; font: 600 15px/1.55 'Poppins', sans-serif; }
.lx-faq-question > span:first-child { flex: 1; }
.lx-faq-plus { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border: 1px solid var(--rule); border-radius: 50%; }
.lx-faq-plus::before, .lx-faq-plus::after { content: ''; position: absolute; background: currentColor; width: 9px; height: 1px; top: 10px; left: 6.5px; }
.lx-faq-plus::after { transform: rotate(90deg); transition: transform var(--dur-quick) var(--ease-both); }
.lx-faq-question[aria-expanded="true"] .lx-faq-plus::after { transform: rotate(0); }
.lx-faq-answer { overflow: hidden; }
.lx-faq [hidden] { display: none !important; }
.lx-faq-copy { padding: 0 32px 28px; color: var(--ink-soft); font-size: 14px; line-height: 1.85; }
.lx-faq-copy p { margin: 0 0 13px; }
.lx-faq-copy p:last-child { margin-bottom: 0; }
.lx-faq-copy strong { font-weight: 600; color: var(--ink); }
.lx-faq-copy a { color: var(--ink); text-underline-offset: 3px; }
.lx-faq-seasons { display: grid; grid-template-columns: 1fr 1fr; margin: 20px 0; gap: 22px 20px; }
.lx-faq-seasons div { padding: 14px 10px 0; border-top: 2px solid var(--rule); }
.lx-faq-seasons dt { color: var(--ink); font-weight: 600; line-height: 1.5; }
.lx-faq-seasons dt span { display: block; color: var(--ink-light); text-transform: uppercase; letter-spacing: .08em; font-size: 9px; font-weight: 500; margin-bottom: 5px; }
.lx-faq-seasons dd { margin: 7px 0 0; line-height: 1.7; font-size: 12px; }
.lx-faq-foot { display: flex; justify-content: center; gap: 16px; margin: 30px 0 0; }
.lx-faq-foot .lx-book-cta { margin: 0; }
.lx-faq button:focus-visible, .lx-faq a:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.lx-faq-question:focus-visible { outline-offset: -5px; border-radius: var(--squircle-sm, 12px); }
@media (max-width: 760px) {
  .lx-faq { padding: 52px 0; }
  .lx-faq-layout { width: calc(100% - 40px); }
  .lx-faq-intro { margin-bottom: 26px; }
  .lx-faq-tabs { margin-bottom: 16px; }
  .lx-faq-tabs button { font-size: 12px; padding: 12px 5px; }
  .lx-faq-question { padding: 20px 44px; gap: 14px; font-size: 14px; }
  .lx-faq-plus { right: 14px; }
  .lx-faq-copy { padding: 0 20px 24px; font-size: 14px; }
  .lx-faq-foot { flex-direction: column; align-items: center; gap: 12px; }

}
@media (prefers-reduced-motion: reduce) {
  .lx-faq *, .lx-faq *::after { transition: none !important; }
  .lx-faq-tabs button:hover, .lx-faq-item:hover { transform: none; }
}
