/* Korosh Elementor Studio 0.1.7: pair-based responsive layout and container-scoped sizing. */
.kes-notch-layout{width:100%;max-width:100%;min-width:0;container:kes-notch-layout / inline-size;box-sizing:border-box}
.kes-notch-layout *{box-sizing:border-box}
.kes-notch-card{--kes-card-bg:#073275;--kes-card-text:#fff;--kes-card-accent:#e5b96e;--kes-card-border:transparent;--kes-card-cut:22%;position:relative;isolation:isolate;display:flex;align-items:center;min-width:0;width:100%;min-height:var(--kes-card-height,300px);box-sizing:border-box;color:var(--kes-card-text);background:transparent;overflow:visible}
.kes-notch-card__shape{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 14px rgba(11,33,67,.16));pointer-events:none}
.kes-notch-card__shape path{fill:var(--kes-card-bg);stroke:var(--kes-card-border);stroke-width:1.7;vector-effect:non-scaling-stroke}
.kes-notch-card__content{width:100%;min-width:0;position:relative;z-index:1;padding:clamp(20px,2.5vw,34px);overflow-wrap:break-word;word-break:normal;hyphens:manual}
/* Physical SVG geometry must reserve physical space, regardless of language direction. */
.kes-notch-card--step-right .kes-notch-card__content,.kes-notch-card--scallop-right .kes-notch-card__content{padding-right:calc(var(--kes-card-cut) + 20px)}
.kes-notch-card--step-left .kes-notch-card__content,.kes-notch-card--scallop-left .kes-notch-card__content{padding-left:calc(var(--kes-card-cut) + 20px)}
.kes-notch-card__metric{display:block;width:max-content;max-width:100%;font-size:clamp(29px,3.5vw,54px);font-weight:800;line-height:1.1;color:var(--kes-card-accent);margin:0 0 12px;overflow-wrap:normal}
.kes-notch-card__icon{color:var(--kes-card-accent);font-size:28px;display:inline-flex;margin-bottom:12px}
.kes-notch-card__icon svg{width:1em;height:1em;display:block;fill:currentColor}
.kes-notch-card__icon i{font-size:1em;line-height:1}
.kes-notch-card__eyebrow{color:var(--kes-card-accent);font-weight:700;font-size:11px;letter-spacing:.08em;display:block;margin-bottom:10px}
.kes-notch-card__title{color:inherit;font-family:inherit;font-size:clamp(17px,1.6vw,25px);font-weight:750;line-height:1.4;margin:0 0 11px;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}
.kes-notch-card__description{font-size:clamp(12px,1.05vw,15px);line-height:1.7;opacity:.95;overflow-wrap:break-word;word-break:normal}
.kes-notch-card__description p{margin:0 0 8px}
.kes-notch-card__link{display:inline-flex;direction:ltr;align-items:center;justify-content:center;gap:9px;max-width:100%;min-height:40px;min-width:0;padding:9px 16px;margin-top:16px;border:1px solid var(--kes-card-btn-border,var(--kes-card-accent));border-radius:9px;background:var(--kes-card-btn-bg,var(--kes-card-accent));color:var(--kes-card-btn-fg,#073275);font-weight:700;font-size:13px;line-height:1.45;text-decoration:none;cursor:pointer;transition:filter .15s ease,transform .15s ease}
.kes-notch-card__link:hover{color:var(--kes-card-btn-fg,#073275);text-decoration:none;filter:brightness(.97)}
.kes-notch-card__link--outline{background:transparent;color:var(--kes-card-btn-border,var(--kes-card-accent))}
.kes-notch-card__link--outline:hover{color:var(--kes-card-btn-border,var(--kes-card-accent))}
.kes-notch-card__link[aria-disabled="true"]{cursor:default;opacity:.92}
.kes-notch-card__link--icon-right{flex-direction:row}
.kes-notch-card__link--icon-left{flex-direction:row-reverse}
.kes-notch-card__link-text{min-width:0;unicode-bidi:plaintext}
.kes-notch-card__link-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:15px;line-height:1;color:inherit}
.kes-notch-card__link-icon svg{width:1em;height:1em;fill:currentColor;display:block}
.kes-notch-card__link-icon i{font-size:1em;line-height:1}
.kes-notch-card__link:focus-visible{outline:2px solid var(--kes-card-accent);outline-offset:3px}
.kes-notch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch;min-width:0;width:100%;max-width:100%}
.kes-notch-grid__item{min-width:0;position:relative;display:flex}
.kes-notch-grid__item .kes-notch-card{height:100%}
/* Pair wrapper: a connection is an indivisible row, not two flex items which can wrap apart. */
.kes-notch-grid--interlock{display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--kes-pair-row-gap,22px);--kes-pair-used-overlap:var(--kes-pair-overlap,110px);overflow:visible}
.kes-notch-grid--interlock.kes-notch-grid--auto-fit{--kes-pair-used-overlap:var(--kes-pair-auto-overlap,110px)}
/* The layout uses one pair per row until each pair has enough room for content.
   Do not let an Elementor half-width parent split a pair or create 2 tiny pairs. */
@container kes-notch-layout (min-width:1180px){
 .kes-notch-grid--interlock:is(.kes-notch-grid--pairs-auto,.kes-notch-grid--pairs-two){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(14px,2cqi,30px)}
}
.kes-notch-pair{display:flex;align-items:stretch;width:100%;min-width:0;max-width:100%;position:relative;isolation:isolate;overflow:visible;container:kes-notch-pair / inline-size}
.kes-notch-pair .kes-notch-grid__item{flex:0 0 calc(50% + var(--kes-pair-used-overlap)/2);width:calc(50% + var(--kes-pair-used-overlap)/2);max-width:none;min-width:0}
.kes-notch-pair .kes-notch-grid__item--pair-end{margin-inline-start:calc(-1 * var(--kes-pair-used-overlap));transform:translateY(var(--kes-pair-offset,0px));z-index:2}
.kes-notch-pair .kes-notch-grid__item--pair-start{z-index:1}
.kes-notch-grid--interlock.kes-notch-grid--first-front .kes-notch-grid__item--pair-start{z-index:3}
.kes-notch-grid--interlock.kes-notch-grid--first-front .kes-notch-grid__item--pair-end{z-index:1}
.kes-notch-pair--solo .kes-notch-grid__item--solo{flex:0 0 100%;width:100%;z-index:1}
.kes-notch-grid--interlock .kes-notch-card__content{padding-top:clamp(18px,2.5vw,38px);padding-bottom:clamp(18px,2.5vw,38px)}
.kes-notch-grid--interlock .kes-notch-card__shape{filter:drop-shadow(0 5px 12px rgba(8,38,80,.15))}
.kes-notch-layout--viewport{width:100vw;max-width:none;position:relative;inset-inline-start:50%;transform:translateX(-50%)}
[dir="rtl"] .kes-notch-layout--viewport{transform:translateX(50%)}
/* Compact text and slightly smaller cut in intermediate container widths. */
@container kes-notch-layout (min-width:431px) and (max-width:720px){
 .kes-notch-grid--interlock{--kes-pair-used-overlap:min(var(--kes-pair-overlap,110px),clamp(28px,10cqi,82px))}
 .kes-notch-grid--interlock.kes-notch-grid--auto-fit{--kes-pair-used-overlap:var(--kes-pair-auto-overlap,60px)}
 .kes-notch-grid--interlock .kes-notch-card__content{padding:16px 14px}
 .kes-notch-grid--interlock .kes-notch-card--step-left .kes-notch-card__content{padding-left:calc(var(--kes-card-cut) + 10px)}
 .kes-notch-grid--interlock .kes-notch-card--step-right .kes-notch-card__content{padding-right:calc(var(--kes-card-cut) + 10px)}
 .kes-notch-grid--interlock .kes-notch-card__title{font-size:clamp(14px,2.8cqi,19px);line-height:1.36}
 .kes-notch-grid--interlock .kes-notch-card__description{font-size:clamp(11px,2cqi,14px)}
 .kes-notch-grid--interlock .kes-notch-card__metric{font-size:clamp(24px,5cqi,38px)}
}
/* Wider containers use selected Elementor column count; narrow ones reduce smoothly. */
@container kes-notch-layout (max-width:1680px){.kes-notch-grid--plain:is([data-grid-cols="5"],[data-grid-cols="6"]){grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@container kes-notch-layout (max-width:1220px){.kes-notch-grid--plain:is([data-grid-cols="4"],[data-grid-cols="5"],[data-grid-cols="6"]){grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@container kes-notch-layout (max-width:970px){.kes-notch-grid--plain:is([data-grid-cols="3"],[data-grid-cols="4"],[data-grid-cols="5"],[data-grid-cols="6"]){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container kes-notch-layout (max-width:560px){.kes-notch-grid--plain:not([data-grid-cols="1"]){grid-template-columns:1fr!important}}
/* Different safety presets respond to this widget's OWN width, not viewport width.
   The compact default keeps connections visible in Elementor half-width columns. */
@container kes-notch-layout (max-width:430px){
 .kes-notch-grid--safety-compact.kes-notch-grid--stack-mobile .kes-notch-pair,
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
}
@container kes-notch-layout (min-width:431px) and (max-width:540px){
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
}
@container kes-notch-layout (min-width:541px) and (max-width:670px){
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
}
/* When a pair stacks, suppress only its visual notch and use readable normal cards. */
@container kes-notch-layout (max-width:430px){
 .kes-notch-grid--safety-compact.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-grid__item,
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-grid__item,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-grid__item{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;transform:none!important;z-index:auto!important}
 .kes-notch-grid--safety-compact.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card,
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg);border-radius:22px;min-height:min(230px,var(--kes-card-height,300px))}
 .kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__shape{display:none}
 .kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__content{padding:22px!important}
 .kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card--light{border:1px solid var(--kes-card-border);box-shadow:0 5px 13px rgba(12,37,80,.11)}
}
@container kes-notch-layout (min-width:431px) and (max-width:540px){
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-grid__item,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-grid__item{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;transform:none!important;z-index:auto!important}
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg);border-radius:22px;min-height:min(230px,var(--kes-card-height,300px))}
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__shape,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__shape{display:none}
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__content,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__content{padding:22px!important}
 .kes-notch-grid--safety-balanced.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card--light,
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card--light{border:1px solid var(--kes-card-border);box-shadow:0 5px 13px rgba(12,37,80,.11)}
}
@container kes-notch-layout (min-width:541px) and (max-width:670px){
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-grid__item{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;transform:none!important;z-index:auto!important}
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg);border-radius:22px;min-height:min(230px,var(--kes-card-height,300px))}
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__shape{display:none}
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card__content{padding:22px!important}
 .kes-notch-grid--safety-relaxed.kes-notch-grid--stack-mobile .kes-notch-pair .kes-notch-card--light{border:1px solid var(--kes-card-border);box-shadow:0 5px 13px rgba(12,37,80,.11)}
}
/* Never allow unreadable letter-by-letter columns even if user requests keeping overlap. */
@container kes-notch-layout (max-width:360px){
 .kes-notch-grid--interlock .kes-notch-pair{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .kes-notch-grid--interlock .kes-notch-pair .kes-notch-grid__item{width:100%!important;max-width:100%!important;flex:none!important;margin:0!important;transform:none!important;z-index:auto!important}
 .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg);border-radius:22px;min-height:210px}
 .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card__shape{display:none}
 .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card__content{padding:22px!important}
 .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card--light{border:1px solid var(--kes-card-border);box-shadow:0 5px 13px rgba(12,37,80,.11)}
}
/* Even a single decorative notch is unsafe in very narrow cells. */
@container kes-notch-layout (max-width:340px){
 .kes-notch-grid--plain .kes-notch-card,.kes-notch-layout--single .kes-notch-card{background:var(--kes-card-bg);border-radius:20px}
 .kes-notch-grid--plain .kes-notch-card__shape,.kes-notch-layout--single .kes-notch-card__shape{display:none}
 .kes-notch-grid--plain .kes-notch-card__content,.kes-notch-layout--single .kes-notch-card__content{padding:22px!important}
}
/* Fallback for older browsers: prioritize legible cards. */
@supports not (container-type: inline-size){
 @media(max-width:767px){
  .kes-notch-grid--interlock .kes-notch-pair{display:grid;grid-template-columns:1fr;gap:14px}
  .kes-notch-grid--interlock .kes-notch-pair .kes-notch-grid__item{width:100%;flex:none;margin:0;transform:none}
  .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg);border-radius:22px;min-height:220px}
  .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card__shape{display:none}
  .kes-notch-grid--interlock .kes-notch-pair .kes-notch-card__content{padding:22px!important}
  .kes-notch-grid--plain{grid-template-columns:1fr}
 }
}

/* Do not allow theme-level word wrapping and overlong inline fragments to damage cards. */
.kes-notch-card__content, .kes-notch-card__title, .kes-notch-card__description{max-width:100%;min-width:0}
.kes-notch-card__title, .kes-notch-card__description{overflow-wrap:anywhere;word-break:normal;hyphens:none}
/* A white or near-white card must remain distinguishable on a white Elementor page. */
.kes-notch-card--light .kes-notch-card__shape{filter:drop-shadow(0 5px 15px rgba(9,42,82,.18))}



/* Scoped Interlocking 0.1.8 overrides. Other notched widgets retain 0.1.7 CSS verbatim. */
/* Interlocking: geometry is decorative, card content always sits in true 50/50 grid cells. */
.kes-notch-grid--joint-v2{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--kes-pair-row-gap,22px) var(--kes-pair-column-gap,24px);align-items:stretch}
.kes-notch-grid--joint-v2 .kes-notch-pair{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;width:100%;align-items:stretch;min-height:0}
.kes-notch-grid--joint-v2 .kes-notch-pair--solo{grid-template-columns:minmax(0,1fr)}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-grid__item{width:100%;min-width:0;max-width:none;flex:none;margin:0;transform:none;z-index:auto}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg);border-radius:var(--kes-joint-outer-radius,20px);box-shadow:0 5px 15px rgba(9,42,82,.11);min-height:var(--kes-card-height,300px);height:100%}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__shape{display:none}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__content{padding:clamp(18px,2vw,30px)!important;max-width:100%;overflow-wrap:break-word}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__title{font-size:clamp(17px,1.4vw,24px);overflow-wrap:break-word;word-break:normal}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__description{font-size:clamp(12px,1vw,15px)}
.kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__metric{font-size:clamp(28px,3vw,50px)}
.kes-notch-pair__joint{position:absolute;inset:0;display:none;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 5px 10px rgba(8,38,80,.13))}
.kes-notch-pair__joint path{stroke-width:1;vector-effect:non-scaling-stroke}
/* Do not activate decorative SVG until the browser measures real pixel dimensions. */
@media (min-width:768px){
 .kes-notch-grid--joint-v2 .kes-notch-pair[data-kes-joint-ready="1"] .kes-notch-pair__joint{display:block}
 .kes-notch-grid--joint-v2 .kes-notch-pair[data-kes-joint-ready="1"] .kes-notch-card{background:transparent;border-color:transparent;box-shadow:none}
}
.kes-notch-grid--joint-v2[dir="rtl"] .kes-notch-pair__joint{transform:scaleX(-1)}
/* At the desktop width of 1100px+ there can be two connected pairs in a row. */
@media (min-width:1025px){
 @container kes-notch-layout (min-width:1100px){
  .kes-notch-grid--joint-v2:is(.kes-notch-grid--pairs-auto,.kes-notch-grid--pairs-two){grid-template-columns:repeat(2,minmax(0,1fr))}
 }
}
/* Tablet always shows one pair per row, retaining its connection when wide enough. */
/* For narrow Elementor columns, keep text readable rather than forcing geometry. */
@container kes-notch-layout (max-width:479px){
 .kes-notch-grid--joint-v2 .kes-notch-pair{grid-template-columns:minmax(0,1fr);gap:14px}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg)!important;border-radius:20px!important;box-shadow:0 5px 13px rgba(12,37,80,.11)!important;min-height:220px}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-pair__joint{display:none!important}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__content{padding:24px!important}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card--light{border:1px solid var(--kes-card-border)}
}
/* Mobile: no joints at all, full-width independent rounded cards, irrespective of parent width. */
@media (max-width:767px){
 .kes-notch-grid--joint-v2{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .kes-notch-grid--joint-v2 .kes-notch-pair{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-pair__joint{display:none!important}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card{background:var(--kes-card-bg)!important;border-radius:22px!important;box-shadow:0 5px 14px rgba(12,37,80,.11)!important;min-height:200px}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card__content{padding:26px!important}
 .kes-notch-grid--joint-v2 .kes-notch-pair .kes-notch-card--light{border:1px solid var(--kes-card-border)}
}
/* Graceful fallback if older browsers do not support container queries. */
@supports not (container-type: inline-size){
 @media(max-width:1024px){.kes-notch-grid--joint-v2{grid-template-columns:1fr!important}}
 @media(max-width:767px){.kes-notch-grid--plain{grid-template-columns:1fr!important}}
}
/* Keep text out of the 62px stepped connection. This is independent of RTL/LTR. */
@media (min-width:768px){
 @container kes-notch-layout (min-width:480px){
  .kes-notch-grid--joint-v2[dir="ltr"] .kes-notch-pair:not(.kes-notch-pair--solo) .kes-notch-grid__item:first-of-type .kes-notch-card__content{padding-right:calc(var(--kes-joint-depth,62px)/2 + 22px)!important}
  .kes-notch-grid--joint-v2[dir="ltr"] .kes-notch-pair:not(.kes-notch-pair--solo) .kes-notch-grid__item:last-of-type .kes-notch-card__content{padding-left:calc(var(--kes-joint-depth,62px)/2 + 22px)!important}
  .kes-notch-grid--joint-v2[dir="rtl"] .kes-notch-pair:not(.kes-notch-pair--solo) .kes-notch-grid__item:first-of-type .kes-notch-card__content{padding-left:calc(var(--kes-joint-depth,62px)/2 + 22px)!important}
  .kes-notch-grid--joint-v2[dir="rtl"] .kes-notch-pair:not(.kes-notch-pair--solo) .kes-notch-grid__item:last-of-type .kes-notch-card__content{padding-right:calc(var(--kes-joint-depth,62px)/2 + 22px)!important}
 }
}

/* 0.1.10: all SVG corners, including the free corners of the second card,
   are rounded by the actual path. The seam clearance is computed on BOTH axes. */
.kes-notch-grid--joint-v2 .kes-notch-pair__joint path{
  stroke-linejoin:round;stroke-linecap:round;
}
