.access-container { align-items: flex-start; padding-top: 2rem; }
.access-card { max-width: 680px; padding: clamp(1.4rem, 4vw, 2.25rem); }
.access-card::before { display: none; }
.access-header { text-align: left; margin-bottom: 1.5rem; }
.access-header p { max-width: none; }
.access-brand { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.25rem; color: var(--text-secondary); font-size: .85rem; font-weight: 700; }
.access-brand img { object-fit: contain; flex-shrink: 0; }
.access-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.access-form label { text-transform: none; letter-spacing: normal; font-size: .9rem; color: var(--text-primary); }
.access-location-choice { margin: -.25rem 0 1rem; }
.access-form .access-checkbox { display: flex; align-items: center; gap: .65rem; min-height: 44px; margin: 0; font-weight: 500; cursor: pointer; }
.access-checkbox input { width: 18px; height: 18px; flex: 0 0 18px; accent-color: #007f73; }
.access-form input[type="text"], .access-form input[type="email"] {
    width: 100%; min-width: 0; padding: .8rem .9rem; min-height: 48px;
    background: var(--field-bg); border: 1px solid var(--text-muted);
    border-radius: 12px; color: var(--text-primary); font: inherit; font-size: 1rem;
}
.access-form input[type]:focus { outline: 2px solid var(--accent-readable); outline-offset: 2px; }
.access-form input::placeholder { color: var(--text-secondary); }
.access-form input[aria-invalid="true"] { border-color: var(--danger-readable); }
.access-help, .access-field-error { margin: .4rem 0 0; font-size: .85rem; line-height: 1.5; }
.access-help, .access-review-note, .access-contact { color: var(--text-secondary); }
.access-field-error { color: var(--danger-readable); }
.access-error-summary { border: 1px solid var(--danger-readable); border-radius: 12px; padding: 1rem; margin-bottom: 1.25rem; color: var(--text-primary); }
.access-error-summary p:last-child, .access-error-summary ul:last-child { margin-bottom: 0; }
.access-error-summary a { color: var(--danger-readable); }
.access-review-note { font-size: .9rem; line-height: 1.55; margin: .25rem 0 1.1rem; }
.access-submit { background: #007f73; color: #fff; box-shadow: none; min-height: 48px; border-radius: 12px; }
.access-submit:hover, .access-submit:focus { background: #00685f; color: #fff; }
.access-submit:disabled { cursor: wait; opacity: .75; transform: none; }
.access-card a { color: var(--accent-readable); text-underline-offset: 3px; }
.access-card a:focus-visible, .access-submit:focus-visible { outline: 2px solid var(--accent-readable); outline-offset: 4px; }
.access-links { display: flex; flex-direction: column; align-items: center; margin-top: 1rem; gap: .45rem; font-size: .9rem; }
.access-links a { padding: .4rem; text-align: center; }
.access-contact { margin: 1rem 0 0; text-align: center; font-size: .85rem; overflow-wrap: anywhere; }
.access-received { max-width: 580px; }
.access-received h1 { font-size: 2rem; margin-bottom: 1rem; }
.access-received p { line-height: 1.65; }
.access-received .access-contact { text-align: left; margin: 1.5rem 0; }
@media (max-width: 540px) {
    .access-container { padding: 1rem .5rem 2rem; }
    .access-card { border-radius: 20px; }
    .access-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .access-header h1 { font-size: 1.75rem; }
}
@media (prefers-reduced-motion: reduce) {
    .access-form input, .access-submit { transition: none; }
    .access-submit:hover, .access-submit:focus { transform: none; }
}
