/* Layout and container constraints */

.container { max-width: var(--pssol-max-width); margin: 0 auto; padding: 0 24px; }
.container-narrow { max-width: var(--pssol-reading); margin: 0 auto; padding: 0 24px; }
.container .container { padding: 0; }
.container .container-narrow { padding: 0; }
.reading { max-width: var(--pssol-reading); margin-left: 0; }

.flex-row { display: block; }
.flex-row > * { margin-bottom: var(--pssol-scale-small); }

@media (min-width: 768px) {
  .flex-row { display: flex; gap: var(--pssol-scale-small); align-items: start; }
  .flex-row > * { margin-bottom: 0; }
}

.capability-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--pssol-scale-small); }

.two-column-group { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pssol-scale-medium, 1.5rem); align-items: start; }
@media (max-width: 767px) { .two-column-group { grid-template-columns: 1fr; gap: var(--pssol-scale-major) } }
