/* One print master, measured from the selected 390 × 562 homepage invitation.
   All artwork, type, outlines and cuts scale together with the paper width. */
.invitation-print {
  container-type: inline-size;
  --print-unit: calc(100cqw / 390);
  --print-cut: calc(4.5 * var(--print-unit));
  display: flex;
  flex-direction: column;
  color: #14230d;
}
.invitation-print .ticket-inner {
  position: relative;
  flex: 1 0 auto;
  min-height: calc(479 * var(--print-unit));
  padding: 0;
  border: calc(1 * var(--print-unit)) solid #567c34;
  background: linear-gradient(125deg, #acd874, #8dd04a 48%, #81c23f);
  box-shadow: inset calc(1 * var(--print-unit)) calc(1 * var(--print-unit)) 0 #e2ffa773;
  overflow: hidden;
  mask-image:
    radial-gradient(circle at left bottom, transparent calc(var(--print-cut) - .15px), #000 calc(var(--print-cut) + .35px)),
    radial-gradient(circle at right bottom, transparent calc(var(--print-cut) - .15px), #000 calc(var(--print-cut) + .35px));
  mask-composite: intersect;
}
.invitation-print .ticket-inner:before {
  content: '';
  position: absolute;
  inset: calc(7 * var(--print-unit));
  border: calc(1 * var(--print-unit)) solid #2448104d;
  pointer-events: none;
}
.invitation-print .ticket-top,
.invitation-print .ticket-bottom {
  position: absolute;
  left: calc(25 * var(--print-unit));
  width: calc(338 * var(--print-unit));
  display: flex;
  justify-content: space-between;
  gap: calc(10 * var(--print-unit));
  font-family: var(--sans);
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}
.invitation-print .ticket-top {
  top: calc(23 * var(--print-unit));
  font-size: calc(9 * var(--print-unit));
  letter-spacing: calc(.99 * var(--print-unit));
}
.invitation-print .ticket-art {
  position: absolute;
  left: calc(20 * var(--print-unit));
  top: calc(58 * var(--print-unit));
  width: calc(348 * var(--print-unit));
  margin: 0;
}
.invitation-print .ticket-art svg { display: block; width: 100%; height: auto; }
.invitation-print .ticket-message {
  position: absolute;
  top: calc(303 * var(--print-unit));
  left: calc(25 * var(--print-unit));
  width: calc(338 * var(--print-unit));
  margin: 0;
  font: 700 calc(48 * var(--print-unit))/.91 var(--serif);
  letter-spacing: calc(-1.5 * var(--print-unit));
  text-align: center;
}
.invitation-print .ticket-bottom {
  top: calc(420 * var(--print-unit));
  padding: calc(19 * var(--print-unit)) 0 0;
  border-top: calc(1 * var(--print-unit)) solid #365b2a66;
  font-size: calc(8 * var(--print-unit));
  letter-spacing: calc(.88 * var(--print-unit));
}
.invitation-print .ticket-stub {
  position: relative;
  flex: 0 0 calc(83 * var(--print-unit));
  height: calc(83 * var(--print-unit));
  display: grid;
  grid-template-columns: 1fr calc(85 * var(--print-unit));
  gap: calc(6 * var(--print-unit));
  padding: calc(23 * var(--print-unit)) calc(27 * var(--print-unit));
  border: calc(1 * var(--print-unit)) solid #567c34;
  border-top: calc(1 * var(--print-unit)) dashed #365b2a80;
  background: #8dd04a;
  font: 700 calc(9 * var(--print-unit))/1.5 var(--sans);
  letter-spacing: calc(.72 * var(--print-unit));
  mask-image:
    radial-gradient(circle at left top, transparent calc(var(--print-cut) - .15px), #000 calc(var(--print-cut) + .35px)),
    radial-gradient(circle at right top, transparent calc(var(--print-cut) - .15px), #000 calc(var(--print-cut) + .35px));
  mask-composite: intersect;
}
.invitation-print .ticket-stub:before,
.invitation-print .ticket-stub:after { display: none; }
.invitation-print .ticket-stub > span:last-child {
  font-size: calc(10 * var(--print-unit));
  letter-spacing: 0;
}
.invitation-print .barcode {
  height: calc(31 * var(--print-unit));
  grid-column: 2;
  grid-row: 1 / 3;
  opacity: .85;
  background: repeating-linear-gradient(90deg,
    #18370e 0 calc(2 * var(--print-unit)),
    transparent calc(2 * var(--print-unit)) calc(4 * var(--print-unit)),
    #18370e calc(4 * var(--print-unit)) calc(5 * var(--print-unit)),
    transparent calc(5 * var(--print-unit)) calc(7 * var(--print-unit)),
    #18370e calc(7 * var(--print-unit)) calc(11 * var(--print-unit)),
    transparent calc(11 * var(--print-unit)) calc(14 * var(--print-unit)));
}
