/* Public readers: one clear surface, with original evidence available on demand. */
.resource-links,.about-primary-actions,.reading-outline {
  display:flex; flex-wrap:wrap; align-items:center; gap:4px 24px;
}
.resource-links a,.reading-outline a { min-block-size:44px; display:inline-flex; align-items:center; font-size:17px; }
.resource-links .text-link { margin:0; font-size:17px; }
.records-heading { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:24px 56px; align-items:start; margin-block-end:28px; }
.records-heading h1 { font-size:clamp(36px,4.6vw,66px); line-height:1.2; margin:0; }
.records-heading p { max-inline-size:54ch; margin-block:0 12px; }
.credentials .record-directory { margin-block-end:24px; }
.credentials .record-directory h2 { font-size:20px; margin-block:0 8px; }
.credentials .record-count { margin-block:12px 0; }
.credential-record,.library-group { border-block-start:1px solid var(--rule); }
.credential-record:last-child,.library-group:last-child { border-block-end:1px solid var(--rule); }
.credential-record > summary,.library-group > summary {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,.35fr) 24px;
  align-items:center; gap:16px 28px; padding:18px 0; min-block-size:84px; cursor:pointer; list-style:none;
}
.credential-record > summary::-webkit-details-marker,.library-group > summary::-webkit-details-marker { display:none; }
.credential-record > summary > svg,.library-group > summary > svg {
  inline-size:24px; block-size:24px; fill:none; stroke:currentColor; stroke-width:1.7;
}
.credential-record[open] > summary > svg,.library-group[open] > summary > svg { transform:rotate(180deg); }
.credential-record > summary:is(:hover,:focus-visible) strong,.library-group > summary:is(:hover,:focus-visible) strong {
  text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px;
}
.record-identity { display:grid; align-items:center; gap:20px; min-inline-size:0; }
.record-identity:has(img,.record-monogram) { grid-template-columns:56px minmax(0,1fr); }
.record-identity img { inline-size:56px; block-size:56px; object-fit:contain; }
.record-identity strong,.library-group summary strong { display:block; font-size:21px; font-weight:700; line-height:1.45; }
.record-identity small,.record-state,.library-group summary small,.library-group-count {
  display:block; font-size:16px; line-height:1.5; color:var(--muted);
}
.record-monogram { font-size:15px; font-weight:700; text-align:center; }
.record-state { max-inline-size:30ch; }
.credential-record .credential { margin:0; padding:24px 0 40px; gap:32px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); scroll-margin-block-start:100px; }
.credential-record .credential > div { min-inline-size:0; max-inline-size:65ch; }
.credential-record .credential h2 { font-size:26px; margin-block-end:12px; }
.credential-record .credential-original img { max-block-size:420px; }
.credential-record .record-index-return { margin-block-start:12px; }
.file-index .page-heading { margin-block-end:28px; }
.file-index .page-heading h1 { font-size:clamp(38px,4.8vw,70px); }
.library-group > summary { grid-template-columns:minmax(0,1fr) auto 24px; }
.library-group summary small { margin-block-start:4px; }
.library-group-count { white-space:nowrap; font-variant-numeric:tabular-nums; }
.library-group-body { padding-block:0 28px; }
.library-project-context { display:inline-flex; min-block-size:44px; align-items:center; margin-block-end:8px; font-size:17px; text-underline-offset:5px; }
.file-index .library-result-count { margin-block:20px; }
.about-primary-actions { margin-block-start:24px; }
.about-primary-actions .text-link { font-size:18px; }
.about-outline { margin-inline:var(--space); padding-block:8px; border-block:1px solid var(--rule); }
.about-opening { padding-block-end:40px; }
.journey .page-heading { margin-block-end:28px; }
.journey-search-disclosure { margin-block:8px 20px; border-block-end:1px solid var(--rule); }
.journey-search-disclosure > summary { padding-block:12px; min-block-size:48px; cursor:pointer; font-weight:700; }
.journey-search-disclosure .timeline-search { border-block-start:0; margin-block:0; }
.reading-outline a:focus-visible { outline-offset:-2px; }
@media(prefers-reduced-motion:no-preference) {
  .credential-record > summary > svg,.library-group > summary > svg { transition:transform .25s var(--ease); }
  .reading-outline a { transition:text-decoration-color .2s ease; }
}
@media(max-width:700px) {
  .records-heading { grid-template-columns:minmax(0,1fr); gap:16px; }
  .records-heading h1 { font-size:clamp(32px,8vw,44px); }
  .credential-record > summary { grid-template-columns:minmax(0,1fr) 24px; gap:8px 12px; min-block-size:96px; }
  .record-identity { gap:12px; }
  .record-identity:has(img,.record-monogram) { grid-template-columns:42px minmax(0,1fr); }
  .record-identity img { inline-size:42px; block-size:42px; }
  .record-identity strong,.library-group summary strong { font-size:19px; }
  .record-identity small,.record-state,.library-group summary small { font-size:15px; }
  .record-state { grid-column:1; max-inline-size:none; }
  .credential-record > summary > svg { grid-column:2; grid-row:1/3; }
  .credential-record .credential { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:12px 28px; }
  .credential-record .credential > :first-child:empty { display:none; }
  .library-group > summary { gap:12px; grid-template-columns:minmax(0,1fr) auto 20px; }
  .library-group-count { font-size:14px; }
  .library-group > summary > svg { inline-size:20px; }
  .about-opening { display:grid; grid-template-columns:minmax(0,1fr) clamp(66px,20vw,94px); gap:18px 16px; align-items:center; padding-block:32px 28px; }
  .about-copy { display:contents; }
  .about-copy > * { grid-column:1/-1; }
  .about-copy h1 { grid-column:1; grid-row:1; font-size:clamp(29px,8vw,40px); line-height:1.25; margin:0; }
  html[lang="en"] .about-copy h1 { font-size:clamp(23px,6.8vw,34px); }
  .about-opening > img { grid-column:2; grid-row:1; inline-size:100%; block-size:124px; max-block-size:none; object-fit:cover; object-position:center top; background:transparent; }
  .about-copy p { margin:0; }
  .about-copy .lead { font-size:22px; line-height:1.55; }
  .about-primary-actions { margin-block-start:4px; gap:4px 16px; }
  .about-primary-actions .solid { inline-size:100%; }
  .reading-outline { flex-wrap:nowrap; gap:22px; overflow:auto; white-space:nowrap; scrollbar-width:thin; }
  .reading-outline a { flex:none; }
  .journey .page-heading { margin-block-end:20px; }
  .case-reading { flex-wrap:nowrap; white-space:nowrap; overflow:auto; gap:20px; padding-block:4px; margin-block:8px 20px; scrollbar-width:thin; }
  .case-reading a { flex:none; min-block-size:44px; font-size:16px; }
  .case-path { margin-block-end:8px; }
}

/* Functionality for evidence and documents introduced after the original edition. */
@media screen {
  .brutalist-site .site-directory:not([open]) > nav { display:none; }
  .brutalist-site .reader-caption { overflow-wrap:anywhere; }
  .brutalist-site .reader-paging { min-inline-size:0; }
  .brutalist-site .reader-paging select { min-inline-size:0; max-inline-size:100%; flex:1 1 0; }
  .brutalist-site .case-journey > div > span,.brutalist-site .case-journey .archive-return { color:#ddd; }
  .brutalist-site .case-files:has(.requirements-chapters) .source-prose { margin-inline:auto; max-inline-size:78ch; width:100%; }
  .brutalist-site .material-outline > div { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap:0 16px; }
  .brutalist-site .material-outline > div a,.chapter-steps a { display:flex; align-items:center; min-block-size:44px; line-height:1.4; }
  .requirements-chapter { display:none; scroll-margin-block-start:var(--reading-offset); }
  .requirements-chapter:first-child,.requirements-chapter:target { display:block; }
  .requirements-chapters:has(.requirements-chapter:target) > .requirements-chapter:not(:target) { display:none; }
  .chapter-steps { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; padding-block:8px; border-block-start:1px solid var(--rule); }
  .brutalist-site .source-table-scroll:has(.partner-register) { max-height:min(65vh,38rem); scrollbar-gutter:stable; }
  .brutalist-site .partner-register { width:100%; }
  .brutalist-site .partner-register th { background:white; }
  .brutalist-site .partner-register thead th { position:sticky; top:0; }
  .brutalist-site .archive-context { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; margin-block:12px; font-size:16px; color:var(--ink); }
  .brutalist-site .archive-context a { min-height:44px; display:inline-flex; align-items:center; gap:.35em; color:var(--ink); }
}
@media screen and (max-width:700px) {
  .brutalist-site .footer-bottom { grid-template-columns:minmax(0,1fr); min-inline-size:0; }
  .brutalist-site .footer-bottom > div { display:flex; flex-wrap:wrap; min-inline-size:0; gap:2px 14px; }
  .brutalist-site .footer-bottom > div a { white-space:normal; overflow-wrap:anywhere; }
}
@media screen and (max-height:500px) and (max-width:900px) and (orientation:landscape) {
  .brutalist-site .site-header { position:relative; }
  .brutalist-site { --reading-offset:16px; }
}
@media print {
  .requirements-chapter { display:block; }
  .chapter-steps { display:none; }
}

@media screen {
  .brutalist-site .event-context {
    max-inline-size:1550px;
    margin:clamp(18px,2vw,32px) auto;
    padding-inline:var(--space);
  }
  .brutalist-site .event-context figure {
    display:flex;
    align-items:center;
    gap:clamp(12px,2vw,24px);
    margin:0;
  }
  .brutalist-site .event-context .gallery-link {
    flex:0 0 clamp(78px,9vw,118px);
    min-inline-size:0;
    min-block-size:0;
    padding:0;
  }
  .brutalist-site .event-context .gallery-link img {
    display:block;
    width:100%;
    height:auto;
    max-block-size:168px;
    object-fit:contain;
  }
  .brutalist-site .event-context figcaption {
    max-inline-size:42ch;
    font-size:16px;
    line-height:1.5;
  }
}
