.access-page{min-height:100svh}
.access-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1200px;margin:auto;padding:24px var(--pad);border-bottom:1px solid var(--line)}
.access-header>a:last-child{font-size:13px;color:var(--muted)}
.access-main{max-width:570px;margin:0 auto;padding:50px 24px 70px}
.access-main h1{font-size:clamp(28px,5vw,38px);line-height:1.12;font-weight:500;letter-spacing:-.04em;margin:0 0 18px}
.access-intro,.access-main p{color:var(--muted)}
.access-field{display:flex;flex-direction:column;gap:8px;margin:22px 0}
.access-field label{font-size:14px}
.access-field input,.access-field select,.access-field textarea{font:inherit;min-height:46px;width:100%;border:1px solid var(--line);border-radius:2px;background:var(--bg-deep);color:var(--ink);padding:10px 12px}
.access-field select{color-scheme:dark}
.access-field textarea{resize:vertical;min-height:110px}
.access-field [aria-invalid=true]{border-color:var(--red)}
.field-note,.field-error{font-size:13px;line-height:1.5}
.field-note{color:var(--muted)}
.field-error{color:var(--red)}
.access-details{border-block:1px solid var(--line);padding:14px 0}
.access-details summary{cursor:pointer;min-height:28px;font-size:14px}
.access-privacy{font-size:13px;line-height:1.6;margin:22px 0}
.access-privacy a{text-decoration:underline;text-underline-offset:3px}
.access-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.access-actions button{min-height:46px}
.access-actions button:disabled{cursor:not-allowed;opacity:.65}#access-form[aria-busy=true] .access-actions button:disabled{cursor:wait}
#cancel-request{background:transparent;color:var(--ink);border:1px solid var(--line);padding:10px 18px}
.access-status{min-height:48px;font-size:14px;overflow-wrap:anywhere}
.access-main [hidden]{display:none}
.access-main .text-link{display:inline-block;margin-top:20px;min-height:44px}
@media(max-width:390px){.access-header{padding:18px 20px;gap:12px}.access-header>a:last-child{max-width:110px}.access-main{padding:32px 20px 50px}}
@media(prefers-reduced-motion:reduce){.access-page{scroll-behavior:auto}.access-page *{transition:none!important}}

.access-availability{min-height:0;margin:22px 0;font-size:14px}.access-availability p{margin:0 0 12px}.access-availability button{min-height:44px;background:transparent;color:var(--ink);font:inherit;border:1px solid var(--line);padding:10px 16px}.access-availability button:disabled{opacity:.65}.download-details{border-block:1px solid var(--line);padding:16px 0;margin:28px 0 0}.download-details summary{cursor:pointer;min-height:32px}.download-details p{font-size:14px;line-height:1.6}.download-state{margin:28px 0}.download-state strong{display:block;font-size:16px;font-weight:500;color:var(--ink)}

.access-availability:has(p:empty){margin:0}.access-availability p:empty{display:none}.download-details+.download-details{border-top:0;margin-top:0}
