/* EOMS Knowledge Hub — article, hub, academy, tools. Scoped under .kb so the rest of the site is untouched. */
.kb{
  --ink:#0f172a; --ink-2:#334155; --muted:#64748b; --line:#e2e8f0; --soft:#f8fafc; --soft-2:#f1f5f9;
  --brand:#0284c7; --brand-ink:#075985; --brand-soft:#e0f2fe; --accent:#6d28d9;
  --wa:#16a34a; --wa-ink:#15803d; --warn:#b45309; --warn-soft:#fffbeb; --bad:#b91c1c; --bad-soft:#fef2f2;
  --good-soft:#f0fdf4; --dark:#0a0f1e;
  --r:14px; --r-sm:10px; --shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.06);
  --font:"Inter",system-ui,-apple-system,"Segoe UI","Noto Sans Bengali","Hind Siliguri","Nirmala UI",sans-serif;
  background:#fff; color:var(--ink)!important; font-family:var(--font); font-size:17px; line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
.kb *,.kb *::before,.kb *::after{box-sizing:border-box}
.kb h1,.kb h2,.kb h3,.kb h4{font-family:var(--font);color:var(--ink)!important;letter-spacing:-.01em;line-height:1.3;text-transform:none}
.kb-prose a:not([class]),.kb-summary a,.kb-faq-a a,.kb-callout a:not([class]){color:var(--brand)!important}
.kb p{margin:0 0 1em}
.kb-wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* Buttons */
.kb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 22px;border-radius:999px;font-weight:600;font-size:15px;line-height:1.2;text-decoration:none!important;border:1.5px solid transparent;transition:background .2s,border-color .2s,transform .2s;cursor:pointer;white-space:nowrap}
.kb-btn:hover{transform:translateY(-1px)}
.kb-btn:focus-visible{outline:3px solid #7dd3fc;outline-offset:2px}
.kb-btn-primary{background:var(--brand);color:#fff!important}
.kb-btn-primary:hover{background:var(--brand-ink)}
.kb-btn-wa{background:var(--wa);color:#fff!important}
.kb-btn-wa:hover{background:var(--wa-ink)}
.kb-btn-ghost{border-color:var(--line);color:var(--ink)!important;background:#fff}
.kb-btn-ghost:hover{border-color:var(--brand);color:var(--brand)!important}
.kb-btn-ghost-light{border-color:rgba(255,255,255,.35);color:#fff!important}
.kb-btn-ghost-light:hover{border-color:#fff}
.kb-btn-sm{min-height:38px;padding:8px 16px;font-size:14px}

/* Hero (dark band under the site's dark header) */
.kb-hero{background:var(--dark);color:#cbd5e1!important;padding:132px 0 48px;border-bottom:1px solid #1e293b}
.kb-hero h1{color:#f8fafc!important;font-size:clamp(28px,4.2vw,44px);font-weight:700;margin:10px 0 14px;max-width:880px}
.kb-hero-article h1{font-size:clamp(26px,3.6vw,40px)}
.kb-lead{font-size:18px;color:#94a3b8!important;max-width:720px;margin:0}
.kb-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.kb-eyebrow{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#38bdf8!important}
.kb-eyebrow-link{text-decoration:none}
.kb-meta{display:flex;flex-wrap:wrap;gap:6px 20px;font-size:14px;color:#94a3b8!important;margin:0}
.kb-meta i{margin-right:5px;opacity:.7}
.kb-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;margin:0 0 18px;padding:0;font-size:13px}
.kb-crumbs li{color:#64748b!important}
.kb-crumbs li+li::before{content:"/";margin-right:6px;color:#475569!important}
.kb-crumbs a{color:#94a3b8!important;text-decoration:none}
.kb-crumbs a:hover{color:#e2e8f0!important}
.kb-preview-bar{background:#fef3c7;color:#92400e!important;font-size:14px;text-align:center;padding:10px 16px;position:relative;z-index:5;margin-top:90px}

/* Sections */
.kb-section{padding:64px 0}
.kb-section-alt{background:var(--soft)}
.kb-h2{font-size:clamp(22px,2.6vw,28px);font-weight:700;margin:0 0 24px}
.kb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.kb-empty{text-align:center;padding:48px 20px;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted)!important}

/* Article cards */
.kb-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none!important;color:var(--ink)!important;transition:border-color .2s,box-shadow .2s,transform .2s}
.kb-card:hover{border-color:#bae6fd;box-shadow:var(--shadow);transform:translateY(-2px)}
.kb-card-hub{font-size:12px;font-weight:600;color:var(--brand)!important;letter-spacing:.04em}
.kb-card-title{font-size:18px;line-height:1.45;font-weight:650}
.kb-card-sum{font-size:15px;color:var(--muted)!important;line-height:1.6}
.kb-card-meta{margin-top:auto;padding-top:6px;font-size:13px;color:var(--muted)!important;display:flex;align-items:center;gap:6px}
.kb-card:hover .kb-card-meta i{transform:translateX(3px)}
.kb-card-meta i{transition:transform .2s;font-size:11px}
.kb-card-accent{background:linear-gradient(180deg,#f0f9ff,#fff);border-color:#bae6fd}

/* Topic tiles + chips */
.kb-topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.kb-topic{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:var(--r);text-decoration:none!important;color:var(--ink)!important;background:#fff;transition:border-color .2s,box-shadow .2s}
.kb-topic:hover{border-color:#bae6fd;box-shadow:var(--shadow)}
.kb-topic-ic{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:var(--brand-soft);color:var(--brand)!important;display:flex;align-items:center;justify-content:center;font-size:18px}
.kb-topic strong{font-size:16px;line-height:1.35}
.kb-topic span:last-child{font-size:13px;color:var(--muted)!important}
.kb-chips{display:flex;flex-wrap:wrap;gap:10px}
.kb-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid var(--line);border-radius:999px;font-size:15px;color:var(--ink-2)!important;text-decoration:none!important;background:#fff}
.kb-chip:hover{border-color:var(--brand);color:var(--brand)!important}
.kb-chip span{font-size:12px;background:var(--soft-2);border-radius:999px;padding:1px 8px;color:var(--muted)!important}

/* Journey strip */
.kb-journey{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:36px}
.kb-journey div{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.kb-journey span{display:inline-flex;width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--brand)!important;align-items:center;justify-content:center;font-weight:700;font-size:15px;margin-bottom:10px}
.kb-journey strong{display:block;font-size:16px;margin-bottom:4px}
.kb-journey p{font-size:14px;color:var(--muted)!important;margin:0;line-height:1.6}

/* Article layout */
.kb-article-grid{display:grid;grid-template-columns:250px minmax(0,760px);gap:56px;justify-content:center;padding-top:44px;padding-bottom:56px}
.kb-toc-col{position:relative}
.kb-toc{position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto;padding-right:6px}
.kb-toc-h{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)!important;margin:0 0 12px}
.kb-toc ol,.kb-toc-mobile ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.kb-toc li a{display:block;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;font-size:14px;line-height:1.45;color:var(--muted)!important;text-decoration:none}
.kb-toc li a:hover{color:var(--ink)!important}
.kb-toc li a.is-active{color:var(--brand)!important;border-left-color:var(--brand);font-weight:600}
.kb-toc-l3 a{padding-left:28px!important;font-size:13px!important}
.kb-toc-mobile{display:none;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;margin:0 0 28px;background:var(--soft)}
.kb-toc-mobile summary{cursor:pointer;font-weight:600;font-size:15px}
.kb-toc-mobile ol{margin-top:10px}
.kb-toc-mobile a{display:block;padding:5px 0 5px 12px;font-size:15px;color:var(--ink-2)!important;text-decoration:none}

.kb-summary{background:var(--brand-soft);border:1px solid #bae6fd;border-radius:var(--r);padding:20px 22px;margin-bottom:32px;font-size:17px;color:#0c4a6e!important}
.kb-summary-h{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-ink)!important;margin:0 0 8px}

/* Prose */
.kb-prose{font-size:17.5px;color:var(--ink-2)!important}
.kb-prose h2{font-size:clamp(23px,2.4vw,28px);font-weight:700;margin:48px 0 16px;scroll-margin-top:110px}
.kb-prose h3{font-size:20px;font-weight:650;margin:32px 0 12px;scroll-margin-top:110px}
.kb-prose ul,.kb-prose ol{padding-left:1.4em;margin:0 0 1.2em}
.kb-prose li{margin-bottom:.45em}
.kb-prose img{max-width:100%;height:auto;border-radius:var(--r-sm);border:1px solid var(--line)}
.kb-prose figure{margin:28px 0}
.kb-prose figcaption{font-size:14px;color:var(--muted)!important;text-align:center;margin-top:8px}
.kb-prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15.5px;display:block;overflow-x:auto}
.kb-prose th,.kb-prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.kb-prose th{background:var(--soft-2);font-weight:650;color:var(--ink)!important}
.kb-prose blockquote{margin:24px 0;padding:4px 0 4px 18px;border-left:3px solid var(--brand);color:var(--ink)!important}
.kb-prose code{background:var(--soft-2);padding:2px 6px;border-radius:6px;font-size:.9em}
.kb-prose a:not([class]){text-decoration:underline;text-underline-offset:3px}
.kb-prose strong{color:var(--ink)!important}

/* Callouts */
.kb-callout{border-radius:var(--r-sm);padding:16px 18px;margin:24px 0;border:1px solid}
.kb-callout-h{font-weight:700;font-size:15px;margin-bottom:6px;display:flex;gap:8px;align-items:center}
.kb-callout-b p:last-child{margin-bottom:0}
.kb-tip{background:var(--good-soft);border-color:#bbf7d0}.kb-tip .kb-callout-h{color:#15803d!important}
.kb-mistake{background:var(--bad-soft);border-color:#fecaca}.kb-mistake .kb-callout-h{color:var(--bad)!important}
.kb-example{background:var(--warn-soft);border-color:#fde68a}.kb-example .kb-callout-h{color:var(--warn)!important}

/* Steps */
.kb-steps{list-style:none;padding:0!important;margin:24px 0;counter-reset:none}
.kb-steps li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);margin:0}
.kb-steps li:last-child{border-bottom:0}
.kb-step-n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff!important;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}

/* Checklist */
.kb-checklist{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;margin:32px 0;background:#fff}
.kb-checklist-h{font-weight:700;font-size:17px;margin:0 0 12px;color:var(--ink)!important}
.kb-checklist-h i{color:var(--brand)!important;margin-right:6px}
.kb-checklist ul{list-style:none;padding:0;margin:0}
.kb-checklist li{padding:8px 0;border-top:1px solid var(--soft-2);font-size:16px}
.kb-checklist label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;margin:0;font-weight:400}
.kb-checklist input{width:18px;height:18px;margin-top:5px;accent-color:var(--brand);flex-shrink:0}
.kb-checklist input:checked+span{color:var(--muted)!important;text-decoration:line-through}

/* Tool card */
.kb-block{margin:32px 0}
.kb-block-h{font-weight:700;font-size:17px;margin-bottom:12px}
.kb-tool-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;text-decoration:none!important;color:var(--ink)!important;transition:border-color .2s,box-shadow .2s}
.kb-tool-card:hover{border-color:#bae6fd;box-shadow:var(--shadow)}
.kb-tool-ic{width:48px;height:48px;border-radius:12px;background:#ede9fe;color:var(--accent)!important;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.kb-tool-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.kb-tool-copy strong{font-size:17px}
.kb-tool-copy span:not(.kb-eyebrow){font-size:14px;color:var(--muted)!important;line-height:1.5}
.kb-tool-copy .kb-eyebrow{color:var(--accent)!important;font-size:11px}
.kb-tool-go{color:var(--muted)!important}

/* CTA */
.kb-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border:1px solid var(--line);background:var(--soft);border-radius:var(--r);padding:22px 24px;margin:36px 0}
.kb-cta-wa{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#bbf7d0}
.kb-cta-copy{flex:1 1 320px}
.kb-cta-title{font-size:18px;font-weight:700;color:var(--ink)!important;margin:0 0 4px;line-height:1.45}
.kb-cta-text{font-size:15px;color:var(--muted)!important;margin:0}

/* FAQ */
.kb-faq{margin:40px 0}
.kb-faq h2{font-size:24px;margin:0 0 16px}
.kb-faq details{border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:10px;background:#fff}
.kb-faq summary{cursor:pointer;padding:14px 18px;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.kb-faq summary::-webkit-details-marker{display:none}
.kb-faq summary::after{content:"+";font-size:20px;line-height:1;color:var(--muted)!important}
.kb-faq details[open] summary::after{content:"–"}
.kb-faq-a{padding:0 18px 16px;font-size:16px;color:var(--ink-2)!important}

/* Author */
.kb-author{display:flex;gap:16px;align-items:flex-start;border-top:1px solid var(--line);padding-top:24px;margin-top:40px}
.kb-author-av{width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff!important;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.kb-author strong{display:block;font-size:16px}
.kb-author span{font-size:14px;color:var(--muted)!important}
.kb-author p{font-size:15px;color:var(--ink-2)!important;margin:6px 0 0}

.kb-related{background:var(--soft);padding:56px 0 72px;border-top:1px solid var(--line)}
.kb-pager{margin-top:32px;display:flex;justify-content:center}

/* Sticky mobile CTA */
.kb-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:900;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(15,23,42,.18);border-radius:16px;padding:10px 10px 10px 16px;font-size:14px;font-weight:600;color:var(--ink)!important;transform:translateY(140%);transition:transform .3s}
.kb-sticky.is-on{transform:none}
.kb-sticky span{flex:1;line-height:1.3}
.kb-sticky-x{background:none;border:0;font-size:22px;line-height:1;color:var(--muted)!important;padding:4px 6px;cursor:pointer}
@media(min-width:992px){.kb-sticky{display:none!important}}

@media(max-width:991px){
  .kb-article-grid{grid-template-columns:minmax(0,1fr);gap:0;padding-top:28px}
  .kb-toc-col{display:none}
  .kb-toc-mobile{display:block}
  .kb-journey{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:575px){
  .kb{font-size:16px}
  .kb-wrap{padding:0 16px}
  .kb-hero{padding:110px 0 36px}
  .kb-section{padding:44px 0}
  .kb-prose{font-size:16.5px}
  .kb-journey{grid-template-columns:1fr}
  .kb-cta{padding:18px}
  .kb-cta .kb-btn{width:100%}
  .kb-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.kb *{transition:none!important;scroll-behavior:auto!important}}

/* ── Guards against the site's global dark-theme rules (combined.min.css):
      section{background:var(--bg)!important}  p,li,span,label{color:var(--muted)!important}  a{color:var(--text)!important} ── */
.kb section{background:transparent!important}
.kb .kb-section-alt,.kb .kb-related{background:var(--soft)!important}
.kb-prose p:not([class]),.kb-prose li,.kb-faq-a p,.kb-callout-b p,.kb-summary p,.kb-author p{font-size:inherit;line-height:inherit;font-weight:inherit}
.kb p[class]{line-height:1.55}
.kb-prose p:not([class]),.kb-prose li,.kb-prose span:not([class]),.kb-prose td,.kb-callout-b p,.kb-faq-a,.kb-faq-a p,.kb-faq-a li{color:var(--ink-2)!important}
.kb-summary div,.kb-summary p{color:#0c4a6e!important}
.kb-hero p,.kb-hero span:not(.kb-eyebrow),.kb-meta span{color:#94a3b8!important}
.kb-hero .kb-lead{color:#94a3b8!important}
.kb-steps li div,.kb-steps li{color:var(--ink-2)!important}
.kb-step-n{color:#fff!important}
.kb-checklist label,.kb-checklist label span{color:var(--ink-2)!important}
.kb-checklist input:checked+span{color:var(--muted)!important}
.kb-journey p{color:var(--muted)!important}
.kb-author p{color:var(--ink-2)!important}
.kb-empty p{color:var(--muted)!important}
.kb-sticky span{color:var(--ink)!important}
.kb-btn span,.kb-btn i{color:inherit!important}
.kb-toc li,.kb-toc-mobile li{color:var(--muted)!important}
.kb-toc-mobile summary{color:var(--ink)!important}
.kb-faq summary{color:var(--ink)!important}
