/* One component for every HOME slide. Image determines height; content overlays it. */
.csx-carousel.csx-carousel{position:relative;background:#06111f;overflow:hidden;height:auto;min-height:0}
.csx-carousel .csx-carousel__slides{display:block;position:relative;height:auto;min-height:0}
.csx-carousel .csx-carousel__panel{position:absolute;inset:0;width:100%;height:auto;min-height:0;margin:0;padding:0;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .3s ease}
.csx-carousel .csx-carousel__panel.is-active{position:relative;visibility:visible;opacity:1;pointer-events:auto}
.csx-carousel .csx-slide{position:relative;isolation:isolate;container-type:inline-size;width:100%;margin:0;padding:0;background:#06111f;overflow:hidden}
.csx-carousel .csx-slide__image{display:block;width:100%;height:auto;max-width:100%;margin:0;padding:0;border:0;border-radius:0;transform:none}
.csx-carousel .csx-slide__content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:1.1cqw;margin:0;padding:2.5cqw;box-sizing:border-box;background:linear-gradient(180deg,transparent 10%,rgba(3,14,27,.35) 46%,rgba(3,14,27,.94) 100%);color:#fff;z-index:1}
.csx-carousel .csx-slide__kicker{margin:0;color:#119dff;font:700 1.25cqw/1.2 Arial,sans-serif;letter-spacing:.06em}
.csx-carousel .csx-slide__title{margin:0;color:#fff;font:800 4.4cqw/1.03 Arial,sans-serif;letter-spacing:-.035em;overflow-wrap:normal}
.csx-carousel .csx-slide__title span{color:#119dff}
.csx-carousel .csx-slide__lead{margin:0;color:#e0eaf4;font:400 1.6cqw/1.25 Arial,sans-serif}
.csx-carousel .csx-slide__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4cqw;width:100%;margin:0}
.csx-carousel .csx-slide__button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:4.4cqw;box-sizing:border-box;padding:.9cqw 1cqw;border:0;border-radius:99px;background:#049cef;color:#fff;text-decoration:none;text-align:center;text-transform:uppercase;font:700 1.3cqw/1.15 Arial,sans-serif;white-space:normal}
.csx-carousel .csx-slide__button--secondary{background:#fff;color:#102235}
.csx-carousel .csx-slide__button:focus-visible{outline:3px solid #9dd8ff;outline-offset:-3px}
.csx-carousel .csx-carousel__controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:var(--csx-indicator-align,center);height:calc(var(--csx-toggle-size,36px) + 16px);padding:8px 16px;background:#06111f;box-sizing:border-box}
.csx-carousel .csx-carousel__tabs{display:flex;justify-content:center;align-items:center;gap:8px;width:auto;min-width:0;max-width:calc(100% - var(--csx-toggle-size,36px) - var(--csx-toggle-gap,8px))}
.csx-carousel .csx-carousel__tabs button{display:block;flex:0 1 52px;width:52px;height:4px;min-height:4px;margin:0;padding:0;border:0;border-radius:4px;background:#72859a;color:transparent;font-size:0}
.csx-carousel .csx-carousel__tabs button[aria-selected=true]{background:#119dff}
.csx-carousel .csx-carousel__toggle{display:none}
.csx-carousel .csx-carousel__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){
 .csx-carousel .csx-slide__content{gap:1cqw;padding:1.5cqw}
 .csx-carousel .csx-slide__kicker{font-size:1.65cqw}
 .csx-carousel .csx-slide__title{font-size:5.3cqw}
 .csx-carousel .csx-slide__lead{font-size:2cqw;line-height:1.15}
 .csx-carousel .csx-slide__button{min-height:7cqw;padding:1.2cqw .8cqw;font-size:1.8cqw}
}

/* Values are supplied by the carousel control panel; unsaved slides keep their original CSS. */
.csx-carousel .csx-carousel__panel[data-csx-managed]{transition-duration:var(--csx-panel-transition,300ms)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content{justify-content:var(--csx-align-y);align-items:var(--csx-align-x);text-align:var(--csx-text-align)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content>:not(.csx-slide__actions){max-width:var(--csx-text-width)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__actions{width:var(--csx-button-width,var(--csx-text-width));max-width:100%;grid-template-columns:repeat(var(--csx-button-columns,2),minmax(0,1fr))}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__button{border-radius:var(--csx-button-radius,99px)}
.csx-carousel .csx-carousel__panel[data-csx-managed] picture{display:block;width:100%}
.csx-carousel .csx-carousel__panel[data-csx-managed]:not([data-text-delay="0"]).is-active .csx-slide__content{animation:csx-managed-text .4s ease var(--csx-text-delay,0ms) both}
@keyframes csx-managed-text{from{opacity:0}to{opacity:1}}
@media(max-width:760px){.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content{justify-content:var(--csx-mobile-y);align-items:var(--csx-mobile-x);text-align:var(--csx-mobile-text)}}
@media(prefers-reduced-motion:reduce){.csx-carousel .csx-carousel__panel[data-csx-managed],.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content{transition:none!important;animation:none!important}}

/* Typography is proportional to the original responsive sizing; 100% preserves it. */
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__kicker{font-size:var(--csx-font-kicker)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__title{font-size:var(--csx-font-title)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__lead{font-size:var(--csx-font-lead)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__button{font-size:var(--csx-font-button)}
@media(max-width:760px){
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__kicker{font-size:var(--csx-mobile-font-kicker)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__title{font-size:var(--csx-mobile-font-title)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__lead{font-size:var(--csx-mobile-font-lead)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__button{font-size:var(--csx-mobile-font-button)}
}

/* Height keeps the original image ratio at auto. Offset moves content without its backdrop. */
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide{height:var(--csx-height,auto)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__image{height:var(--csx-height,auto);object-fit:cover;object-position:center}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content>*{position:relative;top:var(--csx-offset-y,0px)}
@media(max-width:760px){
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide{height:var(--csx-mobile_height,auto)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__image{height:var(--csx-mobile_height,auto)}
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content>*{top:var(--csx-mobile-offset-y,0px)}
}

/* Dim only the backdrop; keep text and buttons fully opaque. */
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content{background:linear-gradient(180deg,transparent 10%,rgba(3,14,27,var(--csx-darkness-mid,.35)) 46%,rgba(3,14,27,var(--csx-darkness-bottom,.94)) 100%)}
@media(max-width:760px){.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content{background:linear-gradient(180deg,transparent 10%,rgba(3,14,27,var(--csx-mobile_darkness-mid,.35)) 46%,rgba(3,14,27,var(--csx-mobile_darkness-bottom,.94)) 100%)}}

@media(max-width:760px){.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__actions{width:var(--csx-mobile-button-width,var(--csx-button-width,var(--csx-text-width)))}}

/* Separate button positioning; with-text keeps the original flex layout. */
.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content>.csx-slide__actions{position:var(--csx-actions-position);top:var(--csx-actions-top);bottom:var(--csx-actions-bottom);left:var(--csx-actions-left);right:var(--csx-actions-right);transform:var(--csx-actions-transform);max-width:var(--csx-actions-max-width);z-index:2}
@media(max-width:760px){.csx-carousel .csx-carousel__panel[data-csx-managed] .csx-slide__content>.csx-slide__actions{position:var(--csx-mobile-actions-position);top:var(--csx-mobile-actions-top);bottom:var(--csx-mobile-actions-bottom);left:var(--csx-mobile-actions-left);right:var(--csx-mobile-actions-right);transform:var(--csx-mobile-actions-transform);max-width:var(--csx-mobile-actions-max-width);}}
/* Configurable navigation indicators. Defaults reproduce the existing bars. */
.csx-carousel[data-indicators] .csx-carousel__tabs{justify-content:var(--csx-indicator-align,center);gap:var(--csx-indicator-gap,8px)}
.csx-carousel[data-indicators] .csx-carousel__tabs button{flex:0 1 var(--csx-indicator-width,52px);width:var(--csx-indicator-width,52px);height:var(--csx-indicator-size,4px);min-height:var(--csx-indicator-size,4px);background:var(--csx-indicator-color,#72859a)}
.csx-carousel[data-indicators] .csx-carousel__tabs button[aria-selected=true]{background:var(--csx-indicator-active,#119dff)}
.csx-carousel[data-indicators=dots] .csx-carousel__tabs button{flex:0 0 var(--csx-indicator-dot,12px);width:var(--csx-indicator-dot,12px);height:var(--csx-indicator-dot,12px);min-height:var(--csx-indicator-dot,12px);border-radius:50%}
.csx-carousel[data-indicators=none] .csx-carousel__controls{display:none}
.csx-carousel[data-indicator-position=top] .csx-carousel__controls,.csx-carousel[data-indicator-position=bottom] .csx-carousel__controls{position:absolute;left:0;right:0;background:transparent}
.csx-carousel[data-indicator-position=top] .csx-carousel__controls{top:0}
.csx-carousel[data-indicator-position=bottom] .csx-carousel__controls{bottom:0}
.csx-carousel[data-indicators] .csx-carousel__tabs button:focus-visible{outline:2px solid white;outline-offset:4px}
.csx-carousel{width:100%;max-width:100%;box-sizing:border-box;clear:both}
.csx-carousel .csx-slide__empty{height:480px;background:#132b3b}
.csx-carousel .csx-carousel__toggle{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid #72859a;color:white;border-radius:5px;width:36px;height:36px;min-height:36px;flex:0 0 36px;padding:8px;margin-left:8px;cursor:pointer}
@media(max-width:760px){.csx-carousel .csx-slide__empty{height:360px}}

/* A sibling link keeps buttons independent and avoids nested anchors. */
.csx-carousel .csx-slide__image-link{position:absolute;inset:0;z-index:1;display:block;border:0;border-radius:0;background:transparent}
.csx-carousel .csx-slide--linked .csx-slide__content{pointer-events:none}
.csx-carousel .csx-slide--linked .csx-slide__button{pointer-events:auto}
.csx-carousel .csx-slide__image-link:focus-visible{outline:3px solid #fff;outline-offset:-6px;box-shadow:inset 0 0 0 8px #0091ff}

.csx-carousel .csx-carousel__toggle svg{display:block;flex:none;width:18px;height:18px}
.csx-carousel .csx-carousel__toggle svg[hidden]{display:none}
.csx-carousel .csx-carousel__toggle:hover{background:rgba(255,255,255,.12)}
.csx-carousel .csx-carousel__toggle:focus-visible{outline:2px solid white;outline-offset:2px}

/* The playback control is adjustable independently of the indicator bars. */
.csx-carousel .csx-carousel__toggle{width:var(--csx-toggle-size,36px);height:var(--csx-toggle-size,36px);min-height:var(--csx-toggle-size,36px);flex-basis:var(--csx-toggle-size,36px);margin-left:var(--csx-toggle-gap,8px);border-width:var(--csx-toggle-border,1px);border-color:var(--csx-toggle-color,#fff);border-radius:var(--csx-toggle-radius,5px);color:var(--csx-toggle-color,#fff);background:var(--csx-toggle-background,transparent);box-sizing:border-box;padding:0}
.csx-carousel .csx-carousel__toggle svg{width:var(--csx-toggle-icon,18px);height:var(--csx-toggle-icon,18px)}

/* Elapsed time of the active slide; updated by the same clock that advances it. */
.csx-carousel[data-indicators=bars] .csx-carousel__tabs button{position:relative;overflow:hidden}
.csx-carousel[data-indicators=bars] .csx-carousel__tabs button[aria-selected=true]{background:var(--csx-indicator-color,#72859a)}
.csx-carousel[data-indicators=bars] .csx-carousel__tabs button::after{content:"";position:absolute;inset:0;background:var(--csx-indicator-active,#119dff);border-radius:inherit;transform:scaleX(0);transform-origin:left center;pointer-events:none}
.csx-carousel[data-indicators=bars] .csx-carousel__tabs button[aria-selected=true]::after{transform:scaleX(var(--csx-progress,0))}
