.kes-wb{--kes-wb-bg:#2d2f76;--kes-wb-title:#fff;--kes-wb-desc:#e8e9fb;--kes-wb-eyebrow:#e5b96e;--kes-wb-top-bg:#060c68;--kes-wb-top-color:#fff;--kes-wb-lower-color:#fff;--kes-wb-button-bg:#e5b96e;--kes-wb-button-text:#142f60;--kes-wb-top-size:48px;--kes-wb-lower-size:46px;--kes-wb-outer:26px;--kes-wb-step-w:205px;--kes-wb-step-h:150px;--kes-wb-companion-gap:14px;--kes-wb-compact-size:92px;position:relative;width:100%;min-width:0;margin-inline:auto;box-sizing:border-box;isolation:isolate}
.kes-wb *, .kes-wb *::before,.kes-wb *::after{box-sizing:border-box}
.kes-wb__main{position:relative;min-width:0;min-height:320px;display:flex;align-items:center;isolation:isolate}
.kes-wb__geometry{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none;filter:drop-shadow(0 4px 11px rgba(11,25,60,.10))}
.kes-wb__path{fill:var(--kes-wb-bg)}
.kes-wb--right .kes-wb__geometry{transform:scaleX(-1)}
.kes-wb__content{position:relative;z-index:1;width:100%;min-width:0;padding:45px 44px 42px calc(var(--kes-wb-step-w) + 26px);color:var(--kes-wb-title);overflow-wrap:anywhere}
.kes-wb--right .kes-wb__content{padding:45px calc(var(--kes-wb-step-w) + 26px) 42px 44px}
.kes-wb__content-inner{width:100%;max-width:760px;min-width:0;margin-inline:0}
.kes-wb__eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.075em;color:var(--kes-wb-eyebrow);margin:0 0 11px}
.kes-wb__title{font-size:clamp(21px,2.4vw,34px);font-weight:750;line-height:1.25;color:var(--kes-wb-title);margin:0 0 14px}
.kes-wb__description{font-size:15px;line-height:1.75;color:var(--kes-wb-desc);margin:0;max-width:65ch}
.kes-wb__button{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;background:var(--kes-wb-button-bg);color:var(--kes-wb-button-text);border-radius:8px;padding:11px 18px;margin-top:22px;line-height:1.4;font-weight:650;font-size:14px}
.kes-wb__button:hover{color:var(--kes-wb-button-text)}
.kes-wb__button-icon{display:inline-flex;font-size:17px;align-items:center;justify-content:center}
.kes-wb__button-icon svg{width:1em;height:1em;fill:currentColor}
.kes-wb__companion{position:absolute;z-index:2;top:0;left:0;width:max(40px,calc(var(--kes-wb-step-w) - var(--kes-wb-companion-gap)));height:max(40px,calc(var(--kes-wb-step-h) - var(--kes-wb-companion-gap)));border-radius:var(--kes-wb-outer);background:var(--kes-wb-top-bg);color:var(--kes-wb-top-color);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:15px;text-align:center;line-height:1.15;text-decoration:none;font-size:var(--kes-wb-top-size);font-weight:700;min-width:0}
.kes-wb--right .kes-wb__companion{left:auto;right:0}
.kes-wb__companion:hover{color:var(--kes-wb-top-color)}
.kes-wb__companion svg,.kes-wb__lower svg{width:1em;height:1em;fill:currentColor;max-width:100%;max-height:100%}
.kes-wb__companion i,.kes-wb__lower i{font-size:1em}
.kes-wb__slot-image{max-width:100%;max-height:100%;height:auto;width:auto;object-fit:contain;display:block}
.kes-wb__companion .kes-wb__slot-image{max-height:calc(var(--kes-wb-step-h) - 45px)}
.kes-wb__lower{position:absolute;z-index:2;bottom:23px;left:18px;width:calc(var(--kes-wb-step-w) - 32px);display:flex;justify-content:center;align-items:center;text-align:center;min-height:55px;font-weight:750;font-size:var(--kes-wb-lower-size);color:var(--kes-wb-lower-color);line-height:1.1}
.kes-wb--right .kes-wb__lower{left:auto;right:18px}
.kes-wb__lower .kes-wb__slot-image{max-height:90px}
.kes-wb--simple .kes-wb__companion,.kes-wb--simple .kes-wb__lower{display:none}
/* Narrow widgets are ONE coherent banner: the companion sits inside the banner,
   not as a stray separate tile between adjacent Elementor widget instances. */
.kes-wb.kes-wb--compact .kes-wb__geometry{display:none}
.kes-wb.kes-wb--compact .kes-wb__main{position:relative;display:flex;flex-direction:column;align-items:stretch;background:var(--kes-wb-bg);border-radius:var(--kes-wb-outer);overflow:hidden}
.kes-wb.kes-wb--compact .kes-wb__content,.kes-wb.kes-wb--compact.kes-wb--right .kes-wb__content{padding:calc(var(--kes-wb-compact-size) + 44px) 24px 28px}
.kes-wb.kes-wb--compact.kes-wb--simple .kes-wb__content{padding-top:32px}
.kes-wb.kes-wb--compact .kes-wb__lower{position:relative;inset:auto;width:auto;max-width:100%;min-height:0;justify-content:flex-start;padding:0 24px 22px;font-size:min(var(--kes-wb-lower-size),40px)}
.kes-wb.kes-wb--compact .kes-wb__companion{position:absolute;z-index:3;top:14px;left:14px;right:auto;display:flex;width:min(var(--kes-wb-compact-size),calc(100% - 28px));height:min(var(--kes-wb-compact-size),calc(100% - 28px));margin:0;border-radius:min(22px,var(--kes-wb-outer));font-size:min(var(--kes-wb-top-size),48px)}
.kes-wb.kes-wb--compact.kes-wb--right .kes-wb__companion{left:auto;right:14px}
.kes-wb.kes-wb--compact .kes-wb__title{font-size:clamp(20px,5vw,27px)}
