.bs-slider{--bs-dot:#e4e2ec;--bs-dot-on:#2a5bd7;--bs-btn:#fff;--bs-ink:#2b1850;width:100%;margin:0 auto}
.bs-viewport{overflow:hidden;border-radius:20px;touch-action:pan-y}
.bs-track{display:flex;align-items:flex-start;transition:transform .5s cubic-bezier(.4,0,.2,1)}
.bs-slide{flex:0 0 100%;display:block;margin:0}
.bs-slide img{display:block;width:100%;height:auto;max-width:100%;-webkit-user-drag:none;user-select:none}
.bs-controls{display:flex;align-items:center;justify-content:center;margin-top:6px}
.bs-dots{display:flex;gap:5px;min-height:4px}
.bs-slider .bs-dot{position:relative;box-sizing:border-box;width:4px;height:4px;min-width:0;min-height:0;flex:0 0 4px;margin:0;padding:0;border:0;border-radius:50%;background:var(--bs-dot);font-size:0;line-height:0;cursor:pointer;transition:background .3s,transform .3s}
.bs-slider .bs-dot::after{content:"";position:absolute;inset:-8px}
.bs-slider .bs-dot[aria-current="true"]{background:var(--bs-dot-on);transform:scale(1.3)}
.bs-slider button:focus-visible{outline:3px solid var(--bs-dot-on);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.bs-track{transition:none}}

/* ---------- Hero (text left, slider right) ---------- */
.bh-wrap{width:100%;margin:0 auto;container-type:inline-size}
.bh-hero{--bh-ink:#243556;--bh-purple:#7c6af2;--bh-orange:#ff9b2f;--bh-bold:#243556;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,47%);gap:24px;align-items:center;width:100%;padding:10px 10px 10px 20px;font-family:"Poppins","Segoe UI",Arial,sans-serif;background:#fff}
.bh-hero *{box-sizing:border-box}
.bh-hero .bh-title{margin:0;padding:0;color:var(--bh-ink);font-weight:300;font-size:clamp(26px,2.7vw,38px);line-height:1.5;text-transform:none}
.bh-hero .bh-title strong{font-weight:600;color:var(--bh-bold)}
.bh-hero .bh-features{display:flex;flex-wrap:wrap;gap:20px 40px;margin:26px 0 0;padding:0;list-style:none}
.bh-hero .bh-feature{display:flex;align-items:center;gap:14px;margin:0;padding:0;font-size:15px;font-weight:400;line-height:1.4}
.bh-hero .bh-feature svg{flex:0 0 42px;width:42px;height:42px}
.bh-hero .bh-feature--purple{color:var(--bh-purple)}
.bh-hero .bh-feature--orange{color:var(--bh-orange)}
.bh-hero .bs-slider{max-width:none}
@container (max-width:640px){.bh-hero{grid-template-columns:minmax(0,1fr);padding:12px;gap:16px}}
@media (max-width:640px){.bh-hero{grid-template-columns:minmax(0,1fr);padding:12px;gap:16px}}
@container (max-width:640px){.bh-hero.bh-hide-mobile .bh-copy{display:none}}
@media (max-width:640px){.bh-hero.bh-hide-mobile .bh-copy{display:none}}

/* ---------- Card slider ---------- */
/* --bcs-cw is the card width in px (set by cards.js). --bcs-u is 1/453 of it, so every size
   below is "desktop size x card width / 453", never larger than desktop and never below a readable minimum. */
.bcs-slider{--bcs-cols:var(--bcs-cd,3);--bcs-gap:20px;--bcs-cw:453;--bcs-u:calc(var(--bcs-cw) * 1px / 453);--bcs-dot:#c9cfe6;--bcs-dot-on:#4a6cf7;--bcs-btn-ink:#1a5fe0;width:100%;margin:0 auto;font-family:"Roboto","Segoe UI",Arial,sans-serif}
.bcs-slider *{box-sizing:border-box}
@media (max-width:1000px){.bcs-slider{--bcs-cols:var(--bcs-ct,2)}}
@media (max-width:640px){.bcs-slider{--bcs-cols:var(--bcs-cm,1)}}
/* Stay invisible until cards.js has measured the layout (no half-built flash). Fail-safe: show after 1.2s even if JS is delayed or blocked. */
.bcs-slider:not(.bcs-ready){visibility:hidden;animation:bcs-reveal 0s linear 1.2s forwards}
@keyframes bcs-reveal{to{visibility:visible}}
.bcs-viewport{overflow:hidden;touch-action:pan-y}
.bcs-track{display:flex;gap:var(--bcs-gap);transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform}
.bcs-slider .bcs-card{position:relative;flex:0 0 calc((100% - var(--bcs-gap) * (var(--bcs-cols) - 1)) / var(--bcs-cols));min-width:0;min-height:calc(var(--bcs-u) * 247);display:flex;flex-direction:column;align-items:flex-start;padding:clamp(10px,calc(var(--bcs-u) * 20),20px);border-radius:clamp(12px,calc(var(--bcs-u) * 20),20px);overflow:hidden;color:var(--bcs-ink,#fff);background:linear-gradient(135deg,var(--bcs-bg1,#4aa3df),var(--bcs-bg2,#36bfd0));text-decoration:none}
.bcs-slider .bcs-head{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(3px,calc(var(--bcs-u) * 6),6px);max-width:100%}
.bcs-slider .bcs-icon{display:block;width:clamp(16px,calc(var(--bcs-u) * 26),26px);height:clamp(16px,calc(var(--bcs-u) * 26),26px);object-fit:contain}
.bcs-slider .bcs-label{font-size:clamp(8px,calc(var(--bcs-u) * 12),12px);font-weight:500;line-height:1.2;overflow-wrap:anywhere}
.bcs-slider .bcs-title{align-self:stretch;max-width:100%;margin:clamp(8px,calc(var(--bcs-u) * 14),14px) 0 clamp(10px,calc(var(--bcs-u) * 18),18px);padding:0;font-size:clamp(11px,calc(var(--bcs-u) * 20),20px);font-weight:300;line-height:1.5;color:inherit;text-transform:none;overflow-wrap:anywhere}
.bcs-slider .bcs-title strong{font-weight:700}
.bcs-slider .bcs-btn{display:inline-block;max-width:100%;margin-top:auto;padding:clamp(6px,calc(var(--bcs-u) * 11),11px) clamp(8px,calc(var(--bcs-u) * 20),20px);border-radius:4px;background:#fff;color:var(--bcs-btn-ink);font-size:clamp(9px,calc(var(--bcs-u) * 15),15px);font-weight:500;line-height:1.2;text-decoration:none;overflow-wrap:anywhere}
.bcs-slider .bcs-side{position:absolute;top:clamp(8px,calc(var(--bcs-u) * 16),16px);right:clamp(8px,calc(var(--bcs-u) * 16),16px);max-width:30%;pointer-events:none}
.bcs-slider .bcs-side img{display:block;max-width:100%;max-height:clamp(45px,calc(var(--bcs-u) * 90),90px);width:auto;height:auto}
.bcs-controls{display:flex;justify-content:center;margin-top:14px}
.bcs-dots{display:flex;gap:10px}
.bcs-slider .bcs-dot{position:relative;box-sizing:border-box;width:8px;height:8px;min-width:0;min-height:0;flex:0 0 8px;margin:0;padding:0;border:0;border-radius:50%;background:var(--bcs-dot);font-size:0;line-height:0;cursor:pointer;transition:background .3s}
.bcs-slider .bcs-dot::after{content:"";position:absolute;inset:-8px}
.bcs-slider .bcs-dot[aria-current="true"]{background:var(--bcs-dot-on)}
.bcs-slider .bcs-dot:focus-visible{outline:3px solid var(--bcs-dot-on);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.bcs-track{transition:none}}
