/* The existing instrument palette and serif headings continue into purchasing. */
.access-bar { border: 1px solid var(--outline-variant); background: var(--surface-container-low); padding: 1rem 1.2rem; margin: 0 0 1.5rem; }
.access-bar p { margin: 0 0 .65rem; font-size: .95rem; }
.access-bar__actions { display: flex; gap: .7rem 1.2rem; flex-wrap: wrap; align-items: center; }
.access-bar a, .access-bar button { min-height: 44px; display: inline-flex; align-items: center; font-size: .85rem; }
.access-bar button { padding: .4rem .7rem; background: transparent; border: 1px solid var(--outline-variant); color: var(--on-surface); cursor: pointer; }
.access-page { max-width: 64rem; }
.access-offer { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 3rem; align-items: start; margin: 2rem 0; }
.access-offer h1 { font-size: clamp(2.5rem, 5vw, 3.6rem); line-height: 1.12; max-width: 18ch; }
.access-offer p { max-width: 62ch; }
.access-purchase { border: 1px solid var(--outline-variant); padding: 1.6rem; background: var(--surface-container-low); }
.access-price { display: block; font-family: var(--font-headline); font-size: 3rem; color: var(--primary); line-height: 1.2; }
.access-button { display: inline-flex; min-height: 48px; padding: .8rem 1.2rem; align-items: center; justify-content: center; background: var(--primary-container); border: 1px solid var(--primary-container); border-radius: var(--radius-sm); color: var(--on-primary); font: 600 .95rem var(--font-body); cursor: pointer; text-decoration: none; text-align: center; }
.access-button:disabled { opacity: .55; cursor: wait; }
.access-secondary { background: transparent; color: var(--on-surface); border-color: var(--outline-variant); }
.access-form { max-width: 27rem; }
.access-form label { display: block; font-weight: 600; margin-bottom: .5rem; }
.access-form input { display: block; width: 100%; min-height: 48px; padding: .8rem; border: 1px solid var(--outline); border-radius: var(--radius-sm); background: var(--surface-container-lowest); color: var(--on-surface); font: 1rem var(--font-body); margin-bottom: 1rem; }
.access-form input[name="code"] { font-size: 1.4rem; letter-spacing: .25em; }
.access-form button { margin: 0 .5rem .75rem 0; }
.access-feedback { min-height: 1.6em; overflow-wrap: anywhere; }
.access-note { color: var(--on-surface-variant); font-size: .9rem; }
.access-details { border-top: 1px solid var(--outline-variant); margin-top: 2rem; padding-top: 1rem; max-width: 76ch; }
.access-details li { margin-bottom: .6rem; }
.access-account { max-width: 40rem; }
@media (max-width: 720px) {
 .access-offer { grid-template-columns: 1fr; gap: 1.5rem; }
 .access-purchase { padding: 1.2rem; }
 .access-purchase .access-button { width: 100%; }
 .access-bar { padding: .8rem; }
 .access-bar__actions { gap: .3rem 1rem; }
}
