fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  margin-bottom: .55rem;
  color: #504744;
  font-size: .9rem;
  font-weight: 800;
}

legend small {
  color: var(--muted);
  font-weight: 500;
}

.onboarding-section {
  display: grid;
  gap: .9rem;
  margin: .3rem 0;
  padding: 1.05rem;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}

.onboarding-section h3,
.onboarding-section p {
  margin: 0;
}

.onboarding-section > p {
  color: var(--muted);
  font-size: .88rem;
}

.section-kicker {
  color: var(--pink);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.value-list {
  display: grid;
  gap: .55rem;
}

.value-list article {
  display: grid;
  gap: .2rem;
  padding: .75rem;
  border-radius: 14px;
  background: #faf5f1;
}

.value-list strong {
  color: var(--green);
}

.value-list span {
  color: var(--muted);
  font-size: .82rem;
}

.choice-grid {
  display: grid;
  gap: .55rem;
}

.choice-grid label {
  grid-template-columns: auto 1fr;
  align-items: start;
  padding: .7rem;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--paper);
  font-weight: 650;
}

.choice-grid input {
  width: auto;
  margin-top: .25rem;
}

.line-note {
  display: grid;
  gap: .3rem;
  padding: .85rem;
  border-radius: 14px;
  background: var(--green-soft);
  color: var(--green);
}

.line-note code {
  font-size: 1.05rem;
  font-weight: 900;
}

.line-note span {
  font-size: .8rem;
}

.agreement-section {
  background: linear-gradient(145deg, #fff, #f9f2f4);
}

.profile-identity-note {
  padding: .75rem;
  border-radius: 14px;
  background: var(--green-soft);
  color: var(--green);
  font-size: .86rem;
  font-weight: 800;
}

@media (min-width: 760px) {
  .auth-shell {
    grid-template-columns: minmax(0, 720px) minmax(240px, 340px);
  }

  .choice-grid.two,
  .purposes-grid {
    grid-template-columns: 1fr 1fr;
  }
}
