/* V17: the archive becomes a photograph-led closing chapter. */
.archive-cover {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 660px;
  height: 72svh;
  max-height: 780px;
  padding: 64px var(--gutter) 44px;
  overflow: hidden;
  background: var(--navy);
  color: var(--cream);
  scroll-margin-top: 90px;
}
.archive-cover-photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
}
.archive-cover::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(4,13,19,.74), rgba(4,13,19,.12) 65%),
    linear-gradient(0deg, rgba(7,19,27,.85), transparent 45%);
}
.archive-cover-title h2 {
  max-width: 650px;
  font-size: clamp(48px, 5.8vw, 88px);
  line-height: .96;
  letter-spacing: -.035em;
  text-wrap: initial;
}
.archive-cover-title h2 em {
  display: inline-block;
  font-size: 1.08em;
  line-height: .92;
}
.archive-cover-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}
.archive-cover-action { padding-bottom: 3px; }
.archive-gallery-link {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  min-height: 64px;
  font-size: 11px;
  letter-spacing: .12em;
}
.archive-gallery-link > span:first-child {
  position: relative;
  padding-block: 8px;
}
.archive-gallery-link > span:first-child::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s var(--ease);
}
.archive-link-arrow {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(240,238,231,.65);
  border-radius: 50%;
  transition: background .25s, color .25s;
}
.archive-link-arrow .icon { width: 26px; height: 26px; }
.archive-gallery-link:hover > span:first-child::after { transform: scaleX(1); }
.archive-gallery-link:hover .archive-link-arrow,
.archive-gallery-link:focus-visible .archive-link-arrow { background: var(--cream); color: var(--navy); }
.archive-cover-caption {
  margin-top: 31px;
  font-size: 9px;
  line-height: 1.6;
  letter-spacing: .12em;
  color: #e4e5df;
}
.archive-inset { width: clamp(150px, 15vw, 220px); flex-shrink: 0; }
.archive-inset img {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border: 5px solid var(--cream);
}
.archive-inset figcaption {
  margin-top: 13px;
  font-size: 9px;
  letter-spacing: .08em;
  line-height: 1.5;
  color: #e4e5df;
  text-align: right;
}

/* One quiet sign-off on all nine pages. */
.site-footer.editorial-footer {
  padding: 44px var(--gutter) 15px;
  background: var(--navy);
  color: var(--cream);
  border-top: 1px solid var(--line);
}
.editorial-footer .footer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.footer-signature { display: inline-flex; align-items: center; gap: 21px; min-height: 50px; }
.footer-signature img { display: block; width: 42px; height: 38px; object-fit: contain; }
.footer-wordmark { font-size: clamp(25px, 2.6vw, 38px); font-weight: 500; letter-spacing: -.035em; white-space: nowrap; }
.footer-links { display: flex; align-items: center; gap: 34px; }
.footer-links a {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.footer-links a:hover { text-decoration: underline; }
.editorial-footer .footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 30px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  font-size: 9px;
  letter-spacing: .1em;
  color: var(--muted);
}
.footer-bottom .footer-top { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; }
.footer-top .icon { width: 16px; height: 16px; }
.footer-top:hover { color: var(--cream); }

@media (max-width: 900px) {
  .archive-cover { height: 78svh; min-height: 620px; padding-top: 48px; }
  .archive-cover-title h2 { font-size: clamp(48px, 7.2vw, 66px); }
  .archive-inset { width: 155px; }
  .footer-links { gap: 22px; }
  .footer-signature { gap: 14px; }
  .footer-signature img { width: 35px; height: 32px; }
}
@media (max-width: 640px) {
  .archive-cover { height: 82svh; min-height: 610px; max-height: 780px; padding: 40px 22px 29px; }
  .archive-cover-title h2 { font-size: clamp(36px, 10.5vw, 62px); }
  .archive-cover-photo { object-position: 51% 45%; }
  .archive-cover::before {
    background: linear-gradient(180deg, rgba(4,13,19,.66), rgba(4,13,19,.06) 44%, rgba(7,19,27,.82)),
      linear-gradient(90deg, rgba(4,13,19,.24), transparent 80%);
  }
  .archive-cover-bottom { gap: 18px; }
  .archive-gallery-link { gap: 13px; min-height: 50px; font-size: 10px; letter-spacing: .08em; }
  .archive-link-arrow { width: 49px; height: 49px; }
  .archive-link-arrow .icon { width: 23px; height: 23px; }
  .archive-cover-caption { max-width: 180px; margin-top: 22px; font-size: 9px; line-height: 1.8; letter-spacing: .06em; }
  .archive-inset { width: 112px; }
  .archive-inset img { border-width: 3px; }
  .archive-inset figcaption { font-size: 9px; line-height: 1.6; margin-top: 9px; text-wrap: balance; }
  .archive-inset figcaption > span { display: block; }
  .archive-inset figcaption > .archive-caption-separator { display: none; }
  .site-footer.editorial-footer { padding: 30px 22px 12px; }
  .editorial-footer .footer-main { align-items: flex-start; flex-direction: column; gap: 14px; }
  .footer-signature { gap: 15px; }
  .footer-wordmark { font-size: clamp(25px, 7vw, 32px); }
  .footer-signature img { width: 33px; height: 30px; }
  .footer-links { width: 100%; justify-content: space-between; gap: 12px; }
  .footer-links a { font-size: 10px; }
  .editorial-footer .footer-bottom { margin-top: 15px; padding-top: 8px; gap: 10px; font-size: 8px; }
  .editorial-footer .footer-bottom > span:nth-child(2) { display: none; }
  .footer-bottom .footer-top { gap: 10px; }
}
@media (max-width: 359px) {
  .archive-inset { width: 90px; }
  .archive-cover-bottom { gap: 12px; }
  .archive-gallery-link { gap: 9px; font-size: 9px; }
  .archive-link-arrow { width: 44px; height: 44px; }
  .footer-wordmark { font-size: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .archive-gallery-link > span:first-child::after,
  .archive-link-arrow { transition: none; }
}
