.registration main { background: var(--sandstone); }
.registration-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.registration h1 { font-size: clamp(3.2rem, 7vw, 7.2rem); max-width: 9ch; }
.registration-date { font-weight: 800; margin-top: 1.6rem; }
.registration-card { background: var(--paper); }
.registration-card h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
.registration label, .registration legend { display: block; font-weight: 800; }
.registration input { display: block; width: 100%; font: inherit; color: var(--ink); background: #fffdf5; border: 1px solid var(--brown); padding: .55rem .65rem; border-radius: 0; }
.registration fieldset { padding: 0; margin: 1.25rem 0 0; border: 0; min-width: 0; }
.registration legend { padding: 0; margin-bottom: .25rem; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: .8rem; }
.registration fieldset .contact-fields { margin-top: 0; }
.registration fieldset label { font-weight: 400; }
.registration form .button { border: 0; font: inherit; font-weight: 800; cursor: pointer; text-align: left; }
.registration-feedback { border-left: .25rem solid var(--brown); padding: .55rem .75rem; }

@media (max-width: 720px) {
  .registration-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .contact-fields { grid-template-columns: 1fr; }
}
