/** Shopify CDN: Minification failed

Line 946:12 Expected identifier but found whitespace
Line 946:14 Unexpected "{"
Line 946:23 Expected ":"
Line 946:47 Expected ":"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:collection-specification-table (INDEX:23) */
.collection-spec-heading {
  margin-bottom: 2rem;
}

.collection-spec-heading__title {
  font-size: 2.4rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}

.collection-spec-empty {
  font-size: 14px;
  color: #888;
  padding: 20px;
  border: 1px dashed #d1d5db;
  border-radius: 8px;
  text-align: center;
}

.spec-table-scroll {
  width: 100%;
  overflow-x: auto;
  margin: 0 0 40px 0;
  -webkit-overflow-scrolling: touch;
  position: relative;
  padding-right: 1px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
}

.spec-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 13px;
  min-width: 800px;
  margin-right: 1px;
}

.spec-table th,
.spec-table td {
  padding: 0;
  text-align: center;
  border: none;
}

.spec-table tbody td {
  border-bottom: 1px solid #d9d9d9;
  padding: 10px 6px;
  color: #333;
  white-space: nowrap;
}

.spec-table th {
  white-space: normal;
  word-wrap: break-word;
  min-width: 80px;
}

.spec-table thead tr:first-child th:not(.no-sub) {
  white-space: nowrap;
}

.spec-table thead tr:last-child th {
  white-space: nowrap;
}

.spec-table thead tr:first-child th {
  background: #0022ee;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  position: sticky;
  top: 0;
  z-index: 5;
  min-height: 40px;
  height: auto;
  vertical-align: middle;
  padding: 6px 6px;
}

.spec-table thead tr:last-child th {
  background: #0022ee;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  position: sticky;
  z-index: 5;
  min-height: 40px;
  height: auto;
  vertical-align: middle;
  padding: 6px 6px;
  border-top: 1px solid #0022ee;
}

.spec-table thead tr:first-child th.no-sub {
  background: #0022ee;
  position: sticky;
  top: 0;
  z-index: 6;
  vertical-align: middle;
  border-top: none;
  border-bottom: none;
  min-width: 80px;
  white-space: normal;
  word-break: break-word;
  width: 1%;
  max-width: none;
}

.spec-table thead th[rowspan="2"] {
  background: #0022ee;
  position: sticky;
  top: 0;
  z-index: 6;
  vertical-align: middle;
  border-top: none;
  border-bottom: none;
}

.spec-table thead tr:first-child th.has-sub {
  text-align: center;
  padding-left: 12px;
  position: sticky;
  top: 0;
  z-index: 5!important;
}

.spec-table thead tr:first-child th.has-sub.single-sub {
  text-align: center;
}

.spec-table thead tr:first-child th.has-sub::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 0;
  width: 2px;
  background: #0033ff;
}

.spec-table thead tr:first-child th.has-sub::after {
  content: '';
  position: absolute;
  right: 0;
  top: 6px;
  bottom: 0;
  width: 2px;
  background: #0033ff;
}

.spec-table thead tr:first-child th.has-sub.no-right-line::after {
  display: none;
}

.spec-table thead tr:last-child th.sub-border-left,
.spec-table thead tr:last-child th.sub-border-right {
  position: sticky;
  z-index: 5!important;
}

.spec-table thead tr:last-child th.sub-border-left::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 6px;
  width: 2px;
  background: #0033ff;
}

.spec-table thead tr:last-child th.sub-border-right::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  bottom: 6px;
  width: 2px;
  background: #0033ff;
}

.spec-table .product-name-cell {
  text-align: left;
  font-weight: 500;
  white-space: normal;
  min-width: 150px;
  padding: 6px 6px;
}

.spec-table:not(.left-column-headers) tbody tr:nth-child(even) {
  background: #f5f5f5;
}

.spec-table tbody tr:hover {
  background: #eef0ff;
}

.stock-level {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
  white-space: nowrap;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}

.in-stock { background: #e6f4ea; color: #2d7a3a; }
.low-stock { background: #fff4e5; color: #b36200; }
.on-backorder { background: #fff4e5; color: #b36200; }

.spec-product-link {
  color: #0022ee;
  text-decoration: underline;
  text-decoration-color: #0022ee;
  font-weight: 500;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.spec-product-link:hover { color: #000f46; text-decoration-color: #000f46; }
.spec-product-link:visited { color: #0022ee; text-decoration-color: #0022ee; }

.spec-product-link-white {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: #fff;
  font-weight: 500;
  transition: color 0.2s, text-decoration-color 0.2s;
}

.spec-product-link-white:hover { color: #ccd6ff; text-decoration-color: #ccd6ff; }
.spec-product-link-white:visited { color: #fff; text-decoration-color: #fff; }

.spec-table.left-column-headers {
  font-size: 14px;
  table-layout: fixed;
  min-width: 0;
  margin-right: 0;
}

.spec-table-scroll:has(.spec-table.left-column-headers) {
  padding-right: 0;
}

.spec-table.left-column-headers thead tr:first-child th {
  background: #0022ee;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  position: sticky;
  top: 0;
  z-index: 5;
  vertical-align: middle;
  padding: 12px 16px;
  white-space: nowrap;
}

.spec-table.left-column-headers .left-header-cell {
  background: #0022ee;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  padding: 12px 16px;
  text-align: left;
  white-space: normal;
  min-width: 150px;
  border-bottom: 1px solid #001ab8;
}

.spec-table.left-column-headers .left-subheader-cell {
  background: #0022ee;
  color: #fff;
  font-weight: 500;
  font-size: 12px;
  padding: 12px 16px;
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid #001ab8;
}

.spec-table.left-column-headers tbody td {
  border-bottom: 1px solid #e8eaed;
  padding: 12px 16px;
  color: #333;
  white-space: nowrap;
  text-align: center;
}

.spec-table.left-column-headers tbody tr.row-alt {
  background: #f5f5f5;
}

.spec-table.left-column-headers tbody tr:hover {
  background: #eef1ff;
}

.spec-table.left-column-headers thead tr:first-child th.product-col-header {
  text-align: center;
  border-bottom: none;
}

.spec-table.left-column-headers thead tr:first-child th.product-col-header:first-child {
  text-align: left;
}

.spec-table.left-column-headers .left-divider-data {
  background: #eef1ff;
  border-bottom: 1px solid #dde3ff;
}

.spec-table.left-column-headers tbody tr:has(.left-divider-data) td {
  padding-top: 6px;
  padding-bottom: 6px;
}

.spec-table.left-column-headers a:link { color: white; }

.spec-table tbody td.product-name-cell {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
}

.spec-table tbody tr:nth-child(even) td.product-name-cell { background: #f5f5f5; }
.spec-table tbody tr:hover td.product-name-cell { background: #eef0ff; }

.spec-table thead tr:first-child th[rowspan="2"]:first-child {
  position: sticky;
  left: 0;
  z-index: 7;
}

@media screen and (min-width: 750px) {
  .spec-table.left-column-headers th:first-child,
  .spec-table.left-column-headers td:first-child {
    width: 20%;
  }

  .spec-table.left-column-headers thead tr:first-child th.product-col-header,
  .spec-table.left-column-headers tbody td {
    white-space: normal;
    word-wrap: break-word;
  }

  /* Past 4 products, table-layout:fixed's default even-split keeps
     stretching every column wider to fill the remaining width — the
     opposite of what's useful once you're comparing more than a
     handful. initSpecTable() below counts the product columns and,
     past 4, adds this modifier class and sets the --desktop-*-width
     custom properties to whatever a 4-product table's columns would
     be, so column width stays pinned instead of growing further. The
     table is allowed past 100% width so it scrolls horizontally in
     .spec-table-scroll (already overflow-x: auto) instead of
     squeezing everything to fit. */
  .spec-table.left-column-headers.spec-table--fixed-cols {
    width: auto;
  }

  .spec-table.left-column-headers.spec-table--fixed-cols th:first-child,
  .spec-table.left-column-headers.spec-table--fixed-cols td:first-child {
    width: var(--desktop-label-width, 20%);
    min-width: var(--desktop-label-width, 20%);
    max-width: var(--desktop-label-width, 20%);
  }

  .spec-table.left-column-headers.spec-table--fixed-cols th:not(:first-child),
  .spec-table.left-column-headers.spec-table--fixed-cols td:not(:first-child) {
    width: var(--desktop-col-width);
    min-width: var(--desktop-col-width);
    max-width: var(--desktop-col-width);
  }

  /* Sticky first column while horizontally scrolling — only relevant
     once there's actually something to scroll (spec-table--fixed-cols,
     i.e. more than 4 products). The header cell already has
     position:sticky + top:0 from the unconditional thead rule above;
     adding left:0 here makes it stick to both edges at once, so the
     top-left corner stays put through scrolling in either direction.
     The body label cells (.left-header-cell / .left-subheader-cell)
     need position:sticky added outright — the only other place they
     get it is the max-width:751px mobile block below. Both already
     have an opaque background (#0022ee) set unconditionally elsewhere,
     so nothing scrolling underneath shows through. */
  .spec-table.left-column-headers.spec-table--fixed-cols th:first-child {
    left: 0;
    z-index: 8;
  }

  .spec-table.left-column-headers.spec-table--fixed-cols .left-header-cell,
  .spec-table.left-column-headers.spec-table--fixed-cols .left-subheader-cell {
    position: sticky;
    left: 0;
    z-index: 3;
  }

  /* Scroll-snap for the fixed-column desktop mode (>4 products) —
     same snap-to-place approach as the mobile block below: each
     scroll/swipe locks onto the next product column, one at a time,
     with 4 columns visible on screen at once (deskColWidth in
     initSpecTable() is sized so exactly 4 columns fill the remaining
     width). Snap points live on the data cells, not the sticky
     thead th, for the same cross-browser reason noted in the mobile
     block.

     Uses "proximity" rather than "mandatory": with a mouse-scrollbar
     present (desktop only — this isn't an issue on mobile's touch
     swipe), "mandatory" forces a re-snap after every scroll delta,
     including the small nudge a scrollbar arrow-button click makes.
     At the last column that re-snap resolves back to the same
     (last) snap point, silently swallowing the first click — a
     second click was then needed to actually move left. "proximity"
     only snaps once a scroll/drag naturally lands near a snap point,
     so a single arrow click just moves one step instead of being
     cancelled out. */
  .spec-table-scroll:has(.spec-table.left-column-headers.spec-table--fixed-cols) {
    scroll-snap-type: x proximity;
    scroll-behavior: smooth;
  }

  .spec-table.left-column-headers.spec-table--fixed-cols tbody td:not(:first-child) {
    scroll-snap-align: start;
  }
}

@media (max-width: 751px) {
  .spec-table thead tr:first-child th:first-child,
  .spec-table thead tr:last-child th:first-child {
    position: sticky;
    left: 0;
    z-index: 11;
  }
  .spec-table thead tr:first-child th:not(:first-child) { z-index: 5!important; }
  .spec-table thead tr:last-child th:not(:first-child) { z-index: 5!important; }
  .spec-table thead tr:first-child th.has-sub { z-index: 5!important; }
  .spec-table .product-name-cell {
    position: sticky;
    left: 0;
    z-index: 2;
    background: #fff;
    text-align: left;
    font-weight: 500;
    white-space: normal;
    min-width: 180px;
  }
  .spec-table tbody tr:nth-child(even) .product-name-cell { background: #f5f5f5; }
  .spec-table tbody tr:hover .product-name-cell { background: #eef0ff; }

  .spec-table.left-column-headers .left-header-cell,
  .spec-table.left-column-headers .left-subheader-cell {
    position: sticky;
    left: 0;
    z-index: 2;
    white-space: normal;
  }

  .spec-table.left-column-headers th:first-child,
  .spec-table.left-column-headers td:first-child {
    width: var(--mobile-label-width, 96px);
    min-width: var(--mobile-label-width, 96px);
    max-width: var(--mobile-label-width, 96px);
    font-size: 11px;
    padding-left: 10px;
    padding-right: 10px;
  }

  .spec-table.left-column-headers thead tr:first-child th.product-col-header {
    white-space: normal;
  }

  .spec-table.left-column-headers th:not(:first-child),
  .spec-table.left-column-headers td:not(:first-child) {
    width: var(--mobile-col-width, calc(100vw - 96px));
    min-width: var(--mobile-col-width, calc(100vw - 96px));
  }

  .spec-table.left-column-headers tbody td {
    white-space: normal;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .spec-table.left-column-headers tbody tr:hover {
    background: transparent;
  }

  .spec-table.left-column-headers tbody tr.row-alt:hover {
    background: #f5f5f5;
  }

  .spec-table.left-column-headers .left-divider-data {
    background: #0022ee;
    border-bottom: 1px solid #001ab8;
  }

  .spec-table.left-column-headers tbody tr:has(.left-divider-data) .left-header-cell {
    white-space: nowrap;
    overflow: visible;
    z-index: 3;
  }

  .spec-table-scroll:has(.spec-table.left-column-headers) {
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
  }

  /* Snap points live on the (non-sticky) data cells rather than the sticky
     thead th — combining position: sticky and scroll-snap-align on the same
     element is unreliable across browsers and was causing swipes to not
     always lock onto the next column. */
  .spec-table.left-column-headers tbody td:not(:first-child) {
    scroll-snap-align: start;
  }
}
/* END_SECTION:collection-specification-table */

/* START_SECTION:sector-case-studies (INDEX:88) */
.mp-cases__outer {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.mp-cases {
  margin-bottom: 36px;
}

.mp-cases__grid {
  --mp-cases-count: 3;
  --mp-cases-max-cols: 3;
  display: grid;
  grid-template-columns: repeat(min(var(--mp-cases-count), var(--mp-cases-max-cols)), 1fr);
  gap: 10px;
}

/* 4 blocks -> force a 2x2 layout on larger screens */
@media (min-width: 641px) {
  .mp-cases__grid--quad {
    --mp-cases-max-cols: 2;
  }
}

@media (max-width: 640px) {
  .mp-cases__grid {
    --mp-cases-max-cols: 2;
  }
}

@media (max-width: 400px) {
  .mp-cases__grid {
    --mp-cases-max-cols: 1;
  }
}

.mp-section-head__sub{
  color: black!important;
}

.mp-cases__card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mp-cases__card:hover {
  border-color: #0022ee;
  box-shadow: 0 3px 10px rgba(12,68,124,0.09);
}

.mp-cases__thumb {
  height: 160px;
  overflow: hidden;
  flex-shrink: 0;
  display: block !important;
}

.mp-cases__body {
  padding: 14px 15px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  flex: 1;
}

.mp-cases__tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 500;
  background: #E6F1FB;
  color: #0C447C;
  padding: 3px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  align-self: flex-start;
}

.mp-cases__title {
  font-size: 13px;
  font-weight: 500;
  color: #111827;
  line-height: 1.4;
  margin: 0;
}

.mp-cases__excerpt {
  font-size: 12px;
  color: black;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

.mp-cases__read {
  font-size: 12px;
  color: #000f46;
  font-weight: 500;
  margin-top: 4px;
}

.mp-cases__footer {
  margin-top: 16px;
  text-align: center;
}

.mp-btn--outline {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  border: 1px solid #0C447C;
  color: #0C447C;
  background: transparent;
  transition: background 0.15s, color 0.15s;
}

.mp-btn--outline:hover {
  background: #0C447C;
  color: #fff;
}
/* END_SECTION:sector-case-studies */

/* START_SECTION:sector-hero-image (INDEX:90) */
.mp-hero-wrap {
  width: 100%;
}

.mp-hero {
  position: relative;
  width: 100%;
  min-height: 480px;
  overflow: hidden;
  background: linear-gradient(105deg, #042C53 0%, #0C447C 55%, #185FA5 100%);
  font-family: 'Barlow', sans-serif;
}

.mp-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mp-hero__bg--desktop {
  display: block!important;
}

.mp-hero__bg--mobile {
  display: none;
}

.mp-hero--has-fade::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to right,
    rgba(0,0,0,var(--fade-strength)) 0%,
    rgba(0,0,0,0.3) var(--fade-mid),
    rgba(0,0,0,0) 100%
  );
}

.mp-hero__body {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  padding: 0 5%;
  box-sizing: border-box;
}

.mp-hero__content {
  max-width: 55%;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.mp-hero__breadcrumb {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-family: 'Barlow', sans-serif;
  color: rgba(255,255,255,0.7);
  align-self: flex-start;
  margin-bottom: 1rem;
}

.mp-hero__breadcrumb a {
  color: rgba(255,255,255,0.7);
  text-decoration: none;
}

.mp-hero__breadcrumb a:hover { color: #ffffff; }
.mp-hero__breadcrumb span { color: rgba(255,255,255,0.35); }

.mp-hero__heading {
  font-family: 'Barlow', sans-serif;
  font-size: 40px;
  font-weight: 500;
  color: #ffffff;
  line-height: 49.53px;
  letter-spacing: 7.62px;
  text-transform: uppercase;
  text-shadow: 0 2px 20px rgba(0,0,0,0.4);
  margin: 0 0 3.25rem 0;
}

.mp-hero__intro {
  font-family: 'Barlow', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: rgba(255,255,255,0.9);
  line-height: 28.8px;
  letter-spacing: 0.6px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.5);
  margin: 0 0 4.25rem 0;
}

/* ── FEATURE PILLS — now styled to match the mp-btn button system ── */
.mp-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.mp-hero__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #0022EE;
  border: 2px solid #0022EE;
  padding: 13px 17px;
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffffff;
  cursor: default;
  white-space: nowrap;
  transition: all 0.25s ease;
}

.mp-hero__pill--link {
  cursor: pointer;
  text-decoration: none;
}

.mp-hero__pill--link:hover {
  filter: brightness(0.88);
}

.mp-hero__pill-icon {
  flex-shrink: 0;
  color: currentColor;
}

.mp-hero__ctas {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.75rem;
  align-items: center;
}

.mp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 17px;
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.25s ease;
  white-space: nowrap;
  flex-shrink: 0;
  border: 2px solid transparent;
}

.mp-btn--primary {
  background: #0022EE;
  color: #ffffff;
  border-color: #0022EE;
}

.mp-btn--primary:hover {
  background: #1236c4;
  border-color: #1236c4;
}

.mp-btn--outline {
  background: transparent;
  color: #ffffff;
  border-color: rgba(255,255,255,0.85);
}

.mp-btn--outline:hover {
  background: rgba(255,255,255,0.12);
  border-color: #ffffff;
}

@media (max-width: 768px) {
  .mp-hero {
    height: var(--mobile-height, 580px) !important;
    min-height: 400px;
  }
  .mp-hero__body {
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 2rem;
  }
  .mp-hero__content {
    max-width: 100% !important;
    height: var(--mobile-content-height, 15%);
    justify-content: flex-end;
  }
  .mp-hero__heading {
    font-size: 22px;
    letter-spacing: 2px;
    line-height: 1.3;
    margin: 0 0 1rem 0;
    text-align: center;
  }
  .mp-hero__intro {
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
    text-align: center;
  }
  .mp-hero--has-mobile-image .mp-hero__bg--desktop {
    display: none !important;
  }
  .mp-hero--has-mobile-image .mp-hero__bg--mobile {
    display: block !important;
  }
  .mp-hero--has-fade::before {
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,var(--fade-strength)) 0%,
      rgba(0,0,0,0.3) var(--fade-mid),
      rgba(0,0,0,0) 100%
    );
  }
  .mp-hero__pills {
    justify-content: center;
  }
  .mp-hero__pill {
    font-size: 12px;
    padding: 12px 16px;
    letter-spacing: 0.8px;
    white-space: normal;
  }
  .mp-hero__ctas {
    flex-direction: column;
    width: 100%;
    gap: 0.5rem;
  }
  .mp-btn {
    width: 100%;
    font-size: 12px;
    padding: 12px 16px;
    white-space: normal;
    text-align: center;
  }
}
/* END_SECTION:sector-hero-image */

/* START_SECTION:sector-navigation (INDEX:91) */
.mp-sector-nav-outer {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}

.mp-sector-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f4f6f8;
  border-radius: 10px;
  flex-wrap: wrap;
  width: 100%;
  max-width: {{ section.settings.max_width }}px;
}

.mp-sector-nav__label {
  font-size: 11px;
  font-weight: 500;
  color: #6b7280;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-transform: uppercase;
}

.mp-sector-nav__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}

.mp-sector-nav__chip {
  padding: 5px 13px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  color: rgba(0,15,70,0.4);
  text-decoration: none;
  border: 1px solid transparent;
  transition: color 0.15s;
  white-space: nowrap;
}

.mp-sector-nav__chip:hover {
  color: #000f46;
}

.mp-sector-nav__chip--active {
  color: #000f46;
}

.mp-sector-nav__chip--active:hover {
  color: #000f46;
}

@media (max-width: 640px) {
  .mp-sector-nav-outer {
    margin-bottom: 16px;
  }

  .mp-sector-nav {
    gap: 6px;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 10px 14px;
    /* let the chip row bleed to the edges so the scroll area feels natural */
    overflow: hidden;
  }

  .mp-sector-nav__chips {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    scrollbar-width: none;   /* Firefox */
    -ms-overflow-style: none; /* old Edge/IE */
    padding-bottom: 2px;
  }

  .mp-sector-nav__chips::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
  }

  .mp-sector-nav__chip {
    flex-shrink: 0;
  }
}
/* END_SECTION:sector-navigation */

/* START_SECTION:sector-products (INDEX:92) */
.mp-products__outer {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.mp-products {
  margin-bottom: 36px;
}

.mp-section-head {
  margin-bottom: 18px;
}

.mp-section-head__title {
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 4px;
  color: #111827;
}

.mp-section-head__sub {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
  line-height: 1.6;
}

.mp-products__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.mp-products__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 16px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.mp-products__card-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.mp-products__card:hover {
  border-color: #0022ee;
  box-shadow: 0 2px 8px rgba(12,68,124,0.08);
}

.mp-products__icon {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

.mp-products__card-title {
  font-size: 14px;
  font-weight: 500;
  color: #000000;
  line-height: 1.3;
  margin: 0;
}

.mp-products__card-desc {
  font-size: 12px;
  color: #000000;
  line-height: 1.55;
  margin: 0;
  flex: 1;
}

.mp-products__card-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #000f46;
  font-weight: 500;
  margin-top: 4px;
}

@media (max-width: 640px) {
  .mp-products__grid {
    grid-template-columns: 1fr;
  }
}
/* END_SECTION:sector-products */

/* START_SECTION:sector-services (INDEX:93) */
.mp-svc__outer {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.mp-svc {
  margin-bottom: 28px;
}

.mp-svc__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1px;
  background: #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
}

.mp-svc__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 18px 12px;
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  gap: 6px;
  transition: background 0.15s;
}

.mp-svc__item:hover {
  background: #f0f6ff;
}

.mp-svc__icon {
  flex-shrink: 0;
}

.mp-svc__title {
  font-weight: 500;
  color: #111827;
  line-height: 1.3;
}

.mp-svc__detail {
  color: #6b7280;
  line-height: 1.45;
}

@media (max-width: 480px) {
  .mp-svc__row { grid-template-columns: repeat(2, 1fr); }
}
/* END_SECTION:sector-services */

/* START_SECTION:sector-use-cases (INDEX:94) */
.mp-usecases__outer {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}

.mp-usecases {
  margin-bottom: 36px;
}

.mp-usecases__grid {
  display: grid;
  grid-template-columns: repeat(var(--mp-usecases-cols, 4), 1fr);
  grid-auto-rows: auto;
  gap: 10px;
  align-items: start;
}

.mp-usecases__card {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px 16px;
  background: #ffffff;
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  gap: 8px;
}

.mp-usecases__card-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mp-usecases__card-desc {
  font-size: 13px;
  color: black;
  line-height: 1.6;
  margin: 0;
}

.mp-usecases__icon-wrap {
  width: 52px;
  height: 52px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
}

.mp-usecases__card-title {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
  margin: 0;
  line-height: 1.35;
}

.mp-usecases__card-link {
  font-size: 12px;
  color: #185FA5;
  font-weight: 500;
  text-decoration: none;
  margin-top: 4px;
}

.mp-usecases__card-link:hover { text-decoration: underline; }

@media (max-width: 768px) {
  .mp-usecases__grid { grid-template-columns: 1fr; }
}
/* END_SECTION:sector-use-cases */

/* START_SECTION:sector-vehicle-diagram (INDEX:95) */
/* Scoped reset — defeats div:empty { display:none } in theme base.css */
.mp-vd div { display: revert; }
.mp-vd div:empty { display: revert; }

.mp-vd {
  margin-bottom: 32px;
}

.mp-vd__wrap {
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  padding: 16px;
  overflow: hidden;
}

/* Viewer — position:relative so all absolute children anchor here.
   Height is driven by the sizer img flowing naturally inside it. */
.mp-vd__viewer {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: visible;
  background: #111;
  cursor: default;
  user-select: none;
  -webkit-user-select: none;
}

/* Inner clip wrapper — overflow:hidden here, not on viewer, so height isn't capped */
.mp-vd__clip {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

/* Sizer img — block-level, full width, auto height.
   Sits in normal flow so it pushes the clip wrapper to the right height.
   The two background-image layers sit absolutely on top of it. */
.mp-vd__sizer {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  visibility: hidden;
  pointer-events: none;
  position: relative;
  z-index: 0;
}

.mp-vd__sizer--placeholder {
  padding-top: 42%;
}

/* Image layers — absolutely fill the viewer */
.mp-vd__layer {
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Solid photo — clipped on the right. clip-path set by JS */
.mp-vd__layer--solid {
  z-index: 1;
  clip-path: inset(0 50% 0 0);
}

/* Wireframe — clipped on the left. clip-path set by JS */
.mp-vd__layer--wire {
  z-index: 2;
  clip-path: inset(0 0 0 50%);
}

/* Vertical divider line */
.mp-vd__divider {
  display: block !important;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 3px;
  background: #fff;
  box-shadow: 0 0 8px rgba(0,0,0,0.4);
  z-index: 4;
  pointer-events: none;
  transform: translateX(-50%);
}

/* Handle knob on the divider */
.mp-vd__divider::after {
  content: '◀ ▶';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  color: #374151;
  box-shadow: 0 2px 8px rgba(0,0,0,0.25);
  letter-spacing: -1px;
}

/* Drag handle — narrow invisible strip centred on the divider line.
   Only this strip captures pointer events; the rest passes through to hotspots. */
.mp-vd__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 44px;
  transform: translateX(-50%);
  cursor: col-resize;
  z-index: 6;
  touch-action: none;
}

/* Photo / Technical labels on the image */
.mp-vd__img-label {
  display: block !important;
  position: absolute;
  bottom: 12px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 11px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 4px;
  z-index: 3;
  pointer-events: none;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  transition: opacity 0.2s;
}

.mp-vd__img-label--left  { left: 12px; }
.mp-vd__img-label--right { right: 12px; }

/* Hotspots */
.mp-vd__hotspots {
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
}

.mp-vd__hotspot {
  display: block !important;
  position: absolute;
  transform: translate(-50%, -50%);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
}

.mp-vd__hotspot:focus { outline: none; }

.mp-vd__dot {
  display: block !important;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #0C447C;
  border: 2.5px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.15s;
  z-index: 2;
}

.mp-vd__hotspot:hover .mp-vd__dot,
.mp-vd__hotspot.is-active .mp-vd__dot {
  transform: translate(-50%, -50%) scale(1.35);
}

.mp-vd__pulse {
  display: block !important;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid #0C447C;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: mp-pulse 2.2s ease-out infinite;
  opacity: 0;
}

@keyframes mp-pulse {
  0%   { transform: translate(-50%, -50%) scale(0.4); opacity: 0.7; }
  100% { transform: translate(-50%, -50%) scale(1.8); opacity: 0; }
}

/* Callouts */
.mp-vd__callout {
  position: absolute;
  background: rgba(255,255,255,0.97);
  border: 1px solid rgba(12,68,124,0.18);
  color: #111827;
  border-radius: 8px;
  padding: 9px 12px;
  min-width: 150px;
  max-width: 210px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 10;
  white-space: normal;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

.mp-vd__callout::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border: 6px solid transparent;
}

.mp-vd__callout--right  { left: calc(100% + 12px); top: 50%; transform: translateY(-50%); }
.mp-vd__callout--right::after  { right: 100%; top: 50%; transform: translateY(-50%); border-right-color: rgba(255,255,255,0.97); }
.mp-vd__callout--left   { right: calc(100% + 12px); top: 50%; transform: translateY(-50%); }
.mp-vd__callout--left::after   { left: 100%; top: 50%; transform: translateY(-50%); border-left-color: rgba(255,255,255,0.97); }
.mp-vd__callout--above  { bottom: calc(100% + 12px); left: 50%; transform: translateX(-50%); }
.mp-vd__callout--above::after  { top: 100%; left: 50%; transform: translateX(-50%); border-top-color: rgba(255,255,255,0.97); }
.mp-vd__callout--below  { top: calc(100% + 12px); left: 50%; transform: translateX(-50%); }
.mp-vd__callout--below::after  { bottom: 100%; left: 50%; transform: translateX(-50%); border-bottom-color: rgba(255,255,255,0.97); }

.mp-vd__hotspot:hover .mp-vd__callout,
.mp-vd__hotspot:focus .mp-vd__callout,
.mp-vd__hotspot.is-active .mp-vd__callout {
  opacity: 1;
  pointer-events: all;
}

.mp-vd__callout-label { font-size: 12px; font-weight: 600; line-height: 1.3; color: #111827; }
.mp-vd__callout-sub   { font-size: 11px; color: #6b7280; margin-top: 3px; line-height: 1.3; }
.mp-vd__callout-link  { display: inline-block; font-size: 11px; color: #0C447C; text-decoration: none; margin-top: 6px; font-weight: 500; }
.mp-vd__callout-link:hover { text-decoration: underline; }

/* Legend */
.mp-vd__legend {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 4px 4px;
}

.mp-vd__legend-item {
  display: flex !important;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #6b7280;
  cursor: pointer;
  padding: 4px 9px;
  border-radius: 4px;
  border: 1px solid transparent;
  background: transparent;
  transition: all 0.1s;
  font-family: inherit;
}

.mp-vd__legend-item:hover,
.mp-vd__legend-item.is-active {
  background: #EBF4FF;
  color: #0C447C;
  border-color: #85B7EB;
}

.mp-vd__legend-dot {
  display: inline-block !important;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0C447C;
  flex-shrink: 0;
}
/* END_SECTION:sector-vehicle-diagram */

/* START_SECTION:sector-why-merlin (INDEX:96) */
.mp-why__outer {
  width: 100%;
}

.mp-why {
  background: #f4f6f8;
  padding: 28px 20px;
  margin-bottom: 36px;
}

.mp-why__heading {
  font-size: 20px;
  font-weight: 500;
  color: #111827;
  margin: 0 0 20px;
}

.mp-why__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}

.mp-why__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.mp-why__check {
  width: 22px;
  height: 22px;
  background: #000f46;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 0;
  align-self: flex-start;
  position: relative;
  top: 3px;
  /* Nudge down so circle centre aligns with the title's cap height */
  transform: translateY(3px);
}

.mp-why__item-title {
  font-size: 13px;
  font-weight: 500;
  color: #111827;
  margin: 0 0 2px;
}

.mp-why__item-detail {
  font-size: 12px;
  color: black;
  line-height: 1.5;
  margin: 0;
}
/* END_SECTION:sector-why-merlin */