.c-source-drawer {
  margin-top: var(--space-3);
  border: 1px solid rgba(45, 37, 33, 0.28);
  border-radius: var(--radius-1);
  background: rgba(255, 250, 240, 0.95);
  box-shadow: var(--shadow);
}

.c-source-drawer summary {
  display: flex;
  min-height: 3.5rem;
  cursor: pointer;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: 0.85rem 1rem;
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
  list-style: none;
}

.c-source-drawer summary::-webkit-details-marker {
  display: none;
}

.c-source-drawer summary::after {
  color: var(--teal-dark);
  content: "+";
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 1.3rem;
}

.c-source-drawer[open] summary::after {
  content: "−";
}

.c-source-drawer__body {
  padding: 0 var(--space-3) var(--space-3);
  border-top: 1px dashed rgba(45, 37, 33, 0.24);
}

.c-source-drawer__body p:first-child {
  margin-top: var(--space-2);
}

.c-source-list {
  margin-bottom: 0;
}

.c-source-list a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  font-weight: 700;
}

.c-source-stack {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-3);
  margin-top: var(--space-4);
}

.c-source-stack__art {
  min-height: 26rem;
  padding: 1rem;
  border: 1px solid rgba(45, 37, 33, 0.28);
  border-radius: var(--radius-2);
  background: var(--sand);
  box-shadow: var(--shadow-lift);
  transform: rotate(-1deg);
}

.c-source-stack__art img {
  width: 100%;
  min-height: 24rem;
  border-radius: var(--radius-1);
  object-fit: cover;
}

@media (max-width: 47.99rem) {
  .c-source-stack {
    grid-template-columns: minmax(0, 1fr);
  }

  .c-source-stack__art,
  .c-source-stack__art img {
    min-height: 19rem;
  }
}
