/* Isolated FAQ component; meaningful answers are visible until JS enhances it. */
.ba-faq { padding-block: var(--ba-faq-padding-y,112px); background: var(--ba-faq-background,var(--ba-color-neutral,#f8f7f5)); font-family: var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); }
.ba-faq, .ba-faq * { box-sizing: border-box; }
.ba-faq .ba-faq-container { width: min(calc(100% - var(--ba-gutter,48px) * 2),var(--ba-container-max,1280px)); margin-inline: auto; display: grid; grid-template-columns: minmax(0,2fr) minmax(0,3fr); gap: var(--ba-faq-column-gap,64px); align-items: start; }
.ba-faq .ba-faq-heading { margin:0; font:600 clamp(32px,3.4vw,52px)/1.1 var(--ba-font-heading,"Space Grotesk",Arial,sans-serif); letter-spacing:-.03em; color:var(--ba-faq-heading,var(--ba-color-secondary,#121212)); overflow-wrap:anywhere; text-wrap:balance; }
.ba-faq .ba-faq-paragraph { margin:24px 0 0; color:var(--ba-faq-paragraph,var(--ba-color-secondary,#121212)); font-size:17px; line-height:1.75; overflow-wrap:anywhere; }
.ba-faq .ba-faq-list { display:grid; gap:var(--ba-faq-item-gap,12px); min-width:0; }
.ba-faq .ba-faq-item { min-width:0; background:var(--ba-faq-card,var(--ba-color-white,#fff)); border:1px solid var(--ba-faq-border,var(--ba-color-tertiary,#e7e3de)); border-radius:0; }
.ba-faq .ba-faq-item.is-open { border-color:var(--ba-faq-open-border,#c6c0b8); }
.ba-faq .ba-faq-trigger { appearance:none; display:flex; align-items:flex-start; justify-content:space-between; gap:20px; width:100%; max-width:100%; min-width:0; white-space:normal; min-height:48px; margin:0; padding:var(--ba-faq-question-padding,24px); background:transparent; border:0; border-radius:0; box-shadow:none; color:var(--ba-faq-question,var(--ba-color-secondary,#121212)); text-align:left; font:500 17px/1.5 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); cursor:pointer; }
.ba-faq .ba-faq-trigger:disabled { opacity:1; cursor:default; }
.ba-faq .ba-faq-trigger:focus-visible { outline:2px solid var(--ba-color-secondary,#121212); outline-offset:-4px; }
.ba-faq .ba-faq-question { flex:1; min-width:0; white-space:normal; overflow-wrap:anywhere; }
.ba-faq .ba-faq-icon { position:relative; width:16px; height:16px; flex:0 0 16px; margin-top:4px; color:var(--ba-faq-icon,var(--ba-color-secondary,#121212)); }
.ba-faq .ba-faq-icon::before, .ba-faq .ba-faq-icon::after { content:""; position:absolute; top:7px; left:0; width:16px; height:2px; background:currentColor; }
.ba-faq .ba-faq-icon::after { transform:rotate(90deg); transition:transform 300ms ease; }
.ba-faq .ba-faq-trigger[aria-expanded="true"] .ba-faq-icon::after { transform:rotate(0); }
.ba-faq .ba-faq-answer { overflow:hidden; color:var(--ba-faq-answer,var(--ba-color-secondary,#121212)); font:400 16px/1.75 var(--ba-font-body,"Plus Jakarta Sans",Arial,sans-serif); }
.ba-faq .ba-faq-answer[hidden] { display:none; }
.ba-faq .ba-faq-answer-inner { padding:0 var(--ba-faq-question-padding,24px) var(--ba-faq-question-padding,24px); white-space:pre-line; overflow-wrap:anywhere; }
@media (max-width:1024px) { .ba-faq { padding-block:var(--ba-faq-padding-y-tablet,80px); } .ba-faq .ba-faq-container { grid-template-columns:minmax(0,1fr); gap:32px; } .ba-faq .ba-faq-heading { max-width:780px; } }
@media (max-width:767px) { .ba-faq { padding-block:var(--ba-faq-padding-y-mobile,56px); } .ba-faq .ba-faq-container { width:calc(100% - clamp(24px,6vw,36px) * 2); } .ba-faq .ba-faq-heading { font-size:clamp(28px,6.5vw,36px); } .ba-faq .ba-faq-paragraph { font-size:16px; } .ba-faq .ba-faq-trigger { font-size:16px; gap:16px; } }
@media (prefers-reduced-motion:reduce) { .ba-faq .ba-faq-icon::after { transition:none; } }

.ba-faq .ba-faq-list:only-child { grid-column:1 / -1; }
