.pv-scatter-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px 210px;
  align-items: center;
  gap: 24px;
  max-width: 880px;
  margin: 3rem auto 0;
  padding: 24px;
  border: 1px solid #e7e5dc;
  border-radius: 28px;
  background: linear-gradient(135deg, #fbfaf6 0%, #f3f1e9 100%);
  box-shadow: 0 26px 70px -50px rgb(25 40 30 / 50%);
}

.pv-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pv-source-card {
  display: flex;
  min-height: 122px;
  flex-direction: column;
  justify-content: space-between;
  gap: 11px;
  padding: 15px 16px;
  border: 1px solid rgb(79 101 85 / 13%);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 26px -23px rgb(42 56 45 / 55%);
}

.pv-source-icon {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 11px;
  background: #eef1eb;
  color: #4f6555;
}

.pv-source-icon svg {
  width: 18px;
  height: 18px;
}

.pv-source-label {
  display: block;
  color: #5f7462;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.pv-source-name {
  margin-top: 4px;
  color: #34443a;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.pv-consolidation-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7e927d;
}

.pv-consolidation-arrow svg {
  width: 28px;
  height: 28px;
}

.pv-vault-card {
  display: flex;
  min-height: 226px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 25px 20px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 24px;
  background: #4f6555;
  color: #f7f4ee;
  text-align: center;
  box-shadow: 0 22px 42px -26px rgb(48 67 53 / 65%);
}

.pv-vault-card > svg {
  width: 42px;
  height: 42px;
}

.pv-vault-eyebrow {
  color: rgb(247 244 238 / 68%);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.pv-vault-name {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.pv-vault-copy {
  max-width: 145px;
  color: rgb(247 244 238 / 76%);
  font-size: 12px;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .pv-scatter-layout {
    grid-template-columns: minmax(0, 1fr);
    max-width: 520px;
    gap: 17px;
    margin-top: 2.25rem;
    padding: 17px;
  }

  .pv-source-grid {
    gap: 10px;
  }

  .pv-source-card {
    min-height: 108px;
    padding: 13px;
  }

  .pv-consolidation-arrow {
    transform: rotate(90deg);
  }

  .pv-vault-card {
    min-height: 180px;
  }
}

@media (max-width: 380px) {
  .pv-scatter-layout {
    padding: 12px;
  }

  .pv-source-grid {
    gap: 8px;
  }

  .pv-source-card {
    min-height: 102px;
    padding: 11px;
  }
}
