/* ===== Archive pages (2024 / 2025) ============================ */

.archiveHero h1 {
  font-style: italic;
}

.archiveLede {
  padding-top: 12svh;
  padding-bottom: 0;
}
.archiveLedeInner {
  width: min(960px, 100%);
  margin: 0 auto;
}
.archiveLedeInner .kicker { margin-bottom: 14px; }
.archiveLedeInner .lede {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 400;
  font-size: clamp(24px, 2.4vw, 36px);
  line-height: 1.35;
  color: var(--cream);
  margin: 0;
}
.archiveLedeInner .lede em {
  color: var(--gold);
  font-style: italic;
}

.archiveBlock {
  padding-top: 12svh;
  padding-bottom: 12svh;
}
.archiveCat {
  width: min(1100px, 100%);
  margin: 0 auto;
}
.archiveCatHead {
  display: grid;
  gap: 12px;
  margin-bottom: 7svh;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(216, 179, 74, 0.18);
}
.archiveCatHead .kicker {
  margin: 0;
}
.archiveCatTitle {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-style: italic;
  color: var(--gold);
  font-size: clamp(44px, 6vw, 96px);
  line-height: 0.95;
  letter-spacing: -0.01em;
  margin: 0;
}

.winner {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
  gap: 36px 60px;
  padding: 6svh 0;
  border-bottom: 1px solid rgba(255, 250, 240, 0.08);
}
.winner:last-of-type {
  border-bottom: none;
}
.winnerCat {
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 500;
}
.winnerName {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: clamp(36px, 4.8vw, 78px);
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--cream);
  margin: 14px 0 0;
  grid-column: 1 / -1;
}
.winnerBio {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: var(--muted);
  max-width: 64ch;
}
.winnerSeal {
  margin: 0;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(216, 179, 74, 0.7);
  font-weight: 500;
}

/* Highlight Icon Award */
.winnerIcon .winnerName { color: var(--gold); }
.winnerIcon { border-top: 1px solid rgba(216, 179, 74, 0.22); }

/* Photo breaks between categories */
.archiveBreak {
  min-height: 56svh;
  background-color: #0a0807;
  background-size: cover;
  background-position: center;
  position: relative;
}
.archiveBreak::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 6, 4, 0.55), rgba(8, 6, 4, 0.85));
}
.archiveBreakA { background-image: url('g07.jpg'); background-position: center 20%; }
.archiveBreakB { background-image: url('g19.jpg'); background-position: center 30%; }
.archiveBreakC { background-image: url('arrival-red.jpg'); background-position: center 30%; }
.archiveBreakD { background-image: url('media-redcarpet.jpg'); background-position: center 22%; }
.archiveBreakE { background-image: url('g13.jpg'); background-position: center 28%; }

/* Stage / performers */
.archiveStage {
  padding-top: 12svh;
  padding-bottom: 14svh;
}
.archiveStageInner {
  width: min(1100px, 100%);
  margin: 0 auto;
}
.stageNote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: clamp(22px, 2vw, 32px);
  color: var(--cream);
  margin: 0 0 8svh;
  max-width: 60ch;
}
.performerList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 4svh;
}
.performerList li {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
  gap: 24px 60px;
  padding: 4svh 0;
  border-top: 1px solid rgba(255, 250, 240, 0.08);
}
.performerName {
  margin: 0;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-style: italic;
  color: var(--gold);
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.0;
}
.performerBio {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: var(--muted);
  max-width: 64ch;
}

/* Closing block */
.archiveClose {
  position: relative;
  min-height: 90svh;
  display: grid;
  align-items: end;
  padding: 36px;
  isolation: isolate;
  overflow: hidden;
  background: var(--ink);
}
.archiveClose .fullImage {
  filter: saturate(0.82) brightness(0.55);
}
.archiveClose::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 50% 50%, rgba(216, 179, 74, 0.1), transparent 30%),
    linear-gradient(180deg, rgba(9, 7, 5, 0.2), rgba(9, 7, 5, 0.95));
}
.archiveCloseInner {
  width: min(1100px, 100%);
  margin: 0 auto;
  padding-bottom: 7svh;
  display: grid;
  gap: 18px;
}
.archiveCloseTitle {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: clamp(56px, 8vw, 120px);
  line-height: 0.92;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin: 0;
}
.archiveCloseTitle em {
  color: var(--gold);
  font-style: italic;
}
.archiveCloseLead {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 56ch;
}
.archiveCloseLinks {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 28px;
  align-items: center;
  margin-top: 18px;
}
.archiveCta {
  display: inline-flex;
  align-items: center;
  min-height: 54px;
  padding: 0 28px;
  background: var(--cream);
  color: var(--ink);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 100px;
  transition: transform 0.3s ease, background 0.3s ease;
}
.archiveCta:hover { background: #fff; transform: translateY(-2px); }
.archiveSecondary {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(216, 179, 74, 0.4);
  padding-bottom: 2px;
}
.archiveSecondary:hover { color: #fff; border-bottom-color: #fff; }

/* ===== Desktop refinements ============================ */
@media (min-width: 900px) {
  .archiveBlock { padding-top: 14svh; padding-bottom: 14svh; }
  .winner {
    grid-template-columns: minmax(260px, 1fr) minmax(0, 2.6fr);
    gap: 40px 80px;
  }
  .winnerName { grid-column: 2 / 3; margin-top: 0; }
  .winnerCat { grid-column: 1 / 2; margin-top: 16px; }
  .winnerSeal { grid-column: 1 / 2; }
  .winnerBio { grid-column: 2 / 3; }
}

@media (max-width: 720px) {
  .winner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 5svh 0;
  }
  .winnerName { font-size: clamp(32px, 9vw, 56px); margin-top: 6px; }
  .archiveCatHead { margin-bottom: 5svh; padding-bottom: 18px; }
  .performerList li {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 3svh 0;
  }
  .archiveClose { padding: 24px; min-height: 80svh; }
}
