/* Shared palette follows the intelligent sourcing page: navy, blue and restrained teal. */
#kxt-site { --ui-ink:#162033; --ui-muted:#798396; --ui-line:#e1e7ef; --ui-blue:#2e6bea; --ui-teal:#218b87; }
#kxt-site main.business-refresh { --bx-ink:var(--ui-ink); --bx-muted:var(--ui-muted); --bx-teal:var(--ui-teal); --bx-teal-dark:#176d73; color:var(--ui-ink); background:#f7f8fa; }
#kxt-site .ui-outline-icon { display:inline-block; width:22px; height:22px; flex-shrink:0; fill:none!important; stroke:currentColor!important; stroke-width:1.65; vertical-align:middle; filter:none!important; }
#kxt-site .ui-outline-icon * { fill:none!important; stroke:currentColor!important; }
#kxt-site main .page-head { background:linear-gradient(115deg,#0c1321,#14273a 70%,#153d44)!important; border-color:#203148; }
#kxt-site main .page-head h1,#kxt-site main .page-head p { color:#fff!important; }
#kxt-site .business-refresh .eyebrow { color:#537bad; }
#kxt-site .business-refresh .eyebrow:before { background:#5287dd; }
#kxt-site .business-refresh .btn { background:var(--ui-blue)!important; border-radius:8px!important; color:#fff!important; box-shadow:none!important; border-color:transparent!important; }
#kxt-site .business-refresh .btn:hover { background:#2458c9!important; }
#kxt-site .business-refresh .outline-btn { border:1px solid #d6e0ee!important; background:#fff!important; color:#3c649c!important; border-radius:8px!important; }
#kxt-site .business-refresh .btn svg,#kxt-site .business-refresh .outline-btn svg { background:transparent!important; border-radius:0!important; padding:0!important; width:18px!important; height:18px!important; }
#kxt-site .business-refresh :is(.service-icon,.point-icon,.feature-symbol,.sh-category-icon) { color:#5073b0!important; background:#eef3fb!important; border:1px solid #e0e8f3; border-radius:9px!important; box-shadow:none!important; }
#kxt-site .business-refresh :is(.service-card,.rich-points>article,.cluster-card,.business-catalog-stats,.faq-section) { background:#fff!important; border:1px solid var(--ui-line)!important; box-shadow:0 4px 16px #1a2a3f03!important; }
#kxt-site .business-refresh .service-card:hover { background:#f4f7fc!important; transform:translateY(-3px); }
#kxt-site .business-refresh .service-card:hover :is(h2,p) { color:var(--ui-ink)!important; }
#kxt-site .business-refresh .service-card .service-number { color:#b8c7dc!important; font-size:28px!important; }
#kxt-site .business-refresh .service-card .btn { margin-top:auto; align-self:flex-start; }
#kxt-site .business-refresh .service-card { min-width:0; display:flex; flex-direction:column; }
#kxt-site .business-refresh .service-card .small { margin-bottom:22px; }
#kxt-site .business-refresh .cta { background:#eef2f7!important; border:1px solid #dfe6f0; }
#kxt-site .business-refresh .cta :is(h2,p) { color:#27364a!important; }
#kxt-site footer { background-color:#0c1321!important; }
#kxt-site .business-refresh .explorer-atlas { background:linear-gradient(145deg,#0e1b2d,#153b44)!important; }
#kxt-site .business-refresh .explorer-results-area { background:#f2f5f9; border:1px solid #e1e7ef; border-radius:12px; padding:18px; min-width:0; }
#kxt-site .explorer-card-grid { display:grid; gap:12px; }
#kxt-site .sourcing-explorer .explorer-card { display:grid!important; grid-template-columns:34% minmax(0,1fr)!important; gap:0!important; min-width:0; padding:0!important; overflow:hidden; border:1px solid #e2e7ee; border-radius:10px; background:#fff; box-shadow:none; align-items:stretch; }
#kxt-site .sourcing-explorer .explorer-card-cover { position:relative!important; display:block!important; padding:0!important; margin:0!important; border:0!important; border-radius:0!important; width:100%!important; height:100%!important; min-height:100%!important; background:#eef2f6; align-self:stretch; }
#kxt-site .sourcing-explorer .explorer-card-cover img { position:absolute!important; inset:0; display:block; width:100%!important; height:100%!important; max-height:none!important; border-radius:0!important; padding:0!important; object-fit:cover!important; }
#kxt-site .sourcing-explorer .explorer-card-info { min-width:0!important; padding:15px!important; display:flex; flex-direction:column; justify-content:flex-start; }
#kxt-site .sourcing-explorer .explorer-card-info h4 { font-size:15px; line-height:1.55; margin:0 0 6px; overflow-wrap:anywhere; }
#kxt-site .sourcing-explorer .explorer-card-info h4 a { color:#27364a; }
#kxt-site .explorer-card-location { color:#8a96a8; font-size:11px; }
#kxt-site .explorer-card-summary { color:#7b8799; font-size:12px; line-height:1.65; margin:7px 0 12px; }
#kxt-site .explorer-card-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
#kxt-site .explorer-card-actions>button { border-radius:6px; min-width:0; font-size:11px; padding:7px 10px; white-space:nowrap; }
#kxt-site .explorer-card-actions>button:last-child { background:var(--ui-teal); color:#fff; border-color:var(--ui-teal); }
#kxt-site .map-section .result-count { display:none!important; }
#kxt-site .map-result { display:block!important; position:relative; min-height:154px; padding:0 0 0 148px!important; padding-inline-start:148px!important; padding-inline-end:0!important; overflow:hidden; border:1px solid #e0e7ef; border-radius:10px; background:#fff; text-align:start; width:100%; box-shadow:none; }
#kxt-site .map-result>img { position:absolute; top:0; bottom:0; inset-inline-start:0; width:148px!important; height:100%!important; max-height:none!important; border-radius:0!important; padding:0!important; margin:0!important; object-fit:cover; }
#kxt-site .map-result>div { min-width:0; padding:19px; }
#kxt-site .map-result h3 { font-size:16px; color:#27364a; line-height:1.55; overflow-wrap:anywhere; }
#kxt-site .map-result .small { font-size:11px; color:#8a97aa; }
#kxt-site .map-result .text-link { color:#5073b0; font-size:12px; }
#kxt-site .map-category-trigger { display:none; }
#kxt-site .cluster-topic { --topic-ink:#162033; --topic-green:#2e6bea; background:#f7f8fa; }
#kxt-site .cluster-topic header.topic-hero { background:linear-gradient(120deg,#0c1321,#172b42 72%,#174249); border-color:#253950; }
#kxt-site .topic-hero-copy .eyebrow { color:#b3c4e3; }
#kxt-site .topic-hero-tags>span { color:#bdccdf; }
#kxt-site .topic-section-heading>span { background:#edf3fc; color:#4e75b9; box-shadow:none; border:1px solid #dce6f5; }
#kxt-site .topic-chain>div,#kxt-site .topic-service-grid>div,#kxt-site .topic-related-card,#kxt-site .topic-products>div { background:#f5f7fb; border-color:#e0e7f2; }
#kxt-site .topic-chain>div>span,#kxt-site .topic-related-symbol { background:#e7eef9; color:#4e75b9; }
#kxt-site .topic-related-actions>button { background:#218b87; border-color:#218b87; }
#kxt-site .topic-section h2,#kxt-site .topic-section h3 { color:#27364a; }
#kxt-site .topic-section-nav a { background:#f0f4fa; color:#61799c; }
#kxt-site .topic-mid-cta { background:linear-gradient(120deg,#142235,#174249); }
#kxt-site .news-contact { background:#f3f6fa; border-color:#dfe6ef; }
#kxt-site .news-contact h2 { color:#27364a!important; }
#kxt-site .news-contact-line { border-color:#e0e7f0; }
#kxt-site .news-contact-line .news-contact-icon { background:#edf3fb; color:#5073b0; }
#kxt-site .news-contact-copy b { color:#27364a; }
#kxt-site .floating-contact button { background:#218b87!important; }
/* Mobile filters form one horizontal rail; only its contents scroll. */
@media(max-width:767px) {
 #kxt-site .explorer-categories,#kxt-site .explorer-subcategories { display:flex!important; flex-wrap:nowrap!important; align-items:center; gap:8px!important; overflow-x:auto!important; overflow-y:hidden!important; overscroll-behavior-inline:contain; scrollbar-width:none; max-width:100%; padding:9px 0!important; scroll-padding-inline:10px; }
 #kxt-site .explorer-categories::-webkit-scrollbar,#kxt-site .explorer-subcategories::-webkit-scrollbar { display:none; }
 #kxt-site .explorer-categories>button,#kxt-site .explorer-categories>.explorer-more,#kxt-site .explorer-subcategories>button { flex:0 0 auto!important; min-width:max-content!important; width:auto!important; margin:0!important; white-space:nowrap!important; }
 #kxt-site .explorer-categories :is(button,summary) { display:flex!important; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:10px 12px!important; border:1px solid #e1e7ef; border-radius:8px; background:#fff; color:#657b9b; }
 #kxt-site .explorer-categories button[aria-pressed=true],#kxt-site .explorer-subcategories button[aria-pressed=true] { background:#edf3fe; border-color:#b7cef7; color:#2e6bea; }
 #kxt-site .explorer-categories :is(button,summary)>span { white-space:nowrap!important; }
 #kxt-site .explorer-categories .ui-outline-icon { width:18px; height:18px; }
 #kxt-site .explorer-more>div { display:none!important; }
 #kxt-site .explorer-subcategories>button { padding:8px 11px; border-radius:6px; font-size:12px; color:#798ba4; }
 #kxt-site .explorer-workspace { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:16px; }
 #kxt-site .explorer-atlas { min-width:0; border-radius:12px; }
 #kxt-site .business-refresh .explorer-results-area { padding:14px; margin:0; width:auto; }
 #kxt-site .explorer-results-heading { display:flex!important; flex-wrap:nowrap!important; align-items:center; justify-content:space-between; gap:10px; padding:0 0 12px; }
 #kxt-site .explorer-results-heading h3 { min-width:0; margin:0; font-size:18px; }
 #kxt-site .explorer-results-heading>a { flex-shrink:0; font-size:12px; white-space:nowrap; }
 #kxt-site .explorer-card-grid { grid-template-columns:minmax(0,1fr)!important; }
 #kxt-site .sourcing-explorer .explorer-card { grid-template-columns:112px minmax(0,1fr)!important; min-height:172px; }
 #kxt-site .sourcing-explorer .explorer-card-info { padding:12px!important; }
 #kxt-site .sourcing-explorer .explorer-card-info h4 { font-size:13px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
 #kxt-site .explorer-card-summary { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:11px; margin:5px 0 9px; }
 #kxt-site .explorer-card-actions { gap:6px; }
 #kxt-site .explorer-card-actions>button { padding:7px 8px; font-size:10px; }
 #kxt-site .map-workspace { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:16px; }
 #kxt-site .map-results { max-height:none!important; height:auto!important; min-width:0; overflow:visible!important; padding:0; }
 #kxt-site .map-result { min-height:144px; padding-inline-start:108px!important; }
 #kxt-site .map-result>img { width:108px!important; }
 #kxt-site .map-result>div { padding:15px 13px; }
 #kxt-site .map-result h3 { font-size:14px; }
 #kxt-site .map-category-trigger { display:flex; align-items:center; gap:8px; width:100%; padding:12px; background:#fff; border:1px solid #dce5f1; border-radius:8px; color:#5073b0; font-size:13px; }
 #kxt-site .map-section .map-filters>label:has(#industry-filter) { display:none; }
 #kxt-site .rich-intro { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:24px; }
 #kxt-site .rich-points { width:100%; min-width:0; margin:0; }
 #kxt-site .rich-points>article { display:grid!important; grid-template-columns:42px minmax(0,1fr)!important; align-items:start; gap:14px; padding:20px!important; border-radius:10px; }
 #kxt-site .rich-points .point-icon { width:42px; height:42px; margin:0; flex:none; }
 #kxt-site .rich-points .point-icon svg { width:22px; height:22px; }
 #kxt-site .rich-points h3 { font-size:17px; line-height:1.5; margin-bottom:6px; }
 #kxt-site .rich-points p { font-size:13px; line-height:1.8; margin:0; }
 #kxt-site .services-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; width:100%; gap:16px; }
 #kxt-site .business-refresh .service-card { display:flex!important; flex-direction:column; width:100%; min-width:0; height:auto!important; padding:24px!important; border-radius:12px; }
 #kxt-site .service-card .service-icon { width:46px; height:46px; margin:0 0 20px; }
 #kxt-site .service-card .service-icon svg { width:24px; height:24px; }
 #kxt-site .service-card h2 { width:100%; height:auto; font-size:21px; line-height:1.5; margin:0 0 12px; padding-inline-end:0; }
 #kxt-site .service-card p { font-size:13px; line-height:1.85; }
 #kxt-site .service-card .service-number { top:24px; inset-inline-end:24px; }
 #kxt-site .process-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:15px; }
 #kxt-site .process-grid:before,#kxt-site .process-grid:after { display:none; }
 #kxt-site .business-refresh>.section { padding-inline:20px; }
 #kxt-site .section-head { min-width:0; gap:14px; }
 #kxt-site .section-head h2 { overflow-wrap:anywhere; }
}
/* Native dialog supplies focus management and a keyboard-dismissable modal. */
#mobile-category-dialog { position:fixed; inset:auto 0 0; margin:0; padding:0; width:100%; max-width:none; height:min(85dvh,760px); max-height:90dvh; border:0; border-radius:18px 18px 0 0; color:#27364a; background:#f7f8fa; box-shadow:0 -12px 45px #0c132122; }
#mobile-category-dialog[open] { display:flex; flex-direction:column; }
#mobile-category-dialog::backdrop { background:#0c132180; backdrop-filter:blur(3px); }
.mobile-category-head { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:21px 20px 12px; }
.mobile-category-head h2 { font-size:19px; font-weight:650; margin:0; color:#27364a; }
.mobile-category-close { display:grid; place-items:center; width:32px; height:32px; border:1px solid #dde5ee; border-radius:50%; background:#fff; color:#6c7e95; }
.mobile-category-search { display:block; margin:0 20px 14px; width:calc(100% - 40px); padding:13px 14px; background:#fff; border:1px solid #dfe6ef; border-radius:8px; font-size:14px; color:#27364a; flex-shrink:0; }
.mobile-category-list { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 20px 15px; }
.mobile-category-group { margin:9px 0; }
.mobile-category-option { display:flex; align-items:center; gap:11px; width:100%; text-align:start; min-height:50px; padding:12px 14px; border:1px solid #e1e7ef; border-radius:9px; color:#546c8e; background:#fff; font-size:14px; }
.mobile-category-option>span { flex:1; min-width:0; }
.mobile-category-option[aria-pressed=true] { color:#2e6bea; border-color:#9fbff4; background:#edf3fe; }
.mobile-category-children { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:10px 0 2px; }
.mobile-category-child { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:5px; padding:11px 10px; text-align:start; background:#edf1f6; color:#77879d; border:1px solid transparent; border-radius:7px; font-size:12px; line-height:1.5; }
.mobile-category-child[aria-pressed=true] { color:#2e6bea; background:#e7efff; border-color:#a4c1f5; }
.mobile-category-child .ui-outline-icon { width:16px!important; height:16px!important; }
.mobile-category-footer { display:grid; grid-template-columns:1fr 2fr; gap:12px; padding:15px 20px max(18px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #e0e7ef; }
.mobile-category-footer button { padding:13px; font-size:14px; border-radius:8px; font-weight:600; }
.mobile-category-reset { background:#f2f5f9; border:1px solid #dee5ee; color:#71839c; }
.mobile-category-apply { background:#2e6bea; border:1px solid #2e6bea; color:white; }
.mobile-category-empty { padding:20px 0; color:#8290a4; font-size:14px; }
@media(min-width:768px) { #mobile-category-dialog { inset:50% auto auto 50%; transform:translate(-50%,-50%); width:520px; border-radius:16px; } }
@media(prefers-reduced-motion:reduce) { #kxt-site * { scroll-behavior:auto!important; } }
#kxt-site .direct-contact-value { background:#f2f6fc; border-color:#dfe7f3; }
#kxt-site .direct-contact-copy { color:#3565ad; border-color:#c9d8ee; }
#kxt-site .direct-contact-dialog .direct-contact-action { background:#2e6bea; }
