/* Access controls reuse the landing palette and typography. */
.cta > .btn {border:1px solid var(--ink);line-height:inherit}
.cta > button.btn {background:transparent;cursor:pointer}
.cta > .btn:hover {background:var(--coral);border-color:var(--coral);color:var(--bone-hi)}

.access-dialog {width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:clamp(22px,4vw,38px);border:1px solid var(--ink);background:var(--bone-hi);color:var(--ink);font-family:var(--f-sans);overflow-y:auto}
.access-dialog::backdrop {background:rgba(34,48,31,0.65)}
.access-dialog-head {display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:26px}
.access-dialog-head .mono {font-size:12px;letter-spacing:0.12em}
.access-close {display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:transparent;cursor:pointer;font-family:var(--f-mono);font-size:12px;text-transform:uppercase}
.access-close span {font-size:24px}
.access-close:hover {color:var(--coral)}
.access-dialog h2 {font-family:var(--f-title);font-weight:800;font-size:var(--t-h2);letter-spacing:-0.035em;line-height:1.16;margin-bottom:16px}
.access-dialog p {font-size:17px;line-height:1.6}
.access-dialog form {display:grid;gap:10px;margin-top:24px}
.access-dialog label {font-family:var(--f-mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase}
.access-dialog label span {color:var(--ink-55)}
.access-dialog input,.access-dialog textarea {box-sizing:border-box;min-width:0;width:100%;min-height:48px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--rule);border-radius:0;background:var(--bone);color:var(--ink);font:inherit;font-size:17px}
.access-dialog textarea {resize:vertical;line-height:1.5}
.access-dialog .btn {width:100%;border:1px solid var(--ink);border-radius:0;cursor:pointer;white-space:normal}
.access-dialog .btn:hover {background:var(--coral);border-color:var(--coral)}
.access-dialog .btn:disabled {opacity:0.7;cursor:wait}
.access-dialog .access-status {min-height:1.6em;font-size:15px}
.access-dialog .access-status[data-error] {font-weight:600}
html:has(.access-dialog[open]) {overflow:hidden}
