/* Shared header geometry; logo variants are read from the current identity. */
.ka-unified-header{--ka-header-foreground:var(--ka-primary,#0E244B);background-color:var(--ka-header-background,#fff)}
body.home .ka-unified-header{--ka-header-foreground:var(--ka-dark-heading,#fff);--ka-header-background:var(--ka-primary,#0E244B)}
.ka-header-desktop,.ka-header-desktop>.e-con-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:24px;min-width:0;width:100%}
.ka-header-logo-widget{flex:0 0 var(--ka-header-logo-width,180px)!important;width:var(--ka-header-logo-width,180px)!important;max-width:25%;min-width:0}
.ka-header-logo{display:flex;align-items:center;justify-content:flex-start;min-height:44px;width:100%;line-height:0}
.ka-header-logo img{display:block;width:var(--ka-header-logo-width,180px)!important;height:var(--ka-header-logo-height,50px)!important;max-width:100%;object-fit:contain;object-position:right center;filter:none}
.ka-header-desktop>.ka-menu-widget,.ka-header-desktop>.e-con-inner>.ka-menu-widget{flex:1 1 auto!important;width:auto!important;min-width:0}
.ka-header-desktop .ka-menu-desktop{--ka-link-color:var(--ka-header-foreground)}
.ka-header-desktop .ka-menu-desktop>ul{justify-content:flex-end}
.ka-header-actions{flex:0 0 88px!important;width:88px!important;gap:8px}
.ka-header-actions .elementor-icon{color:var(--ka-header-foreground);fill:currentColor;min-width:40px;min-height:44px;display:flex;align-items:center;justify-content:center}
@media(max-width:1024px){.ka-header-desktop{display:none!important}}
/* Fractional tracks account for gaps, so the fifth service cannot wrap alone. */
.ka-services-grid:not(:has(>.e-con-inner)),.ka-services-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(var(--ka-service-count,5),minmax(0,1fr));gap:24px;width:100%;align-items:stretch}
.ka-services-grid>.e-con,.ka-services-grid>.e-con-inner>.e-con{width:100%!important;max-width:100%;min-width:0;box-sizing:border-box}
@media(max-width:1024px){.ka-services-grid:not(:has(>.e-con-inner)),.ka-services-grid>.e-con-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ka-services-grid.ka-services-odd>.e-con:last-child,.ka-services-grid.ka-services-odd>.e-con-inner>.e-con:last-child{grid-column:1/-1}}
@media(max-width:600px){.ka-services-grid:not(:has(>.e-con-inner)),.ka-services-grid>.e-con-inner{grid-template-columns:minmax(0,1fr);gap:16px}}
/* Compact reviews: legacy Elementor HTML is supported even before its next
   save. Match a real card track, never a heading with a shared section label. */
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)){--padding-top:24px!important;--padding-bottom:24px!important;--min-height:0px!important;--height:auto!important;--gap:12px!important;--row-gap:12px!important;--column-gap:12px!important;--justify-content:flex-start!important;padding-block:24px!important;margin-block:0!important;gap:12px!important;min-height:0!important;height:auto!important;max-height:none!important;justify-content:flex-start!important}
/* The heading and usable arrows share a row; cards span the full content width. */
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)):not(:has(>.e-con-inner)),:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center!important;gap:12px!important;min-height:0!important;height:auto!important;max-height:none!important;justify-content:stretch!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner{padding-block:0!important;margin-block:0!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con:not(.ka-testimonial-track),:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner>.e-con:not(.ka-testimonial-track){grid-column:1;grid-row:1;min-width:0!important;width:100%!important;--padding-top:0px!important;--padding-bottom:0px!important;--min-height:0px!important;--height:auto!important;--gap:6px!important;--row-gap:6px!important;--column-gap:6px!important;--justify-content:flex-start!important;padding-block:0!important;margin-block:0!important;gap:6px!important;min-height:0!important;height:auto!important;max-height:none!important;justify-content:flex-start!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con:not(.ka-testimonial-track)>.e-con-inner,:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner>.e-con:not(.ka-testimonial-track)>.e-con-inner{padding-block:0!important;margin-block:0!important;gap:6px!important;min-height:0!important;height:auto!important;justify-content:flex-start!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.elementor-widget,:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner>.elementor-widget{grid-column:1 / -1}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) .elementor-widget-heading{--padding-top:0px!important;--padding-bottom:0px!important;padding-block:0!important;margin-block:0!important;min-height:0!important;height:auto!important;max-height:none!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) h2.elementor-heading-title{font-size:var(--ka-section-heading-size,24px)!important;line-height:1.5!important;margin-block:0!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con:not(.ka-testimonial-track) p.elementor-heading-title,:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner>.e-con:not(.ka-testimonial-track) p.elementor-heading-title{font-size:14px!important;line-height:1.75!important;margin-block:0!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) .ka-rail-controls{grid-column:2;grid-row:1;align-self:center;width:auto;gap:8px;margin:0;padding:0}
/* Disabled arrows have no purpose when every card already fits. */
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) .ka-rail-controls:not(:has(button:not(:disabled))){display:none!important}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)):not(:has(>.e-con-inner)):not(:has(>.ka-rail-controls button:not(:disabled))),:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner:not(:has(>.ka-rail-controls button:not(:disabled))){grid-template-columns:minmax(0,1fr)}
:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) .ka-testimonial-track{grid-column:1 / -1;width:100%!important;max-width:100%!important;min-width:0!important;margin-block:0!important}
.ka-testimonial-track:has(>.e-con-inner){--padding-top:0px!important;--padding-right:0px!important;--padding-bottom:0px!important;--padding-left:0px!important;padding:0!important;min-height:0!important;height:auto!important;max-height:none!important}
.ka-testimonial-track:not(:has(>.e-con-inner)),.ka-testimonial-track>.e-con-inner{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:16px!important;--gap:16px!important;--row-gap:16px!important;--column-gap:16px!important;align-items:stretch;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 4px 8px!important;width:100%;max-width:100%;direction:rtl;box-sizing:border-box;--min-height:0px!important;--height:auto!important;min-height:0!important;height:auto!important;max-height:none!important}
.ka-testimonial-track>.e-con,.ka-testimonial-track>.e-con-inner>.e-con{flex:0 0 calc((100% - 32px)/3)!important;width:calc((100% - 32px)/3)!important;max-width:none;scroll-snap-align:start;min-width:0;min-height:0!important;height:auto!important;max-height:none!important;box-sizing:border-box;--padding-top:16px!important;--padding-right:16px!important;--padding-bottom:16px!important;--padding-left:16px!important;padding:16px!important;gap:8px!important;--gap:8px!important;--row-gap:8px!important;--column-gap:8px!important;justify-content:flex-start!important}
.ka-testimonial-track>.e-con>.e-con-inner,.ka-testimonial-track>.e-con-inner>.e-con>.e-con-inner{padding:0!important;gap:8px!important;height:auto!important;min-height:0!important}
.ka-testimonial-track .elementor-widget-heading .elementor-heading-title{font-size:15px!important;line-height:1.75!important}
.ka-testimonial-track .elementor-widget-heading h3.elementor-heading-title,.ka-testimonial-track .ka-audience-name .elementor-heading-title{font-size:16px!important;line-height:1.6!important}
.ka-testimonial-track .ka-audience-role .elementor-heading-title{font-size:12px!important;line-height:1.7!important}
.ka-testimonial-track .elementor-widget-icon .elementor-icon{font-size:24px!important}
.ka-testimonial-track .elementor-widget-icon svg{width:24px!important;height:24px!important}
.ka-testimonial-track .elementor-star-rating{font-size:18px!important;line-height:1.4}
.ka-testimonial-track .ka-audience-image img{width:48px!important;height:48px!important;object-fit:cover;border-radius:50%}
.ka-testimonial-track .elementor-widget{margin-block:0!important}
.ka-rail-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%;min-height:44px}
.ka-rail-controls button{width:44px;height:44px;border:1px solid var(--ka-rail-color,var(--ka-primary,#0E244B));border-radius:10px;background:transparent;color:var(--ka-rail-color,var(--ka-primary,#0E244B));font:inherit;cursor:pointer;padding:8px}
.ka-rail-controls button:disabled{opacity:.3;cursor:default}.ka-rail-controls button:focus-visible{outline:2px solid var(--ka-accent,#EB8F42);outline-offset:3px}
@media(max-width:1024px){:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)){--padding-top:20px!important;--padding-bottom:20px!important;padding-block:20px!important}.ka-testimonial-track>.e-con,.ka-testimonial-track>.e-con-inner>.e-con{flex-basis:calc((100% - 16px)/2)!important;width:calc((100% - 16px)/2)!important}}
@media(max-width:600px){:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)){--padding-top:16px!important;--padding-bottom:16px!important;--gap:8px!important;--row-gap:8px!important;--column-gap:8px!important;padding-block:16px!important;gap:8px!important}:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)):not(:has(>.e-con-inner)),:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner{gap:8px!important}:is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) h2.elementor-heading-title{font-size:var(--ka-section-heading-mobile,19px)!important}.ka-testimonial-track:not(:has(>.e-con-inner)),.ka-testimonial-track>.e-con-inner{gap:12px!important;--gap:12px!important;--row-gap:12px!important;--column-gap:12px!important}.ka-testimonial-track>.e-con,.ka-testimonial-track>.e-con-inner>.e-con{flex-basis:88%!important;width:88%!important;--padding-top:14px!important;--padding-right:14px!important;--padding-bottom:14px!important;--padding-left:14px!important;padding:14px!important}.ka-testimonial-track .elementor-widget-heading .elementor-heading-title{font-size:14px!important}.ka-testimonial-track .elementor-widget-heading h3.elementor-heading-title,.ka-testimonial-track .ka-audience-name .elementor-heading-title{font-size:15px!important}}
/* On phones, give the copy its full width and place arrows below it.
   Only the small row gap is added; tablet and desktop geometry stay intact. */
@media(max-width:600px){
 :is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)):not(:has(>.e-con-inner)),
 :is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner{grid-template-columns:minmax(0,1fr)!important;row-gap:10px!important}
 :is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con:not(.ka-testimonial-track),
 :is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track))>.e-con-inner>.e-con:not(.ka-testimonial-track){grid-column:1!important;grid-row:1!important}
 :is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) .ka-rail-controls{grid-column:1!important;grid-row:2!important;justify-self:end;align-self:start}
 :is(.ka-reviews-layout,.ka-reviews-section:has(.ka-testimonial-track)) .ka-testimonial-track{grid-column:1!important;grid-row:3!important}
}
.elementor-editor-active .ka-testimonial-track:not(:has(>.e-con-inner)),.elementor-editor-active .ka-testimonial-track>.e-con-inner{flex-wrap:wrap!important;overflow:visible;scroll-snap-type:none}
/* Animate visible blog content as well as its cards, respecting user settings. */
.kab-motion .kab-reveal{opacity:0;translate:0 20px;transition:opacity .55s ease,translate .55s cubic-bezier(.16,1,.3,1)}
.kab-motion .kab-reveal:not(.is-visible){transform:none}
.kab-motion .kab-reveal.is-visible{opacity:1;translate:0 0}
@media(prefers-reduced-motion:reduce){.kab-motion .kab-reveal{opacity:1;translate:none;transition:none}}
.ka-no-motion .kab-reveal{opacity:1;translate:none;transition:none}
