/* Paper archives: extend the site's black, cream and gold resource styling. */
.archive-page { --max-width: 1280px; }
.archive-page .archive-intro { padding: 30px 0 28px; background: #111; color: #f7f5f0; }
.archive-page .archive-breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 20px; color: #ead9b6; font-size: .9rem; }
.archive-page .archive-breadcrumbs a { color: #ead9b6; text-underline-offset: 4px; }
.archive-page .archive-intro h1 { max-width: 100%; margin: 0 0 12px; color: #fff; font-size: clamp(2.2rem, 4.5vw, 3.6rem); line-height: 1.1; }
.archive-page .archive-intro h1 span { color: #ead9b6; }
.archive-page .archive-intro p { max-width: 920px; margin: 0; color: #eee8dc; font-size: 1rem; }
.archive-page .archive-facts { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 20px; color: #ead9b6; font-size: .9rem; }
.archive-page .archive-intro + .container { padding-top: 20px; }
.archive-page .archive-nav { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 0 20px; }
.archive-page .archive-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 7px 16px; border: 1px solid #d2c8b4; border-radius: 8px; background: #fff; color: #332b1f; font-size: .9rem; font-weight: 700; text-decoration: none; }
.archive-page .archive-nav a[aria-current="page"], .archive-page .archive-nav a:hover { background: #111; color: #ead9b6; border-color: #111; }
.archive-page .archive-note { margin: 0 0 24px; padding: 15px 20px; border-left: 4px solid #8a6526; background: #eee8dc; color: #393329; font-size: .95rem; }
.archive-page .archive-note p { margin: 0 0 8px; }
.archive-page .archive-note p:last-child { margin-bottom: 0; }
.archive-page .archive-note a { color: #5f4313; text-underline-offset: 3px; }
.archive-page .archive-jumps { display: flex; align-items: center; flex-wrap: wrap; gap: 9px 18px; margin: 12px 0 24px; }
.archive-page .archive-jumps a { padding: 6px 0; color: #72531c; font-weight: 700; text-underline-offset: 5px; }
.archive-page .archive-section { margin: 0 0 40px; scroll-margin-top: 100px; }
.archive-page .archive-section h2 { margin: 0 0 12px; font-size: 1.8rem; }
.archive-page .archive-table-wrap { overflow-x: auto; border: 1px solid #d9d0c0; border-radius: 12px; background: #fff; }
.archive-page .archive-table { width: 100%; border-collapse: collapse; text-align: left; }
.archive-page .archive-table caption { padding: 0; width: 1px; height: 1px; position: absolute; clip-path: inset(50%); overflow: hidden; }
.archive-page .archive-table thead { background: #1b1b1b; color: #ead9b6; }
.archive-page .archive-table th { font-weight: 750; }
.archive-page .archive-table th, .archive-page .archive-table td { padding: 17px 18px; vertical-align: top; border-bottom: 1px solid #e3dccf; font-size: .95rem; }
.archive-page .archive-table tr:last-child > * { border-bottom: 0; }
.archive-page .archive-table tbody tr:nth-child(even) { background: #faf8f3; }
.archive-page .archive-table tbody th { min-width: 112px; color: #111; font-size: 1.05rem; }
.archive-page .archive-table .year-variant { display: block; font-size: .85rem; font-weight: 600; color: #66573e; }
.archive-page .archive-table .paper-cell { min-width: 165px; width: 20%; }
.archive-page .archive-table .solutions-cell { min-width: 245px; width: 32%; }
.archive-page .archive-table .bounds-cell { min-width: 235px; }
.archive-page .file-links { display: flex; flex-wrap: wrap; gap: 7px; }
.archive-page .resource-item { display: inline-flex; flex-direction: column; align-items: flex-start; max-width: 100%; }
.archive-page .resource-item .source-note { max-width: 34ch; }
.archive-page a.file-button { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 8px 13px; border: 1px solid #c5b18b; border-radius: 7px; background: #fff; color: #604310; font-size: .88rem; font-weight: 700; line-height: 1.4; text-decoration: none; }
.archive-page a.file-button--paper { background: #111; color: #fff; border-color: #111; }
.archive-page a.file-button--extended { background: #ead9b6; color: #342506; border-color: #b5975f; }
.archive-page a.file-button:hover { background: #72531c; color: #fff; border-color: #72531c; }
.archive-page .award-values { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 7px; }
.archive-page .award-value { min-width: 59px; padding: 4px 10px; border: 1px solid #dfd7c7; border-radius: 6px; background: #f7f5f0; color: #28231b; }
.archive-page .award-value dt { font-size: .78rem; color: #574b36; }
.archive-page .award-value dd { margin: 0; font-size: 1.1rem; font-weight: 800; }
.archive-page .award-value--gold { background: #f1e3c6; border-color: #c4a773; }
.archive-page .boundary-note, .archive-page .source-note, .archive-page .unavailable { display: block; margin: 6px 0 0; font-size: .875rem; line-height: 1.55; color: #5d564b; }
.archive-page .source-note a, .archive-page a.source-note { color: #6a4912; text-underline-offset: 3px; }
.archive-page .archive-sources { padding: 25px; margin: 35px 0; border: 1px solid #d9d0c0; border-radius: 12px; background: #fff; }
.archive-page .archive-sources h2 { margin: 0 0 10px; font-size: 1.5rem; }
.archive-page .archive-sources ul { margin: 0; padding-left: 20px; }
.archive-page .archive-sources a { color: #72531c; text-underline-offset: 3px; }
.archive-page .archive-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin: 36px 0 55px; }
.archive-page .archive-bottom p { margin: 0; }
.archive-page :focus-visible { outline: 3px solid #856020; outline-offset: 4px; }
.archive-page .archive-intro :focus-visible { outline-color: #ead9b6; }
.archive-page .community-heading { margin: 50px 0 12px; font-size: 2.15rem; scroll-margin-top: 100px; }
.archive-page .community-description { max-width: 900px; margin: 0 0 20px; color: #514a40; }
.archive-page .question-videos { width: 100%; margin-top: 8px; font-size: .9rem; color: #57482d; }
.archive-page .question-videos summary, .archive-page .boundary-note summary { cursor: pointer; padding: 7px 0; font-weight: 700; }
.archive-page .question-videos > div { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 8px; }
.archive-page .question-videos a { display: inline-flex; padding: 5px 9px; background: #eee8dc; color: #513910; border-radius: 4px; }
.archive-page .archive-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 9px; padding: 0; list-style: none; }
.archive-page .archive-link-grid li { display: flex; flex-direction: column; }
.archive-page .archive-link-grid a { display: block; flex: 1; padding: 12px 16px; background: #fff; border: 1px solid #d9d0c0; border-radius: 7px; color: #634614; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .archive-page .archive-intro { padding-top: 23px; }
  .archive-page .archive-table, .archive-page .archive-table tbody, .archive-page .archive-table tr, .archive-page .archive-table td, .archive-page .archive-table th { display: block; width: auto; min-width: 0; }
  .archive-page .archive-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
  .archive-page .archive-table tbody tr { padding: 17px; border-bottom: 1px solid #d4c7b1; }
  .archive-page .archive-table tbody tr:last-child { border-bottom: 0; }
  .archive-page .archive-table tbody tr > * { padding: 0 0 12px; border: 0; }
  .archive-page .archive-table tbody tr > *:last-child { padding-bottom: 0; }
  .archive-page .archive-table .paper-cell, .archive-page .archive-table .solutions-cell, .archive-page .archive-table .bounds-cell { width: auto; min-width: 0; }
  .archive-page .archive-table td::before { content: attr(data-label); display: block; margin: 0 0 7px; color: #605440; font-size: .875rem; font-weight: 700; }
  .archive-page .archive-table .year-variant { display: inline; margin-left: 9px; }
  .archive-page .archive-nav a { flex: 1 0 auto; justify-content: center; padding: 7px 12px; }
  .archive-page .archive-section { margin-bottom: 30px; }
}
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
