/* Compact archives and restrained media viewers in the existing colour palette. */
.archive-section .section-title {
  margin:0 0 clamp(26px,3.6vw,42px);
  font-size:clamp(1.75rem,3.5vw,2.6rem);
  line-height:1.2;
  letter-spacing:-.025em;
  overflow-wrap:break-word;
}
.archive-project.card { max-width:1020px; margin-inline:auto; }
.archive-project.card:hover { transform:none; }
.archive-project .archive-copy { padding:28px clamp(22px,4vw,42px) 34px; }
.archive-project .archive-copy h3 { margin:12px 0; }
.archive-project .archive-copy h3 a { text-decoration:none; }
.archive-project .archive-copy h3 a:hover { text-decoration:underline; text-underline-offset:5px; }

.past-event-overview { padding-block:clamp(28px,4vw,48px) clamp(28px,4vw,44px); }
.past-event-overview > .container { max-width:1120px; }
.past-event-summary { max-width:100%; }
.past-event-summary .event-detail-meta { margin-bottom:14px; }
.past-event-summary .event-lead { max-width:1000px; margin-bottom:12px; font-size:clamp(1.35rem,2.1vw,1.8rem); line-height:1.4; }
.past-event-summary > p { max-width:1020px; margin-block:10px; line-height:1.65; }
.past-event-summary .event-duration { display:inline-block; margin:12px 0 0; padding:9px 14px; font-size:.95rem !important; }
.past-event-media-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin:0 0 22px; }
.past-event-media-links a { color:#1F5D63; text-decoration:none; border-bottom:1px solid rgba(31,93,99,.38); padding:5px 0; font-weight:650; font-size:.94rem; }
.past-event-media-links a:hover { border-bottom-color:#1F5D63; }
.past-event-facts { display:grid; grid-template-columns:1.15fr .9fr 1.25fr; gap:clamp(22px,3.4vw,42px); margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.past-event-facts--concert { grid-template-columns:1fr 1fr; }
.past-event-fact { min-width:0; }
.past-event-fact h2 { margin:0 0 14px; font-size:.88rem; text-transform:uppercase; letter-spacing:.09em; font-weight:750; }
.past-event-fact .event-plain-list { gap:7px; }
.past-event-fact .event-plain-list li { font-size:.94rem; padding:0; border:0; line-height:1.5; }
.past-event-fact .event-plain-list span { font-size:.9rem; }
.past-event-dates { display:grid; gap:14px; list-style:none; margin:0; padding:0; }
.past-event-dates li { display:grid; grid-template-columns:1fr auto; gap:2px 14px; font-size:.94rem; }
.past-event-dates strong { font-weight:650; }
.past-event-dates time { font-variant-numeric:tabular-nums; color:#1F5D63; }
.past-event-dates .past-event-venue { grid-column:1 / -1; color:var(--muted); line-height:1.5; }
.event-media-section { padding-block:clamp(30px,4vw,48px); }
.event-media-section > .container { max-width:1020px; }
.event-media-section h2 { font-size:clamp(1.6rem,2.8vw,2.15rem); margin:0 0 22px; line-height:1.2; }

.photo-carousel { position:relative; width:100%; }
.photo-carousel-stage { position:relative; display:grid; place-items:center; width:100%; aspect-ratio:3 / 2; max-height:640px; overflow:hidden; background:#ede8e2; touch-action:pan-y pinch-zoom; transition:opacity .16s ease; }
.photo-carousel-stage.is-changing { opacity:.2; }
.photo-carousel-stage .photo-slide { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; overflow:hidden; text-decoration:none; }
.photo-carousel-stage .photo-slide[hidden] { display:none !important; }
.photo-carousel-stage .photo-slide img { width:100%; height:100%; max-height:640px; object-fit:contain; display:block; transform:none; }
.photo-carousel-stage .photo-slide[data-gallery-item] { cursor:zoom-in; }
.photo-carousel-stage a:focus-visible { outline:3px solid #1F5D63; outline-offset:-4px; }
.media-toolbar { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 24px; min-height:68px; padding:12px 0; border-bottom:1px solid var(--line); }
.archive-project .media-toolbar { margin-inline:clamp(22px,4vw,42px); }
.carousel-controls { display:flex; align-items:center; gap:17px; }
.carousel-arrow { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid rgba(21,50,74,.2); border-radius:50%; background:transparent; color:#15324A; cursor:pointer; transition:background .18s ease,border-color .18s ease; }
.carousel-arrow svg { display:block; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.5; }
.carousel-arrow:hover { background:rgba(31,93,99,.08); border-color:#1F5D63; }
.carousel-arrow:focus-visible, .media-text-link:focus-visible, .video-choice:focus-visible, .past-event-media-links a:focus-visible { outline:2px solid #1F5D63; outline-offset:4px; }
.carousel-counter { min-width:56px; margin:0; font-size:.82rem; letter-spacing:.11em; font-variant-numeric:tabular-nums; text-align:center; color:#15324A; }
.media-text-link { border:0; padding:8px 0; background:transparent; color:#1F5D63; text-decoration:none; font:inherit; font-size:.88rem; cursor:pointer; }
.media-text-link:hover { text-decoration:underline; text-underline-offset:4px; }

.video-player { aspect-ratio:16 / 9; background:#102735; border:0; box-shadow:none; }
.video-player iframe { width:100%; height:100%; display:block; border:0; opacity:1; transition:opacity .2s ease; }
.video-player.is-loading iframe { opacity:.35; }
.video-toolbar { min-height:68px; padding:12px 0; }
.video-toolbar .video-choices { display:flex; flex-wrap:wrap; gap:6px 20px; margin:0; }
.video-toolbar .video-choice { display:block; position:relative; margin:0; padding:11px 0; border:0; border-radius:0; background:transparent; color:var(--muted); font-size:.92rem; font-weight:500; text-decoration:none; line-height:1.4; }
.video-toolbar .video-choice::after { content:''; position:absolute; inset:auto 0 3px; height:2px; background:#1F5D63; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.video-toolbar .video-choice[aria-current='true'] { color:#15324A; font-weight:700; }
.video-toolbar .video-choice[aria-current='true']::after, .video-toolbar .video-choice:hover::after { transform:scaleX(1); }
.video-toolbar .video-choice:hover { color:#15324A; }
.video-toolbar .video-fallback { margin:0; }

@media(max-width:850px) {
  .past-event-facts { grid-template-columns:1fr 1fr; gap:24px 30px; }
  .past-event-fact:last-child:not(:nth-child(2)) { grid-column:1 / -1; }
  .past-event-fact:last-child:not(:nth-child(2)) .past-event-dates { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  .past-event-dates li { grid-template-columns:1fr; }
  .past-event-dates time { grid-row:2; }
}
@media(max-width:600px) {
  .archive-section .section-title { font-size:clamp(1.65rem,6.4vw,2rem); margin-bottom:26px; }
  .past-event-facts { grid-template-columns:1fr; gap:24px; margin-top:24px; padding-top:22px; }
  .past-event-fact:last-child:not(:nth-child(2)) .past-event-dates { grid-template-columns:1fr; gap:14px; }
  .past-event-dates li { grid-template-columns:1fr auto; }
  .past-event-dates time { grid-row:1; grid-column:2; }
  .past-event-fact .event-plain-list { gap:5px; }
  .past-event-fact:first-child .event-plain-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 16px; }
  .past-event-fact:first-child .event-plain-list span { display:block; font-size:.83rem; }
  .past-event-summary .event-lead { font-size:1.3rem; }
  .past-event-media-links { margin-bottom:18px; }
  .photo-carousel-stage { aspect-ratio:1 / 1; }
  .archive-project .photo-carousel-stage { aspect-ratio:3 / 2; }
  .photo-carousel-stage .photo-slide img { max-height:none; }
  .media-toolbar { gap:8px 16px; padding-block:10px; min-height:64px; }
  .carousel-controls { gap:10px; }
  .carousel-arrow { width:40px; height:40px; }
  .video-toolbar .video-choices { gap:16px; }
  .video-toolbar .video-choice { font-size:.86rem; }
  .video-toolbar .media-text-link { font-size:.82rem; }
  .archive-project .archive-copy { padding-top:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .photo-carousel-stage, .carousel-arrow, .video-player iframe, .video-choice::after { transition:none; }
}

.past-event-date { grid-column:1 / -1; display:flex; flex-wrap:wrap; justify-content:space-between; gap:2px 14px; }
.past-event-date > span { color:#1F5D63; font-variant-numeric:tabular-nums; }

.archive-section > .container { max-width:1020px; }
.archive-section .section-title, .event-media-section h2 { font-weight:500; }
.photo-carousel-stage { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr); }
