.journal-archive {
  display: block;
  background: #fff;
  color: #000;
  font-family: Nb International, Arial, sans-serif;
  font-size: 16px;
  letter-spacing: -.025em;
  -webkit-font-smoothing: antialiased;
}

.journal-archive * { box-sizing: border-box; }
.journal-archive :focus-visible { outline: 2px solid #ff7903; outline-offset: 6px; }
.archive-container { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 40px; }
.archive-skip { position: absolute; left: 40px; top: -80px; padding: 12px; background: white; z-index: 10; }
.archive-skip:focus { top: 12px; }

.archive-hero { padding: 140px 0 48px; }
.archive-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 14px; line-height: 1.4; font-weight: 400; letter-spacing: inherit; color: #777; }

.archive-library { padding-bottom: 144px; scroll-margin-top: 24px; }
.archive-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 21px; margin-bottom: 32px; }
.archive-filters { position: relative; display: flex; gap: 28px; flex-wrap: wrap; }
.archive-filters button { position: relative; display: flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 8px 0; font: inherit; font-size: 14px; line-height: 1; color: #888; cursor: pointer; transition: color .2s; }
.archive-filters button:hover, .archive-filters button[aria-pressed="true"] { color: #000; }
.archive-filter-indicator { position: absolute; top: 0; left: 0; height: 2px; border-radius: 1000px; background: #000; pointer-events: none; }
.archive-filter-indicator.is-interactive { transition: transform .35s ease, width .35s ease; }
.archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 24px; }
.archive-card { color: inherit; text-decoration: none; cursor: pointer; display: flex; flex-direction: column; gap: 14px; min-width: 0; animation: archive-reveal .55s cubic-bezier(.16, 1, .3, 1) backwards; animation-delay: calc(var(--card-order) * 45ms); }
.archive-card[hidden] { display: none; }
.archive-card-cover { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; background: #eee; }
.archive-card-cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16, 1, .3, 1); }
.archive-card:hover .archive-card-cover img { transform: scale(1.035); }
.archive-card .journal-article__meta { margin-top: 4px; }
.archive-card h2 { margin: 0; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.15; font-weight: 400; letter-spacing: -.035em; max-width: 95%; }

@keyframes archive-reveal {
  from { opacity: 0; transform: translateY(28px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 991px) {

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

@media (max-width: 767px) {
  .archive-container { padding-left: 20px; padding-right: 20px; }
  .archive-hero { padding: 120px 0 32px; }
  .archive-toolbar { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 24px; }
  .archive-filters { gap: 22px; row-gap: 16px; }
  .archive-grid { grid-template-columns: 1fr; gap: 40px; }
  .archive-card h2 { font-size: 20px; }
  .archive-library { padding-bottom: 80px; }
}

@media (prefers-reduced-motion: reduce) {
  .archive-card { animation: none; }
  .journal-archive *, .journal-archive *::after { transition: none; }
}

@media (max-width: 479px) {
  .archive-back, .archive-contact { font-size: 11px; white-space: nowrap; }
}

.journal-archive .section-footer { width: 100%; margin-top: 0; overflow: clip; }
