/* Real campaign artwork opens out of an inset board, inside its own card. */
.work .campaign-card .campaign-cover[data-board-explosion] {
  position: relative;
  width: 100%;
  aspect-ratio: 1.45;
  flex: none;
  overflow: hidden;
  isolation: isolate;
  background: radial-gradient(ellipse at 50% 43%, #faf7f2 0, #eee8e3 76%);
  border: 1px solid #6c587a12;
}
.work .campaign-card:nth-of-type(2n) .campaign-cover[data-board-explosion] {
  background: radial-gradient(ellipse at 50% 43%, #f9f5fb 0, #e9e2ed 76%);
}
.work .campaign-card .campaign-cover[data-board-explosion]::before {
  content: "";
  display: block;
  position: absolute;
  inset: 18% 22% 14%;
  width: auto;
  height: auto;
  z-index: 0;
  border: 1px solid #b4a7b5;
  border-radius: 5px;
  background: linear-gradient(145deg, #f8f4ed, #e8e0d9);
  box-shadow: inset 0 0 0 4px #ffffff63, 0 10px 18px #3e304119, 0 2px 3px #3e304112;
  transform: rotate(-2deg);
  pointer-events: none;
}
.work .campaign-card .campaign-cover[data-board-explosion]::after {
  content: "";
  display: block;
  position: absolute;
  inset: 18.5% auto auto 44%;
  width: 12%;
  height: 2.4%;
  z-index: 0;
  border: 1px solid #a0929d66;
  border-radius: 0 0 3px 3px;
  background: linear-gradient(#cec1c6, #e7dce0);
  box-shadow: 0 1px 2px #5844541a;
  transform: rotate(-2deg);
  pointer-events: none;
}

/* The spread is the usable static fallback; JavaScript only adds motion. */
.work .campaign-card .campaign-cover[data-board-explosion] .campaign-sheet {
  --bx-x: 0%;
  --bx-y: -24%;
  --bx-turn: -1deg;
  --bx-home-x: 0%;
  --bx-home-y: 8%;
  --bx-home-turn: -2deg;
  --bx-home-scale: .79;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34%;
  height: auto;
  aspect-ratio: 1;
  padding: clamp(3px, .45vw, 6px);
  border: 1px solid #a99aa966;
  border-radius: 2px;
  background: #fffdfa;
  box-shadow: 0 10px 19px #47334f25, 0 2px 3px #47334f15;
  transform: translate(-50%, -50%) translate(var(--bx-x), var(--bx-y)) rotate(var(--bx-turn));
  transform-origin: center;
  /* Replace the previous one-time unfold and its independent hover scale. */
  animation: none !important;
  transition: none !important;
  scale: 1 !important;
  cursor: zoom-in;
}
.work .campaign-card .campaign-cover[data-board-state="running"] .campaign-sheet {
  will-change: transform;
}
.work .campaign-card .campaign-cover[data-board-explosion] .sheet-left {
  --bx-x: -68%;
  --bx-y: 11%;
  --bx-turn: -11deg;
  --bx-home-x: -4%;
  --bx-home-y: 5%;
  --bx-home-turn: -5deg;
}
.work .campaign-card .campaign-cover[data-board-explosion] .sheet-right {
  --bx-x: 68%;
  --bx-y: -3%;
  --bx-turn: 10deg;
  --bx-home-x: 4%;
  --bx-home-y: 9%;
  --bx-home-turn: 2deg;
}
.work .campaign-card .campaign-cover[data-board-explosion] .campaign-sheet:focus-visible {
  z-index: 6;
  outline: 2px solid #584164;
  outline-offset: 4px;
}
.work .campaign-card .campaign-cover[data-board-explosion] .campaign-sheet img {
  border-radius: 0;
}
.work .campaign-card .campaign-cover.single-cover[data-board-explosion] .campaign-sheet {
  --bx-x: 0%;
  --bx-y: -8%;
  --bx-turn: -4deg;
  width: 43%;
}

.work .social-card .campaign-cover[data-board-explosion] .campaign-sheet {
  width: 35%;
  aspect-ratio: 1 / 1.14;
  padding-bottom: 6%;
}
.work .social-card .campaign-cover[data-board-explosion] .sheet-post {
  --bx-x: -58%;
  --bx-y: -9%;
  --bx-turn: -9deg;
  --bx-home-x: -3%;
  --bx-home-turn: -4deg;
}
.work .social-card .campaign-cover[data-board-explosion] .sheet-post-alt {
  --bx-x: 58%;
  --bx-y: 8%;
  --bx-turn: 9deg;
  --bx-home-x: 4%;
  --bx-home-turn: 2deg;
}
.work .social-card .campaign-cover[data-board-explosion] .campaign-sheet::after {
  display: block;
  opacity: .65;
}
.work .email-card .campaign-cover[data-board-explosion] .sheet-desktop {
  --bx-x: -17%;
  --bx-y: -7%;
  --bx-turn: -5deg;
  --bx-home-x: -7%;
  --bx-home-y: 5%;
  --bx-home-turn: -2deg;
  --bx-home-scale: .82;
  width: 52%;
  height: 66%;
  aspect-ratio: auto;
  padding: 14px 4px 4px;
  border-radius: 6px;
}
.work .email-card .campaign-cover[data-board-explosion] .sheet-phone {
  --bx-x: 125%;
  --bx-y: 8%;
  --bx-turn: 8deg;
  --bx-home-x: 38%;
  --bx-home-y: 10%;
  --bx-home-turn: 2deg;
  --bx-home-scale: .82;
  width: 20%;
  height: 60%;
  aspect-ratio: auto;
  padding: 9px 3px 5px;
  border: 2px solid #a394a5;
  border-radius: 11px;
}

@media (prefers-reduced-motion: reduce) {
  .work .campaign-card .campaign-cover[data-board-explosion] .campaign-sheet {
    will-change: auto;
  }
}
