.access-page { min-height: 100svh; display: grid; grid-template-columns: .9fr 1.1fr; padding-top: var(--header-h); color: var(--ivory); background: var(--black); }
.access-intro { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: calc(100svh - var(--header-h)); padding: clamp(3rem, 7vw, 7rem) var(--page-x); overflow: hidden; background: linear-gradient(145deg, var(--black), var(--wine)); }
.access-intro::after { content: ""; position: absolute; right: -8rem; bottom: -5rem; width: 30rem; height: 30rem; background: url('../../favicon/favicon.svg') center / contain no-repeat; opacity: .08; }
.access-intro h1 { position: relative; z-index: 1; max-width: 42rem; font-size: clamp(6rem, 12vw, 13rem); }
.access-intro__footer { position: relative; z-index: 1; max-width: 25rem; }
.access-form-wrap { padding: clamp(4rem, 8vw, 8rem) var(--page-x); color: var(--black); background: var(--ivory); }
.access-form { display: grid; gap: 2.2rem; margin-top: 4rem; }
.field { display: grid; gap: .7rem; }
.field label, .field legend { font: 500 .7rem var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.field input, .field textarea, .field select {
  width: 100%; border: 0; border-bottom: 1px solid rgba(5,5,5,.42); border-radius: 0; padding: .8rem 0 1rem; color: var(--black); background: transparent; font: 400 clamp(1.1rem, 1.6vw, 1.4rem) var(--body); outline: none;
}
.field textarea { min-height: 8rem; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--red); }
.field--choice { border: 0; padding: 0; }
.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; }
.choice { position: relative; }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice span { display: block; padding: .9rem 1rem; border: 1px solid rgba(5,5,5,.32); font: 500 .72rem var(--mono); text-transform: uppercase; }
.choice input:checked + span { color: var(--ivory); border-color: var(--black); background: var(--black); }
.access-submit { display: flex; justify-content: space-between; align-items: center; gap: 2rem; margin-top: 1rem; }
.button { cursor: pointer; border: 0; padding: 1.1rem 1.5rem; color: var(--ivory); background: var(--black); font: 500 .75rem var(--mono); text-transform: uppercase; transition: background .25s ease; }
.button:hover { background: var(--red); }
.form-status { min-height: 1.5rem; margin: 0; font: 500 .7rem var(--mono); text-transform: uppercase; }

@media (max-width: 900px) {
  .access-page { grid-template-columns: 1fr; }
  .access-intro { min-height: 68svh; }
  .choice-grid { grid-template-columns: 1fr; }
  .access-submit { align-items: flex-start; flex-direction: column; }
}
