:root { --catalogue-section-space: 76px; --catalogue-table-space: 20px; }
.catalogue-subnav { position: sticky; top: 68px; z-index: 20; background: rgba(255,255,255,.98); }
.catalogue-subnav > div { display: flex; gap: 24px; min-height: 48px; align-items: center; }
.catalogue-subnav a { color: var(--site-muted); font-size: var(--site-small); text-decoration: none; }
.catalogue-subnav a[aria-current] { color: var(--site-blue); }
.catalogue-layout { display: grid; grid-template-columns: 224px minmax(0,1fr); gap: 48px; padding-top: 56px; padding-bottom: 80px; }
.catalogue-sidebar { position: sticky; top: 148px; align-self: start; max-height: calc(100vh - 176px); overflow: auto; overscroll-behavior: contain; }
.catalogue-sidebar summary { font-size: var(--site-small); font-weight: 600; cursor: pointer; padding: 8px 0 16px; }
.catalogue-sidebar nav { display: grid; gap: 4px; }
.catalogue-sidebar a { display: block; border-left: 3px solid transparent; color: var(--site-muted); text-decoration: none; font-size: var(--site-small); padding: 9px 12px; line-height: 1.5; transition: color .15s ease, background-color .15s ease; }
.catalogue-sidebar a:hover { color: var(--site-blue); }
.catalogue-sidebar a.is-active { color: var(--site-blue); border-left-color: var(--site-blue); background: var(--site-primary-tint); font-weight: 600; }
.catalogue-document { min-width: 0; color: var(--site-ink); }
.catalogue-document h1 { font-size: var(--site-h1); font-weight: 600; line-height: 1.3; margin: 0 0 24px; text-wrap: balance; }
.catalogue-document h1 > span { display: inline-block; }
.catalogue-document h2 { font-size: var(--site-h2); font-weight: 600; margin: var(--catalogue-section-space) 0 28px; padding: 0; border: 0; scroll-margin-top: 64px; text-wrap: balance; }
.catalogue-document h3 { font-size: var(--site-h3); font-weight: 600; margin: 44px 0 20px; }
.catalogue-document > p { font-size: var(--site-body); line-height: var(--site-leading-prose); margin: 18px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.catalogue-document > h1 + p { color: var(--site-muted); font-size: var(--site-small); }
.catalogue-overview-photo { margin: 32px 0 44px; }
.catalogue-overview-photo img { display: block; width: 100%; height: auto; aspect-ratio: 2.4; object-fit: cover; object-position: center; }
.catalogue-overview-photo figcaption { margin-top: 10px; font-size: var(--site-micro); color: var(--site-muted); }
.catalogue-table-scroll { overflow-x: auto; margin: 24px 0 32px; border: 0; }
.catalogue-document table { width: 100%; border-collapse: collapse; font-size: var(--site-small); table-layout: auto; }
.catalogue-document th { background: none; color: var(--site-muted); font-weight: 500; text-align: left; }
.catalogue-document th, .catalogue-document td { padding: var(--catalogue-table-space) 16px; vertical-align: top; border: 0; }
.catalogue-document tbody tr:nth-child(even) { background: var(--site-ice); }
.catalogue-document td:first-child { min-width: 38px; }
.catalogue-document td:nth-child(2) { min-width: 140px; }
.catalogue-document td p, .catalogue-document th p { margin: 0; line-height: 1.8; white-space: pre-wrap; overflow-wrap: anywhere; }
.catalogue-document td p + p { margin-top: 8px; }
.catalogue-table-numbered th:first-child, .catalogue-table-numbered td:first-child { width: 54px; min-width: 54px; }
.catalogue-table-numbered td:first-child { color: var(--site-muted); font-variant-numeric: tabular-nums; }
.catalogue-table-numbered th:last-child, .catalogue-table-numbered td:last-child { width: 96px; min-width: 96px; }
.catalogue-table-numbered td:nth-child(2) { font-weight: 600; }
.catalogue-table-numbered th:first-child p { white-space: nowrap; }
@media (max-width: 1040px) { .catalogue-layout { grid-template-columns: 180px minmax(0,1fr); gap: 28px; } }
@media (max-width: 760px) { :root { --catalogue-section-space: 52px; --catalogue-table-space: 16px; } .catalogue-layout { display: block; padding-top: 28px; } .catalogue-sidebar { position: static; max-height: none; padding-bottom: 28px; } .catalogue-sidebar nav { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 16px; } .catalogue-document table { min-width: 680px; } .catalogue-document th,.catalogue-document td { padding: 16px 12px; } .catalogue-overview-photo img { aspect-ratio: 1.6; } }
@media (max-width: 560px) { .catalogue-sidebar nav { grid-template-columns: minmax(0,1fr); } }
