/* IBOS V16.7.4.3 | Section text alignment, naturally-sized FAQ illustration and app download badges. */
.ibos-visual-theme .ibos-home-align-left .section-heading{text-align:left!important;margin-left:0!important;margin-right:auto!important}
.ibos-visual-theme .ibos-home-align-center .section-heading{text-align:center!important;margin-left:auto!important;margin-right:auto!important}
.ibos-visual-theme .ibos-home-align-right .section-heading{text-align:right!important;margin-left:auto!important;margin-right:0!important}
.ibos-visual-theme .ibos-home-align-left .section-heading p{margin-left:0!important;margin-right:auto!important}
.ibos-visual-theme .ibos-home-align-center .section-heading p{margin-left:auto!important;margin-right:auto!important}
.ibos-visual-theme .ibos-home-align-right .section-heading p{margin-left:auto!important;margin-right:0!important}
.ibos-visual-theme .ibos-home-align-left .section-heading .eyebrow,.ibos-visual-theme .ibos-home-align-center .section-heading .eyebrow,.ibos-visual-theme .ibos-home-align-right .section-heading .eyebrow{justify-content:inherit}
.ibos-visual-theme .ibos-home-align-left .section-heading h2,.ibos-visual-theme .ibos-home-align-center .section-heading h2,.ibos-visual-theme .ibos-home-align-right .section-heading h2{margin-left:0!important;margin-right:0!important;max-width:none!important}
.ibos-visual-theme .ibos-home-align-center .section-heading .eyebrow{justify-content:center}
.ibos-visual-theme .ibos-home-align-right .section-heading .eyebrow{justify-content:flex-end}
.ibos-visual-theme .ibos-home-align-left .section-heading .eyebrow{justify-content:flex-start}
/* The FAQ left column never stretches its image to the height of a changing list. */
.ibos-visual-theme .faq-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.18fr);gap:clamp(30px,5.5vw,75px);align-items:start}
.ibos-visual-theme .faq-visual-column{min-width:0;align-self:start;position:sticky;top:105px}
.ibos-visual-theme .faq-visual-column .section-heading{width:100%;max-width:100%;margin-bottom:25px}
.ibos-visual-theme .faq-visual-column .section-heading h2{max-width:100%!important;font-size:clamp(1.7rem,2.5vw,2.5rem)!important;line-height:1.25!important;text-wrap:balance}
.ibos-visual-theme .faq-illustration{width:100%;max-width:510px;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;margin:0;overflow:hidden;border-radius:var(--ibos-radius-lg,18px);background:color-mix(in srgb,var(--ibos-soft-alt,#f1f4ff) 74%,white);box-shadow:0 12px 35px rgba(45,57,90,.05)}
.ibos-visual-theme .faq-illustration img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-height:none}
.ibos-visual-theme .faq-list{min-width:0;align-self:start}
.ibos-visual-theme .faq-item summary{overflow-wrap:anywhere}
/* Actual destination links: two platform badges, no unrelated tracking scripts. */
.ibos-app-store-links{display:flex;align-items:stretch;gap:11px;flex-wrap:wrap;margin-top:22px}
.ibos-app-store-badge{display:inline-flex;align-items:center;gap:12px;min-height:59px;padding:9px 17px;border:1px solid #293547;background:#141923;color:#fff!important;border-radius:11px;text-decoration:none;box-shadow:0 5px 17px rgba(10,18,35,.09);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.ibos-app-store-badge:hover,.ibos-app-store-badge:focus-visible{background:#273348;color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 22px rgba(10,18,35,.16)}
.ibos-app-store-badge svg{flex:0 0 29px;width:29px;height:29px}
.ibos-app-store-badge span{display:flex;flex-direction:column;text-align:left;line-height:1.1}
.ibos-app-store-badge small{font-size:10px;font-weight:500;letter-spacing:.005em;color:#e1e7ef;line-height:1.3}
.ibos-app-store-badge strong{font-size:18px!important;font-weight:700;letter-spacing:-.025em;color:#fff!important;line-height:1.2}
.ibos-visual-theme .resident-copy .ibos-app-store-links{margin-top:18px}
@media(max-width:900px){.ibos-visual-theme .faq-grid{grid-template-columns:minmax(0,1fr);gap:22px}.ibos-visual-theme .faq-visual-column{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);align-items:center;gap:20px}.ibos-visual-theme .faq-illustration{aspect-ratio:1/1;max-width:300px}.ibos-visual-theme .faq-visual-column .section-heading{margin-bottom:0}}
@media(max-width:600px){.ibos-visual-theme .faq-visual-column{grid-template-columns:1fr;gap:13px}.ibos-visual-theme .faq-visual-column .section-heading{margin-bottom:0}.ibos-visual-theme .faq-illustration{width:100%;max-width:390px;max-height:225px;aspect-ratio:16/9;margin:auto}.ibos-visual-theme .faq-illustration img{object-fit:cover;object-position:center 54%}.ibos-app-store-badge{min-width:0;padding:9px 13px;gap:9px}.ibos-app-store-badge svg{width:24px;height:24px;flex-basis:24px}.ibos-app-store-badge strong{font-size:16px!important}.ibos-app-store-badge small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.ibos-app-store-badge{transition:none}.ibos-app-store-badge:hover{transform:none}}

/* Explicit alignments for the special Hero and trust-strip markup. */
.ibos-visual-theme .hero-section.ibos-home-align-left .hero-content{text-align:left}
.ibos-visual-theme .hero-section.ibos-home-align-center .hero-content{text-align:center}
.ibos-visual-theme .hero-section.ibos-home-align-right .hero-content{text-align:right}
.ibos-visual-theme .hero-section.ibos-home-align-center .hero-actions,.ibos-visual-theme .hero-section.ibos-home-align-center .hero-trust{justify-content:center}
.ibos-visual-theme .hero-section.ibos-home-align-right .hero-actions,.ibos-visual-theme .hero-section.ibos-home-align-right .hero-trust{justify-content:flex-end}
.ibos-visual-theme .trust-strip.ibos-home-align-left .trust-grid>div:first-child{text-align:left}
.ibos-visual-theme .trust-strip.ibos-home-align-center .trust-grid>div:first-child{text-align:center}
.ibos-visual-theme .trust-strip.ibos-home-align-right .trust-grid>div:first-child{text-align:right}
.ibos-visual-theme .faq-visual-column.faq-mode-static,.ibos-visual-theme .faq-visual-column.faq-mode-off{position:static}


/*
 * IBOS V16.7.4.4 — Responsive typography layout & FAQ inner spacing.
 * Presentation only: no changes to page content, saved options, forms or logic.
 */

/* FAQ: keep questions, answers and +/- comfortably clear of the card edges. */
.ibos-visual-theme .faq-list .faq-item > summary {
  padding: 24px clamp(22px, 2.6vw, 32px);
  gap: 20px;
  box-sizing: border-box;
}
.ibos-visual-theme .faq-list .faq-item > summary > span {
  display: inline-flex;
  flex: 0 0 30px;
  width: 30px;
  min-height: 30px;
  justify-content: center;
  align-items: center;
  line-height: 1;
  margin-left: auto;
}
.ibos-visual-theme .faq-list .faq-item > .faq-answer {
  padding: 0 clamp(22px, 2.6vw, 32px) 25px;
  box-sizing: border-box;
}
.ibos-visual-theme .faq-list .faq-item > .faq-answer > :first-child {
  margin-top: 0;
}

@media (max-width: 680px) {
  /* Image occupies the entire first row. Number, title and description
     then occupy two stable columns (instead of the description falling
     into the narrow number column and wrapping one word per line). */
  .ibos-visual-theme .process-style-timeline-images .process-step {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    column-gap: 16px;
    row-gap: 0;
    align-items: start;
    padding: 14px 0 22px;
  }
  .ibos-visual-theme .process-style-timeline-images .process-step > .process-step-image {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    width: 100%;
    margin: 0 0 20px;
  }
  .ibos-visual-theme .process-style-timeline-images .process-step > .process-count {
    grid-column: 1;
    grid-row: 2 / 4;
    margin: 0;
  }
  .ibos-visual-theme .process-style-timeline-images .process-step > h3 {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    margin: 0 0 6px;
  }
  .ibos-visual-theme .process-style-timeline-images .process-step > p {
    grid-column: 2;
    grid-row: 3;
    min-width: 0;
    width: auto;
    margin: 0 0 8px;
    overflow-wrap: break-word;
  }
  /* Consistent FAQ padding at phone widths, including long questions. */
  .ibos-visual-theme .faq-list .faq-item > summary {
    padding: 22px 20px;
    gap: 14px;
  }
  .ibos-visual-theme .faq-list .faq-item > summary > span {
    flex-basis: 26px;
    width: 26px;
    min-height: 26px;
  }
  .ibos-visual-theme .faq-list .faq-item > .faq-answer {
    padding: 0 20px 23px;
  }
}
