.auth-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
}

.auth-shell {
  width: min(1180px, 100%);
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(340px, 0.85fr);
  gap: 28px;
}

.auth-brand {
  padding: 42px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(199, 125, 78, 0.28), transparent 32%),
    linear-gradient(180deg, rgba(21, 50, 67, 0.92) 0%, rgba(12, 28, 38, 0.96) 100%);
  color: #f6efe6;
}

.auth-brand__badge {
  display: inline-flex;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 700;
}

.auth-brand h1 {
  margin: 18px 0 12px;
  font-size: clamp(2rem, 5vw, 3.6rem);
  line-height: 1;
  font-family: Georgia, "Times New Roman", serif;
}

.auth-brand p {
  margin: 0;
  max-width: 30rem;
  color: rgba(246, 239, 230, 0.8);
  line-height: 1.7;
}

.auth-stage {
  display: grid;
  align-content: center;
}

.auth-card {
  padding: 34px;
}

.auth-card__header {
  margin-bottom: 22px;
}

.auth-card__header h2 {
  margin: 14px 0 10px;
  font-size: 2rem;
}

.auth-card__footer {
  margin: 18px 0 0;
}

.auth-card__footer a {
  color: var(--primary);
  font-weight: 700;
  text-decoration: none;
}

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

.stack-form--grid .full-width,
.auth-actions {
  grid-column: 1 / -1;
}

.auth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 900px) {
  .auth-shell,
  .stack-form--grid {
    grid-template-columns: 1fr;
  }

  .auth-brand,
  .auth-card {
    padding: 26px;
  }
}
