.archive {
  background: var(--bgc);
  color: var(--color-base);
}

.archive .archive-hero {
  background: var(--bgc-grey);
  margin: 0;
  padding: var(--spacing-xl) var(--spacing-md);
}

.archive .archive-hero .containerInterne,
.archive .archive-note .containerInterne {
  gap: var(--spacing-md);
}

.archive .archive-hero h1 {
  font-size: clamp(2.25rem, 6vw, 4rem);
  max-width: 60rem;
}

.archive .archive-hero .lead {
  color: var(--color-muted);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  max-width: 54rem;
}

.archive-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem 1.2rem;
  list-style: none;
}

.archive-meta li {
  color: var(--color-brand-strong);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.archive .archive-note {
  margin: 0;
  padding: var(--spacing-lg) var(--spacing-md) 0;
}

.archive .archive-note .statement {
  max-width: 54rem;
}

.archive-navigation {
  border-top: 0;
  padding: var(--spacing-lg) var(--spacing-md) 0;
}

.archive-navigation .containerInterne {
  max-width: 54rem;
}

.archive-toc,
.archive-mode-switch {
  background: var(--bgc-card);
  border: var(--border);
  border-radius: var(--radius);
  display: grid;
  gap: var(--spacing-sm);
  padding: var(--spacing-md);
}

.archive-toc h2,
.archive-mode-switch h2 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
  margin: 0;
}

.archive-toc ol {
  display: grid;
  gap: .45rem 1.6rem;
  list-style-position: inside;
  margin: 0;
  padding: 0;
}

.archive-toc a {
  color: var(--color-brand-strong);
  font-weight: 650;
}

.archive-mode-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.archive-mode-button {
  background: transparent;
  border: 1px solid var(--color-brand-strong);
  border-radius: 999px;
  color: var(--color-brand-strong);
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: .65rem 1rem;
}

.archive-mode-button:hover,
.archive-mode-button:focus-visible,
.archive-mode-button.is-active {
  background: var(--color-brand-strong);
  color: #fff;
}

.archive-mode-status {
  color: var(--color-muted);
  font-size: .92rem;
  margin: 0;
}

.archive-slides[data-reading-mode="short"] .archive-slide.is-secondary {
  display: none;
}

.archive section.publication[id],
.archive section.publication h1[id],
.archive section.publication h2[id],
.archive section.publication h3[id] {
  scroll-margin-top: 6rem;
}

.archive section.publication {
  margin: 0 auto;
  max-width: 48rem;
  padding: var(--spacing-lg) var(--spacing-md) 0;
}

.archive section.publication + section.publication {
  border-top: 1px solid rgba(65, 70, 52, .14);
  margin-top: var(--spacing-lg);
}

.archive section.publication:last-child {
  padding-bottom: var(--spacing-xl);
}

.archive section.publication h1,
.archive section.publication h2,
.archive section.publication h3,
.archive section.publication h4,
.archive section.publication h5 {
  color: var(--color-brand-strong);
  line-height: 1.2;
  margin-top: var(--spacing-lg);
  text-align: left;
}

.archive section.publication h1,
.archive section.publication h2 {
  font-size: clamp(1.55rem, 3vw, 2.25rem);
}

.archive section.publication h3 {
  font-size: clamp(1.25rem, 2vw, 1.55rem);
}

.archive section.publication h4 {
  font-size: 1.15rem;
}

.archive section.publication p,
.archive section.publication li {
  color: var(--color-base);
  font-size: clamp(1rem, 1.4vw, 1.08rem);
  line-height: 1.72;
}

.archive section.publication p {
  margin-top: 1rem;
}

.archive section.publication ul,
.archive section.publication ol {
  display: grid;
  gap: .5rem;
  margin: 1rem 0 0 1.3rem;
}

.archive img {
  border: 1px solid rgba(65, 70, 52, .18);
  border-radius: calc(var(--radius) * .7);
  display: block;
  height: auto;
  margin: 1.3rem auto;
  max-width: 100%;
}

.archive .center {
  text-align: center;
}

.archive .varfloat {
  margin: 1rem 0;
}

.archive .varfloat img {
  margin: 0;
  width: 100%;
}

.archive .caption {
  color: var(--color-muted);
  font-size: .9rem;
  text-align: center;
}

.archive a {
  overflow-wrap: anywhere;
}

@media (min-width: 720px) {
  .archive-toc ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .archive .varfloat.left {
    clear: left;
    float: left;
    margin: .5rem 1.2rem .8rem 0;
  }

  .archive .varfloat.right {
    clear: right;
    float: right;
    margin: .5rem 0 .8rem 1.2rem;
  }
}

@media (min-width: 1200px) {
  .archive section.publication {
    max-width: 54rem;
  }
}
