.dps-portal {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.9fr);
  gap: var(--dps-space-6);
  align-items: start;
}

.dps-portal__main,
.dps-portal__side {
  display: grid;
  gap: var(--dps-space-6);
}

.dps-grid {
  display: grid;
  gap: var(--dps-space-5);
}

.dps-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dps-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dps-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dps-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--dps-space-4);
}

.dps-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--dps-space-4);
}

.dps-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--dps-space-4);
}

@media (max-width: 1100px) {
  .dps-portal {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .dps-grid--2,
  .dps-grid--3,
  .dps-grid--4,
  .dps-feature-grid,
  .dps-stats-grid,
  .dps-form-grid {
    grid-template-columns: 1fr;
  }
}
