.document-collection { min-width: 0; }
.document-collection > .lead { margin: 0 0 24px; }
.document-collection__intro { margin-bottom: 32px; }
.document-collection__intro p { font-weight: 400; }
.document-collection__intro > :last-child { margin-bottom: 0; }

.document-collection__index {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 12px 24px;
    margin: 0 0 32px;
    border-block: 1px solid var(--line);
    padding-block: 16px;
}
.document-collection__index h2 { margin: 0; padding-block: 10px; font-size: 15px; line-height: 1.5; font-weight: 700; }
.document-collection__index ul { display: flex; flex-wrap: wrap; align-content: start; gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.document-collection__index li { min-width: 0; max-width: 100%; }
.document-collection__index a {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-height: 44px;
    padding-block: 10px;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 600;
    overflow-wrap: anywhere;
}
.document-collection__index a > span:first-child { min-width: 0; }
.document-collection__count { flex: 0 0 auto; color: var(--muted); font-size: 12px; font-weight: 400; font-variant-numeric: tabular-nums; }

.document-collection__group { border-top: 1px solid var(--line); margin: 0; scroll-margin-top: 24px; }
.document-collection__group:last-child { border-bottom: 1px solid var(--line); }
.document-collection__group--primary { border-top: 3px solid var(--teal); }
.document-collection__group > summary, .document-collection__group > header { padding: 22px 8px; color: var(--ink); }
.document-collection__group > header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap; }
.document-collection__group h2 { margin: 0; font-size: 22px; font-weight: 650; line-height: 1.35; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.document-collection__group--primary > header h2 { font-size: 28px; }
.document-collection__group > summary { cursor: pointer; font-size: 18px; line-height: 1.65; overflow-wrap: anywhere; }
/* Keep the native disclosure marker and keyboard behavior without JavaScript. */
.document-collection__group > summary h2 { display: inline; }
.document-collection__group > summary::marker { color: var(--teal); }
.document-collection__group > summary:hover,
.document-collection__group > summary:focus-visible { background: var(--wash); }
.document-collection__group > summary:hover h2,
.document-collection__group > summary:focus-visible h2 { color: var(--blue); }
.document-collection__group[open] > summary { border-bottom: 1px solid var(--line); }
.document-collection__group small { color: var(--muted); font-size: 13px; font-weight: 400; line-height: 1.5; }
.document-collection__group > header small,
.document-collection__group > summary small { white-space: nowrap; font-variant-numeric: tabular-nums; }
.document-collection__group > summary small { display: inline-block; margin-left: 16px; }
.document-collection__content { min-width: 0; padding-bottom: 28px; }
.document-collection__content > .content-body { min-width: 0; margin-block: 16px; font-size: 15px; overflow-x: auto; }
.document-collection__content > .content-body > :last-child { margin-bottom: 0; }
.document-collection__files { padding: 0; margin: 0; list-style: none; }
.document-collection__files > li { margin: 0; border-bottom: 1px solid var(--line); }
.document-collection__files > li:last-child { border-bottom: 0; }
.document-collection__file {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 16px;
    min-height: 64px;
    padding: 10px 8px;
    color: var(--ink);
}
a.document-collection__file:hover,
a.document-collection__file:focus-visible { background: var(--wash); text-decoration: none; }
a.document-collection__file:hover .document-collection__title,
a.document-collection__file:focus-visible .document-collection__title { color: var(--blue); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.document-collection__index a:focus-visible,
.document-collection__group > summary:focus-visible,
a.document-collection__file:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.document-collection__file-icon,
.document-collection__download { display: grid; place-items: center; width: 24px; height: 24px; }
.document-collection__file-icon { color: var(--teal); }
.document-collection__download { color: var(--blue); }
.document-collection__file .icon { width: 20px; height: 20px; }
.document-collection__label { min-width: 0; overflow-wrap: anywhere; }
.document-collection__title { display: block; font-size: 15px; font-weight: 600; line-height: 1.5; }
.document-collection__metadata { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-top: 3px; font-size: 12px; line-height: 1.5; }
.document-collection__format { color: var(--teal); font-weight: 700; }
.document-collection__size { color: var(--muted); font-variant-numeric: tabular-nums; }
.document-collection__format + .document-collection__size { border-left: 1px solid var(--line); padding-left: 10px; }
.document-collection__label small { display: block; margin-top: 3px; }
.document-collection__file--unavailable,
.document-collection__file--unavailable .document-collection__file-icon { color: var(--muted); }
.document-collection__file--unavailable .document-collection__title { font-weight: 400; }
.document-collection__content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.document-collection__content td, .document-collection__content th { padding: 10px 12px; vertical-align: top; }
.document-collection__content td p, .document-collection__content th p { margin: 0; }
.document-collection__content tr:first-child { background: var(--wash); font-weight: 650; }
.document-collection__content td:last-child { font-variant-numeric: tabular-nums; }

@media (max-width: 600px) {
    .document-collection__index { grid-template-columns: minmax(0, 1fr); gap: 4px; margin-bottom: 24px; padding-block: 12px; }
    .document-collection__index h2 { padding-block: 0; }
    .document-collection__index ul { column-gap: 20px; }
    .document-collection__group > header,
    .document-collection__group > summary { padding: 18px 4px; }
    .document-collection__group h2 { font-size: 20px; }
    .document-collection__group--primary > header h2 { font-size: 24px; }
    .document-collection__group > summary small { display: block; margin-left: 20px; margin-top: 4px; }
    .document-collection__file { grid-template-columns: 24px minmax(0, 1fr) 24px; gap: 10px; padding-inline: 4px; }
    .document-collection__content { padding-bottom: 22px; }
    .document-collection__content td, .document-collection__content th { padding: 8px; }
}
