/* ================================================================
   EverExpanse — Modern CSS Enhancements  (ee-modern.css)
   Layered over Bootstrap + custome.min.css + everexpanse-v2.css
   Do not edit the base files; override here.
   ================================================================ */

/* ── Tokens ───────────────────────────────────────────────────── */
:root {
  --ee2-accent:  #2B7FF0;
  --ee2-cyan:    #00C9E4;
  --ee2-blue:    #0B2559;
  --ee2-border:  #E2E8F2;
  --ee2-surf:    #F4F7FF;
  --ee2-text:    #374151;
  --ee2-grad:    linear-gradient(135deg, #2B7FF0 0%, #00C9E4 100%);
  --ee2-sh-md:   0 6px 24px rgba(11,37,89,.11);
  --ee2-sh-lg:   0 14px 44px rgba(11,37,89,.16);
  --ee2-t:       .22s;
  --ee2-ease:    cubic-bezier(.4,0,.2,1);
}

/* ── Base typography ─────────────────────────────────────────── */
body {
  font-family: 'Inter', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,
.hero-title,.title,.medium-title,.ft-18-title,.ft-22-title,.card-t {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  text-wrap: balance;
  letter-spacing: -.025em;
}

/* ── Navigation ──────────────────────────────────────────────── */
.header {
  box-shadow: 0 1px 0 var(--ee2-border), 0 2px 10px rgba(11,37,89,.07) !important;
}
/* Nav links — animated underline */
.navbar-light .navbar-nav .nav-link {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 13.5px;
  color: var(--ee2-text);
  border-radius: 7px;
  padding: 8px 13px;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 8px;
  text-decoration-thickness: 2px;
  transition: color var(--ee2-t) var(--ee2-ease),
              background var(--ee2-t) var(--ee2-ease),
              text-decoration-color var(--ee2-t) var(--ee2-ease);
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.show {
  color: var(--ee2-accent);
  background: rgba(43,127,240,.05);
  text-decoration-color: var(--ee2-accent);
}
/* Dropdown panel */
.dropdown-menu {
  border: 1px solid var(--ee2-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 56px rgba(11,37,89,.18) !important;
  padding: 6px !important;
  margin-top: 6px !important;
  animation: ee2-dd .16s var(--ee2-ease) both;
}
@keyframes ee2-dd {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}
.dropdown-item {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--ee2-text);
  border-radius: 8px;
  padding: 9px 14px;
  transition: all var(--ee2-t) var(--ee2-ease);
}
.dropdown-item:hover {
  background: var(--ee2-surf) !important;
  color: var(--ee2-accent) !important;
}

/* ── Buttons — pill shape + lift ─────────────────────────────── */
.btn.theme-btn, .btn.white-btn {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 700;
  font-size: 14px;
  border-radius: 9999px;
  padding: 11px 24px;
  letter-spacing: .01em;
  transition: transform var(--ee2-t) var(--ee2-ease),
              box-shadow var(--ee2-t) var(--ee2-ease),
              background var(--ee2-t) var(--ee2-ease),
              color var(--ee2-t) var(--ee2-ease);
}
.btn.theme-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(5,80,159,.32); }
.btn.white-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(255,255,255,.15); }

/* ── Hero sections ───────────────────────────────────────────── */
.hero-title {
  font-size: clamp(26px, 3.6vw, 52px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
}
/* Richer overlay gradient */
.hero-sec::before {
  background: linear-gradient(
    270deg,
    transparent 5%,
    rgba(4,12,36,.54) 44%,
    rgba(4,12,36,.9) 78%
  ) !important;
}
/* Pill indicators for inner-page carousels */
.carousel-indicators [data-bs-target] {
  width: 8px; height: 8px;
  border-radius: 50%; border: none;
  background: rgba(255,255,255,.38);
  transition: all .3s var(--ee2-ease);
  margin: 0 4px;
}
.carousel-indicators .active { width: 26px; border-radius: 4px; background: #fff; }

/* ── Hero Spotlight ───────────────────────────────────────────── */
.hero-spotlight {
  background: linear-gradient(145deg, #060d1f 0%, #091b40 45%, #0c2258 100%);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.hsp-glow { position: absolute; border-radius: 50%; pointer-events: none; }
.hsp-glow-1 {
  width: 700px; height: 700px; top: -220px; right: -180px;
  background: radial-gradient(circle, rgba(43,127,240,.11) 0%, transparent 65%);
}
.hsp-glow-2 {
  width: 480px; height: 480px; bottom: -60px; left: 8%;
  background: radial-gradient(circle, rgba(0,201,228,.07) 0%, transparent 65%);
}
.hsp-inner {
  display: flex;
  align-items: center;
  flex: 1;
  gap: 60px;
  padding: 70px 0 80px;
}

/* Content (left) */
.hsp-content {
  flex: 1;
  min-width: 0;
  transition: opacity .2s ease, transform .2s ease;
}
.hsp-content.hsp-exit { opacity: 0; transform: translateY(-10px); pointer-events: none; }

.hsp-chip {
  display: inline-flex;
  align-items: center;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: .09em; text-transform: uppercase;
  border-radius: 20px; padding: 4px 14px; margin-bottom: 20px;
}
.hsp-chip-blue   { color: #93c5fd; background: rgba(43,127,240,.18);  border: 1px solid rgba(43,127,240,.3);  }
.hsp-chip-cyan   { color: #67e8f9; background: rgba(0,201,228,.18);   border: 1px solid rgba(0,201,228,.3);   }
.hsp-chip-orange { color: #fbbf24; background: rgba(251,146,60,.18);  border: 1px solid rgba(251,146,60,.3);  }
.hsp-chip-purple { color: #c4b5fd; background: rgba(168,85,247,.18);  border: 1px solid rgba(168,85,247,.3);  }
.hsp-chip-green  { color: #86efac; background: rgba(34,197,94,.18);   border: 1px solid rgba(34,197,94,.3);   }
.hsp-chip-indigo { color: #a5b4fc; background: rgba(99,102,241,.18);  border: 1px solid rgba(99,102,241,.3);  }
.hsp-chip-pink   { color: #f9a8d4; background: rgba(236,72,153,.18);  border: 1px solid rgba(236,72,153,.3);  }

.hsp-title-text {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(24px, 3.4vw, 44px);
  font-weight: 800; line-height: 1.13;
  letter-spacing: -.028em; color: #fff;
  margin-bottom: 18px; max-width: 560px;
}
.hsp-title-hl {
  background: linear-gradient(90deg, #2B7FF0 0%, #00C9E4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hsp-desc {
  font-size: 16px; line-height: 1.65;
  color: rgba(255,255,255,.52);
  margin-bottom: 0; max-width: 500px;
}
.hsp-cta {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px; font-weight: 600; color: #fff;
  background: rgba(43,127,240,.82);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50px; padding: 12px 26px; margin-top: 30px;
  text-decoration: none;
  transition: background .22s ease, transform .22s ease, box-shadow .22s ease;
}
.hsp-cta:hover {
  color: #fff; background: var(--ee2-accent, #2B7FF0);
  transform: translateY(-2px); box-shadow: 0 8px 28px rgba(43,127,240,.38);
}

/* Nav list (right) */
.hsp-nav { width: 340px; flex-shrink: 0; }
.hsp-nav-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px; font-weight: 700;
  letter-spacing: .12em; color: rgba(255,255,255,.26);
  text-transform: uppercase; margin-bottom: 10px;
}
.hsp-nav-list { display: flex; flex-direction: column; gap: 3px; }

.hsp-nav-item {
  display: flex; align-items: center; gap: 12px;
  background: transparent; border: none; border-radius: 10px;
  padding: 11px 14px; cursor: pointer; text-align: left;
  width: 100%; transition: background .2s ease;
  position: relative; overflow: hidden;
}
.hsp-nav-item.active          { background: rgba(255,255,255,.07); }
.hsp-nav-item:hover:not(.active) { background: rgba(255,255,255,.03); }

.hsp-nav-icon {
  width: 34px; height: 34px; border-radius: 8px;
  background: rgba(255,255,255,.07);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.48); flex-shrink: 0;
  transition: background .2s, color .2s;
}
.hsp-nav-item.active .hsp-nav-icon { background: rgba(43,127,240,.25); color: #93c5fd; }

.hsp-nav-name {
  display: block; font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px; font-weight: 600;
  color: rgba(255,255,255,.48); line-height: 1.2; transition: color .2s;
}
.hsp-nav-item.active .hsp-nav-name { color: #fff; }
.hsp-nav-cat {
  display: block; font-size: 11px;
  color: rgba(255,255,255,.24); margin-top: 2px;
}

.hsp-nav-bar {
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 2px; background: rgba(255,255,255,.04); overflow: hidden;
}
.hsp-nav-bar-fill {
  height: 100%; width: 0;
  background: linear-gradient(90deg, #2B7FF0, #00c9e4);
}
.hsp-nav-item.active .hsp-nav-bar-fill {
  animation: hsp-fill 4500ms linear forwards;
}
@keyframes hsp-fill { from { width: 0; } to { width: 100%; } }

/* Trust bar */
.hsp-trust { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.06); background: rgba(0,0,0,.18); flex-shrink: 0; }
.hsp-trust-inner {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; flex-wrap: wrap;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11.5px; font-weight: 600;
  color: rgba(255,255,255,.32); letter-spacing: .04em;
}
.hsp-trust-dot { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.16); display: inline-block; }

/* Slide animations */
@keyframes ee2-up {
  from { opacity: 0; transform: translateY(26px); }
  to   { opacity: 1; transform: translateY(0); }
}
.carousel-item.active .title-line  { animation: ee2-up .5s var(--ee2-ease) .08s both; }
.carousel-item.active .hero-title  { animation: ee2-up .6s var(--ee2-ease) .22s both; }
.carousel-item.active .d-flex.mt-3 { animation: ee2-up .6s var(--ee2-ease) .38s both; }

/* Responsive */
@media (max-width: 991px) {
  .hsp-inner { flex-direction: column; padding: 40px 0 60px; gap: 36px; align-items: stretch; }
  .hsp-nav { width: 100%; }
  .hsp-nav-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .hsp-title-text { max-width: none; }
  .hsp-desc       { max-width: none; }
}
@media (max-width: 575px) {
  .hsp-nav-list { grid-template-columns: 1fr; }
  .hsp-inner    { padding: 32px 0 48px; }
}

/* Inner-page hero: breadcrumb + title fade in */
.inner-hero-sec .hero-title,
.inner-hero-sec .title-line,
.inner-hero-sec nav[aria-label="breadcrumb"] {
  animation: ee2-up .55s var(--ee2-ease) .1s both;
}

/* ── Section titles ──────────────────────────────────────────── */
.title        { font-size: clamp(20px,2.6vw,34px);  font-weight: 800; line-height: 1.16; letter-spacing: -.03em; }
.medium-title { font-size: clamp(18px,2.4vw,28px);  font-weight: 700; letter-spacing: -.02em; }
.ft-18-title  { font-size: 17px; font-weight: 700;  letter-spacing: -.02em; }
.ft-22-title  { font-size: clamp(18px,2vw,22px); font-weight: 700; letter-spacing: -.02em; }

/* ── Cards — image zoom + depth ─────────────────────────────── */
.img-card-box { overflow: hidden; }
.product-img-div { transition: transform .5s var(--ee2-ease); }
.img-card-box:hover .product-img-div { transform: scale(1.05); }

.theme-color-border { display: none !important; }

/* ── Product section enhancements ─────────────────────────── */
.products-lead {
  color: rgba(255,255,255,.62);
  font-size: 15px;
  line-height: 1.75;
  margin-top: .5rem;
}
.prod-card {
  border: 1px solid rgba(255,255,255,.07) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.03);
  transition: transform var(--ee2-t) var(--ee2-ease),
              box-shadow var(--ee2-t) var(--ee2-ease),
              border-color var(--ee2-t) var(--ee2-ease) !important;
}
.prod-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 52px rgba(0,0,0,.38) !important;
  border-color: rgba(43,127,240,.35) !important;
}
.prod-img-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 12px 12px 0 0;
}
.prod-badge {
  position: absolute;
  top: 12px; left: 12px;
  background: rgba(0,0,0,.52);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  padding: 4px 12px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.2);
  text-transform: uppercase;
}
.prod-card .img-card-box-content { height: auto; min-height: 190px; }
.prod-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: .7rem; }
.prod-tag {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--ee2-cyan);
  background: rgba(0,201,228,.1);
  border: 1px solid rgba(0,201,228,.22);
  padding: 3px 10px;
  border-radius: 20px;
  letter-spacing: .02em;
}
.prod-cta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ee2-accent);
  text-decoration: none;
  transition: gap var(--ee2-t) var(--ee2-ease), color var(--ee2-t);
}
.prod-cta:hover { gap: 12px; color: var(--ee2-cyan); text-decoration: none; }
.prod-cta svg { flex-shrink: 0; }
.prod-card .ft-18-title { color: #fff; }
.prod-card .img-card-box-content p { color: rgba(255,255,255,.68); }

/* ── Strategic Services enhancements ────────────────────────── */
.svc-lead {
  font-size: 15px;
  color: var(--ee2-text);
  opacity: .72;
  line-height: 1.75;
  margin: .5rem 0 0;
}
.svc-lead.mx-auto { max-width: 640px; }
.svc-card {
  border-radius: 14px !important;
  border-top: 3px solid var(--ee2-border) !important;
  transition: transform var(--ee2-t) var(--ee2-ease),
              box-shadow var(--ee2-t) var(--ee2-ease),
              border-top-color var(--ee2-t) !important;
}
.svc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 44px rgba(11,37,89,.14) !important;
  border-top-color: rgba(43,127,240,.5) !important;
}
.white-rounded-box.svc-card:hover { border-top-color: rgba(255,255,255,.4) !important; }
.svc-highlights {
  list-style: none;
  padding: 0;
  margin: .85rem 0 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.svc-highlights li {
  font-size: 12.5px;
  color: var(--ee2-text);
  display: flex;
  align-items: center;
  gap: 7px;
  opacity: .8;
}
.svc-highlights li::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ee2-accent);
  flex-shrink: 0;
}
.white-rounded-box:hover .svc-highlights li { color: rgba(255,255,255,.85); opacity: 1; }
.white-rounded-box:hover .svc-highlights li::before { background: rgba(255,255,255,.7); }

/* ── Service card icon swap transition ──────────────────────── */
.white-rounded-box .reg-icon,
.white-rounded-box .hover-icon { transition: opacity .25s ease; }
.white-rounded-box .hover-icon { opacity: 0; position: absolute; }
.white-rounded-box .reg-icon  { opacity: 1; }
.white-rounded-box:hover .reg-icon  { opacity: 0; }
.white-rounded-box:hover .hover-icon { opacity: 1; }
.card-icon-div { position: relative; }

/* ── Current Openings enhancements ──────────────────────────── */
.jobs-lead {
  font-size: 15px;
  color: var(--ee2-text);
  opacity: .7;
  line-height: 1.75;
  max-width: 580px;
  margin: .4rem 0 0;
}
.job-card {
  border: 1px solid var(--ee2-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  position: relative;
  overflow: hidden;
  transition: transform var(--ee2-t) var(--ee2-ease),
              box-shadow var(--ee2-t) var(--ee2-ease),
              border-color var(--ee2-t) !important;
}
.job-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--ee2-grad);
}
.job-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 36px rgba(11,37,89,.1) !important;
  border-color: rgba(43,127,240,.3) !important;
}
.job-dept-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: .6rem;
  text-transform: uppercase;
}
.job-dept-engineering { background: rgba(43,127,240,.1); color: #2B7FF0; border: 1px solid rgba(43,127,240,.2); }
.job-dept-marketing   { background: rgba(0,180,130,.1);  color: #00A876; border: 1px solid rgba(0,180,130,.2); }
.job-dept-sales       { background: rgba(245,158,11,.1); color: #D97706; border: 1px solid rgba(245,158,11,.2); }
.job-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: .45rem; }
.job-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  color: #6B7280;
}
.job-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ee2-accent);
  text-decoration: none;
  margin-top: .85rem;
  transition: gap var(--ee2-t) var(--ee2-ease);
}
.job-apply-btn:hover { gap: 10px; color: var(--ee2-accent); text-decoration: none; }

/* ── Service icon scale on card hover ───────────────────────── */
.service-icon-div {
  transition: transform var(--ee2-t) var(--ee2-ease),
              box-shadow var(--ee2-t) var(--ee2-ease);
}
.white-rounded-box:hover .service-icon-div.theme-bg {
  transform: scale(1.1) !important;
  box-shadow: 0 10px 28px rgba(5,80,159,.28) !important;
}

/* ── Stat counters — subtle pop ─────────────────────────────── */
.count-number,
.count-txt {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  letter-spacing: -.03em;
}

/* ── Tab / filter pills ──────────────────────────────────────── */
.nav-pills .nav-link {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  border-radius: 9999px;
  transition: background var(--ee2-t) var(--ee2-ease),
              color var(--ee2-t) var(--ee2-ease),
              box-shadow var(--ee2-t) var(--ee2-ease);
}
.nav-pills .nav-link.active {
  box-shadow: 0 4px 14px rgba(5,80,159,.28);
}

/* ── Accordion ───────────────────────────────────────────────── */
.accordion-button {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
}
.accordion-button:not(.collapsed) {
  color: var(--ee2-accent);
}

/* ── Client carousel — fade edges ───────────────────────────── */
.owl-slider {
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
}

/* ── Breadcrumb ──────────────────────────────────────────────── */
.breadcrumb-item,
.breadcrumb-item a {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
}

/* ── Scroll reveal (JS applies these classes) ───────────────── */
.ee2-reveal {
  opacity: 0;
  transform: translateY(18px);
  filter: blur(2px);
  transition: opacity .6s var(--ee2-ease),
              transform .6s var(--ee2-ease),
              filter .6s var(--ee2-ease);
}
.ee2-reveal.ee2-in { opacity: 1; transform: translateY(0); filter: blur(0); }
.ee2-d1 { transition-delay: .1s; }
.ee2-d2 { transition-delay: .2s; }
.ee2-d3 { transition-delay: .3s; }

/* ── Enterprise Platform Suite Card ─────────────────────────── */
.eps-card {
  background: linear-gradient(145deg, #0d1e3f 0%, #0b2559 60%, #0e2d6e 100%);
  border-radius: 20px;
  padding: 28px;
  box-shadow: 0 24px 64px rgba(5,37,89,.38), 0 0 0 1px rgba(255,255,255,.06);
  position: relative;
  overflow: hidden;
}
.eps-card::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 220px; height: 220px;
  background: radial-gradient(circle, rgba(43,127,240,.22) 0%, transparent 70%);
  pointer-events: none;
}
.eps-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.eps-header-left { display: flex; align-items: center; gap: 12px; }
.eps-icon-wrap {
  width: 40px; height: 40px;
  background: rgba(43,127,240,.28);
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.eps-suite-name { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 15px; font-weight: 700; color: #fff; letter-spacing: -.01em; }
.eps-badge { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 700; border-radius: 6px; padding: 3px 9px; letter-spacing: .04em; white-space: nowrap; }
.eps-badge-green  { background: rgba(34,197,94,.18);  color: #4ade80; }
.eps-badge-blue   { background: rgba(59,130,246,.2);  color: #93c5fd; }
.eps-badge-cyan   { background: rgba(0,201,228,.16);  color: #67e8f9; }
.eps-badge-orange { background: rgba(251,146,60,.18); color: #fbbf24; }
.eps-badge-purple { background: rgba(168,85,247,.18); color: #c4b5fd; }
.eps-rows { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
.eps-row {
  display: flex; align-items: center; gap: 12px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 11px;
  padding: 11px 14px;
  transition: background .2s ease;
}
.eps-row:hover { background: rgba(255,255,255,.09); }
.eps-row-icon { width: 32px; height: 32px; background: rgba(255,255,255,.07); border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.eps-row-text { flex: 1; min-width: 0; }
.eps-row-title { display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 13px; font-weight: 600; color: #fff; letter-spacing: -.01em; }
.eps-row-sub { display: block; font-size: 11.5px; color: rgba(255,255,255,.45); margin-top: 1px; }
.eps-footer { background: rgba(255,255,255,.96); border-radius: 12px; padding: 14px 16px 12px; margin-top: 18px; }
.eps-trusted-label { font-size: 9.5px; letter-spacing: .1em; color: rgba(255,255,255,.45); font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; margin-bottom: 10px; text-transform: uppercase; }
.eps-logos { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.eps-logo { height: 18px; width: auto; max-width: 68px; object-fit: contain; }
.eps-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.eps-pill { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 11px; font-weight: 600; color: rgba(255,255,255,.65); background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.15); border-radius: 20px; padding: 3px 11px; letter-spacing: .03em; }

/* ── Clients & Partners section ─────────────────────────────── */
.cp-label {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ee2-accent);
  margin-bottom: .35rem;
}
.cp-title {
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 800;
  color: var(--ee2-blue);
  line-height: 1.2;
  letter-spacing: -.03em;
  margin-bottom: .4rem;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.cp-count {
  font-size: 12.5px;
  color: #6B7280;
  margin: 0;
}

/* ── Footer redesign ────────────────────────────────────────── */
.ee-footer {
  background: #F4F7FF;
  border-top: 1px solid var(--ee2-border);
  padding: 36px 0 0;
  margin-top: 90px;
  position: relative;
}
.ee-footer .row { align-items: flex-start; }
.ee-footer-offices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 1.4rem;
}
.ee-footer-office { display: flex; align-items: flex-start; gap: 8px; }
.ee-office-pin {
  color: var(--ee2-accent);
  flex-shrink: 0;
  margin-top: 2px;
  display: flex;
}
.ee-office-name {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--ee2-blue);
  margin-bottom: 3px;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ee-office-addr {
  display: block;
  font-size: 11px;
  color: #9CA3AF;
  line-height: 1.55;
}
.ee-footer-social { display: flex; gap: 8px; }
.ee-footer-social a {
  width: 36px; height: 36px;
  border-radius: 9px;
  border: 1px solid var(--ee2-border);
  background: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  color: #6B7280;
  text-decoration: none;
  transition: background var(--ee2-t), color var(--ee2-t), border-color var(--ee2-t);
}
.ee-footer-social a:hover {
  background: var(--ee2-accent);
  border-color: var(--ee2-accent);
  color: #fff;
}
.ee-footer-heading {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ee2-blue);
  margin-bottom: 1rem;
  padding-bottom: .55rem;
  border-bottom: 1px solid var(--ee2-border);
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ee-footer-nav { list-style: none; padding: 0; margin: 0; }
.ee-footer-nav li { margin-bottom: .45rem; }
.ee-footer-nav a {
  font-size: 13.5px;
  color: #6B7280;
  text-decoration: none;
  display: inline-block;
  transition: color var(--ee2-t), padding-left var(--ee2-t);
}
.ee-footer-nav a:hover { color: var(--ee2-accent); padding-left: 4px; }
.ee-footer-bar {
  margin-top: 24px;
  padding: 12px 0;
  border-top: 1px solid var(--ee2-border);
  background: #E8EDF5;
}
.ee-footer-bar p { font-size: 12.5px; color: #6B7280; margin: 0; }
.ee-footer-bar a { color: #6B7280; transition: color var(--ee2-t); }
.ee-footer-bar a:hover { color: var(--ee2-accent); }
.ee-footer-dot-divider { margin: 0 .5rem; opacity: .5; }

/* ── Reduced motion ─────────────────────────────────────────── */
@media (max-width: 991px) {
  .eps-card { margin-bottom: 36px; }
  .ee-footer-offices { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 575px) {
  .products-lead { font-size: 13px; }
  .ee-footer-offices { grid-template-columns: 1fr; }
  .ee-footer-social { justify-content: flex-start; }
  .hsp-chip { font-size: 9px; }
}
/* ── EMV product page — CTA section ─────────────────────────── */
.emv-cta-section {
  background: linear-gradient(145deg, #060d1f 0%, #091b40 50%, #0c2258 100%);
  padding: 72px 0;
  position: relative;
  overflow: hidden;
}
.emv-cta-section::before {
  content: '';
  position: absolute;
  top: -80px; right: -80px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(43,127,240,.14) 0%, transparent 70%);
  pointer-events: none;
}
.emv-cta-section::after {
  content: '';
  position: absolute;
  bottom: -60px; left: 5%;
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(0,201,228,.07) 0%, transparent 70%);
  pointer-events: none;
}
.emv-cta-section .container { position: relative; z-index: 1; }
@media (max-width: 991px) {
  .emv-cta-section { padding: 52px 0; }
  .emv-cta-section .text-lg-end { text-align: left !important; }
}

/* ── Modern checklist ────────────────────────────────────────── */
.ee-check-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ee-check-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  color: var(--ee2-text);
  line-height: 1.55;
}
.ee-check-list li::before {
  content: '';
  flex-shrink: 0;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(116,182,32,.15);
  border: 1.5px solid rgba(116,182,32,.4);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8 15L3 10l1.41-1.41L8 12.17l7.59-7.59L17 6 8 15z' fill='%2374B620'/%3E%3C/svg%3E");
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 1px;
}

/* Hero breadcrumb — white text on dark banner images */
.ee2-breadcrumb {
  --bs-breadcrumb-divider-color: rgba(255,255,255,.45);
  --bs-breadcrumb-item-active-color: rgba(255,255,255,.55);
  margin-bottom: 12px;
  padding: 0;
  background: none;
  font-size: 12px;
  letter-spacing: .04em;
  color: rgba(255,255,255,.55);
}
.ee2-breadcrumb a { color: rgba(255,255,255,.78); text-decoration: none; }
.ee2-breadcrumb a:hover { color: #fff; }
.ee2-breadcrumb span { color: rgba(255,255,255,.55); }
.ee2-breadcrumb .breadcrumb-item { font-size: 12px; letter-spacing: .04em; }
.ee2-breadcrumb .breadcrumb-item a { color: rgba(255,255,255,.78); text-decoration: none; }
.ee2-breadcrumb .breadcrumb-item a:hover { color: #fff; }
.ee2-breadcrumb .breadcrumb-item.active { color: rgba(255,255,255,.55); }
.ee2-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.4); }

/* ee-check-list on dark / white-text sections */
.dark-bg .ee-check-list li,
.white-text .ee-check-list li { color: rgba(255,255,255,.82); }

/* white cards inside dark sections: restore dark text for check-list items */
.dark-bg .white-rounded-box .ee-check-list li,
.white-text .white-rounded-box .ee-check-list li { color: var(--ee2-text); }

/* ── Spec table: aligned two-column label / description rows ─────── */
.ee-spec-list {
  margin: .75rem 0 0;
  padding: 0;
  list-style: none;
}
.ee-spec-list > div {
  display: grid;
  grid-template-columns: 186px 1fr;
  column-gap: 20px;
  padding: 10px 0;
  border-bottom: 1px solid var(--ee2-border);
  align-items: baseline;
}
.ee-spec-list > div:first-child { padding-top: 0; }
.ee-spec-list > div:last-child  { border-bottom: none; padding-bottom: 0; }
.ee-spec-list dt {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--ee2-blue);
  line-height: 1.45;
  display: flex;
  align-items: flex-start;
  gap: 7px;
}
.ee-spec-list dt::before {
  content: '';
  flex-shrink: 0;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--ee2-accent);
  margin-top: 4px;
}
.ee-spec-list dd {
  margin: 0;
  font-size: 13.5px;
  color: var(--ee2-text);
  line-height: 1.6;
  opacity: .82;
}
@media (max-width: 480px) {
  .ee-spec-list > div {
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 12px 0;
  }
  .ee-spec-list dt::before { margin-top: 5px; }
}

/* ee-check-list inside hovered white cards (blue hover state) */
.white-rounded-box:hover .ee-check-list li { color: rgba(255,255,255,.85); }
.white-rounded-box:hover .ee-check-list li::before {
  background-color: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.4);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8 15L3 10l1.41-1.41L8 12.17l7.59-7.59L17 6 8 15z' fill='%23fff'/%3E%3C/svg%3E");
}

/* White cards placed inside dark/white-text sections: reset heading color */
.dark-bg .white-rounded-box .title,
.dark-bg .white-rounded-box .ft-18-title,
.dark-bg .white-rounded-box .ft-22-title,
.dark-bg .white-rounded-box .card-t,
.white-text .white-rounded-box .title,
.white-text .white-rounded-box .ft-18-title,
.white-text .white-rounded-box .ft-22-title,
.white-text .white-rounded-box .card-t { color: var(--ee2-blue) !important; }

.dark-bg .white-rounded-box p,
.white-text .white-rounded-box p { color: var(--ee2-text) !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }

}

/* ── Blog Page ───────────────────────────────────────────────────────── */
.ee-blog-filter {
  background: #fff;
  border-bottom: 1px solid var(--ee2-border);
  padding: 0;
}
.ee-blog-cats {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow-x: auto;
  padding: 14px 0;
  scrollbar-width: none;
}
.ee-blog-cats::-webkit-scrollbar { display: none; }
.ee-blog-cat {
  display: inline-flex;
  align-items: center;
  padding: 7px 18px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Plus Jakarta Sans', sans-serif;
  white-space: nowrap;
  color: var(--ee2-text);
  background: var(--ee2-surf);
  border: 1.5px solid var(--ee2-border);
  text-decoration: none;
  transition: background .18s, border-color .18s, color .18s;
}
.ee-blog-cat:hover { background: #e8eef8; border-color: var(--ee2-accent); color: var(--ee2-accent); }
.ee-blog-cat.active { background: var(--ee2-accent); border-color: var(--ee2-accent); color: #fff; }

/* Category badges */
.ee-blog-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 100px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.ee-blog-badge--talent  { background: rgba(43,127,240,.10);  color: var(--ee2-accent); }
.ee-blog-badge--db      { background: rgba(124,58,237,.10);  color: #6D28D9; }
.ee-blog-badge--emv     { background: rgba(0,153,176,.12);   color: #0099B0; }
.ee-blog-badge--payment { background: rgba(245,158,11,.12);  color: #B45309; }
.ee-blog-badge--booking { background: rgba(16,185,129,.12);  color: #047857; }
.ee-blog-badge--swifi   { background: rgba(239,68,68,.10);   color: #DC2626; }
.ee-blog-badge--appdev  { background: rgba(16,185,129,.12);  color: #047857; }
.ee-blog-badge--support { background: rgba(245,158,11,.12);  color: #B45309; }

/* Featured article */
.ee-blog-featured {
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--ee2-border);
  border-top: 5px solid var(--ee2-accent);
  padding: 36px 40px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 24px rgba(11,37,89,.06);
  transition: box-shadow .25s, transform .25s;
  display: block;
}
.ee-blog-featured:hover {
  box-shadow: 0 10px 48px rgba(11,37,89,.12);
  transform: translateY(-3px);
  color: inherit;
  text-decoration: none;
}
/* Per-category top accent */
.ee-blog-featured:has(.ee-blog-badge--talent) { border-top-color: #2B7FF0; }
.ee-blog-featured:has(.ee-blog-badge--db)     { border-top-color: #6D28D9; }
.ee-blog-featured:has(.ee-blog-badge--emv)    { border-top-color: #0099B0; }
.ee-blog-featured:has(.ee-blog-badge--payment){ border-top-color: #D97706; }
.ee-blog-featured:has(.ee-blog-badge--booking){ border-top-color: #047857; }
.ee-blog-featured:has(.ee-blog-badge--swifi)  { border-top-color: #DC2626; }
.ee-blog-featured:has(.ee-blog-badge--appdev) { border-top-color: #2563EB; }
.ee-blog-featured:has(.ee-blog-badge--support){ border-top-color: #B45309; }
.ee-blog-featured-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ee-blog-featured-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.36;
  color: var(--ee2-blue);
  margin: 0;
}
.ee-blog-featured-excerpt {
  font-size: 15px;
  color: var(--ee2-text);
  opacity: .76;
  line-height: 1.72;
  margin: 0;
  max-width: 760px;
}
.ee-blog-featured-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 8px;
}
.ee-blog-date {
  font-size: 12px;
  color: var(--ee2-text);
  opacity: .5;
  font-weight: 500;
}
.ee-blog-read {
  font-size: 13px;
  font-weight: 700;
  color: var(--ee2-accent);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}
.ee-blog-featured:hover .ee-blog-read { text-decoration: underline; text-underline-offset: 3px; }

/* Topic section header */
.ee-blog-section-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 2px solid var(--ee2-border);
  margin-bottom: 28px;
}
.ee-blog-section-hd h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: var(--ee2-blue);
  margin: 0;
  letter-spacing: -.01em;
}
.ee-blog-section-hd a {
  font-size: 13px;
  font-weight: 600;
  color: var(--ee2-accent);
  text-decoration: none;
  white-space: nowrap;
}
.ee-blog-section-hd a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Post card */
.ee-post-card {
  background: #fff;
  border-radius: 14px;
  border: 1px solid var(--ee2-border);
  border-top: 4px solid var(--ee2-accent);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
  transition: box-shadow .22s, transform .22s;
}
.ee-post-card:hover {
  box-shadow: 0 8px 36px rgba(11,37,89,.10);
  transform: translateY(-4px);
  color: inherit;
  text-decoration: none;
}
/* Per-category top accent */
.ee-post-card:has(.ee-blog-badge--talent) { border-top-color: #2B7FF0; }
.ee-post-card:has(.ee-blog-badge--db)     { border-top-color: #6D28D9; }
.ee-post-card:has(.ee-blog-badge--emv)    { border-top-color: #0099B0; }
.ee-post-card:has(.ee-blog-badge--payment){ border-top-color: #D97706; }
.ee-post-card:has(.ee-blog-badge--booking){ border-top-color: #047857; }
.ee-post-card:has(.ee-blog-badge--swifi)  { border-top-color: #DC2626; }
.ee-post-card:has(.ee-blog-badge--appdev) { border-top-color: #2563EB; }
.ee-post-card:has(.ee-blog-badge--support){ border-top-color: #B45309; }
.ee-post-card-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 10px;
}
.ee-post-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px;
}
.ee-post-card-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: var(--ee2-blue);
  line-height: 1.48;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ee-post-card:hover .ee-post-card-title { color: var(--ee2-accent); }
.ee-post-card-excerpt {
  font-size: 13.5px;
  color: var(--ee2-text);
  opacity: .72;
  line-height: 1.65;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ee-post-card-foot {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--ee2-border);
}

/* Responsive */
@media (max-width: 768px) {
  .ee-blog-featured { padding: 26px 22px; }
  .ee-blog-featured-title { font-size: 20px; }
}

/* ── Blog Article Page ───────────────────────────────────────────── */

/* Article header band */
.ee-article-header {
  background: #fff;
  border-bottom: 1px solid var(--ee2-border);
  padding: 48px 0 44px;
}
.ee-article-badge-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.ee-article-title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -.028em;
  color: var(--ee2-blue);
  margin: 0 0 16px;
  max-width: 760px;
}
.ee-article-lead {
  font-size: 17px;
  line-height: 1.7;
  color: var(--ee2-text);
  opacity: .82;
  max-width: 720px;
  margin: 0 0 24px;
}
.ee-article-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: 1px solid var(--ee2-border);
}
.ee-article-meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ee2-text);
  opacity: .6;
  font-family: 'Plus Jakarta Sans', sans-serif;
}
.ee-article-meta-item svg { opacity: .7; flex-shrink: 0; }
.ee-article-meta-divider { width: 3px; height: 3px; border-radius: 50%; background: var(--ee2-border); }
.ee-article-share {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ee-article-share a {
  width: 32px; height: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--ee2-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ee2-text);
  opacity: .55;
  text-decoration: none;
  transition: opacity .18s, border-color .18s, color .18s;
}
.ee-article-share a:hover { opacity: 1; border-color: var(--ee2-accent); color: var(--ee2-accent); }

/* Two-col layout */
.ee-article-layout {
  padding: 56px 0 80px;
  background: #fff;
}

/* Article body typography */
.ee-article-body {
  font-size: 16px;
  line-height: 1.78;
  color: var(--ee2-text);
}
.ee-article-body h2 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 21px;
  font-weight: 800;
  color: var(--ee2-blue);
  margin: 40px 0 14px;
  letter-spacing: -.02em;
  padding-top: 8px;
  scroll-margin-top: 80px;
}
.ee-article-body h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ee2-blue);
  margin: 28px 0 10px;
  scroll-margin-top: 80px;
}
.ee-article-body p {
  margin: 0 0 18px;
}
.ee-article-body a {
  color: var(--ee2-accent);
  text-decoration: underline;
  text-decoration-color: rgba(43,127,240,.35);
  text-underline-offset: 3px;
  transition: text-decoration-color .18s;
}
.ee-article-body a:hover { text-decoration-color: var(--ee2-accent); }
.ee-article-body ul {
  padding-left: 0;
  list-style: none;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ee-article-body ul li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 15.5px;
  line-height: 1.65;
}
.ee-article-body ul li::before {
  content: '';
  flex-shrink: 0;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: rgba(116,182,32,.12);
  border: 1.5px solid rgba(116,182,32,.4);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8 15L3 10l1.41-1.41L8 12.17l7.59-7.59L17 6 8 15z' fill='%2374B620'/%3E%3C/svg%3E");
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: center;
  margin-top: 3px;
}

/* Callout box (key takeaways) */
.ee-article-callout {
  background: var(--ee2-surf);
  border-left: 4px solid var(--ee2-accent);
  border-radius: 0 12px 12px 0;
  padding: 22px 24px;
  margin: 32px 0;
}
.ee-article-callout-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ee2-accent);
  margin-bottom: 10px;
}
.ee-article-callout ul {
  margin: 0;
  gap: 8px;
}
.ee-article-callout ul li { font-size: 14.5px; }

/* Numbered step */
.ee-article-steps { display: flex; flex-direction: column; gap: 20px; margin: 20px 0 32px; }
.ee-article-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.ee-article-step-num {
  flex-shrink: 0;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--ee2-accent);
  color: #fff;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.ee-article-step-body h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15.5px;
  font-weight: 700;
  color: var(--ee2-blue);
  margin: 0 0 6px;
}
.ee-article-step-body p {
  font-size: 14.5px;
  color: var(--ee2-text);
  opacity: .78;
  margin: 0;
  line-height: 1.65;
}

/* Sidebar */
.ee-article-sidebar { position: sticky; top: 90px; }

/* ToC */
.ee-toc {
  background: var(--ee2-surf);
  border: 1px solid var(--ee2-border);
  border-radius: 14px;
  padding: 22px 20px;
  margin-bottom: 24px;
}
.ee-toc-label {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ee2-blue);
  opacity: .45;
  margin-bottom: 14px;
}
.ee-toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ee-toc ol li { counter-increment: toc; }
.ee-toc ol li a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--ee2-text);
  text-decoration: none;
  padding: 6px 8px;
  border-radius: 7px;
  line-height: 1.45;
  transition: background .15s, color .15s;
}
.ee-toc ol li a::before {
  content: counter(toc, decimal-leading-zero);
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: var(--ee2-accent);
  opacity: .6;
  font-family: 'Plus Jakarta Sans', sans-serif;
  margin-top: 1px;
}
.ee-toc ol li a:hover { background: #fff; color: var(--ee2-accent); }
.ee-toc ol li a.toc-active { background: #fff; color: var(--ee2-accent); font-weight: 700; }

/* Sidebar CTA card */
.ee-sidebar-cta {
  background: linear-gradient(145deg, var(--ee2-blue) 0%, #1a4a9e 100%);
  border-radius: 14px;
  padding: 24px 22px;
  text-align: center;
}
.ee-sidebar-cta-eyebrow {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ee2-cyan);
  margin-bottom: 10px;
}
.ee-sidebar-cta h3 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 17px;
  font-weight: 800;
  color: #fff;
  line-height: 1.35;
  margin: 0 0 10px;
}
.ee-sidebar-cta p {
  font-size: 13px;
  color: rgba(255,255,255,.65);
  line-height: 1.6;
  margin: 0 0 18px;
}
.ee-sidebar-cta .btn {
  width: 100%;
  font-size: 13.5px;
  padding: 10px 20px;
}

/* Related articles strip */
.ee-article-related {
  background: var(--ee2-surf);
  padding: 64px 0 80px;
  border-top: 1px solid var(--ee2-border);
}
.ee-article-related-hd {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 22px;
  font-weight: 800;
  color: var(--ee2-blue);
  letter-spacing: -.02em;
  margin-bottom: 32px;
}

@media (max-width: 991px) {
  .ee-article-sidebar { position: static; }
  .ee-toc { display: none; }
}
