html { scrollbar-gutter:stable; }
.masthead-club { display:block; margin-top:.35rem; letter-spacing:.4em; }
.club-menu { position:relative; }
.club-menu summary { cursor:pointer; list-style:none; padding:.8rem 0; }
body#top .club-menu summary { padding-block:.55rem; }
.club-menu summary::-webkit-details-marker { display:none; }
.club-menu summary:focus-visible { outline:2px solid #1034D0; }
.club-menu ul { position:absolute; z-index:10; inset-inline-end:0; top:100%; min-width:13rem; margin:0; padding:.5rem; background:var(--paper); border:1px solid var(--ink); list-style:none; }
.club-menu ul a { display:block; padding:.65rem; white-space:nowrap; }
.club-teasers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; margin-block:clamp(2.5rem,6vw,6rem); }
.club-teasers article, .club-card { border-top:1px solid var(--ink); padding-top:1rem; }
.club-teasers h2 { font-size:clamp(1.65rem,3vw,2.5rem); }
.club-page, .library-opening, .reading[aria-labelledby="book-title"] { padding-block-start:clamp(2rem,5vw,4rem); }
.club-page { padding-block-end:clamp(2rem,6vw,5rem); }
.club-page h1, .library-intro h1, #book-title { font-size:clamp(2.5rem,8vw,6rem); margin-block:.2em .3em; }
.club-page.privacy-notice { max-width:none; }
.privacy-notice > :is(p, ul, form, section) { max-width:65ch; }
.reading[aria-labelledby="book-title"] { grid-template-columns:minmax(0,1fr) minmax(0,230px); align-items:start; }
@media(max-width:760px) {
  .reading[aria-labelledby="book-title"] { grid-template-columns:1fr; }
}
.club-page section { margin-top:2rem; }
.club-page section h2, .club-card h3 { font-size:clamp(1.4rem,3vw,2rem); }
.club-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.club-form { display:grid; gap:.55rem; max-width:42rem; }
.club-form input:not([type=checkbox]):not([type=radio]), .club-form textarea, .club-form select { width:100%; border:1px solid var(--rule); padding:.65rem; font:inherit; }
.club-form button, .club-page button { cursor:pointer; }
.club-form .button, .club-page .button { justify-self:start; background:#1034D0; }
.club-form fieldset { display:grid; gap:.35rem; }
.club-card img { width:auto; max-width:100%; max-height:13rem; }
.club-card, .club-page p { overflow-wrap:anywhere; }
.writers-intro { max-width:90ch; margin-top:.4rem; }
.club-content { white-space:pre-wrap; }
.club-event-list:empty, [hidden] { display:none; }
.author-page { max-width:70rem; }
.author-intro h1 { margin-block:.2em .3em; }
.author-tagline { font:italic clamp(1.2rem,3vw,1.65rem)/1.35 var(--serif); margin-bottom:.6rem; }
.author-page .author-programme { margin-block:1.75rem 2.5rem; }
.author-page .author-programme h2 { font-size:.69rem; color:var(--accent-dark); margin-bottom:.25rem; }
.author-forms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.5rem,5vw,4rem); }
.author-page .author-forms section { margin-top:0; border-top:1px solid var(--rule); padding-top:1rem; }
.author-forms h2 { margin-bottom:.85rem; }
.author-forms .club-form { gap:.7rem; }
.author-forms .club-form label { display:grid; gap:.3rem; font-size:.9rem; }
.author-forms .club-form .button { margin-top:0; border:0; }
.author-privacy { font-size:.85rem; }
.author-forms [role=status]:empty { display:none; }
@media(max-width:760px) {
  .author-forms { grid-template-columns:1fr; }
}
.membership { max-width:64rem; }
.membership-tagline { font:clamp(1.25rem,3vw,1.75rem)/1.35 var(--serif); }
.membership .membership-option { margin-top:clamp(2rem,5vw,3.5rem); padding-top:1.25rem; border-top:1px solid var(--rule); }
.membership-option-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; margin-bottom:.55rem; }
.membership-coming-soon { color:var(--accent-dark); }
.membership-waitlist summary { width:fit-content; max-width:100%; background:var(--ink); cursor:pointer; list-style:none; }
.membership-waitlist summary::-webkit-details-marker { display:none; }
.membership-waitlist[open] summary span { transform:rotate(180deg); }
.membership-waitlist .club-form { margin-top:1.25rem; }
.membership-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.membership-fields input { background:var(--paper); }
.membership-consent { display:flex; align-items:baseline; gap:.5rem; font-size:.9rem; }
.membership-waitlist .button { margin-top:.5rem; }
.membership-waitlist [role=status]:empty { display:none; }
@media(max-width:640px) {
  .club-teasers,.club-grid { grid-template-columns:1fr; }
  .club-menu ul { position:static; min-width:0; }
  .membership-fields { grid-template-columns:1fr; }
}
