/* Shared components. Built before the page waves; page stylesheets only add what is unique to them. */

/* ---------- Accordion (FAQ). Markup: .accordion[data-accordion] > .accordion__item > h3 > button.accordion__trigger + .accordion__panel ---------- */
.accordion { max-width: 880px; margin-inline: auto; }
.accordion__item { border-bottom: 1px solid #D5D8DC; }
.accordion__heading { margin: 0; font: inherit; }
.accordion__trigger {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; padding: 18px 0; background: none; border: 0; text-align: left;
  font-family: var(--f-head); font-size: 20px; font-weight: 400; line-height: 1.3; color: var(--c-heading);
}
.accordion__icon { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--c-white); font-size: 12px; color: var(--c-heading); }
.accordion__icon::before { content: "\f067"; font-family: "Font Awesome 7 Free"; font-weight: 900; }
.accordion__trigger[aria-expanded="true"] .accordion__icon::before { content: "\f068"; }
.accordion__panel { padding: 0 46px 18px 0; font-size: 16px; line-height: 1.5; }
.accordion__panel[hidden] { display: none; }
.accordion__panel > :last-child { margin-bottom: 0; }

/* ---------- Gravity Forms: the name field's two-column wrapper uses negative side margins that push it past its fieldset ---------- */
.gform_wrapper .ginput_complex { margin-inline: 0; max-width: 100%; }
