/* The poem moves with the page, while the seal stays near its optical center. */
.wax-manifesto {
  --seal-size: clamp(105px, min(14vw, 27svh), 256px);
  isolation: isolate;
  overflow: clip;
  padding: 0 !important;
}
.wax-manifesto .manifesto-inner {
  position: relative;
  margin: 0 auto;
  max-width: none;
  width: 100%;
  padding: max(25svh, calc(var(--seal-size) * 2.25 + 18px)) 0 max(9svh, 42px);
}
.promise-type {
  position: relative;
  z-index: 1;
  width: calc(100% - clamp(24px, 3vw, 72px));
  margin-inline: auto;
  font: 500 clamp(66px, 10.1vw, 202px)/1 var(--serif);
  letter-spacing: -.044em;
}
.promise-row {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: .20em;
  white-space: nowrap;
}
.promise-row > span { display: block; flex: none; will-change: transform; }
.promise-row > :first-child { transform-origin: right center; }
.promise-row > :last-child { transform-origin: left center; }
.wax-manifesto .manifesto-caption {
  position: relative;
  margin: calc(var(--seal-size) * 1.65 + 24px) 12px 0;
  text-align: center;
  font: clamp(15px, calc(14px + .25vw), 17px)/1.8 var(--korean);
  color: var(--ink);
}
.wax-stage {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 0;
  width: var(--seal-size);
  aspect-ratio: 1;
  transform: translateX(-50%);
  perspective: 1000px;
  pointer-events: none;
  filter: drop-shadow(3px 6px 7px #18201324);
  will-change: transform;
}
.wax-object { position: absolute; inset: 0; transform-style: preserve-3d; will-change: transform; }
.wax-face, .wax-back, .wax-depth { position: absolute; inset: 0; width: 100%; height: 100%; display: block; backface-visibility: hidden; }
.wax-face { object-fit: contain; transform: translateZ(7px); }
.wax-back, .wax-depth {
  -webkit-mask: url('assets/brinton-green-wax-seal.webp') center/contain no-repeat;
  mask: url('assets/brinton-green-wax-seal.webp') center/contain no-repeat;
}
.wax-depth { backface-visibility: visible; background: linear-gradient(145deg,#55602b,#29380d 35%,#192706 70%,#4e5a25); }
.wax-back { transform: rotateY(180deg) translateZ(7px); background: #304117; display: grid; place-items: center; }
.wax-back::after { content: 'B'; font: clamp(30px,5.5vw,90px)/1 var(--serif); color: #23330e; text-shadow: 0 1px 1px #b5bd7990; }

@media (max-width: 650px) {
  .wax-manifesto { --seal-size: clamp(58px, 22vw, 108px); }
  .promise-type { font-size: clamp(22px, 7vw, 43px); line-height: 1.07; }
}
@media (prefers-reduced-motion: reduce) {
  .wax-manifesto .manifesto-inner { display: flex; flex-direction: column; align-items: center; padding-block: 50px; }
  .wax-stage { position: relative; left: auto; order: -1; margin-bottom: 26px; transform: none; }
  .promise-row > span, .wax-stage, .wax-object { will-change: auto; }
  .wax-manifesto .manifesto-caption { margin-top: 24px; }
  .promise-type { font-size: min(8.2vw, 155px); }
}
@media (prefers-reduced-motion: reduce) and (max-width: 650px) {
  .promise-type { font-size: 6.2vw; }
}
