/* Opt-in Sticky Split style for Captive FAQ. Default layouts are unchanged. */
.ci-landing-page .captive-faq--sticky-split,
.ci-landing-page .captive-faq--sticky-split *,
.ci-landing-page .captive-faq--sticky-split *::before,
.ci-landing-page .captive-faq--sticky-split *::after { box-sizing: border-box; }
.ci-landing-page .captive-faq.captive-faq--sticky-split {
    width: 100%; max-width: none; padding: 96px 0; background: #fff; overflow: visible;
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__content {
    display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(48px, 7vw, 96px); align-items: start; width: 100%;
    max-width: var(--container-max-width, 1330px); margin-inline: auto;
    padding-inline: var(--container-padding-inline, clamp(1.25rem, 4vw, 2.5rem));
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__intro {
    position: sticky; top: 140px; align-self: start; min-width: 0;
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__eyebrow {
    margin: 0 0 20px; color: #51bf9d; font: 700 14px/1.25 Rubik, sans-serif;
    letter-spacing: .14em; text-transform: uppercase;
}
.ci-landing-page .captive-faq.captive-faq--sticky-split .captive-faq__title {
    margin: 0 0 20px; padding: 0; max-width: none; color: #231f20;
    font-size: 30px; font-weight: 700; line-height: 1.15; letter-spacing: -.025em;
    text-align: left; text-transform: none; text-wrap: balance;
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__intro-text {
    max-width: 400px; margin: 0; color: rgba(35, 31, 32, .75); font-size: 17px; line-height: 1.65;
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__items {
    min-width: 0; border-top: 1px solid rgba(35, 31, 32, .14);
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__item {
    border-bottom: 1px solid rgba(35, 31, 32, .14);
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__question {
    display: flex; justify-content: space-between; align-items: flex-start; gap: 24px;
    margin: 0; padding: 24px 0; color: #231f20; font-size: 18px; font-weight: 700;
    line-height: 1.35; cursor: pointer; list-style: none; scroll-margin-top: 164px;
    transition: color 200ms cubic-bezier(.2, .6, .2, 1);
}
.ci-landing-page .captive-faq--sticky-split .captive-faq__question::marker,
.ci-landing-page .captive-faq--sticky-split .captive-faq__question::-webkit-details-marker { display: none; content: ''; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__item[open] .captive-faq__question { padding-bottom: 14px; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__question:focus-visible { outline: 3px solid #51bf9d; outline-offset: 4px; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__split-icon { flex: 0 0 20px; color: #51bf9d; font-size: 26px; font-weight: 700; line-height: 1; text-align: center; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__split-icon::before { content: '+'; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__item[open] .captive-faq__split-icon::before { content: '\2212'; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__answer { max-width: none; padding: 0 0 24px; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__text { color: rgba(35, 31, 32, .85); font-size: 16px; line-height: 1.65; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__text p { margin: 0 0 16px; }
.ci-landing-page .captive-faq--sticky-split .captive-faq__text p:last-child { margin-bottom: 0; }
@media (hover: hover) {
    .ci-landing-page .captive-faq--sticky-split .captive-faq__question:hover { color: rgba(35, 31, 32, .7); }
}
@media (min-width: 1181px) and (min-height: 561px) {
    /* The theme's body overflow-x:hidden creates a non-scrolling sticky ancestor.
       clip preserves horizontal clipping without trapping this opt-in layout. */
    body:has(.captive-faq--sticky-split) { overflow-x: clip; }
}
@media (max-width: 1180px) {
    .ci-landing-page .captive-faq--sticky-split .captive-faq__content { grid-template-columns: minmax(0, 1fr); gap: 48px; }
    .ci-landing-page .captive-faq--sticky-split .captive-faq__intro { position: static; }
}
@media (max-height: 560px) {
    .ci-landing-page .captive-faq--sticky-split .captive-faq__intro { position: static; }
}
@media (max-width: 767.98px) {
    .ci-landing-page .captive-faq.captive-faq--sticky-split { padding-block: 64px; }
}
@media (prefers-reduced-motion: reduce) {
    .ci-landing-page .captive-faq--sticky-split .captive-faq__question { transition: none; }
}
