.archive-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.archive-page a:focus-visible,
.archive-page button:focus-visible {
  outline: 2px solid var(--color-focus-ring);
  outline-offset: 3px;
}

.archive-hero {
  padding-block: clamp(7rem, 13vw, 12rem) var(--space-24);
}

.archive-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(340px, 42fr);
  gap: clamp(var(--space-8), 4vw, var(--space-12));
  align-items: center;
}

.archive-hero__grid > * { min-width: 0; width: 100%; }
.archive-hero__copy { max-width: 45rem; }
.archive-hero__signal,
.archive-closing__tag {
  display: inline-block;
  margin-block-end: var(--space-6);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-fuchsia-500);
  color: var(--color-white-100);
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.2;
  transform: rotate(-2deg);
}

.archive-hero h1 { max-width: 10.5ch; margin-block-end: var(--space-6); }
.archive-hero__lead { max-width: 57ch; border-top: 1px solid var(--color-fuchsia-500); padding-top: var(--space-4); }
.archive-hero__lead p { margin-block-end: 0; }
.archive-hero__actions { display: flex; width: 100%; min-width: 0; margin-top: var(--space-6); }
.archive-hero__media { min-width: 0; aspect-ratio: 4 / 5; margin: 0; }
.archive-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 55%; }
.archive-hero__media figcaption { position: relative; z-index: 2; padding: var(--space-2) var(--space-3); background: var(--color-ink-950); }

.archive-reading__intro { width: 42%; min-width: 0; max-width: 60ch; }
.archive-reading__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-12); }
.archive-reading__cards > * { min-width: 0; width: 100%; }
.archive-reading__card { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-6); border: var(--border-subtle); background: var(--color-violet-900); }
.archive-reading__card > * { margin: 0; }
.archive-reading__number { color: var(--color-lime-400); font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4.5rem); font-weight: 700; letter-spacing: -.06em; line-height: .9; }
.archive-reading__card h3 { font-size: clamp(1.45rem, 2.2vw, 2rem); }
.archive-reading__card p { max-width: 48ch; color: var(--color-white-300); }
.archive-reading__card--table { border-bottom: 3px solid var(--color-white-100); }
.archive-reading__card--cards h3 { border-bottom: 2px solid var(--color-fuchsia-500); padding-bottom: var(--space-3); }

.archive-dinner__grid { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: clamp(var(--space-8), 4vw, var(--space-12)); align-items: start; }
.archive-dinner__grid > * { min-width: 0; width: 100%; }
.archive-dinner__media { aspect-ratio: 3 / 2; margin: 0; }
.archive-dinner__media img { width: 100%; height: 100%; object-fit: cover; object-position: 32% center; }
.archive-dinner__copy { display: flex; flex-direction: column; min-width: 0; gap: var(--space-6); padding-top: var(--space-8); }
.archive-dinner__copy > * { margin: 0; }
.archive-dinner__index { color: var(--color-fuchsia-500); font-family: var(--font-heading); font-size: var(--text-sm); font-weight: 700; letter-spacing: .12em; }
.archive-dinner__copy h2 { max-width: 17ch; }
.archive-dinner__paragraphs { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.archive-dinner__paragraphs p { max-width: 50ch; margin: 0; }
.archive-dinner__paragraphs p + p { border-inline-start: 2px solid var(--color-white-100); padding-inline-start: var(--space-4); }
.archive-dinner__link { align-self: flex-start; }

.archive-cardroom__top { display: grid; grid-template-columns: minmax(0, 38fr) minmax(0, 62fr); gap: clamp(var(--space-8), 4vw, var(--space-12)); align-items: end; }
.archive-cardroom__top > * { min-width: 0; width: 100%; }
.archive-cardroom__heading h2 { max-width: 11ch; }
.archive-cardroom__media { aspect-ratio: 16 / 9; margin: 0; }
.archive-cardroom__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.archive-cardroom__notes { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--space-6); margin-top: var(--space-8); }
.archive-cardroom__notes > * { min-width: 0; width: 100%; }
.archive-cardroom__note { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding: var(--space-6); border: var(--border-subtle); background: var(--color-violet-900); }
.archive-cardroom__note > * { margin: 0; }
.archive-cardroom__note p { max-width: 52ch; color: var(--color-white-300); }
.archive-cardroom__fragment { color: var(--color-fuchsia-500); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; letter-spacing: .08em; }
.archive-cardroom__text-link { display: inline-flex; min-height: 44px; align-items: center; width: fit-content; max-width: 100%; margin-top: var(--space-6); border-bottom: 1px solid var(--color-lime-400); color: var(--color-white-100); font-family: var(--font-heading); font-weight: 700; text-decoration: none; }

.archive-directions__inner { position: relative; padding: clamp(var(--space-6), 5vw, var(--space-12)); }
.archive-directions__inner h2 { max-width: 18ch; }
.archive-directions__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-top: var(--space-8); }
.archive-directions__item { display: grid; grid-template-columns: minmax(3rem, .15fr) minmax(10rem, .3fr) minmax(0, 1fr); gap: var(--space-4); align-items: center; min-width: 0; min-height: 88px; padding: var(--space-4) 0; border-top: var(--border-subtle); text-decoration: none; }
.archive-directions__item > * { min-width: 0; }
.archive-directions__number { color: var(--color-lime-400); font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; }
.archive-directions__item:nth-child(2) .archive-directions__number { color: var(--color-fuchsia-500); }
.archive-directions__name { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: 700; }
.archive-directions__sentence { max-width: 60ch; color: var(--color-white-300); }

.archive-practical__panel { display: grid; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); gap: clamp(var(--space-8), 5vw, var(--space-12)); padding: clamp(var(--space-6), 5vw, var(--space-12)); }
.archive-practical__panel > * { min-width: 0; width: 100%; }
.archive-practical__address { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.archive-practical__address > * { margin: 0; }
.archive-practical__address address { color: var(--color-white-100); font-family: var(--font-heading); font-size: clamp(1.4rem, 3vw, 2rem); font-style: normal; font-weight: 700; line-height: 1.2; }
.archive-practical__address p { max-width: 42ch; color: var(--color-white-300); }
.archive-practical__contact { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.archive-practical__contact > * { margin: 0; }
.archive-practical__contact p { max-width: 58ch; }
.archive-practical__details { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); min-width: 0; font-family: var(--font-heading); font-variant-numeric: tabular-nums; font-weight: 700; }
.archive-practical__details > * { min-width: 0; }

.archive-faq__layout { display: grid; grid-template-columns: minmax(0, 76fr) minmax(0, 24fr); gap: var(--space-8); }
.archive-faq__layout > * { min-width: 0; }
.archive-faq__content { width: 100%; max-width: 56.25rem; }
.archive-faq__intro { max-width: 60ch; }
.archive-faq__list,
.archive-faq--cards__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); margin-top: var(--space-8); }
.archive-faq__list > *,
.archive-faq--cards__list > * { min-width: 0; width: 100%; }
.archive-faq__edge { border-inline-start: 2px solid var(--color-fuchsia-500); }
.archive-faq--cards__intro { width: 46%; min-width: 0; max-width: 60ch; }
.archive-faq--cards__list { width: 88%; min-width: 0; max-width: 70rem; }
.archive-faq__item { border: var(--border-subtle); background: rgba(26, 16, 40, .58); }
.archive-faq__item h3 { margin: 0; font-size: inherit; }
.archive-faq__trigger { display: grid; grid-template-columns: minmax(2rem, auto) minmax(0, 1fr) minmax(2rem, auto); gap: var(--space-4); align-items: center; width: 100%; min-height: 56px; padding: var(--space-4); background: transparent; color: var(--color-white-100); font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 700; letter-spacing: -.02em; line-height: 1.25; text-align: left; }
.archive-faq__trigger > * { min-width: 0; }
.archive-faq__faq-number { color: var(--color-lime-400); font-size: var(--text-sm); letter-spacing: .08em; }
.archive-faq__state { justify-self: end; color: var(--color-lime-400); font-size: var(--text-2xl); line-height: 1; }
.archive-faq__trigger[aria-expanded="true"] { border-bottom: 1px solid var(--color-violet-700); background: var(--color-violet-900); }
.archive-faq__trigger[aria-expanded="true"] .archive-faq__state { color: var(--color-fuchsia-500); }
.archive-faq__panel { padding: var(--space-6) var(--space-6) var(--space-6) calc(var(--space-6) + 2rem + var(--space-4)); background: var(--color-violet-900); }
.archive-faq__panel p { max-width: 66ch; margin: 0; color: var(--color-white-100); }

.archive-closing__grid { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: var(--space-8); align-items: stretch; }
.archive-closing__grid > * { min-width: 0; }
.archive-closing__copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: var(--space-6); }
.archive-closing__copy > * { margin: 0; }
.archive-closing__copy h2 { max-width: 16ch; border-bottom: 2px solid var(--color-lime-400); padding-bottom: var(--space-4); }
.archive-closing__copy p { max-width: 56ch; }
.archive-closing__void { position: relative; min-height: 18rem; border: 1px solid rgba(68, 32, 95, .7); }
.archive-closing__void::after { position: absolute; inset: 15% 12%; border: 1px solid var(--color-violet-700); border-radius: 50%; content: ""; }

@media (max-width: 1060px) {
  .archive-hero__grid { grid-template-columns: minmax(0, 60fr) minmax(280px, 40fr); }
  .archive-hero__media { max-height: 37rem; }
}

@media (max-width: 1000px) {
  .archive-cardroom__top { grid-template-columns: minmax(0, 1fr); }
  .archive-cardroom__heading h2 { max-width: 16ch; }
  .archive-cardroom__media { aspect-ratio: 3 / 2; }
}

@media (max-width: 980px) {
  .archive-reading__intro { width: 60%; }
  .archive-reading__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-reading__card:nth-child(3) { grid-column: 1 / -1; }
}

@media (max-width: 960px) {
  .archive-dinner__grid { grid-template-columns: minmax(0, 1fr); }
  .archive-dinner__copy { padding-top: 0; }
  .archive-dinner__paragraphs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .archive-dinner__paragraphs > * { min-width: 0; }
}

@media (max-width: 900px) {
  .archive-hero__grid,
  .archive-practical__panel,
  .archive-faq__layout { grid-template-columns: minmax(0, 1fr); }
  .archive-hero__copy { max-width: 100%; }
  .archive-hero__lead { max-width: 58ch; }
  .archive-hero__media { max-width: 38rem; }
  .archive-faq__content,
  .archive-faq--cards__list,
  .archive-faq--cards__intro { width: 100%; max-width: none; }
  .archive-faq__edge { display: none; }
}

@media (max-width: 840px) {
  .archive-practical__panel { gap: var(--space-8); }
}

@media (max-width: 820px) {
  .archive-directions__item { grid-template-columns: minmax(3rem, auto) minmax(0, 1fr); align-items: start; }
  .archive-directions__sentence { grid-column: 2; }
}

@media (max-width: 760px) {
  .archive-closing__grid { grid-template-columns: minmax(0, 1fr); }
  .archive-closing__void { display: none; }
}

@media (max-width: 720px) {
  .archive-cardroom__notes,
  .archive-dinner__paragraphs { grid-template-columns: minmax(0, 1fr); }
  .archive-dinner__paragraphs p + p { border-inline-start: 0; border-top: 2px solid var(--color-white-100); padding-top: var(--space-4); padding-inline-start: 0; }
}

@media (max-width: 600px) {
  .archive-hero { padding-top: var(--space-24); }
  .archive-hero h1 { max-width: none; font-size: clamp(3rem, 14vw, 5.25rem); }
  .archive-hero__lead { max-width: 34ch; }
  .archive-hero__media { max-width: 100%; min-height: 22.5rem; }
  .archive-reading__intro { width: 100%; }
  .archive-reading__cards { grid-template-columns: minmax(0, 1fr); }
  .archive-reading__card:nth-child(3) { grid-column: auto; }
  .archive-reading__card,
  .archive-cardroom__note { padding: var(--space-6); }
  .archive-cardroom__media { aspect-ratio: 4 / 5; }
  .archive-cardroom__media img { object-position: center; }
  .archive-directions__inner { padding: var(--space-6); }
  .archive-directions__item { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); min-height: 88px; }
  .archive-directions__sentence { grid-column: auto; }
  .archive-faq__trigger { min-height: 56px; padding: var(--space-4); font-size: 1rem; }
  .archive-faq__panel { padding: var(--space-5, 1.25rem); }
  .archive-practical__details { flex-direction: column; align-items: flex-start; gap: var(--space-3); }
}

@media (prefers-reduced-motion: reduce) {
  .archive-page .button--pulse { animation: none; }
}
