.catalogue-page {
  background: var(--color-paper);
}

.catalogue-hero {
  border-bottom: var(--border-width) solid var(--border-color);
}

.catalogue-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
  gap: clamp(var(--space-10), 6vw, var(--space-20));
  align-items: end;
}

.catalogue-hero h1 {
  margin-block: var(--space-3) var(--space-5);
}

.catalogue-hero__note {
  padding-top: var(--space-5);
  border-top: var(--border-width) solid var(--color-copper);
  color: var(--color-graphite);
}

.catalogue-hero__note p + p {
  margin-top: var(--space-2);
}

.catalogue-mode-nav {
  background: var(--color-paper);
  border-bottom: var(--border-width) solid var(--border-color);
}

.catalogue-mode-nav__inner {
  display: flex;
  gap: var(--space-8);
}

.catalogue-mode-nav a {
  position: relative;
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  padding-block: var(--space-4);
  color: var(--color-graphite);
  font-size: var(--font-body-small);
  font-weight: 600;
  letter-spacing: var(--tracking-ui);
  text-decoration: none;
}

.catalogue-mode-nav a::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: transparent;
  content: "";
}

.catalogue-mode-nav a[aria-current="page"] {
  color: var(--color-ink);
}

.catalogue-mode-nav a[aria-current="page"]::after {
  background: var(--color-copper);
}

.catalogue-workspace {
  padding-block: clamp(var(--space-12), 6vw, var(--space-20));
  border-bottom: var(--border-width) solid var(--border-color);
}

.catalogue-workspace__intro {
  max-width: var(--content-text);
  margin-bottom: var(--space-8);
}

.catalogue-workspace__intro h2 {
  margin-block: var(--space-2) var(--space-3);
  font-size: var(--font-h3);
}

.catalogue-workspace__intro p:last-child {
  color: var(--color-graphite);
}

.catalogue-search-form {
  border-top: var(--border-width) solid var(--color-ink);
}

.catalogue-search-form__primary {
  display: grid;
  grid-template-columns: max-content minmax(14rem, 1.4fr) max-content minmax(10rem, 0.55fr) auto;
  gap: var(--space-3) var(--space-4);
  align-items: center;
  padding-block: var(--space-6);
  border-bottom: var(--border-width) solid var(--border-color);
}

.catalogue-search-form__primary--authors {
  grid-template-columns: max-content minmax(16rem, 1fr) auto;
}

.catalogue-search-form__primary > label,
.catalogue-filters label {
  color: var(--color-ink);
  font-family: var(--font-sans);
  font-size: var(--font-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-ui);
}

.catalogue-search-form__primary .filter-control,
.catalogue-filters .filter-control {
  width: 100%;
}

.catalogue-search-form__primary .button {
  min-width: 9rem;
}

.catalogue-filters {
  border-bottom: var(--border-width) solid var(--border-color);
}

.catalogue-filters summary {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  padding-block: var(--space-4);
  color: var(--color-ink);
  cursor: pointer;
  font-weight: 600;
}

.catalogue-filters summary::marker {
  color: var(--color-copper);
}

.catalogue-filters__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-5);
  padding-block: var(--space-4) var(--space-6);
}

.catalogue-filters__grid--authors {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.75fr) minmax(0, 0.75fr);
}

.catalogue-filters label {
  display: grid;
  gap: var(--space-2);
}

.catalogue-filters__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
  padding-bottom: var(--space-6);
}

.catalogue-results-layout {
  display: grid;
  grid-template-columns: minmax(12rem, 0.32fr) minmax(0, 1fr);
  gap: clamp(var(--space-10), 5vw, var(--space-20));
  align-items: start;
}

.catalogue-results-sidebar {
  position: sticky;
  top: var(--space-6);
  padding-top: var(--space-4);
  border-top: var(--border-width) solid var(--color-copper);
}

.catalogue-results-sidebar h2 {
  margin-block: var(--space-2) var(--space-3);
  font-size: var(--font-h3);
}

.catalogue-results-sidebar > p:not(.eyebrow):not(.result-count) {
  color: var(--color-graphite);
}

.catalogue-results-sidebar .result-count {
  margin-top: var(--space-5);
  color: var(--color-graphite);
  font-size: var(--font-meta);
}

.catalogue-results-main {
  min-width: 0;
}

.catalogue-publication-list,
.catalogue-author-list {
  border-bottom: var(--border-width) solid var(--border-color);
}

.catalogue-publication-row {
  --row-accent: var(--color-copper);
  position: relative;
  padding-block: var(--space-7);
  border-top: var(--border-width) solid var(--border-color);
}

.catalogue-publication-row[data-journal="erss"] {
  --row-accent: var(--color-deep-teal);
}

.catalogue-publication-row::before {
  position: absolute;
  top: -1px;
  left: 0;
  width: 4rem;
  height: 1px;
  background: var(--row-accent);
  content: "";
}

.catalogue-publication-row .eyebrow {
  color: var(--row-accent);
}

.catalogue-publication-row__title {
  max-width: 50rem;
  margin-block: var(--space-2) var(--space-3);
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
}

.catalogue-publication-row__title a {
  color: var(--color-ink);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.16em;
}

.catalogue-publication-row__authors {
  margin-bottom: var(--space-3);
  color: var(--color-graphite);
}

.catalogue-publication-row__authors a {
  color: var(--color-ink);
  text-decoration-color: var(--border-color);
  text-underline-offset: 0.14em;
}

.catalogue-publication-row__metadata {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-4);
  color: var(--color-graphite);
  font-size: var(--font-meta);
}

.catalogue-publication-row__metadata abbr {
  text-decoration: none;
}

.catalogue-publication-row__doi {
  margin-top: var(--space-4);
  font-size: var(--font-body-small);
  overflow-wrap: anywhere;
}

.catalogue-publication-row__doi a {
  color: var(--color-ink);
  text-decoration-color: var(--row-accent);
  text-underline-offset: 0.18em;
}

.catalogue-author-row {
  display: grid;
  grid-template-columns: minmax(15rem, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(var(--space-8), 4vw, var(--space-16));
  padding-block: var(--space-7);
  border-top: var(--border-width) solid var(--border-color);
}

.catalogue-author-row__identity,
.catalogue-author-row__publication {
  min-width: 0;
}

.catalogue-author-row__identity h2 {
  margin-block: var(--space-2) var(--space-3);
  font-size: var(--font-h3);
}

.catalogue-author-row__affiliation {
  color: var(--color-graphite);
}

.catalogue-author-row__identifiers {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5);
  margin-top: var(--space-4);
  color: var(--color-graphite);
  font-size: var(--font-meta);
  overflow-wrap: anywhere;
}

.catalogue-author-row__publication {
  padding-top: var(--space-1);
}

.catalogue-author-row__publication p + p {
  margin-top: var(--space-2);
}

.catalogue-author-row__label {
  color: var(--color-graphite);
  font-size: var(--font-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-ui);
  text-transform: uppercase;
}

.catalogue-author-row__publication .text-link {
  margin-top: var(--space-4);
}

.catalogue-author-detail {
  padding-block: clamp(var(--space-12), 6vw, var(--space-20));
  background: var(--color-ink);
  color: var(--color-paper);
}

.catalogue-author-detail__grid {
  display: grid;
  grid-template-columns: minmax(15rem, 0.58fr) minmax(0, 1.42fr);
  gap: clamp(var(--space-10), 6vw, var(--space-20));
  align-items: start;
}

.catalogue-author-detail .eyebrow,
.catalogue-author-detail__meta {
  color: var(--color-stone);
}

.catalogue-author-detail h2,
.catalogue-author-detail h3,
.catalogue-author-detail strong {
  color: var(--color-paper);
}

.catalogue-author-detail h2 {
  margin-block: var(--space-2) var(--space-6);
  font-size: var(--font-body-small);
  font-family: var(--font-sans);
  font-weight: 600;
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}

.catalogue-author-detail h3 {
  margin-bottom: var(--space-4);
  font-size: var(--font-h2);
}

.catalogue-author-detail__identity > p + p {
  margin-top: var(--space-3);
}

.catalogue-author-detail a {
  color: var(--color-paper);
}

.catalogue-author-detail__publications {
  min-width: 0;
  border-bottom: var(--border-width) solid var(--color-graphite);
}

.catalogue-author-detail .catalogue-publication-row {
  border-top-color: var(--color-graphite);
}

.catalogue-author-detail .catalogue-publication-row__title a,
.catalogue-author-detail .catalogue-publication-row__authors,
.catalogue-author-detail .catalogue-publication-row__authors a,
.catalogue-author-detail .catalogue-publication-row__metadata,
.catalogue-author-detail .catalogue-publication-row__doi a {
  color: var(--color-paper);
}

.catalogue-author-detail .catalogue-publication-row__authors a {
  text-decoration-color: var(--color-graphite);
}

.catalogue-author-detail .catalogue-publication-row__doi a {
  text-decoration-color: var(--color-copper);
}

@media (max-width: 64rem) {
  .catalogue-hero__grid,
  .catalogue-author-detail__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .catalogue-search-form__primary {
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .catalogue-search-form__primary .button {
    grid-column: 2;
    justify-self: start;
  }

  .catalogue-search-form__primary--authors {
    grid-template-columns: max-content minmax(0, 1fr);
  }

  .catalogue-filters__grid,
  .catalogue-filters__grid--authors {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 48rem) {
  .catalogue-mode-nav__inner {
    gap: var(--space-6);
  }

  .catalogue-workspace {
    padding-block: var(--space-12);
  }

  .catalogue-search-form__primary,
  .catalogue-search-form__primary--authors,
  .catalogue-filters__grid,
  .catalogue-filters__grid--authors,
  .catalogue-results-layout,
  .catalogue-author-row,
  .catalogue-author-detail__grid {
    grid-template-columns: 1fr;
  }

  .catalogue-search-form__primary {
    gap: var(--space-2);
  }

  .catalogue-search-form__primary > label:not(:first-child) {
    margin-top: var(--space-3);
  }

  .catalogue-search-form__primary .button {
    grid-column: 1;
    width: 100%;
    margin-top: var(--space-3);
  }

  .catalogue-filters__actions .button {
    width: 100%;
  }

  .catalogue-results-sidebar {
    position: static;
    margin-bottom: var(--space-2);
  }

  .catalogue-author-row {
    gap: var(--space-6);
  }

  .catalogue-author-row__publication {
    padding-top: var(--space-5);
    border-top: var(--border-width) solid var(--border-color);
  }

  .catalogue-publication-row__doi,
  .catalogue-author-row__identifiers,
  .catalogue-author-detail {
    overflow-wrap: anywhere;
  }
}
