/* Bottom banners remain dismissible even when the legacy scroll listener
   toggles .on again. Space tracks the actual wrapped banner height. */
#sticky[hidden], #stickyCta[hidden]{display:none!important}
body.ae-dismissible-banner{padding-bottom:var(--ae-banner-space,0px)!important}
#sticky, #stickyCta{padding-right:56px}
.ae-banner-close{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #fff;border-radius:6px;background:transparent;color:#fff;font:28px/1 sans-serif;cursor:pointer}
.ae-banner-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* IDs/classes used by the inline calendar stages across funnel engines. */
[data-assigned-only], [data-calendar-stage], .calendar-stage, #calendarStage, #booking, #schedule{scroll-margin-top:var(--ae-header-offset,104px)}
/* Keep secondary reading text dark on the light article surfaces. Dark CTA
   panels and the footer retain their own light foreground colors. */
.article{--ink-2:#30445f;--muted:#45566d}
.article > p, .article > ul, .article > ol{color:#30445f}
[data-inline-booking], #rothBook, #factCheckBook, #quizBook, #fitBook, #ownerBook{scroll-margin-top:var(--ae-header-offset,104px)}
.prose{--ink-2:#30445f;--muted:#45566d}
.prose > p, .prose > ul, .prose > ol{color:#30445f}
