.downloads-page {
  --downloads-title-size: clamp(2rem,1.5rem + 2vw,2.8346rem);
  --downloads-title-height: calc(var(--downloads-title-size) * 1.15 + 12mm);
  --downloads-title-glass: rgba(243,240,232,.84);
}
:root[data-palette="dark"] .downloads-page { --downloads-title-glass: rgba(29,46,29,.84); }
.downloads-page .downloads-title-lead { padding-top:clamp(28px,5vw,58px); }
.downloads-page .downloads-title-lead::before { content:""; display:block; width:68px; height:2px; background:var(--gold); }
/* This direct child of main stays docked throughout the text and portrait sections. */
.downloads-page .downloads-titlebar {
  position:sticky;
  top:var(--header-height);
  z-index:19;
  padding-block:6mm;
  background:var(--downloads-title-glass);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
  animation:none;
  transition:none;
  transform:none;
}
.downloads-page .downloads-titlebar h1 { font:400 var(--downloads-title-size)/1.15 Georgia,serif; margin:0; }
.downloads-page .downloads-heading { padding:0 0 30px; }
.downloads-page .downloads-heading p { max-width:60ch; }
.downloads-page .downloads-heading .actions { margin-top:24px; }
.downloads-page .download-section { scroll-margin-top:calc(var(--downloads-title-height) + 8px); margin-bottom:52px; }
.downloads-page .download-section:last-child { margin-bottom:0; }
.downloads-page .download-section > h2 { font-size:clamp(1.65rem,2vw,2.1rem); margin-bottom:18px; }
.downloads-page .version-list { display:grid; gap:14px; margin:28px 0 20px; }
.downloads-page .biography-version { border:1px solid var(--line); border-radius:7px; background:var(--glass); overflow:hidden; }
.downloads-page .biography-version > summary { list-style:none; display:flex; align-items:center; gap:16px; padding:20px 24px; cursor:pointer; line-height:1.4; }
.downloads-page .biography-version > summary::-webkit-details-marker { display:none; }
.downloads-page .version-title { font:400 1.35rem/1.35 Georgia,serif; flex:1; min-width:0; }
.downloads-page .version-length { font-size:.9rem; color:var(--muted); white-space:normal; }
.downloads-page .version-toggle { font-size:1.5rem; line-height:1; flex:none; }
.downloads-page .biography-version[open] .version-toggle { transform:rotate(45deg); }
.downloads-page .version-content { padding:0 24px 26px; }
.downloads-page .version-copy { border-top:1px solid var(--line); padding-top:22px; max-width:72ch; line-height:1.85; }
.downloads-page .version-copy p { margin-bottom:18px; }
.downloads-page .version-copy h3 { margin-top:30px; }
.downloads-page .version-content .button { margin-top:12px; }
.downloads-page .portrait-downloads { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:28px; }
.downloads-page .portrait-download { min-width:0; border:1px solid var(--line); border-radius:7px; overflow:hidden; background:var(--glass); }
.downloads-page .portrait-download img { display:block; width:100%; aspect-ratio:4/5; height:auto; object-fit:contain; background:#f3f0e8; }
.downloads-page .portrait-download figcaption { padding:24px; color:var(--ink); margin:0; }
.downloads-page .portrait-download h3 { margin-bottom:10px; }
.downloads-page .portrait-meta { color:var(--muted); font-size:.95rem; }
.downloads-page .portrait-credit { font-size:1rem; }
.downloads-page .portrait-download .button { margin-top:12px; }
.downloads-page .download-back { display:inline-block; margin-top:32px; }
.downloads-page .downloads-heading .button { overflow-wrap:normal; }
@media(max-width:620px) {
  .downloads-page .portrait-downloads { grid-template-columns:1fr; }
  .downloads-page .biography-version > summary { padding:18px 16px; gap:10px; flex-wrap:wrap; }
  .downloads-page .version-title { flex-basis:calc(100% - 40px); }
  .downloads-page .version-length { order:3; flex-basis:100%; }
  .downloads-page .version-content { padding:0 16px 22px; }
  .downloads-page .portrait-download figcaption { padding:20px; }
}

@media print {
  .downloads-page .downloads-titlebar { position:static; background:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
