/* KatSar Systems v1.5.5 — unified visual QA pass. Loaded last. */
:root{--ks55-navy:#092e45;--ks55-ink:#103d59;--ks55-blue:#057eb9;--ks55-sky:#eaf5fa;--ks55-line:#dbe6ec}
html{scroll-behavior:smooth;scroll-padding-top:170px}
body.katsar-modern{overflow-x:clip}
body.katsar-modern :is(h1,h2,h3,h4){text-wrap:balance}
body.katsar-modern :is(p,li){overflow-wrap:break-word}
body.katsar-modern :focus-visible{outline:3px solid #ffbb4f;outline-offset:4px}
/* FULL sticky header: utility bar, corporate/contact row and site menu together. */
body.katsar-modern .katsar-sticky-wrap{position:sticky;top:0;z-index:1100;background:#fff;box-shadow:0 4px 15px rgba(4,33,50,.13);isolation:isolate}
body.katsar-modern.admin-bar .katsar-sticky-wrap{top:32px}
body.katsar-modern .katsar-sticky-wrap #site-header{position:relative;z-index:2;box-shadow:none}
body.katsar-modern .katsar-sticky-wrap .nav-shell{background:#0a3047}
body.katsar-modern .katsar-sticky-wrap .utility-bar{overflow:hidden;transition:height .18s ease,opacity .18s ease}
body.katsar-modern .katsar-sticky-wrap.is-scrolled .utility-bar{height:0!important;opacity:0}
body.katsar-modern .katsar-sticky-wrap.is-scrolled #site-header .contact-header-inner{min-height:67px;padding-block:7px;transition:min-height .17s,padding .17s}
body.katsar-modern .katsar-sticky-wrap.is-scrolled #site-header .brand-logo img,
body.katsar-modern .katsar-sticky-wrap.is-scrolled #site-header .custom-logo{max-height:56px}
body.katsar-modern #site-header .nav-shell .support-shortcut{font-weight:800;letter-spacing:.015em}
body.katsar-modern #site-header .primary-nav .menu>li>a{white-space:nowrap}
/* A single compact manufacturer strip — no name captions, ever. Mobile scrolls horizontally. */
body.katsar-modern .partner-logo-row,
body.katsar-modern .partners-section-v13 .partner-logo-row,
body.katsar-modern main.k50 .partner-logo-row{
 display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0!important;
 align-items:center!important;max-width:1200px!important;width:100%;margin:0 auto!important;
 background:white!important;border:1px solid #d8e6ee!important;border-radius:10px!important;
 box-shadow:0 6px 25px rgba(6,45,71,.055)!important;overflow:hidden!important;
}
body.katsar-modern .partner-logo-row .partner-logo{
 display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
 height:91px!important;min-height:91px!important;min-width:0!important;margin:0!important;
 padding:12px 10px!important;background:#fff!important;border:0!important;
 border-right:1px solid #e2eaf0!important;box-shadow:none!important;border-radius:0!important;
}
body.katsar-modern .partner-logo-row .partner-logo:last-child{border-right:0!important}
body.katsar-modern .partner-logo-row .partner-logo img{
 display:block!important;object-fit:contain!important;width:auto!important;height:auto!important;
 max-width:94%!important;max-height:56px!important;min-height:0!important;
 opacity:1!important;filter:none!important;image-rendering:auto!important;
}
body.katsar-modern .partner-logo-row .partner-logo-label{display:none!important}
body.katsar-modern .partners-section-v13,body.katsar-modern main.k50 .k50-partner-section{padding-block:49px 57px}
/* High-contrast professional CTA components across every legacy and new template. */
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13,.k50-last-cta,.k50-banner-call){
 background:linear-gradient(107deg,#092a41 0%,#0b4667 64%,#10668d 100%)!important;
 color:#fff!important;position:relative;isolation:isolate;
}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .container{position:relative;z-index:1}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13){padding:45px 0!important}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner{
 display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;
}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:first-child{min-width:0}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) h2,
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) h3,
body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) h2{color:#fff!important;text-shadow:none!important;line-height:1.16}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) h2{font-size:clamp(26px,2.6vw,38px)!important;max-width:840px;margin:7px 0!important}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) p,
body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) p{color:#eaf7fc!important;font-size:16px!important;line-height:1.6!important}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:last-child{display:flex;gap:11px;align-items:center;flex-wrap:nowrap;margin:0}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:last-child>a,
body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) .k50-actions a{
 display:inline-flex!important;align-items:center;justify-content:center;min-height:52px;min-width:174px;
 font-size:13px!important;line-height:1.25!important;white-space:nowrap!important;
 text-transform:uppercase;font-weight:850;letter-spacing:.01em;
 border-radius:9px!important;padding:13px 18px!important;
 box-shadow:0 8px 20px rgba(1,18,32,.16)!important;text-decoration:none!important;
}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:last-child>a:first-child,
body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) .k50-actions a:first-child{
 background:#fff!important;color:#07547c!important;border:1px solid #fff!important;
}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:last-child>a:last-child,
body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) .k50-actions a:last-child{
 background:transparent!important;color:#fff!important;border:1px solid #c7e9fa!important;
}
body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) a:hover,
body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) a:hover{transform:translateY(-2px);filter:brightness(1.03)}
/* Existing Wordpress content on service pages contained a dark-on-dark inline CTA; fix regardless of saved HTML. */
body.katsar-modern .entry-content .cta-inline,
body.katsar-modern .service-entry-content .cta-inline,
body.katsar-modern main.k50 .k50-service-content .cta-inline{
 background:linear-gradient(115deg,#073851,#0b5c7f)!important;
 border:1px solid #22799a!important;border-radius:14px!important;
 box-shadow:0 16px 38px rgba(7,53,78,.13)!important;
 padding:28px 31px!important;margin:28px 0!important;color:white!important;
}
body.katsar-modern .entry-content .cta-inline :is(h1,h2,h3,h4,strong),
body.katsar-modern main.k50 .k50-service-content .cta-inline :is(h1,h2,h3,h4,strong){color:#fff!important;font-size:clamp(22px,2.35vw,30px)!important;line-height:1.19!important;margin:0 0 11px!important}
body.katsar-modern .entry-content .cta-inline :is(p,li,span),
body.katsar-modern main.k50 .k50-service-content .cta-inline :is(p,li,span){color:#eaf6fb!important;font-size:16px!important;line-height:1.56!important}
body.katsar-modern .entry-content .cta-inline :is(a,.btn,.btn-light),
body.katsar-modern main.k50 .k50-service-content .cta-inline :is(a,.btn,.btn-light){
 display:inline-flex!important;align-items:center;justify-content:center;
 border:1px solid #fff!important;background:#fff!important;color:#07547e!important;
 min-height:48px!important;border-radius:8px!important;font-size:14px!important;font-weight:800!important;
 padding:12px 19px!important;box-shadow:0 6px 16px rgba(0,16,25,.16)!important;
 text-decoration:none!important;margin-top:9px!important;
}
/* Editorial body and benefits should not look like pale leftovers next to dark banners. */
body.katsar-modern :is(.content-card,.k50-editorial-card,.k50-feature-grid>div,.audience-highlight-grid-v14>div){border-color:#d9e8ee;border-radius:10px;color:#153e56;background:#fff}
body.katsar-modern main.k50 .k50-service-content :is(h2,h3,h4){color:#103d57}
body.katsar-modern :is(.service-overview-copy-v13,.audience-intro-v14,.k50-approach-section) p{font-size:17px;line-height:1.7;color:#34546a}
body.katsar-modern .service-entry-content .content-card h3,
body.katsar-modern main.k50 .k50-service-content .content-card h3{color:#0e3c55;font-size:20px}
body.katsar-modern .service-entry-content .content-card p,
body.katsar-modern main.k50 .k50-service-content .content-card p{color:#38576a;font-size:16px;line-height:1.58}
/* Responsive cards: preserve actual sharp photograph, avoid heavy legacy image filters / stretching. */
body.katsar-modern :is(.image-service-card,.service-card-v13,.audience-service-card-v14,.k50-system-card){border-radius:11px;overflow:hidden;box-shadow:0 10px 26px rgba(10,50,75,.08)}
body.katsar-modern :is(.image-service-card,.service-card-v13,.audience-service-card-v14,.k50-system-card) img{width:100%;object-fit:cover;object-position:center;filter:none!important;image-rendering:auto!important}
body.katsar-modern :is(.image-service-card,.service-card-v13,.audience-service-card-v14,.k50-system-card) h3{font-size:clamp(20px,1.6vw,24px);line-height:1.25;color:#123d54}
body.katsar-modern :is(.image-service-card,.service-card-v13,.audience-service-card-v14,.k50-system-card) p{color:#405f71;font-size:16px!important;line-height:1.56}
/* Up button */
body.katsar-modern .katsar-back-to-top{
 position:fixed;right:24px;bottom:24px;z-index:1200;
 width:52px;height:52px;display:grid;place-items:center;
 border:1px solid #48b5e2;border-radius:50%;background:#057fb7;color:#fff;
 box-shadow:0 9px 28px rgba(2,44,74,.3);cursor:pointer;
 opacity:0;transform:translateY(12px);pointer-events:none;
 transition:transform .19s ease,opacity .19s ease,background .19s;
}
body.katsar-modern .katsar-back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
body.katsar-modern .katsar-back-to-top:hover{background:#075882;transform:translateY(-3px)}
/* Don't inadvertently cover customer chat widgets at very narrow widths. */
@media(max-width:1250px){
 body.katsar-modern :is(.final-cta,.final-cta-v13) .final-cta-inner{grid-template-columns:1fr;gap:20px}
 body.katsar-modern :is(.final-cta,.final-cta-v13) .final-cta-inner>div:last-child{justify-content:flex-start}
}
@media(max-width:880px){
 body.katsar-modern .partner-logo-row,
 body.katsar-modern .partners-section-v13 .partner-logo-row,
 body.katsar-modern main.k50 .partner-logo-row{
   grid-template-columns:repeat(6,150px)!important;overflow-x:auto!important;overflow-y:hidden!important;
   scroll-snap-type:x proximity;overscroll-behavior-x:contain;
 }
 body.katsar-modern .partner-logo-row .partner-logo{min-width:150px!important;height:78px!important;min-height:78px!important;scroll-snap-align:start;padding:9px 10px!important}
 body.katsar-modern .partner-logo-row .partner-logo img{max-width:138px!important;max-height:54px!important}
 body.katsar-modern .katsar-sticky-wrap.is-scrolled #site-header .contact-header-inner{min-height:62px}
}
@media(max-width:782px){body.katsar-modern.admin-bar .katsar-sticky-wrap{top:46px}}
@media(max-width:640px){
 body.katsar-modern .katsar-back-to-top{right:14px;bottom:16px;width:46px;height:46px}
 body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner{display:block}
 body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:last-child{display:grid;grid-template-columns:1fr;gap:10px;margin-top:23px}
 body.katsar-modern :is(.final-cta,.final-cta-v13,.service-page-cta-v13) .final-cta-inner>div:last-child a{width:100%;min-width:0}
 body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) .k50-actions{flex-direction:column;align-items:stretch}
 body.katsar-modern main.k50 :is(.k50-last-cta,.k50-banner-call) .k50-actions a{width:100%}
 body.katsar-modern .entry-content .cta-inline,body.katsar-modern main.k50 .k50-service-content .cta-inline{padding:22px 21px!important}
 html{scroll-padding-top:100px}
}
@media(max-width:600px){body.katsar-modern.admin-bar .katsar-sticky-wrap{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body.katsar-modern .katsar-back-to-top,body.katsar-modern .katsar-sticky-wrap .utility-bar{transition:none}}
