/*
 * Zlix Platform visual system v1
 * Page-scoped vector enhancement for the public Platform page.
 * Keeps SVG imagery responsive, accessible, and secondary to content.
 */

.page-hero-platform-visual {
  width: min(100% - 48px, 1220px);
  max-width: 1220px;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(310px, .75fr);
  gap: 34px;
  align-items: center;
  overflow: hidden;
}

.page-hero-platform-copy {
  min-width: 0;
}

.page-hero-platform-art {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.page-hero-platform-art img {
  display: block;
  width: min(100%, 445px);
  height: auto;
  filter: drop-shadow(0 18px 26px rgba(20, 61, 78, .08));
}

.platform-architecture-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.platform-architecture-section::before,
.platform-architecture-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 280px;
  height: 280px;
  pointer-events: none;
  background: url("/assets/svg/platform-ambient-network.svg") center / contain no-repeat;
  opacity: .17;
}

.platform-architecture-section::before {
  left: -44px;
  top: 118px;
}

.platform-architecture-section::after {
  right: -42px;
  top: 146px;
  transform: scaleX(-1);
}

.platform-architecture-card {
  position: relative;
}

.platform-card-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}

.platform-card-kicker .icon-box {
  margin: 0;
}

.platform-card-kicker img {
  display: block;
  width: 66px;
  height: 66px;
  flex: 0 0 66px;
}

@media (max-width: 1050px) {
  .page-hero-platform-visual {
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
    gap: 24px;
  }

  .page-hero-platform-art img {
    width: min(100%, 380px);
  }
}

@media (max-width: 900px) {
  .page-hero-platform-visual {
    grid-template-columns: 1fr;
  }

  .page-hero-platform-art {
    justify-content: center;
  }

  .page-hero-platform-art img {
    width: min(100%, 500px);
    max-height: 285px;
    object-fit: contain;
  }

  .platform-architecture-section::before,
  .platform-architecture-section::after {
    opacity: .10;
  }
}

@media (max-width: 720px) {
  .page-hero-platform-visual {
    display: block;
    width: min(100% - 28px, 1040px);
    padding: 24px 18px;
  }

  .page-hero-platform-art {
    margin-top: 18px;
  }

  .page-hero-platform-art img {
    width: min(100%, 430px);
    max-height: 225px;
  }

  .platform-architecture-section::before,
  .platform-architecture-section::after {
    display: none;
  }

  .platform-card-kicker {
    gap: 14px;
    margin-bottom: 10px;
  }

  .platform-card-kicker img {
    width: 56px;
    height: 56px;
    flex-basis: 56px;
  }
}

@media (max-width: 460px) {
  .page-hero-platform-art {
    margin-top: 14px;
  }

  .page-hero-platform-art img {
    max-height: 200px;
  }

  .platform-card-kicker img {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }
}


/* ----------------------------------------------------------
   Exact Zlix brand mark in Platform architecture visual
   ----------------------------------------------------------
   Do not redraw the Z inside decorative artwork. The illustration
   uses the same approved standalone mark assets as the public brand.
 */

.platform-visual-stack {
  position: relative;
  width: min(100%, 445px);
  line-height: 0;
}

.page-hero-platform-art .platform-architecture-art {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto;
}

/*
 * Position corresponds to the center point previously occupied by
 * the illustration's temporary hand-drawn badge.
 */
.page-hero-platform-art .platform-brand-mark {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 35.25%;
  width: 17.5%;
  min-width: 50px;
  max-width: 80px;
  transform: translate(-50%, -50%);
  line-height: 0;
  filter: drop-shadow(0 5px 7px rgba(6, 31, 50, .20));
}

.page-hero-platform-art .platform-brand-mark img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  filter: none !important;
}

@media (max-width: 900px) {
  .platform-visual-stack {
    width: min(100%, 500px);
  }
}

@media (max-width: 720px) {
  .platform-visual-stack {
    width: min(100%, 430px);
  }

  .page-hero-platform-art .platform-brand-mark {
    width: 15.5%;
    min-width: 44px;
    max-width: 66px;
  }
}

@media (max-width: 460px) {
  .page-hero-platform-art .platform-brand-mark {
    min-width: 42px;
    max-width: 60px;
  }
}


/* ----------------------------------------------------------
   Platform Operating Model visual icons - v2
   ---------------------------------------------------------- */

.platform-operating-card {
  position: relative;
}

.platform-operating-card h3 {
  padding-right: 64px;
}

.platform-operating-icon {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 48px;
  height: 48px;
  padding: 8px;
  border-radius: 15px;
  background: rgba(232, 247, 222, .72);
  box-shadow: 0 8px 20px rgba(20, 61, 78, .07);
}

@media (max-width: 720px) {
  .platform-operating-card h3 {
    padding-right: 60px;
  }

  .platform-operating-icon {
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    padding: 7px;
  }
}


/* ----------------------------------------------------------
   Platform architecture card icon normalization - v3
   ---------------------------------------------------------- */

.platform-card-kicker {
  min-height: 58px;
  align-items: center !important;
}

.platform-card-kicker img {
  width: 58px !important;
  height: 58px !important;
  flex: 0 0 58px !important;
  object-fit: contain;
  margin-right: 2px;
}

/* Puzzle has a little more visual mass; keep it optically balanced. */
.platform-architecture-card:nth-child(3) .platform-card-kicker img {
  width: 55px !important;
  height: 55px !important;
  flex-basis: 55px !important;
  margin-right: 4px;
}

@media (max-width: 720px) {
  .platform-card-kicker {
    min-height: 54px;
  }

  .platform-card-kicker img {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
    margin-right: 0;
  }

  .platform-architecture-card:nth-child(3) .platform-card-kicker img {
    width: 50px !important;
    height: 50px !important;
    flex-basis: 50px !important;
  }
}


/* ----------------------------------------------------------
   Zlix icon border refinement - v4
   ---------------------------------------------------------- */

/* Small support graphics should read as one consistent visual system. */
.platform-operating-icon {
  border: 1px solid rgba(23, 111, 105, .22);
  box-shadow:
    0 7px 18px rgba(20, 61, 78, .07),
    inset 0 1px 0 rgba(255, 255, 255, .60);
}

.platform-card-kicker img {
  border: 1px solid rgba(23, 111, 105, .20);
  border-radius: 18px;
  box-sizing: border-box;
  box-shadow:
    0 7px 18px rgba(20, 61, 78, .06),
    inset 0 1px 0 rgba(255, 255, 255, .55);
}


/* ----------------------------------------------------------
   Operating Model structural icon layout - v5
   ---------------------------------------------------------- */

.platform-operating-card {
  display: block !important;
}

.platform-operating-card .visual-card-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 22px !important;
  width: 100%;
  margin: 0 0 14px !important;
}

.platform-operating-card .visual-card-head h3 {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0 !important;
  margin: 5px 0 0 !important;
}

.platform-operating-card .platform-operating-icon {
  position: static !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
}

.platform-operating-card > p {
  width: 100% !important;
  max-width: none !important;
  margin-top: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 720px) {
  .platform-operating-card .visual-card-head {
    gap: 18px !important;
    margin-bottom: 12px !important;
  }

  .platform-operating-card .platform-operating-icon {
    flex-basis: 46px !important;
    width: 46px !important;
    height: 46px !important;
  }
}


/* ----------------------------------------------------------
   Zlix cool-blue visual palette - v6
   ---------------------------------------------------------- */

/*
 * SVG/card accents now follow the navy -> blue -> cyan family
 * instead of repeating the previous mint/green treatment.
 */

.platform-operating-icon {
  background: rgba(237, 246, 251, .94) !important;
  border-color: rgba(33, 126, 167, .30) !important;
  box-shadow:
    0 7px 18px rgba(15, 52, 79, .08),
    inset 0 1px 0 rgba(255, 255, 255, .75) !important;
}

.platform-card-kicker img {
  background: rgba(237, 246, 251, .94) !important;
  border-color: rgba(33, 126, 167, .28) !important;
  box-shadow:
    0 7px 18px rgba(15, 52, 79, .07),
    inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

.platform-architecture-visual,
.platform-architecture-art img {
  filter: drop-shadow(0 16px 25px rgba(15, 52, 79, .08));
}


/* ==========================================================
   ZLIX SMALL ICON NORMALIZATION V11
   ========================================================== */

/*
 * One small-icon system across the Platform page.
 *
 * Desktop:
 *   54 x 54 outer well
 *   8px internal breathing room
 *
 * Mobile:
 *   50 x 50 outer well
 *   7px internal breathing room
 */

.platform-card-kicker {
  min-height: 54px !important;
  align-items: center !important;
}


/* Platform Architecture icons */
.platform-card-kicker img {
  box-sizing: border-box !important;

  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  flex: 0 0 54px !important;

  padding: 8px !important;
  margin: 0 !important;

  object-fit: contain !important;

  background: #edf6fb !important;
  background-color: #edf6fb !important;

  border: 1px solid rgba(38, 126, 169, .38) !important;
  border-radius: 16px !important;

  box-shadow:
    0 7px 18px rgba(15, 52, 79, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;

  filter: none !important;
}


/*
 * Remove the previous optical exception for the puzzle.
 * Its SVG geometry is now balanced internally.
 */
.platform-architecture-card:nth-child(3)
.platform-card-kicker img {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  flex-basis: 54px !important;

  padding: 8px !important;
  margin: 0 !important;
}


/* Platform Operating Model icons */
.platform-operating-card .platform-operating-icon {
  box-sizing: border-box !important;

  position: static !important;

  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  flex: 0 0 54px !important;

  padding: 8px !important;
  margin: 0 !important;

  background: #edf6fb !important;
  background-color: #edf6fb !important;

  border: 1px solid rgba(38, 126, 169, .38) !important;
  border-radius: 16px !important;

  box-shadow:
    0 7px 18px rgba(15, 52, 79, .08),
    inset 0 1px 0 rgba(255, 255, 255, .92) !important;

  filter: none !important;
}


/*
 * Keep a comfortable structural separation between the title
 * and its icon.
 */
.platform-operating-card .visual-card-head {
  gap: 18px !important;
}


/* Mobile */
@media (max-width: 720px) {

  .platform-card-kicker {
    min-height: 50px !important;
  }

  .platform-card-kicker img,
  .platform-architecture-card:nth-child(3)
  .platform-card-kicker img,
  .platform-operating-card .platform-operating-icon {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    flex-basis: 50px !important;

    padding: 7px !important;

    border-radius: 15px !important;
  }
}

/* ZLIX SMALL ICON NORMALIZATION V11 */
