.frontend-container {
  width: min(100%, 96rem);
  margin-inline: auto;
}

.frontend-page-stack {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.frontend-content-grid {
  display: grid;
  gap: 1.5rem;
}

.frontend-content-main,
.frontend-content-aside {
  min-width: 0;
}

.frontend-section-heading {
  color: var(--theme-text-primary);
}

.frontend-muted-text {
  color: var(--theme-text-muted);
}

.frontend-body-text {
  color: var(--theme-text-secondary);
}

.frontend-link {
  color: var(--theme-brand-text);
  text-decoration: none;
  transition: color 0.2s ease;
}

.frontend-link:hover {
  color: var(--theme-brand-text-strong);
  text-decoration: none;
}

.frontend-inline-danger {
  color: var(--theme-danger-text);
}

.frontend-error-shell {
  width: min(100%, 64rem);
  margin-inline: auto;
}

.frontend-error-shell-centered {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  padding-block: 2rem;
}

@media (min-width: 1024px) {
  .frontend-content-grid {
    grid-template-columns: minmax(0, 2.15fr) minmax(22rem, 0.85fr);
  }
}

@media (min-width: 1280px) {
  .frontend-content-grid {
    grid-template-columns: minmax(0, 2.35fr) minmax(23rem, 0.9fr);
    gap: 2rem;
  }
}

@media (max-width: 640px) {
  .frontend-page-stack {
    gap: 1.5rem;
  }

  .frontend-content-grid {
    gap: 1.25rem;
  }

  .frontend-error-shell-centered {
    align-items: flex-start;
    padding-block: 1rem;
  }
}
