[hidden] { display: none !important; }

.page { min-height: 100vh; background: var(--ps-bg); }
.ps-nav { padding: var(--ps-5) 0; }
.ps-nav-left { gap: var(--ps-5); }
.ps-brand { display: flex; align-items: center; gap: var(--ps-1); color: var(--ps-text-strong); font-weight: 700; white-space: nowrap; }
.ps-brand:hover { text-decoration: none; }
.ps-brand svg { width: 24px; height: 24px; flex: none; }
.ps-nav .ps-nav-links { display: flex; } /* design-system hides these below 900px */
.svc.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.svc.grid .ps-panel { border-top: 1px solid var(--ps-line); margin: 0 0 0 0; }
.ps-footer .ps-legal { display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: var(--ps-4); padding: var(--ps-4) 0 0; }
.ps-diagram .mid, .ps-diagram .narrow { display: none; }
@media (max-width: 1140px) {
  .ps-diagram .wide { display: none; }
  .ps-diagram .mid { display: inline-block; }
}
@media (max-width: 900px) {
  .ps-nav { padding: 32px 0; }
  .ps-nav-left { gap: var(--ps-4); }
  .ps-diagram .mid { display: none; }
  .ps-diagram .narrow { display: inline-block; }
}
@media (max-width: 640px) {
  /* brand + Contact on the first row, section links on the second */
  .ps-nav { display: grid; grid-template-columns: 1fr auto; row-gap: var(--ps-1); }
  .ps-nav-left { display: contents; }
  .ps-brand { grid-row: 1; grid-column: 1; }
  .ps-nav-right { grid-row: 1; grid-column: 2; }
  .ps-nav .ps-nav-links { grid-row: 2; grid-column: 1 / -1; }
}
