.home-start:has([data-home-carousel]){padding-top:20px}.home-carousel{color:#fff;--banner-yellow:#ffdc57;--banner-line:#39304f;border:1px solid var(--banner-line);border-radius:24px;background:#100c20;overflow:hidden;touch-action:pan-y pinch-zoom;isolation:isolate}
.banner-track{display:grid;position:relative}.banner-slide{grid-area:1/1;min-width:0;position:relative;min-height:430px;display:flex;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 400ms ease,visibility 400ms ease}.banner-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.banner-art{position:absolute;inset:0;display:block;background:#100c20}.banner-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:right center}.banner-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#100c20 0%,#100c20ed 32%,#100c2090 48%,transparent 74%);pointer-events:none}
.banner-copy{position:relative;z-index:1;width:55%;padding:40px;pointer-events:none}.banner-copy a{pointer-events:auto}.banner-tag{display:block;font-size:.72rem;font-weight:850;line-height:1.5;letter-spacing:.1em;color:var(--banner-yellow)}.banner-copy h1,.banner-copy h2{font-size:clamp(1.85rem,3.1vw,2.8rem);line-height:1.13;letter-spacing:-.03em;margin:14px 0 16px;color:#fff;text-wrap:balance}.banner-copy p{color:#e0dbea;font-size:1rem;line-height:1.6;margin:0;max-width:510px}.banner-cta{display:inline-flex;align-items:center;gap:12px;min-height:48px;margin-top:22px;padding:12px 18px;background:var(--banner-yellow);color:#171021;border-radius:12px;font-size:.9rem;font-weight:850;line-height:1.4}.banner-cta:hover{background:#ffe68a}.banner-copy h1 a:hover,.banner-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.banner-controls{display:flex;justify-content:center;align-items:center;gap:12px;min-height:70px;padding:8px 16px;background:#171127;border-top:1px solid var(--banner-line)}.home-carousel:not(.is-ready) .banner-controls{visibility:hidden}.banner-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;border:1px solid #57476e;border-radius:10px;background:#251b39;color:#fff;font:inherit;font-weight:750;cursor:pointer}.banner-controls button:hover{background:#38284e}.banner-dots{display:flex;gap:0}.banner-controls [data-banner-dot]{border:0;background:transparent}.banner-dots button>span{display:block;width:10px;height:10px;border-radius:50%;background:#a29aae}.banner-dots button[aria-pressed=true]>span{background:var(--banner-yellow);width:24px;border-radius:6px}.banner-controls .banner-pause{gap:8px;padding-inline:12px;font-size:.8rem}.home-carousel a:focus-visible,.home-carousel button:focus-visible{outline:3px solid #6ce8ff;outline-offset:-4px}.banner-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-banner-actions{max-width:800px;margin:22px auto 28px}.home-banner-actions .home-main-search{margin-top:0}.home-banner-actions .home-quick-links{justify-content:center}.home-banner-actions .home-quick-links>a{flex:0 1 auto}
@media(max-width:1000px){.banner-copy{width:58%;padding:30px}.banner-slide{min-height:420px}.banner-copy h1,.banner-copy h2{font-size:2rem}}
@media(max-width:700px){.home-start:has([data-home-carousel]){padding-top:14px}.home-carousel{border-radius:18px}.banner-slide{display:flex;flex-direction:column;align-items:stretch;min-height:0}.banner-art{position:relative;inset:auto;width:100%;aspect-ratio:3/2;flex-shrink:0}.banner-art img{object-position:center;object-fit:contain}.banner-art:after{background:linear-gradient(0deg,#100c20,transparent 22%)}.banner-copy{width:100%;padding:8px 22px 24px;flex:1}.banner-copy h1,.banner-copy h2{font-size:clamp(1.6rem,6.7vw,2rem);margin:10px 0 12px}.banner-copy p{font-size:.94rem;line-height:1.6}.banner-tag{font-size:.65rem;letter-spacing:.06em}.banner-cta{font-size:.86rem;margin-top:18px;padding:11px 15px}.banner-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:4px 6px;padding:8px 12px}.banner-dots{justify-content:center}.banner-controls .banner-pause{grid-column:1/-1;justify-self:center}.banner-controls [data-banner-dot]{min-width:40px}.home-banner-actions{margin:18px auto 24px}.home-banner-actions .home-quick-links>a{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.banner-slide{transition:none}.banner-dots button>span{transition:none}}
/* The artwork stays intact; the reading area and controls follow the site theme. */
html[data-theme=light] .home-carousel{--banner-line:#d8cee6;background:#f6f2fc;color:#241833}
html[data-theme=light] .banner-art{background:#f6f2fc}
html[data-theme=light] .banner-art img{mask-image:linear-gradient(90deg,transparent 47%,#000 76%)}
html[data-theme=light] .banner-art:after{background:linear-gradient(90deg,#f6f2fc 0%,#f6f2fcfa 32%,#f6f2fccf 48%,transparent 78%)}
html[data-theme=light] .banner-copy h1,html[data-theme=light] .banner-copy h2{color:#241833}
html[data-theme=light] .banner-copy p{color:#51445f}
html[data-theme=light] .banner-tag{color:#67418c}
html[data-theme=light] .banner-controls{background:#eee7f6}
html[data-theme=light] .banner-controls button{border-color:#c7b9da;background:#fff;color:#241833}
html[data-theme=light] .banner-controls button:hover{background:#e0d4ee}
html[data-theme=light] .banner-controls [data-banner-dot]{background:transparent;border:0}
html[data-theme=light] .banner-dots button>span{background:#8d7c9e}
html[data-theme=light] .banner-dots button[aria-pressed=true]>span{background:#67418c}
html[data-theme=light] .home-carousel a:focus-visible,html[data-theme=light] .home-carousel button:focus-visible{outline-color:#67418c}
@media(max-width:700px){html[data-theme=light] .banner-art img{mask-image:none}html[data-theme=light] .banner-art:after{background:linear-gradient(0deg,#f6f2fc,transparent 22%)}}
/* Side arrows replace the separate navigation strip. */
.home-carousel[data-banner-side-arrows]{position:relative;container-type:inline-size}
.home-carousel[data-banner-side-arrows] .banner-controls{position:absolute;inset:0 12px;z-index:3;display:flex;justify-content:space-between;align-items:center;min-height:0;padding:0;border:0;background:transparent!important;pointer-events:none}
.home-carousel[data-banner-side-arrows] .banner-controls button{pointer-events:auto;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid #ffffff50;background:#211a32df;color:#fff;box-shadow:0 3px 14px #0002;font-size:1.15rem}
.home-carousel[data-banner-side-arrows] .banner-controls button:hover{background:#403050}
html[data-theme=light] .home-carousel[data-banner-side-arrows] .banner-controls button{background:#fffffff2;color:#241833;border-color:#d8cee6}
html[data-theme=light] .home-carousel[data-banner-side-arrows] .banner-controls button:hover{background:#eee7f6}
@media(min-width:701px){.home-carousel[data-banner-side-arrows] .banner-copy{width:58%;padding-left:76px;padding-right:40px}}
@media(max-width:700px){.home-carousel[data-banner-side-arrows] .banner-controls{bottom:auto;height:66.6667cqw;left:10px;right:10px}.home-carousel[data-banner-side-arrows] .banner-copy{padding-bottom:48px}}
/* Compact overlaid navigation: four indicators and an accessible pause control. */
.home-carousel[data-fusion-banner] .banner-controls .banner-dots{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:center;background:#100c20ed;border-radius:24px;padding:0 4px;pointer-events:auto}
.home-carousel[data-fusion-banner] .banner-controls [data-banner-dot]{width:34px;min-width:34px;height:36px;min-height:36px;border:0;border-radius:0;background:transparent;box-shadow:none;padding:8px}
.home-carousel[data-fusion-banner] .banner-controls .banner-pause{position:absolute;right:48px;bottom:9px;width:36px;min-width:36px;height:36px;min-height:36px;padding:6px;font-size:1rem}
.home-carousel[data-fusion-banner] [data-banner-pause-label]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
html[data-theme=light] .home-carousel[data-fusion-banner] .banner-dots{background:#f6f2fcf5;box-shadow:0 1px 8px #24183320}
html[data-theme=light] .home-carousel[data-fusion-banner] [data-banner-dot]{background:transparent}
.home-carousel[data-fusion-banner] .banner-copy{padding-bottom:64px}
@media(min-width:701px){.home-carousel[data-fusion-banner] .banner-fusion .banner-copy{width:42%;padding-right:10px}.home-carousel[data-fusion-banner] .banner-fusion .banner-art{left:35%}.home-carousel[data-fusion-banner] .banner-fusion .banner-art img{mask-image:none;object-fit:contain}.home-carousel[data-fusion-banner] .banner-fusion .banner-art:after{background:linear-gradient(90deg,#100c20,transparent 22%)}html[data-theme=light] .home-carousel[data-fusion-banner] .banner-fusion .banner-art:after{background:linear-gradient(90deg,#f6f2fc,transparent 22%)}}
@media(max-width:700px){.home-carousel[data-fusion-banner] .banner-controls{height:100%;bottom:0}.home-carousel[data-fusion-banner] .banner-controls>[data-banner-prev],.home-carousel[data-fusion-banner] .banner-controls>[data-banner-next]{position:absolute;top:calc(33.3333cqw - 22px)}.home-carousel[data-fusion-banner] .banner-controls>[data-banner-prev]{left:0}.home-carousel[data-fusion-banner] .banner-controls>[data-banner-next]{right:0}.home-carousel[data-fusion-banner] .banner-controls .banner-pause{right:5px}.home-carousel[data-fusion-banner] .banner-fusion .banner-art:after{background:none}}
/* Keep the controls above the overlapping statistics cards. */
.home-carousel[data-fusion-banner] .banner-controls .banner-dots,.home-carousel[data-fusion-banner] .banner-controls .banner-pause{bottom:54px}
.home-carousel[data-fusion-banner] .banner-copy{padding-bottom:112px}
.home-carousel[data-fusion-banner] .banner-controls [data-banner-dot]{background:transparent!important;border:0!important;box-shadow:none!important}
.home-carousel[data-fusion-banner] .banner-controls [data-banner-dot]:hover{background:#ffffff18!important}
html[data-theme=light] .home-carousel[data-fusion-banner] .banner-controls [data-banner-dot]:hover{background:#67418c15!important}
