/* Homepage “Choose the right path” card images */
.feature-detail__image .mw-home-path-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400 / 294;
  object-fit: cover;
  object-position: center;
  border-radius: 8px;
  background: transparent;
}

/* Connected operating systems — a supplied-logo ecosystem that mirrors the
   requested reference layout inside the site's existing navy field. */
.mw-home-path-image-container--mosaic {
  overflow: hidden;
  border-radius: 8px;
}

.mw-partner-flow {
  position: relative;
  width: 100%;
  aspect-ratio: 400 / 294;
  overflow: hidden;
  isolation: isolate;
  border-radius: 8px;
  background:
    radial-gradient(90% 80% at 98% 4%, rgba(98, 86, 228, .4), transparent 63%),
    radial-gradient(78% 110% at -8% 110%, rgba(22, 145, 227, .3), transparent 64%),
    linear-gradient(136deg, #081334 0%, #11275c 52%, #0d1c49 100%);
}

.mw-partner-flow::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  opacity: .72;
  background-image: radial-gradient(circle, #4866b7 1.05px, transparent 1.15px);
  background-size: 12px 12px;
  -webkit-mask-image: linear-gradient(90deg, #000 0 80%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0 80%, transparent 100%);
}

.mw-partner-flow::after { content: none; }

/* Use the reference coordinates across the full card. This preserves the
   reference's staggered field and edge crops at the card's native aspect ratio
   instead of shrinking it into a centered portrait inset. */
.mw-partner-flow__stage {
  position: absolute;
  inset: 0;
  isolation: isolate;
}

.mw-partner-flow__stage::before,
.mw-partner-flow__stage::after {
  content: none;
}

.mw-partner-flow__sweep {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  pointer-events: none;
  background: linear-gradient(100deg, #4857d1 0%, #9559df 52%, #51c0f1 100%);
  clip-path: polygon(0 94%, 100% 75%, 100% 100%, 0 100%);
}

.mw-partner-flow__badges {
  position: absolute;
  inset: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}

.mw-partner-flow__badge {
  position: absolute;
  display: grid;
  place-items: center;
  width: auto;
  height: var(--badge-size);
  aspect-ratio: 1;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: none;
  isolation: isolate;
  -webkit-clip-path: circle(50% at 50% 50%);
  clip-path: circle(50% at 50% 50%);
  z-index: 3;
}

.mw-partner-flow__badge img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center;
  filter: none;
  border-radius: 50%;
  -webkit-clip-path: circle(50% at 50% 50%);
  clip-path: circle(50% at 50% 50%);
  transform: scale(1.012);
}

/* The supplied QuickBooks lockup includes its square app mark at the left.
   Frame that original mark, rather than using the separate Intuit-branded
   square, so the badge reads as the familiar green QB icon. */
.mw-partner-flow__badge--quickbooks {
  background: #21a619;
}

.mw-partner-flow__badge--quickbooks img {
  position: absolute;
  top: -36%;
  left: -28%;
  width: auto;
  height: 170%;
  max-width: none;
  object-fit: initial;
  border-radius: 0;
  -webkit-clip-path: none;
  clip-path: none;
  transform: none;
}

.mw-partner-flow__badge--oracle {
  background: #ef0000;
}

.mw-partner-flow__badge--oracle img {
  transform: scale(.82);
}

.mw-partner-flow__badge--connected-platform {
  background: #1196cf;
}

.mw-partner-flow__badge--connected-platform img {
  transform: scale(.86);
}

.mw-partner-flow__badge--maximo { --badge-size: 18.1%; top: 5.3%; left: 78.6%; }
.mw-partner-flow__badge--aws { --badge-size: 18.1%; top: 12.8%; left: 51.7%; }
.mw-partner-flow__badge--dynamics { --badge-size: 18.1%; top: 29.1%; left: 28.1%; }
.mw-partner-flow__badge--quickbooks { --badge-size: 18.1%; top: 27.1%; left: 84.8%; }
.mw-partner-flow__badge--oracle { --badge-size: 18.1%; top: 33.7%; left: 60.1%; }
.mw-partner-flow__badge--coupa { --badge-size: 18.1%; top: 48.9%; left: 90.8%; }
.mw-partner-flow__badge--netsuite { --badge-size: 18.1%; top: 52.4%; left: 10.6%; }
.mw-partner-flow__badge--connected-platform { --badge-size: 18.1%; top: 50%; left: 39.2%; }
.mw-partner-flow__badge--salesforce { --badge-size: 18.1%; top: 54.9%; left: 68.2%; }
.mw-partner-flow__badge--teams { --badge-size: 18.1%; top: 80.4%; left: -1.5%; }
.mw-partner-flow__badge--servicenow { --badge-size: 18.1%; top: 72.7%; left: 25%; }
.mw-partner-flow__badge--sap { --badge-size: 18.1%; top: 71.2%; left: 50%; }

/* This supplied lockup is much wider than it is tall. Scale it inside the
   circular frame so the complete IBM Maximo mark fits at AWS-like weight. */
.mw-partner-flow__badge--maximo img {
  width: 80%;
  height: 80%;
  max-width: none;
  object-fit: contain;
  border-radius: 0;
  -webkit-clip-path: none;
  clip-path: none;
  transform: translateY(3%);
}

/* The lower three marks deliberately pass behind the diagonal band, matching
   the supplied composition instead of appearing to sit on top of it. */
.mw-partner-flow__badge--teams,
.mw-partner-flow__badge--servicenow,
.mw-partner-flow__badge--sap { z-index: 1; }

@media (max-width: 420px) {
  .mw-partner-flow__badge { box-shadow: 0 8px 15px rgba(2, 8, 30, .36); }
}

/* Book of the week — cover only; keep stock layout + floating mark */
.book-of-the-week__image-container {
  background: #f7f1e8 !important;
}

.book-of-the-week__image-placeholder {
  background: transparent !important;
}

.book-of-the-week__picture {
  width: min(100%, 300px) !important;
  max-width: 300px !important;
}

.book-of-the-week .mw-book-cover {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}

@media (min-width: 900px) {
  .book-of-the-week__picture {
    width: min(100%, 340px) !important;
    max-width: 340px !important;
  }
}

/* Approved imPress mark in the homepage publication card */
.book-of-the-week__button-container.mw-impress-mark {
  gap: 0 !important;
  align-items: flex-start !important;
  align-self: start !important;
  width: fit-content !important;
  max-width: 100% !important;
}

.mw-impress-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  padding: var(--hds-space-core-50) var(--hds-space-core-150);
  border: 1px solid var(--hds-color-surface-border-quiet);
  border-radius: var(--hds-space-core-radius-sm);
  background-color: transparent;
  text-decoration: none;
  box-sizing: border-box;
  transition: border-color .2s ease;
}

.mw-impress-link:hover {
  border-color: var(--hds-color-util-neutral-200);
}

.mw-impress-logo {
  display: block;
  width: auto;
  max-width: 96px;
  height: 22px;
}

