/* Homepage only: original Aifusionx structure with Keystone's current content. */
.kws-home-hybrid .elementor.elementor-22 .kh-home{--kh-ink:#202d51;--kh-blue:#247ca5}
.kws-home-hybrid .elementor.elementor-22 .kh-home .elementor-widget-html{width:100%;margin-block:0}
.kws-home-hybrid .elementor.elementor-22 .kh-home .elementor-widget-html>.elementor-widget-container{padding:0}
.kws-home-hybrid .elementor.elementor-22 .kh-hero{isolation:isolate}
.kws-home-hybrid .elementor.elementor-22 .kh-hero>.e-con-inner{width:100%;max-width:1360px;gap:0}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero{padding:0;background:transparent}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-wrap{width:100%;max-width:none}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-grid{grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:56px}
body.kws-home-hybrid .elementor .kh-hero .ka-scope h1{font-size:clamp(50px,4.5vw,72px)!important;line-height:1.08!important;letter-spacing:-.048em!important}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-brandline{font-size:14px!important;letter-spacing:.025em!important;color:#202d51;display:flex;align-items:center;gap:12px}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-brandline:before{content:"";display:block;width:10px;height:10px;border-radius:3px;background:#247ca5;box-shadow:0 0 0 5px #247ca512;flex-shrink:0}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy .ka-lead{max-width:570px;font-size:18px;color:#40516a}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-art{padding-top:22px}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-art>.ka-site{box-shadow:0 28px 70px #123b6a24;border-color:#c1d4df}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-floating-request{box-shadow:0 15px 38px #193c6526;border-color:#d2dfe6}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-art>figcaption{color:#45566d}
.kws-home-hybrid .elementor.elementor-22 .kh-clients>.e-con-inner{max-width:1280px}
.kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-element-3494388{row-gap:25px}
.kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-widget-image{flex:0 1 180px;max-width:180px}
.kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-widget-image img{max-height:68px;max-width:100%;width:auto;height:auto;object-fit:contain;transition:filter .25s ease,opacity .25s ease}
.kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-widget-image:is(:hover,:focus-within) img{filter:none;opacity:1}
.kws-home-hybrid .elementor.elementor-22 .kh-services{padding:0 30px 85px;margin-bottom:0}
.kws-home-hybrid .elementor.elementor-22 .kh-services>.e-con-inner{max-width:1360px}
.kws-home-hybrid .elementor.elementor-22 .kh-services .elementor-element-551edd9{max-width:none;width:100%;padding:0 0 20px}
.kws-home-hybrid .elementor.elementor-22 .kh-services .elementor-element-93fded4{max-width:690px}
.kws-home-hybrid .elementor.elementor-22 .kh-service-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:12px!important;row-gap:22px!important}
.kws-home-hybrid .elementor.elementor-22 .kh-service-card{width:100%!important;min-width:0;max-width:none;padding-inline:0;color:var(--kh-ink);text-decoration:none;align-self:stretch}
.kws-home-hybrid .elementor.elementor-22 .kh-service-card:focus-visible{outline:3px solid #247ca5;outline-offset:5px;border-radius:20px}
.kws-home-hybrid .elementor.elementor-22 .kh-service-card .elementor-widget-heading .elementor-heading-title{font-size:25px;line-height:1.15;letter-spacing:-.025em}
.kws-home-hybrid .elementor.elementor-22 .kh-service-card .elementor-widget-text-editor{font-size:16px;line-height:1.55}
.kws-home-hybrid .elementor.elementor-22 .kh-service-card .elementor-widget-text-editor p{margin:0}
.kws-home-hybrid .elementor.elementor-22 .kh-services .ka-entry-paths{margin:27px 0 0;padding:22px 0 0;border-bottom:0;border-top:1px solid #dbe3eb;gap:30px}
.kws-home-hybrid .elementor.elementor-22 .kh-demo{isolation:isolate}
.kws-home-hybrid .elementor.elementor-22 .kh-demo>.e-con-inner{max-width:1280px}
.kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-section{background:transparent;padding:0}
.kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-wrap{width:100%;max-width:none}
.kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-demo{box-shadow:0 22px 70px #1a3a5d16;border-color:#bbcfdc}
.kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-section-heading{gap:50px}
.kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-section-heading>p{color:#344c65}
.kws-home-hybrid .elementor.elementor-22 .kh-process{padding:0 30px;margin:0 0 20px}
.kws-home-hybrid .elementor.elementor-22 .kh-process>.e-con-inner{max-width:1280px}
.kws-home-hybrid .elementor.elementor-22 .kh-process .elementor-element-78a1c59{max-width:900px}
.kws-home-hybrid .elementor.elementor-22 .kh-process .elementor-element-b75a6ad{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0!important;overflow:hidden}
.kws-home-hybrid .elementor.elementor-22 .kh-process .elementor-element-2d446d8,.kws-home-hybrid .elementor.elementor-22 .kh-process .elementor-element-f818216{display:none}
.kws-home-hybrid .elementor.elementor-22 .kh-process-step{width:100%!important;min-width:0;border-right:1px solid #dbe3eb}
.kws-home-hybrid .elementor.elementor-22 .kh-process-step:last-child{border-right:0}
.kws-home-hybrid .elementor.elementor-22 .kh-process-step .elementor-heading-title{overflow-wrap:normal}
.kws-home-hybrid .elementor.elementor-22 .kh-process-bottom{display:flex;align-items:center;justify-content:space-between;gap:35px}
.kws-home-hybrid .elementor.elementor-22 .kh-process-bottom p{max-width:700px;margin:0}
.kws-home-hybrid .elementor.elementor-22 .kh-process-bottom .ka-button{flex-shrink:0}
.kws-home-hybrid .elementor.elementor-22 .kh-proof .kws-section{padding-top:35px}
.kws-home-hybrid .elementor.elementor-22 .kh-proof .kws-work-card{border-radius:20px;border:1px solid #d5e0e9;background:linear-gradient(145deg,#f5f9fb,#edf4f8);padding:34px}
.kws-home-hybrid .elementor.elementor-22 .kh-proof .kws-stage{color:#24718e}
.kws-home-hybrid .elementor.elementor-22 .kh-technologies{padding:0 30px 50px;margin:0}
.kws-home-hybrid .elementor.elementor-22 .kh-technologies>.e-con-inner{max-width:1280px}
.kws-home-hybrid .elementor.elementor-22 .kh-people .ka-section{background:linear-gradient(120deg,#fff 30%,#f1f7fa);padding-top:70px;padding-bottom:70px}
.kws-home-hybrid .elementor.elementor-22 .kh-people .ka-people>figure img{border-radius:20px 60px 20px 20px}
.kws-home-hybrid .elementor.elementor-22 .kh-faq .ka-faq{max-width:none}
.kws-home-hybrid .elementor.elementor-22 .kh-cta .ka-section{padding-top:0;padding-bottom:25px}
.kws-home-hybrid .elementor.elementor-22 .kh-cta .ka-cta{background:#eaf3f9;border-color:#c6dce9;border-radius:24px 65px 24px 24px}
.kws-home-hybrid .elementor.elementor-22 .kh-insights .elementor-element-6e6b9a4{max-width:740px}
@media(min-width:1600px){.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-site-photo{min-height:340px}}
@media(max-width:1100px){
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-grid{gap:32px}
 body.kws-home-hybrid .elementor .kh-hero .ka-scope h1{font-size:50px!important}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy .ka-lead{font-size:17px}
 .kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-widget-image{flex-basis:155px;max-width:155px}
 .kws-home-hybrid .elementor.elementor-22 .kh-services{padding:0 24px 65px}
 .kws-home-hybrid .elementor.elementor-22 .kh-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kws-home-hybrid .elementor.elementor-22 .kh-process{padding:0 24px}
 .kws-home-hybrid .elementor.elementor-22 .kh-process-bottom{align-items:flex-start;gap:25px}
 .kws-home-hybrid .elementor.elementor-22 .kh-process-step .elementor-widget-heading .elementor-heading-title{font-size:25px}
 .kws-home-hybrid .elementor.elementor-22 .kh-technologies{padding:0 24px 35px}
}
@media(max-width:900px){
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-grid{grid-template-columns:1fr;gap:20px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy{max-width:680px}
 body.kws-home-hybrid .elementor .kh-hero .ka-scope h1{font-size:60px!important}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-art{width:100%;max-width:670px;margin:0 auto}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-site-photo{min-height:310px}
 .kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-section-heading{display:block}
 .kws-home-hybrid .elementor.elementor-22 .kh-demo .ka-section-heading>p{max-width:660px;margin-top:24px}
 .kws-home-hybrid .elementor.elementor-22 .kh-process-bottom{flex-direction:column}
}
@media(max-width:767px){
 .kws-home-hybrid .elementor.elementor-22 .kh-hero{min-height:0;padding:195px 20px 80px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-grid{gap:20px}
 body.kws-home-hybrid .elementor .kh-hero .ka-scope h1{font-size:clamp(38px,10.5vw,56px)!important}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-brandline{font-size:11px!important;gap:10px;letter-spacing:.015em!important}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy .ka-lead{font-size:17px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy .ka-actions{gap:12px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-art{margin:0!important;max-width:520px;padding-top:8px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-site-photo{min-height:280px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-art>figcaption{font-size:9px}
 .kws-home-hybrid .elementor.elementor-22 .kh-clients{padding:35px 20px 0}
 .kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-element-3775bb1{text-align:center}
 .kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-element-3494388{justify-content:center;gap:25px 22px}
 .kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-widget-image{flex:0 1 calc(50% - 22px);max-width:150px}
 .kws-home-hybrid .elementor.elementor-22 .kh-clients .elementor-widget-image img{max-height:55px}
 .kws-home-hybrid .elementor.elementor-22 .kh-services{padding:5px 20px 55px}
 .kws-home-hybrid .elementor.elementor-22 .kh-service-grid{grid-template-columns:1fr;gap:18px!important}
 .kws-home-hybrid .elementor.elementor-22 .kh-services .ka-entry-paths{gap:19px;margin-top:22px}
 .kws-home-hybrid .elementor.elementor-22 .kh-process{padding:0 20px}
 .kws-home-hybrid .elementor.elementor-22 .kh-process .elementor-element-b75a6ad{grid-template-columns:1fr}
 .kws-home-hybrid .elementor.elementor-22 .kh-process-step{border-right:0;border-bottom:1px solid #dbe3eb}
 .kws-home-hybrid .elementor.elementor-22 .kh-process-step:last-child{border-bottom:0}
 .kws-home-hybrid .elementor.elementor-22 .kh-process-bottom{gap:20px}
 .kws-home-hybrid .elementor.elementor-22 .kh-proof .kws-section{padding-top:15px}
 .kws-home-hybrid .elementor.elementor-22 .kh-proof .kws-work-card{padding:27px}
 .kws-home-hybrid .elementor.elementor-22 .kh-technologies{padding:0 20px 15px}
 .kws-home-hybrid .elementor.elementor-22 .kh-people .ka-section{padding:55px 0}
 .kws-home-hybrid .elementor.elementor-22 .kh-cta .ka-cta{border-radius:22px 42px 22px 22px}
}
@media(prefers-reduced-motion:reduce){.kws-home-hybrid .elementor.elementor-22 .kh-home *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* KWS_HOME_FOOTER_CLEARANCE: reserve the shaped overlap before footer content. */
.kws-home-hybrid{--kh-footer-overlap:105px;--kh-footer-content-space:65px}
.kws-home-hybrid .elementor.elementor-22 .kh-insights{--margin-bottom:calc(-1 * var(--kh-footer-overlap));margin-bottom:calc(-1 * var(--kh-footer-overlap))}
.kws-home-hybrid .kws-site-footer{padding-top:calc(var(--kh-footer-overlap) + var(--kh-footer-content-space))}
@media(max-width:1024px){.kws-home-hybrid{--kh-footer-overlap:76px}}
@media(max-width:767px){.kws-home-hybrid{--kh-footer-content-space:40px}}

/* Align the homepage guarantee with the first-look section above it. */
.kws-home-hybrid .elementor.elementor-22 .kh-guarantee .kws-wrap{width:min(1280px,calc(100% - 60px))}
@media(max-width:1100px){.kws-home-hybrid .elementor.elementor-22 .kh-guarantee .kws-wrap{width:calc(100% - 48px)}}
@media(max-width:767px){.kws-home-hybrid .elementor.elementor-22 .kh-guarantee .kws-wrap{width:calc(100% - 40px)}}

/* Partner credential belongs to the hero copy; the demo spans both desktop rows. */
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-grid{row-gap:24px}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy{grid-column:1;grid-row:1;align-self:end}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .kha-demo{grid-column:2;grid-row:1 / span 2;align-self:center}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership{grid-column:1;grid-row:2;align-self:start;min-width:0;width:100%;max-width:460px;margin:0}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership>a{display:block;width:372px;max-width:100%;border-radius:5px}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership>a:focus-visible{outline:2px solid #247ca5;outline-offset:5px}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership img{display:block;width:100%;height:auto;object-fit:contain;object-position:left center}
.kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership p{font-size:14px;line-height:1.7;max-width:420px;margin:9px 0 0;color:#5e7080}
@media(max-width:1100px){
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership>a{width:345px}
}
@media(max-width:900px){
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .ka-hero-copy{grid-column:1;grid-row:1;align-self:start}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .kha-demo{grid-column:1;grid-row:2}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership{grid-column:1;grid-row:3;max-width:680px}
}
@media(max-width:767px){
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership>a{width:305px}
 .kws-home-hybrid .elementor.elementor-22 .kh-hero .kh-partnership p{font-size:13px;max-width:330px}
}

/* Homepage article links stay visible without hover, including touch screens. */
.kws-home-hybrid .elementor.elementor-22 .kh-insights .e-loop-item .elementor-widget-button.vamtam-show-on-hover{opacity:1!important;visibility:visible}
@media(max-width:767px){
 .kws-home-hybrid .elementor.elementor-22 .kh-insights .e-loop-item .elementor-widget-button.elementor-hidden-mobile{display:block!important}
}

/* Category badges size to their text rather than stretching into the outer margins. */
.kws-home-hybrid .elementor.elementor-22 .kh-insights .elementor-widget-post-info>.elementor-widget-container{height:auto}
