/* Static festival archive and the home-page disclosure. */
.archive-page {
  --archive-peach: #ffd0aa;
  --archive-muted: #aabfdf;
  --archive-border: #9cbff534;
  background: radial-gradient(ellipse at 10% 0%,#294b872e,transparent 43rem),#0d1733;
}
.archive-shell { width: min(1220px, 91%); margin: 0 auto 66px; }
.archive-header { border-bottom: 1px solid #a2bded2b !important; }
.archive-header [role=navigation], .archive-crumbs, .archive-jumps { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.archive-header [role=navigation] { justify-content: end; color: #d2dff5; font-size: 12px; }
.archive-header-cta { padding: 9px 13px; border: 1px solid #9bb8ec47; border-radius: 30px; color: #fff4e9; }
.archive-crumbs { margin: 18px 0; gap: 8px; color: var(--archive-muted); font-size: 11px; }
.archive-crumbs a, .archive-note a { text-decoration: underline; text-underline-offset: 3px; }
.archive-hero {
  position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: end;
  min-height: 320px; padding: clamp(24px, 6vw, 75px); border: 1px solid var(--archive-border); border-radius: 22px;
  background: radial-gradient(ellipse at 80% 30%,#3b65a74c,transparent 52%),linear-gradient(115deg,#203962,#132241);
}
.archive-hero:after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#132750 0%,#142750ed 34%,#172a52a3 58%,transparent 100%); }
.archive-hero-image { position: absolute; z-index: -2; inset: 0 0 0 auto; width: min(70%,850px); height: 100%; object-fit: cover; object-position: center 55%; }
.archive-hero-image.archive-prism { width: min(55%,510px); object-fit: contain; right: 5%; filter: brightness(1.8) saturate(1.2); }
.archive-hero-copy { max-width: 660px; }
.archive-page .archive-kicker { color: var(--archive-peach); font-size: 10px; font-weight: 600; letter-spacing: .14em; line-height: 1.6; }
.archive-hero h1 {
  margin: 16px 0 12px; white-space: normal; animation: none; color: #f5f6ff;
  font: 400 clamp(44px,7vw,96px)/1.02 'Josefin Sans', sans-serif; letter-spacing: -.048em;
}
.archive-hero h1 span { color: var(--archive-peach); }
.archive-intro { max-width: 500px; color: #d4e0f6; font-size: 14px; line-height: 1.75; margin: 0; }
.archive-jumps { margin: 21px 0 3px; gap: 8px; }
.archive-jumps a { display: inline-flex; align-items: center; min-height: 35px; padding: 8px 13px; border: 1px solid var(--archive-border); border-radius: 22px; color: #d5e3f8; background: #182a4c; font-size: 12px; }
.archive-jumps a:hover, .archive-header-cta:hover { border-color: #ffc9a182; color: #ffe3c9; }
.archive-section { margin-top: clamp(34px,5.5vw,66px); scroll-margin-top: 15px; }
.archive-section-heading { margin-bottom: 18px; }
.archive-section-heading h2 { margin: 8px 0 0; font: 400 clamp(30px,4.3vw,50px)/1.1 'Josefin Sans',sans-serif; letter-spacing: -.03em; color: #eff5ff; }
.archive-editions, .archive-awards, .archive-people, .archive-credit-list { display: grid; gap: 13px; }
.archive-editions { grid-template-columns: repeat(3,minmax(0,1fr)); }
.archive-awards { grid-template-columns: repeat(4,minmax(0,1fr)); }
.archive-people, .archive-credit-list { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 0; list-style: none; }
.archive-edition-card, .archive-award, .archive-people li, .archive-credit-list li {
  min-width: 0; overflow-wrap: anywhere; border: 1px solid var(--archive-border); border-radius: 15px; background: #16284b;
}
.archive-edition-card, .archive-award { overflow: hidden; }
.archive-edition-card { display: flex; flex-direction: column; }
.archive-edition-card:hover { border-color: #ffcaa88c; }
.archive-edition-card img, .archive-award img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
.archive-edition-card.archive-edition-graphic img { object-fit: contain; padding: 13px; filter: brightness(1.7); background: radial-gradient(ellipse,#4777bb5c,transparent 66%); }
.archive-edition-card > div, .archive-award > div { padding: clamp(15px,2vw,24px); }
.archive-edition-card h3, .archive-award h3 { margin: 8px 0; font: 400 clamp(21px,2.7vw,35px)/1.12 'Josefin Sans',sans-serif; color: #f5f6ff; }
.archive-award h3 { font-size: clamp(19px,2.3vw,26px); }
.archive-edition-card p, .archive-award p { color: var(--archive-muted); font-size: 12px; line-height: 1.55; margin: 0 0 13px; }
.archive-card-action, .archive-award a { display: inline-block; color: var(--archive-peach); font-size: 12px; line-height: 1.6; }
.archive-awards.archive-posters img { aspect-ratio: 3/4; object-fit: contain; background: #0a1429; }
.archive-credit-list a { display: inline-block; margin-top: 7px; color: var(--archive-peach); font-size: 11px; text-decoration: underline; text-underline-offset: 2px; }
.archive-award a { text-decoration: underline; text-underline-offset: 3px; margin-top: 5px; }
.archive-people li, .archive-credit-list li { padding: 12px 14px; }
.archive-people li { display: flex; gap: 12px; align-items: center; }
.archive-people img { width: 54px; height: 54px; object-fit: cover; border-radius: 9px; flex: 0 0 auto; }
.archive-people strong, .archive-credit-list strong { display: block; color: #edf4ff; font-size: 13px; font-weight: 600; }
.archive-people span, .archive-credit-list span, .archive-credit-list small { display: block; margin-top: 5px; color: var(--archive-muted); font-size: 11px; line-height: 1.45; }
.archive-credit-list small { color: var(--archive-peach); }
.archive-note { color: var(--archive-muted); font-size: 12px; line-height: 1.7; margin: 14px 0; }
.archive-article-body { max-width: 70ch; margin: 36px auto 0; font-size: 16px; line-height: 1.7; }
.archive-article-body h2 { margin: 1.4em 0 .35em; font: 400 clamp(23px,3.5vw,32px)/1.2 'Josefin Sans',sans-serif; }
.archive-article-body p { margin: 0 0 1em; }
.archive-article-body li { margin-bottom: .55em; }
.archive-article-body a { color: var(--archive-peach); text-decoration: underline; text-underline-offset: 3px; }
.archive-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; color: var(--archive-muted); font-size: 12px; }
.archive-footer img { display: block; width: 105px; height: auto; }
.archive-footer p { margin: 0; }
.archive-footer p span { color: #ffcb9e; margin-inline: 4px; }
.archive-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.home-archive { margin-bottom: 24px; }
.home-archive-details { border: 1px solid #8eb2ed44; border-radius: 19px; background: linear-gradient(130deg,#1b3157,#142444); }
.home-archive-details summary {
  list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  cursor: pointer; padding: clamp(19px,4vw,38px);
}
.home-archive-details summary::-webkit-details-marker { display: none; }
.home-archive-details summary span { display: block; }
.home-archive-details .archive-kicker { color: #ffd0aa; font-size: 10px; letter-spacing: .15em; }
.home-archive-title { color: #f1f5ff; font: 400 clamp(28px,4vw,48px)/1.12 'Josefin Sans',sans-serif; margin-top: 9px; }
.home-archive-details summary .home-archive-indicator { display: grid; place-items: center; flex: 0 0 37px; height: 37px; border: 1px solid #a5bbed6b; border-radius: 50%; color: #ffdfc2; font-size: 21px; }
.home-archive-indicator:after { content: '+'; }
.home-archive-details[open] .home-archive-indicator:after { content: '−'; }
.home-archive-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; padding: 0 clamp(19px,4vw,38px) clamp(19px,4vw,38px); }
.home-archive-links > a { min-width: 0; border: 1px solid #9cbcf337; padding: 13px 15px; border-radius: 11px; background: #0b1b37ad; color: #f4f7ff; font-size: 13px; }
.home-archive-links > a:hover { border-color: #ffcfaaa6; }
.home-archive-links strong, .home-archive-links small { display: block; }
.home-archive-links small { margin-top: 5px; color: #a9c0e2; font-size: 11px; line-height: 1.55; }
.home-archive > p { margin-top: 14px; color: #adbfdf; font-size: 12px; }
.home-archive > p a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 840px) {
  .archive-awards, .archive-people, .archive-credit-list, .archive-editions, .home-archive-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .archive-hero { min-height: 260px; }
}
@media (max-width: 560px) {
  .archive-header [role=navigation] { gap: 10px; font-size: 11px; }
  .archive-header [role=navigation] > a:nth-child(2) { display: none; }
  .archive-header-cta { padding: 7px 10px; }
  .archive-hero { min-height: 260px; }
  .archive-hero-image { width: 100%; }
  .archive-hero:after { background: linear-gradient(90deg,#132750 0%,#132750b8 77%,#13275043); }
  .archive-people, .archive-editions, .home-archive-links { grid-template-columns: minmax(0,1fr); }
  .archive-credit-list li { padding: 10px; }
  .archive-page .archive-footer { justify-content: start; }
}
