@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500;1,600&display=swap');

.nblv2 {
  --nblv2-brand: #140E45;
  --nblv2-lavender: #D1C9FF;
  --nblv2-line-x: 64px;
  --nblv2-node-x: 100px;
  color: #141414;
  font-family: 'DM Sans', Arial, sans-serif;
  width: 100%;
}
.nblv2,
.nblv2 * { box-sizing: border-box; font-family: 'DM Sans', Arial, sans-serif !important; }
.nblv2 a { color: inherit; }

.nblv2__filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px;
  margin: 0 0 30px;
}
.nblv2__filter {
  border: 1px solid rgba(20,14,69,.14);
  background: #fff;
  color: var(--nblv2-brand);
  border-radius: 6px;
  padding: 11px 18px;
  min-height: 38px;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: all .22s ease;
  box-shadow: none;
}
.nblv2__filter:hover,
.nblv2__filter.is-active {
  background: var(--nblv2-brand);
  color: #fff;
  border-color: var(--nblv2-brand);
}

.nblv2__list {
  position: relative;
  display: grid;
  gap: 0;
  padding-left: 0;
}
.nblv2__list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--nblv2-line-x);
  width: 2px;
  background: repeating-linear-gradient(
    to bottom,
    rgba(209,201,255,.95) 0px,
    rgba(209,201,255,.95) 3px,
    transparent 3px,
    transparent 9px
  );
  pointer-events: none;
  z-index: 0;
}

.nblv2__item { border: 0; }
.nblv2__timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 250px 220px minmax(250px, .9fr) minmax(300px, 1.08fr) 120px;
  column-gap: 26px;
  align-items: start;
  min-height: 220px;
  padding: 0 0 48px;
}
.nblv2__timeline-item::after {
  content: "";
  position: absolute;
  left: var(--nblv2-line-x);
  top: 18px;
  width: calc(var(--nblv2-node-x) - var(--nblv2-line-x));
  height: 2px;
  transform: translateY(-50%);
  background: repeating-linear-gradient(
    to right,
    rgba(209,201,255,.95) 0px,
    rgba(209,201,255,.95) 3px,
    transparent 3px,
    transparent 9px
  );
  pointer-events: none;
  z-index: 1;
}
.nblv2__timeline-item > * {
  position: relative;
  z-index: 2;
}

.nblv2__timeline-date {
  position: relative;
  min-height: 34px;
  background: transparent;
}
.nblv2__node {
  position: absolute;
  left: calc(var(--nblv2-node-x) - 6px);
  top: 12px;
  width: 12px;
  height: 12px;
  border: 2px solid #D1C9FF;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: none;
  z-index: 3;
}
.nblv2__node::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #140E45;
  transform: translate(-50%, -50%);
}
.nblv2__date {
  display: inline-block;
  margin-left: 135px;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 400;
  color: #141414;
  text-decoration: none;
  white-space: nowrap;
  background: #fff;
  padding: 0 4px;
  line-height: 1.4;
}

.nblv2__image-link {
  display: block;
  width: 220px;
  height: 151px;
  border: 0 !important;
  background: #fff;
  overflow: hidden;
  text-decoration: none;
}
.nblv2__image-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border: 0 !important;
  transition: transform .28s ease;
}
.nblv2__image-link:hover img { transform: scale(1.035); }

.nblv2__content {
  max-width: 250px;
  height: 151px;
  min-height: 151px;
  padding-top: 0;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.nblv2__title {
  margin: 0;
  font-size: clamp(26px, 2.25vw, 32px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--nblv2-brand);
  letter-spacing: -0.35px;
}
.nblv2__title a { color: inherit; text-decoration: none; }
.nblv2__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.nblv2__author {
  width: 220px;
  max-width: 220px;
  margin-top: auto;
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 400;
  font-style: italic;
  color: #141414;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.nblv2__author span { font-style: italic; }

.nblv2__excerpt {
  margin: 4px 0 0;
  max-width: 360px;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 400;
  color: #141414;
  background: #fff;
}
.nblv2__readmore {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 114px;
  padding: 8px 14px 9px;
  border-radius: 8px;
  background: var(--nblv2-brand);
  border: 1px solid var(--nblv2-brand);
  color: #ffffff !important;
  font-size: 14px;
  font-weight: 600;
  font-style: italic;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  transition: background .22s ease, transform .22s ease;
}
.nblv2__readmore:hover { background: #221b66; color: #fff !important; transform: translateY(-1px); }

.nblv2__loader {
  min-height: 160px;
  border-radius: 12px;
  background: linear-gradient(90deg, #f5f3ff 25%, #ece8ff 50%, #f5f3ff 75%);
  background-size: 200% 100%;
  animation: nblv2-loading 1.2s infinite linear;
}
.nblv2__empty,
.nblv2__error { padding: 24px 0; color: #5A5898; }
@keyframes nblv2-loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.nblv2__preview-wrap,
.nblv2__preview,
.nblv2__preview-media,
.nblv2__preview-content,
.nblv2__button { display: none; }

@media (max-width: 1180px) {
  .nblv2__timeline-item {
    grid-template-columns: 230px 190px minmax(210px, 1fr) minmax(250px, 1fr) 112px;
    column-gap: 22px;
  }
  .nblv2__image-link { width: 190px; height: 130px; }
  .nblv2__content { height: 130px; min-height: 130px; }
  .nblv2__author { width: 190px; max-width: 190px; margin-top: auto; margin-bottom: 0; }
  .nblv2__title { font-size: 27px; }
}

@media (max-width: 1024px) {
  .nblv2 { --nblv2-line-x: 34px; --nblv2-node-x: 64px; }
  .nblv2__timeline-item {
    grid-template-columns: 165px 180px minmax(180px, 1fr) auto;
    gap: 18px;
    min-height: 185px;
    padding-bottom: 40px;
  }
  .nblv2__date { margin-left: 84px; font-size: 13px; }
  .nblv2__image-link { width: 180px; height: 124px; }
  .nblv2__excerpt { grid-column: 3 / -1; margin-top: -12px; }
  .nblv2__readmore { grid-column: 4; grid-row: 1; }
  .nblv2__content { height: 124px; min-height: 124px; }
  .nblv2__author { width: 180px; max-width: 180px; margin-top: auto; margin-bottom: 0; }
}

@media (max-width: 767px) {
  .nblv2 { --nblv2-line-x: 7px; --nblv2-node-x: 35px; }
  .nblv2__filters { justify-content: flex-start; gap: 8px; margin-bottom: 28px; }
  .nblv2__filter { padding: 9px 13px; min-height: 34px; font-size: 13px; }
  .nblv2__timeline-item {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
    padding: 0 0 36px 34px;
  }
  .nblv2__timeline-item::after { top: 18px; width: calc(var(--nblv2-node-x) - var(--nblv2-line-x)); }
  .nblv2__node { left: calc(var(--nblv2-node-x) - 6px); top: 12px; }
  .nblv2__date { margin-left: 54px; margin-top: 8px; font-size: 13px; }
  .nblv2__image-link { width: min(260px, 100%); height: 178px; }
  .nblv2__content { max-width: 100%; height: auto; min-height: 0; display: block; }
  .nblv2__title { font-size: 25px; }
  .nblv2__author { width: auto; max-width: 100%; margin-top: 10px; margin-bottom: 0; }
  .nblv2__excerpt { grid-column: auto; margin-top: 0; max-width: 100%; font-size: 15px; }
  .nblv2__readmore { justify-self: start; grid-column: auto; grid-row: auto; }
}


/* === NBLV2 final card/list UI override === */
.nblv2 {
  --nblv2-brand: #140E45;
  --nblv2-lavender: #D1C9FF;
  --nblv2-line-x: 64px;
  --nblv2-node-x: 100px;
  font-family: 'DM Sans', Arial, sans-serif !important;
}

.nblv2__list {
  gap: 0;
}

.nblv2__timeline-item {
  display: grid !important;
  grid-template-columns: 250px 255px minmax(0, 1fr) 126px !important;
  grid-template-rows: auto auto 1fr !important;
  column-gap: 34px !important;
  row-gap: 10px !important;
  align-items: start !important;
  min-height: 170px !important;
  padding: 0 0 42px !important;
  margin: 0 0 22px !important;
  border-bottom: 1px solid rgba(20, 14, 69, 0.12) !important;
}

.nblv2__timeline-item:last-child {
  border-bottom: 0 !important;
}

/* horizontal dotted line: ----o, exactly centered on node */
.nblv2__timeline-item::after {
  left: var(--nblv2-line-x) !important;
  top: 18px !important;
  width: calc(var(--nblv2-node-x) - var(--nblv2-line-x) + 6px) !important;
  height: 2px !important;
  transform: translateY(-50%) !important;
  background: repeating-linear-gradient(
    to right,
    rgba(209,201,255,.95) 0px,
    rgba(209,201,255,.95) 3px,
    transparent 3px,
    transparent 9px
  ) !important;
  z-index: 1 !important;
}

.nblv2__timeline-date {
  grid-column: 1 !important;
  grid-row: 1 / 4 !important;
  min-height: 170px !important;
}

.nblv2__node {
  left: calc(var(--nblv2-node-x) - 6px) !important;
  top: 12px !important;
  width: 12px !important;
  height: 12px !important;
  border: 2px solid #D1C9FF !important;
  border-radius: 50% !important;
  background: #fff !important;
}

.nblv2__node::after {
  width: 4px !important;
  height: 4px !important;
  background: #140E45 !important;
}

.nblv2__date {
  margin-left: 135px !important;
  margin-top: 8px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

.nblv2__image-link {
  grid-column: 2 !important;
  grid-row: 1 / 4 !important;
  width: 255px !important;
  height: 170px !important;
  border: 0 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 22px rgba(20, 14, 69, 0.10) !important;
}

.nblv2__image-link img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border: 0 !important;
}

/* Let title, excerpt, and author become direct grid items */
.nblv2__content {
  display: contents !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
}

.nblv2__title {
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin: -2px 0 4px !important;
  max-width: 100% !important;
  font-size: clamp(30px, 2.7vw, 38px) !important;
  line-height: 1.08 !important;
  font-weight: 600 !important;
  color: #140E45 !important;
  letter-spacing: -0.8px !important;
}

.nblv2__excerpt {
  grid-column: 3 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  max-width: 620px !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: #141414 !important;
}

.nblv2__author {
  grid-column: 3 !important;
  grid-row: 3 !important;
  align-self: end !important;
  width: auto !important;
  max-width: 620px !important;
  margin: 8px 0 4px !important;
  padding-left: 44px !important;
  position: relative !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-style: italic !important;
  color: rgba(20,14,69,.82) !important;
}

.nblv2__author::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 42%, #7E5CFF 0 4px, transparent 5px),
              radial-gradient(circle at 50% 74%, #7E5CFF 0 8px, transparent 9px),
              #E8E2FF;
}

.nblv2__author span {
  display: inline !important;
  font-style: italic !important;
}

.nblv2__readmore {
  grid-column: 4 !important;
  grid-row: 1 / 4 !important;
  justify-self: end !important;
  align-self: center !important;
  min-width: auto !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #140E45 !important;
  border-bottom: 2px solid #140E45 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1.2 !important;
}

.nblv2__readmore:hover {
  background: transparent !important;
  color: #140E45 !important;
  transform: none !important;
}

@media (max-width: 1180px) {
  .nblv2__timeline-item {
    grid-template-columns: 210px 220px minmax(0, 1fr) 112px !important;
    column-gap: 24px !important;
  }
  .nblv2__image-link { width: 220px !important; height: 150px !important; }
  .nblv2__timeline-date { min-height: 150px !important; }
  .nblv2__timeline-item { min-height: 150px !important; }
  .nblv2__title { font-size: clamp(27px, 2.4vw, 34px) !important; }
}

@media (max-width: 1024px) {
  .nblv2 { --nblv2-line-x: 34px; --nblv2-node-x: 64px; }
  .nblv2__timeline-item {
    grid-template-columns: 160px 190px minmax(0, 1fr) !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 16px 20px !important;
  }
  .nblv2__date { margin-left: 84px !important; font-size: 13px !important; }
  .nblv2__image-link { width: 190px !important; height: 130px !important; }
  .nblv2__timeline-date { min-height: 130px !important; }
  .nblv2__title, .nblv2__excerpt, .nblv2__author { grid-column: 3 !important; }
  .nblv2__readmore { grid-column: 3 !important; grid-row: 4 !important; justify-self: start !important; align-self: start !important; }
}

@media (max-width: 767px) {
  .nblv2 { --nblv2-line-x: 7px; --nblv2-node-x: 35px; }
  .nblv2__timeline-item {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    padding: 0 0 34px 44px !important;
    margin-bottom: 24px !important;
    min-height: 0 !important;
  }
  .nblv2__timeline-date,
  .nblv2__image-link,
  .nblv2__title,
  .nblv2__excerpt,
  .nblv2__author,
  .nblv2__readmore {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .nblv2__timeline-date { min-height: 34px !important; }
  .nblv2__timeline-item::after { top: 18px !important; width: calc(var(--nblv2-node-x) - var(--nblv2-line-x) + 6px) !important; }
  .nblv2__date { margin-left: 54px !important; margin-top: 8px !important; font-size: 13px !important; }
  .nblv2__image-link { width: min(320px, 100%) !important; height: 200px !important; }
  .nblv2__title { font-size: 28px !important; margin-top: 4px !important; }
  .nblv2__excerpt { max-width: 100% !important; }
  .nblv2__author { align-self: start !important; max-width: 100% !important; margin-top: 8px !important; }
}

/* === Elementor editable typography/color final override === */
.nblv2__filters {
  margin-bottom: 70px !important;
}

.nblv2__title {
  font-size: var(--nblv2-title-size, 38px) !important;
  line-height: var(--nblv2-title-line-height, 1.08) !important;
  font-weight: var(--nblv2-title-weight, 600) !important;
  color: var(--nblv2-title-color, #140E45) !important;
}

.nblv2__date {
  font-size: var(--nblv2-meta-size, 14px) !important;
  font-weight: var(--nblv2-meta-weight, 400) !important;
  color: var(--nblv2-date-color, #141414) !important;
}

.nblv2__excerpt {
  font-size: var(--nblv2-excerpt-size, 16px) !important;
  line-height: var(--nblv2-excerpt-line-height, 1.55) !important;
  color: var(--nblv2-excerpt-color, #141414) !important;
}

.nblv2__author {
  font-size: var(--nblv2-author-size, 14px) !important;
  font-weight: var(--nblv2-author-weight, 400) !important;
  color: var(--nblv2-author-color, #140E45) !important;
}

.nblv2__readmore {
  font-size: var(--nblv2-button-size, 16px) !important;
  font-weight: var(--nblv2-button-weight, 700) !important;
  color: var(--nblv2-readmore-color, #140E45) !important;
  border-bottom-color: var(--nblv2-readmore-color, #140E45) !important;
}
.nblv2__readmore:hover {
  color: var(--nblv2-readmore-color, #140E45) !important;
}

/* cleaner author icon */
.nblv2__author::before {
  width: 31px !important;
  height: 31px !important;
  border-radius: 50% !important;
  background: var(--nblv2-author-icon-bg, #E8E2FF) !important;
  box-shadow: 0 8px 18px rgba(126, 92, 255, .18) !important;
}
.nblv2__author::after {
  content: "";
  position: absolute;
  left: 9px;
  top: 50%;
  width: 13px;
  height: 13px;
  transform: translateY(-20%);
  border-radius: 8px 8px 7px 7px;
  background: var(--nblv2-author-icon-color, #7E5CFF);
  box-shadow: 0 -9px 0 -3px var(--nblv2-author-icon-color, #7E5CFF);
  z-index: 1;
}


/* NBL v2.0.8: never show category/tag pills on the main blog listing, including AJAX filter reloads */
.nblv2 .nblv2__categories,
.nblv2 .nblv2__tags {
  display: none !important;
}

/* NBL v2.0.8: single post detail meta UI */
.nblv2-single-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 30px;
  padding: 18px;
  border: 1px solid rgba(20, 14, 69, 0.10);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(126, 92, 255, 0.08), rgba(255,255,255,0.94));
  box-shadow: 0 18px 45px rgba(20, 14, 69, 0.08);
  color: #140E45;
}

.nblv2-single-meta__item {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(20, 14, 69, 0.08);
  border-radius: 14px;
  background: rgba(255,255,255,0.72);
}

.nblv2-single-meta__label {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(20, 14, 69, 0.58);
}

.nblv2-single-meta__value {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 600;
  color: #140E45;
}

.nblv2-single-meta__links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.nblv2-single-meta__links a {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 11px;
  border: 1px solid rgba(126, 92, 255, 0.22);
  border-radius: 999px;
  background: rgba(126, 92, 255, 0.08);
  color: #140E45 !important;
  text-decoration: none !important;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 600;
}

.nblv2-single-meta__links--tags a::before {
  content: '#';
  opacity: .7;
  margin-right: 1px;
}

.nblv2-single-meta__links a:hover {
  background: rgba(126, 92, 255, 0.14);
  transform: translateY(-1px);
}

@media (max-width: 767px) {
  .nblv2-single-meta {
    grid-template-columns: 1fr;
    padding: 14px;
  }
}

/* NBL v2.0.9: category archive page uses blog-list UI without filters */
.nblv2-category-page-wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 120px 0 70px;
  font-family: 'DM Sans', Arial, sans-serif !important;
}

.nblv2-category-hero {
  margin: 0 0 52px;
}

.nblv2-category-hero__inner {
  max-width: 860px;
}

.nblv2-category-hero__back {
  display: inline-flex;
  margin-bottom: 24px;
  color: #140E45 !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
}

.nblv2-category-hero__back:hover {
  text-decoration: underline !important;
  text-underline-offset: 4px;
}

.nblv2-category-hero__eyebrow {
  margin: 0 0 10px;
  color: rgba(20,14,69,.62);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.nblv2-category-hero__title {
  margin: 0;
  color: #140E45;
  font-size: clamp(42px, 6vw, 82px);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -2.8px;
}

.nblv2-category-hero__desc {
  margin-top: 18px;
  max-width: 720px;
  color: #141414;
  font-size: 18px;
  line-height: 1.65;
}

.nblv2-category-list-section .nblv2__filters {
  display: none !important;
}

.nblv2--category-archive {
  margin-top: 0;
}

@media (max-width: 767px) {
  .nblv2-category-page-wrap {
    width: calc(100% - 24px);
    padding: 86px 0 46px;
  }

  .nblv2-category-hero {
    margin-bottom: 34px;
  }

  .nblv2-category-hero__title {
    font-size: 42px;
    letter-spacing: -1.4px;
  }

  .nblv2-category-hero__desc {
    font-size: 16px;
  }
}

/* NBL v2.1.1: Pixel-perfect journey-dot connectors
   Matches Max page journey-dots / journey-node styling and the Visual Guide:
   circular dots, consistent dot spacing, centered stem/shoot intersections, centered bullets. */
.nblv2 {
  --nblv2-journey-dot-color: rgba(209, 201, 255, 0.9);
  --nblv2-journey-dot-radius: 1.8px;
  --nblv2-journey-dot-step: 13px;
  --nblv2-journey-dot-track: 3.6px;
  --nblv2-journey-node-size: 12px;
  --nblv2-journey-node-core: 4px;
  --nblv2-journey-y: 18px;
}

/* Vertical stem: radial-gradient makes real circular dots, not rectangular dashes. */
.nblv2__list::before {
  width: var(--nblv2-journey-dot-track) !important;
  left: calc(var(--nblv2-line-x) - (var(--nblv2-journey-dot-track) / 2)) !important;
  top: 0 !important;
  bottom: 0 !important;
  background-image: radial-gradient(circle, var(--nblv2-journey-dot-color) var(--nblv2-journey-dot-radius), transparent calc(var(--nblv2-journey-dot-radius) + 0.1px)) !important;
  background-size: var(--nblv2-journey-dot-track) var(--nblv2-journey-dot-step) !important;
  background-position: center 0 !important;
  background-repeat: repeat-y !important;
  filter: drop-shadow(0 0 4px rgba(209, 201, 255, 0.55));
}

/* Horizontal shoot: starts from the exact stem center and ends at node center. */
.nblv2__timeline-item::after {
  left: var(--nblv2-line-x) !important;
  top: var(--nblv2-journey-y) !important;
  width: calc(var(--nblv2-node-x) - var(--nblv2-line-x)) !important;
  height: var(--nblv2-journey-dot-track) !important;
  transform: translateY(-50%) !important;
  background-image: radial-gradient(circle, var(--nblv2-journey-dot-color) var(--nblv2-journey-dot-radius), transparent calc(var(--nblv2-journey-dot-radius) + 0.1px)) !important;
  background-size: var(--nblv2-journey-dot-step) var(--nblv2-journey-dot-track) !important;
  background-position: left center !important;
  background-repeat: repeat-x !important;
  filter: drop-shadow(0 0 4px rgba(209, 201, 255, 0.55));
  z-index: 1 !important;
}

/* Bullet/node: same visual treatment as maxcleaned.html .journey-node. */
.nblv2__node {
  left: calc(var(--nblv2-node-x) - (var(--nblv2-journey-node-size) / 2)) !important;
  top: calc(var(--nblv2-journey-y) - (var(--nblv2-journey-node-size) / 2)) !important;
  width: var(--nblv2-journey-node-size) !important;
  height: var(--nblv2-journey-node-size) !important;
  border: 2px solid #D1C9FF !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 0 8px rgba(209, 201, 255, 0.55) !important;
  z-index: 4 !important;
}

.nblv2__node::after {
  width: var(--nblv2-journey-node-core) !important;
  height: var(--nblv2-journey-node-core) !important;
  border-radius: 50% !important;
  background: #140E45 !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* Keep the date optically centered with the connector/node row. */
.nblv2__date {
  margin-top: calc(var(--nblv2-journey-y) - 10px) !important;
}

@media (max-width: 1024px) {
  .nblv2 {
    --nblv2-journey-y: 18px;
  }
}

@media (max-width: 767px) {
  .nblv2 {
    --nblv2-journey-y: 18px;
  }
  .nblv2__timeline-item::after {
    width: calc(var(--nblv2-node-x) - var(--nblv2-line-x)) !important;
  }
}
