.mlbp{box-sizing:border-box;width:100%;font-family:var(--ml-font-body,inherit);color:var(--mlbp-text,var(--ml-text,#18171c));padding:var(--mlbp-section-padding,var(--ml-section-padding-y,72px)) 0;--mlbp-primary:var(--ml-primary,#5A41BF);--mlbp-accent:var(--ml-accent,#FFD23F);--mlbp-dark:var(--ml-dark,#18171C);--mlbp-bg:var(--ml-surface-soft,#F0F0F2);--mlbp-card:var(--ml-card-bg,#fff);--mlbp-text:var(--ml-text,#18171c);--mlbp-muted:var(--ml-muted,#6c6b70);--mlbp-border:var(--ml-border,rgba(24,23,28,.12));--mlbp-radius:var(--ml-card-radius,var(--ml-radius,18px));--mlbp-card-padding:var(--ml-card-padding,24px);--mlbp-gap:var(--ml-section-gap,24px);--mlbp-button-radius:var(--ml-button-radius,14px);background:transparent}.mlbp *,.mlbp *:before,.mlbp *:after{box-sizing:border-box}.mlbp-container{width:min(var(--ml-container,1180px),calc(100vw - (var(--ml-container-padding,40px) * 2)));margin-inline:auto}.mlbp--width-global .mlbp-container,.mlbp--width-normal .mlbp-container,.mlbp--width-boxed .mlbp-container,.mlbp--width-wide .mlbp-container{width:min(var(--ml-container,1180px),calc(100vw - (var(--ml-container-padding,40px) * 2)))}.mlbp--width-content .mlbp-container{width:min(var(--ml-content-width,980px),calc(100vw - (var(--ml-container-padding,40px) * 2)))}.mlbp--width-full .mlbp-container{width:100%;padding-left:var(--ml-container-padding,40px);padding-right:var(--ml-container-padding,40px)}.mlbp--width-boxed{width:min(calc(var(--ml-container,1180px) + var(--ml-container-padding,40px) * 2),calc(100vw - 24px));margin-inline:auto;border-radius:var(--ml-card-radius,var(--ml-radius,22px));overflow:hidden}.mlbp--skin-light{background:var(--ml-surface,#fff)}.mlbp--skin-soft,.mlbp--skin-global{background:var(--ml-surface-soft,#F8F7FF)}.mlbp--skin-dark{background:var(--ml-dark,#18171c);--mlbp-card:#242329;--mlbp-text:#fff;--mlbp-muted:rgba(255,255,255,.72);--mlbp-border:rgba(255,255,255,.13)}.mlbp--skin-minimal{background:transparent}.mlbp--skin-accent{background:linear-gradient(135deg,color-mix(in srgb,var(--mlbp-primary) 9%,#fff),color-mix(in srgb,var(--mlbp-accent) 16%,#fff))}.mlbp-head{max-width:860px;margin:0 0 30px}.mlbp-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mlbp-primary)}.mlbp-eyebrow:before{content:"";width:34px;height:2px;background:var(--mlbp-accent);border-radius:99px}.mlbp--skin-dark .mlbp-eyebrow{color:var(--mlbp-accent)}.mlbp-title{margin:0 0 12px;font-family:var(--ml-font-heading,inherit);font-size:clamp(30px,3.1vw,50px);line-height:var(--ml-heading-line-height,1.08);letter-spacing:var(--ml-heading-letter-spacing,-.04em);font-weight:850;color:var(--mlbp-text)}.mlbp-intro{font-size:17px;line-height:1.65;color:var(--mlbp-muted);max-width:760px;margin:0}.mlbp-grid{display:grid;grid-template-columns:repeat(var(--mlbp-cols,3),minmax(0,1fr));gap:var(--mlbp-gap);align-items:stretch}.mlbp--cols-2{--mlbp-cols:2}.mlbp--cols-3{--mlbp-cols:3}.mlbp--cols-4{--mlbp-cols:4}.mlbp-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;background:var(--mlbp-card);border:var(--ml-card-border-width,1px) solid var(--mlbp-border);border-radius:var(--mlbp-radius);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.mlbp--shadow-global .mlbp-card{box-shadow:var(--ml-shadow,0 18px 48px rgba(24,23,28,.08))}.mlbp--shadow-soft .mlbp-card{box-shadow:0 16px 42px rgba(24,23,28,.07)}.mlbp--shadow-medium .mlbp-card{box-shadow:0 24px 70px rgba(24,23,28,.12)}.mlbp--shadow-none .mlbp-card{box-shadow:none}.mlbp-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--mlbp-primary) 26%,transparent)}.mlbp-image{display:block;aspect-ratio:16/10;background:rgba(24,23,28,.04);overflow:hidden}.mlbp-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.mlbp-card:hover .mlbp-image img{transform:scale(1.035)}.mlbp-card-body{display:flex;flex-direction:column;flex:1;padding:var(--mlbp-card-padding)}.mlbp-meta{display:flex;flex-wrap:wrap;gap:9px 12px;margin-bottom:12px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--mlbp-primary)}.mlbp--skin-dark .mlbp-meta{color:var(--mlbp-accent)}.mlbp-card-title{margin:0 0 12px;font-family:var(--ml-font-heading,inherit);font-size:1.18rem;line-height:1.25;font-weight:850;letter-spacing:-.02em;color:var(--mlbp-text)}.mlbp-card-title a{color:inherit;text-decoration:none}.mlbp-card-text{margin:0 0 18px;line-height:1.65;color:var(--mlbp-muted)}.mlbp-readmore{margin-top:auto;display:inline-flex;align-items:center;gap:4px;text-decoration:none!important;color:var(--mlbp-primary)!important;font-family:var(--ml-font-button,var(--ml-font-body,inherit));font-weight:var(--ml-button-font-weight,800)}.mlbp--skin-dark .mlbp-readmore{color:var(--mlbp-accent)!important}.mlbp--featured .mlbp-card--first{grid-column:span 2}.mlbp--featured .mlbp-card--first .mlbp-card-title{font-size:1.55rem}.mlbp--compact .mlbp-grid{display:block}.mlbp--compact .mlbp-card{display:grid;grid-template-columns:260px 1fr;margin-bottom:18px;box-shadow:none}.mlbp--compact .mlbp-image{height:100%;aspect-ratio:auto}.mlbp--magazine .mlbp-card--first{grid-row:span 2}.mlbp-cta{margin-top:var(--mlbp-gap);padding:22px 24px;border-radius:var(--mlbp-radius);background:color-mix(in srgb,var(--mlbp-primary) 8%,#fff);border:1px solid color-mix(in srgb,var(--mlbp-primary) 16%,transparent);display:flex;align-items:center;justify-content:space-between;gap:18px;font-weight:800;color:var(--mlbp-text)}.mlbp--skin-dark .mlbp-cta{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.mlbp-cta a{display:inline-flex;align-items:center;justify-content:center;padding:var(--ml-button-padding-y,12px) var(--ml-button-padding-x,18px);border-radius:var(--mlbp-button-radius);background:var(--ml-button-accent-bg,var(--mlbp-accent));color:var(--ml-button-accent-text,var(--mlbp-dark))!important;text-decoration:none!important;font-family:var(--ml-font-button,var(--ml-font-body,inherit));font-weight:var(--ml-button-font-weight,850);white-space:nowrap}.mlbp-cta a:hover{background:var(--ml-button-accent-hover-bg,var(--mlbp-accent))}.mlbp-empty{padding:26px;border:1px dashed var(--mlbp-border);border-radius:var(--mlbp-radius);color:var(--mlbp-muted)}@media(max-width:980px){.mlbp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mlbp--featured .mlbp-card--first{grid-column:span 1}.mlbp--compact .mlbp-card{grid-template-columns:1fr}.mlbp-cta{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.mlbp{padding:var(--ml-section-padding-y-mobile,42px) 0}.mlbp-container,.mlbp--width-global .mlbp-container,.mlbp--width-normal .mlbp-container,.mlbp--width-boxed .mlbp-container,.mlbp--width-wide .mlbp-container,.mlbp--width-content .mlbp-container{width:min(100%,calc(100vw - (var(--ml-container-padding-mobile,18px) * 2)))}.mlbp--width-full .mlbp-container{padding-left:var(--ml-container-padding-mobile,18px);padding-right:var(--ml-container-padding-mobile,18px)}.mlbp--width-boxed{width:calc(100vw - (var(--ml-container-padding-mobile,18px) * 2))}.mlbp-title{font-size:clamp(26px,8vw,36px)}.mlbp-intro{font-size:16px}.mlbp-grid{grid-template-columns:1fr;gap:18px}.mlbp-card-body{padding:min(var(--mlbp-card-padding),22px)}.mlbp-card-title{font-size:1.08rem}.mlbp-cta a{width:100%}}


/* v0.2.2 - global design width/background contract fix */
.mlbp--skin-global{background:transparent!important}
.mlbp-container{box-sizing:border-box;max-width:var(--ml-container,1180px);width:100%;margin-inline:auto;padding-inline:var(--ml-container-padding,40px)}
.mlbp--width-global .mlbp-container,.mlbp--width-normal .mlbp-container,.mlbp--width-wide .mlbp-container{max-width:var(--ml-container,1180px);width:100%;padding-inline:var(--ml-container-padding,40px)}
.mlbp--width-content .mlbp-container{max-width:var(--ml-content-width,980px);width:100%;padding-inline:var(--ml-container-padding,40px)}
.mlbp--width-full .mlbp-container{max-width:none;width:100%;padding-inline:var(--ml-container-padding,40px)}
.mlbp--width-boxed{max-width:calc(var(--ml-container,1180px) + (var(--ml-container-padding,40px) * 2));width:calc(100% - 24px);margin-inline:auto}
.mlbp--width-boxed .mlbp-container{max-width:var(--ml-container,1180px);width:100%;padding-inline:var(--ml-container-padding,40px)}
@media(max-width:760px){.mlbp-container,.mlbp--width-global .mlbp-container,.mlbp--width-normal .mlbp-container,.mlbp--width-wide .mlbp-container,.mlbp--width-content .mlbp-container,.mlbp--width-boxed .mlbp-container{width:100%;max-width:100%;padding-inline:var(--ml-container-padding-mobile,18px)}.mlbp--width-full .mlbp-container{padding-inline:var(--ml-container-padding-mobile,18px)}.mlbp--width-boxed{width:calc(100% - (var(--ml-container-padding-mobile,18px) * 2))}}

/* v0.2.3 - global spacing contract reset
   When global template styling is enabled, the template/module position controls
   outer width, background, margins and section padding. The module keeps only
   its internal layout, cards and content styles. */
.mlbp--uses-global {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.mlbp--uses-global .mlbp-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.mlbp--uses-global .mlbp__header,
.mlbp--uses-global .mlbp-head,
.mlbp--uses-global .mlbp__heading,
.mlbp--uses-global .mlbp-title {
  max-width: 100%;
}
@media (max-width: 760px) {
  .mlbp--uses-global {
    padding: 0 !important;
  }
  .mlbp--uses-global .mlbp-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


/* v0.2.4 - full width external card control
   Used when this module is placed inside template module chrome/card wrapper. */
.ml-module-card--mlbp-fullwidth {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.ml-module-card--mlbp-fullwidth > .ml-module-card__content,
.ml-module-card--mlbp-fullwidth .ml-module-card__content {
  padding: 0 !important;
}
.ml-module-card--mlbp-fullwidth #mlbp,
.ml-module-card--mlbp-fullwidth .mlbp,
.ml-module-card--mlbp-fullwidth .mlbp--width-full {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  background: transparent !important;
}
.ml-module-card--mlbp-fullwidth .mlbp-container,
.mlbp--width-full .mlbp-container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* v0.2.5 - optional mobile slider/swipe mode */
.mlbp-mobile-dots {
  display: none;
}
@media (max-width: 760px) {
  .mlbp--mobile-slider .mlbp-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    padding-bottom: 2px;
    scrollbar-width: none;
  }
  .mlbp--mobile-slider .mlbp-grid::-webkit-scrollbar {
    display: none;
  }
  .mlbp--mobile-slider .mlbp-card,
  .mlbp--mobile-slider .mlbp-card--first {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .mlbp--mobile-slider .mlbp-card:hover {
    transform: none;
  }
  .mlbp--mobile-slider .mlbp-mobile-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    background: transparent !important;
  }
  .mlbp--mobile-slider .mlbp-mobile-dot {
    appearance: none;
    -webkit-appearance: none;
    display: block;
    width: 8px;
    height: 8px;
    min-width: 8px;
    min-height: 8px;
    padding: 0 !important;
    margin: 0;
    border: 0 !important;
    border-radius: 999px;
    background: color-mix(in srgb, var(--mlbp-primary) 22%, transparent) !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: width .18s ease, background .18s ease, opacity .18s ease;
  }
  .mlbp--mobile-slider .mlbp-mobile-dot:before,
  .mlbp--mobile-slider .mlbp-mobile-dot:after {
    content: none !important;
    display: none !important;
  }
  .mlbp--mobile-slider .mlbp-mobile-dot.is-active {
    width: 24px;
    background: var(--mlbp-primary) !important;
  }
}
