/* Opening slides only. Keep workshop text above the decorative canvas. */
.workshop-cover {
  background: #000;
  isolation: isolate;
}
.workshop-cover.active { display: flex; flex-direction: column; }
.workshop-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: #000 url("../images/domain-warp-fallback.svg") center / cover;
  z-index: 0;
}
.workshop-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse at center, #000e 0%, #000c 42%, #0005 72%, transparent 100%);
  z-index: 1;
}
.warp-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}
.workshop-cover .slide-inner {
  position: relative;
  z-index: 2;
  flex: 1 0 auto;
  min-height: 0;
  width: min(960px, 100%);
  margin: 0 auto;
  padding: clamp(24px, 4vh, 48px) clamp(24px, 5vw, 72px) 24px;
  gap: 0;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: 550;
  text-shadow: 0 2px 3px #000, 0 0 18px #000;
}
.cover-lab {
  display: block;
  flex: none;
  width: clamp(330px, 32vw, 420px);
  max-width: 100%;
  margin-bottom: clamp(22px, 3.5vh, 36px);
  border-radius: 3px;
}
.cover-lab img { display: block; width: 100%; height: auto; }
.cover-heading { width: 100%; }
.cover-name, .cover-day, .cover-time { white-space: nowrap; }
.cover-time::before { content: "· "; }
.workshop-cover .cover-title {
  font-size: clamp(36px, 3.45vw, 52px);
  line-height: 1.28;
  font-weight: 700;
  letter-spacing: -.025em;
  text-align: center;
  max-width: 27ch;
  margin: 0 auto;
}
.cover-details {
  width: min(680px, 100%);
  margin-top: clamp(24px, 4.5vh, 44px);
  padding-top: clamp(20px, 3.5vh, 34px);
  border-top: 1px solid #ffffff66;
  text-align: center;
  font-weight: 400;
  letter-spacing: .005em;
}
.workshop-cover .cover-credit {
  margin: 12px 0 0;
  font-size: clamp(21px, 1.85vw, 25px);
  font-weight: 400;
  color: #ededed;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .005em;
}
.workshop-cover .cover-location,
.workshop-cover .cover-date {
  font-size: clamp(19px, 1.65vw, 22px);
  line-height: 1.55;
  color: #dedede;
  margin: 12px 0 0;
}
@media (max-width: 600px) {
  .workshop-cover .slide-inner { padding: 24px 22px; }
  .cover-lab { width: clamp(260px, 76vw, 330px); margin-bottom: 22px; }
  .workshop-cover .cover-title { font-size: clamp(28px, 8.2vw, 32px); max-width: 21ch; width: 100%; line-height: 1.3; }
  .cover-details { margin-top: 26px; padding-top: 22px; }
  .workshop-cover .cover-credit { font-size: 20px; }
  .workshop-cover .cover-location,
  .workshop-cover .cover-date { font-size: 18px; margin-top: 12px; }
  .cover-day { white-space: normal; }
  .cover-time { display: block; }
  .cover-time::before { content: none; }
}
@media (max-height: 560px) and (min-width: 601px) {
  .workshop-cover .slide-inner { padding-top: 24px; padding-bottom: 24px; }
  .cover-lab { width: 260px; margin-bottom: 20px; }
  .workshop-cover .cover-title { max-width: none; }
  .cover-details { margin-top: 22px; padding-top: 18px; }
  .workshop-cover .cover-location,
  .workshop-cover .cover-date { margin-top: 8px; }
}
@media print {
  .workshop-cover { background: white; }
  .workshop-cover::before, .workshop-cover::after, .warp-canvas { display: none; }
  .workshop-cover .slide-inner { min-height: 80vh; padding: 32px; text-shadow: none; }
  .cover-lab img { filter: invert(1); }
  .workshop-cover .slide-inner p, .workshop-cover .cover-title { color: black; }
  .cover-details { border-color: #bbb; }
}

.workshop-cover[data-warp-state="fallback"] .warp-canvas,
.workshop-cover[data-warp-state="lost"] .warp-canvas{display:none}
