.form-shell {
 max-width: 42rem;
 margin: 1.5rem 0;
}

.form-shell p {
 margin: 0 0 1rem;
}

.form-shell label {
 display: block;
 margin-bottom: .35rem;
 font-weight: 600;
}

.form-shell input:not([type="hidden"]),
.form-shell textarea,
.form-shell select {
 box-sizing: border-box;
 display: block;
 width: 100%;
 max-width: 100%;
 padding: .7rem .75rem;
 border: 1px solid #a7adb4;
 border-radius: .25rem;
 background: #fff;
 color: inherit;
 font: inherit;
 line-height: 1.4;
}

.form-shell textarea {
 min-height: 8rem;
 resize: vertical;
}

.form-shell input:not([type="hidden"]):focus,
.form-shell textarea:focus,
.form-shell select:focus {
 border-color: #2271b1;
 outline: 2px solid rgba(34, 113, 177, .25);
 outline-offset: 1px;
}

.form-shell button {
 display: inline-block;
 padding: .7rem 1rem;
 border: 1px solid #1d5d91;
 border-radius: .25rem;
 background: #2271b1;
 color: #fff;
 cursor: pointer;
 font: inherit;
 font-weight: 600;
 line-height: 1.2;
}

.form-shell button:hover {
 background: #135e96;
}

.form-shell button:focus-visible {
 outline: 2px solid #1d5d91;
 outline-offset: 2px;
}
