/* Hero Advanced v0.1.1. Full-bleed is opt-in per widget and breaks out of a boxed Elementor container. */
.kes-hero{--kes-hero-overlay:#052b66;--kes-hero-overlay-opacity:.75;--kes-hero-accent:#e4b869;--kes-hero-button:#e4b869;--kes-feature-bg:#fff;position:relative;width:100%;min-width:0;box-sizing:border-box;isolation:isolate;color:#fff}
.kes-hero,.kes-hero *{box-sizing:border-box}
.kes-hero--fullbleed{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.kes-hero--custom{width:100%;margin-inline:auto;max-width:1280px}
.kes-hero__stage{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:720px;padding:clamp(36px,5vw,100px);background:linear-gradient(110deg,#092a57,#376293);overflow:hidden}
.kes-hero--fullheight .kes-hero__stage{min-height:100svh!important}
.kes-hero__picture,.kes-hero__picture img{position:absolute;inset:0;width:100%;height:100%;display:block}
.kes-hero__picture img{object-fit:cover;object-position:center}
.kes-hero__stage:before{content:"";pointer-events:none;position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--kes-hero-overlay) 0%,transparent 92%);opacity:var(--kes-hero-overlay-opacity)}
.kes-hero--right .kes-hero__stage:before{background:linear-gradient(270deg,var(--kes-hero-overlay),transparent 92%)}
.kes-hero--center .kes-hero__stage:before{background:linear-gradient(0deg,rgba(0,0,0,.4),var(--kes-hero-overlay))}
.kes-hero--split .kes-hero__picture{left:50%;right:0;width:50%}
.kes-hero--split.kes-hero--right .kes-hero__picture{left:0;right:50%}
.kes-hero--split .kes-hero__stage:before{opacity:.25}
.kes-hero__content{position:relative;z-index:2;max-width:600px;width:100%;margin-right:auto;overflow-wrap:anywhere}
.kes-hero--right .kes-hero__content{margin-right:0;margin-left:auto}
.kes-hero--center .kes-hero__content{margin-left:auto;margin-right:auto;text-align:center}
.kes-hero--floating .kes-hero__content{background:rgba(3,31,69,.80);padding:clamp(20px,3vw,40px);border-radius:20px;backdrop-filter:blur(5px)}
.kes-hero__title{font-family:inherit;font-size:var(--kes-title-size,54px);line-height:1.12;font-weight:750;color:var(--kes-title-color,#fff);margin:0 0 11px;letter-spacing:-.015em}
.kes-hero__description{font-size:clamp(15px,1.35vw,19px);line-height:1.8;max-width:650px;margin:22px 0;color:#f4f5f8}
.kes-hero__description p{margin:0 0 10px}
.kes-hero__buttons{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.kes-hero--center .kes-hero__buttons{justify-content:center}
.kes-hero__button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 21px;border-radius:7px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .18s ease,background .18s ease}
.kes-hero__button--primary{background:var(--kes-hero-button);color:#082b62}
.kes-hero__button--outline{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.88);color:#fff}
.kes-hero__button--text{color:#fff;text-decoration:underline;text-underline-offset:4px}
.kes-hero__button[href]:hover{transform:translateY(-2px)}
.kes-hero__button[href]:focus-visible,.kes-hero__feature[href]:focus-visible{outline:3px solid var(--kes-hero-accent);outline-offset:3px}
.kes-hero__features{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:1180px;width:calc(100% - 36px);min-width:0;margin-inline:auto;position:relative;z-index:3;color:#12345a}
.kes-hero__features--overlap{margin-top:-45px}
.kes-hero__features--below{margin-top:18px}
.kes-hero__features--inside{width:100%;max-width:1180px;margin-top:24px;margin-bottom:0}
.kes-hero__features--ribbon{background:var(--kes-feature-bg);border-radius:14px;box-shadow:0 9px 30px rgba(9,30,66,.17);padding:16px 10px}
.kes-hero__feature{display:flex;align-items:center;min-width:0;gap:11px;padding:10px 15px;color:inherit;text-decoration:none}
.kes-hero__features--ribbon .kes-hero__feature:not(:last-child){border-inline-end:1px solid #dce5ec}
.kes-hero__feature-icon{flex:none;width:36px;height:36px;border:1px solid #e8d1ad;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;color:#bb8739}
.kes-hero__feature-copy{display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}
.kes-hero__feature-copy strong{font-weight:750;font-size:13px;line-height:1.35;color:inherit}
.kes-hero__feature-copy small{font-size:11px;line-height:1.5;color:inherit;opacity:.8}
.kes-hero__features--cards{gap:12px}
.kes-hero__features--cards .kes-hero__feature{background:var(--kes-feature-bg);border-radius:12px;box-shadow:0 5px 18px rgba(12,30,60,.12)}
.kes-hero__features--inline{color:#fff;gap:16px}
.kes-hero__features--inline .kes-hero__feature{padding:10px 0}
.kes-hero__features--inline .kes-hero__feature-icon{background:rgba(255,255,255,.12);border-color:var(--kes-hero-accent);color:var(--kes-hero-accent)}
.kes-hero__features--inline.kes-hero__features--overlap,.kes-hero__features--inline.kes-hero__features--below{color:#12345a}
@media(max-width:1024px){.kes-hero__stage{padding:42px 30px;min-height:620px}.kes-hero__features{grid-template-columns:repeat(2,minmax(0,1fr))}.kes-hero__features--ribbon .kes-hero__feature{border:0!important}}
@media(max-width:767px){.kes-hero__stage{min-height:580px;padding:55px 22px}.kes-hero__title{font-size:var(--kes-title-mobile-size,36px)}.kes-hero__description{font-size:15px;line-height:1.7}.kes-hero__buttons{gap:10px}.kes-hero__button{min-width:0;flex:1 1 130px}.kes-hero__features{grid-template-columns:minmax(0,1fr);gap:8px;width:calc(100% - 24px)}.kes-hero__feature{padding:11px;gap:9px;align-items:flex-start}.kes-hero__feature-icon{width:30px;height:30px}.kes-hero__features--overlap{margin-top:-18px}.kes-hero--split .kes-hero__picture{left:0;right:0;width:100%;opacity:.65}.kes-hero--split .kes-hero__stage:before{opacity:.7}}
@media(prefers-reduced-motion:reduce){.kes-hero__button{transition:none}.kes-hero__button[href]:hover{transform:none}}

/* v0.1.2: button icons and independently customizable feature boxes. */
.kes-hero__button{direction:ltr}
.kes-hero__button--icon-left{flex-direction:row}
.kes-hero__button--icon-right{flex-direction:row-reverse}
.kes-hero__button-label{display:inline-block;unicode-bidi:plaintext}
.kes-hero__button-icon{--kes-button-icon-size:17px;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;line-height:1;font-size:var(--kes-button-icon-size);color:var(--kes-button-item-icon-color,currentColor)}
.kes-hero__button-icon i{font-size:inherit;line-height:1}
.kes-hero__button-icon svg{display:block;width:var(--kes-button-icon-size);height:var(--kes-button-icon-size);fill:currentColor}
.kes-hero__button-icon svg [fill]:not([fill="none"]){fill:currentColor}

.kes-hero__features{
    --kes-feature-title-color:#12345a;
    --kes-feature-description-color:#12345a;
    --kes-feature-icon-color:#bb8739;
    --kes-feature-icon-bg:transparent;
    --kes-feature-icon-border:#e8d1ad;
    --kes-feature-icon-size:20px;
}
.kes-hero__features--inline{
    --kes-feature-title-color:#fff;
    --kes-feature-description-color:#fff;
    --kes-feature-icon-color:var(--kes-hero-accent);
    --kes-feature-icon-bg:rgba(255,255,255,.12);
    --kes-feature-icon-border:var(--kes-hero-accent);
}
.kes-hero__features--inline.kes-hero__features--overlap,
.kes-hero__features--inline.kes-hero__features--below{
    --kes-feature-title-color:#12345a;
    --kes-feature-description-color:#12345a;
}
/* Physical left/right independent of RTL: the copy gets its own automatic text direction. */
.kes-hero__feature{direction:ltr}
.kes-hero__feature--icon-left{flex-direction:row}
.kes-hero__feature--icon-right{flex-direction:row-reverse}
.kes-hero__feature-copy{flex:1 1 auto;min-width:0;text-align:start;unicode-bidi:plaintext}
.kes-hero__feature-copy strong{color:var(--kes-feature-item-title-color,var(--kes-feature-title-color));opacity:1}
.kes-hero__feature-copy small{color:var(--kes-feature-item-description-color,var(--kes-feature-description-color));opacity:1}
.kes-hero__feature-icon{
    width:calc(var(--kes-feature-icon-size) + 16px);
    height:calc(var(--kes-feature-icon-size) + 16px);
    font-size:var(--kes-feature-icon-size);
    line-height:1;
    color:var(--kes-feature-item-icon-color,var(--kes-feature-icon-color));
    background:var(--kes-feature-item-icon-bg,var(--kes-feature-icon-bg));
    border-color:var(--kes-feature-icon-border);
}
.kes-hero__feature-icon i{font-size:inherit;line-height:1}
.kes-hero__feature-icon svg{display:block;width:var(--kes-feature-icon-size);height:var(--kes-feature-icon-size);fill:currentColor}
.kes-hero__feature-icon svg [fill]:not([fill="none"]){fill:currentColor}
.kes-hero__features--ribbon .kes-hero__feature,
.kes-hero__features--inline .kes-hero__feature{background-color:var(--kes-feature-item-bg,transparent)}
.kes-hero__features--cards .kes-hero__feature{background-color:var(--kes-feature-item-bg,var(--kes-feature-bg))}
.kes-hero__features--inline .kes-hero__feature-icon{
    background:var(--kes-feature-item-icon-bg,var(--kes-feature-icon-bg));
    border-color:var(--kes-feature-icon-border);
    color:var(--kes-feature-item-icon-color,var(--kes-feature-icon-color));
}
@media(max-width:767px){
    .kes-hero__feature-icon{width:calc(var(--kes-feature-icon-size) + 10px);height:calc(var(--kes-feature-icon-size) + 10px)}
}
