.legacy-opening {
  padding: calc(var(--house-header-height) + clamp(42px, 7svh, 90px)) var(--house-gutter) clamp(36px, 5vw, 72px);
  overflow: clip;
  background: var(--house-paper);
}

.legacy-title {
  margin: 0 auto clamp(30px, 5vw, 76px);
  text-align: center;
}

.legacy-title > .eyebrow {
  margin: 0 auto clamp(16px, 2.3vw, 28px);
  font-size: clamp(9px, 1vw, 12px);
  letter-spacing: .14em;
}

.legacy-title h1 {
  margin: 0;
  font: 500 clamp(36px, 9vw, 122px)/.96 var(--serif);
  letter-spacing: -.046em;
  color: var(--ink);
}

.legacy-title [data-legacy-line] {
  display: block;
  white-space: nowrap;
}

.legacy-title [data-legacy-line] + [data-legacy-line] { color: var(--red); }
.legacy-letter { position: relative; white-space: pre; }
.legacy-motion-ready .legacy-letter:not(.is-typed) { visibility: hidden; }

.legacy-motion-ready .legacy-letter.is-caret::after {
  content: "";
  position: absolute;
  left: calc(100% + .035em);
  bottom: .12em;
  width: 2px;
  height: .72em;
  background: var(--red);
  opacity: 0;
  animation: legacy-caret 680ms step-end 2;
}

@keyframes legacy-caret {
  0% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.legacy-storefront {
  max-width: 1160px;
  margin: 0 auto;
}

.legacy-storefront .memory-image-window {
  aspect-ratio: 16 / 10;
  border: clamp(4px, .8vw, 10px) solid #fffaf2;
  box-shadow: 0 19px 42px #49322126;
}

.legacy-storefront .memory-image-window > img {
  transform: translateY(4.5%) rotate(11deg) scale(1.31);
}

.legacy-storefront .archive-caption {
  padding: 16px 0 0;
  text-align: center;
}

.legacy-storefront .archive-caption p {
  max-width: none;
  margin: 6px 0 0;
  font-size: clamp(23px, 3vw, 36px);
}

.heritage-page .heritage-album { overflow: clip; }
.heritage-page .archive-grid > figure { padding-top: 0; }

@media (min-width: 901px) {
  .heritage-page .archive-grid > .archive-wedding { margin-top: 48px; }
  .heritage-page .archive-grid > .archive-cake { margin-top: 20px; }
}

[data-legacy-reveal="storefront"] { --legacy-x: 0px; --legacy-y: 62px; --legacy-turn: -.8deg; }
[data-legacy-reveal="left"] { --legacy-x: clamp(-110px, -8vw, -30px); --legacy-y: 18px; --legacy-turn: -5deg; }
[data-legacy-reveal="top"] { --legacy-x: 0px; --legacy-y: -64px; --legacy-turn: 4deg; }
[data-legacy-reveal="right"] { --legacy-x: clamp(30px, 8vw, 110px); --legacy-y: 32px; --legacy-turn: 6deg; }

.legacy-motion-ready [data-legacy-reveal] > :is(img, .memory-image-window, figcaption) {
  --legacy-away: calc(1 - var(--legacy-arrival, 1));
  opacity: var(--legacy-arrival, 1);
  transform: translate3d(calc(var(--legacy-x) * var(--legacy-away)), calc(var(--legacy-y) * var(--legacy-away)), 0)
    rotate(calc(var(--legacy-turn) * var(--legacy-away))) scale(calc(1 - var(--legacy-away) * .06));
}

@media (max-width: 600px) {
  .legacy-opening { padding-top: calc(var(--house-header-height) + 43px); }
  .legacy-title h1 { font-size: clamp(34px, 10.35vw, 57px); }
  .legacy-storefront .memory-image-window { aspect-ratio: 4 / 3; }
  [data-legacy-reveal="storefront"] { --legacy-y: 37px; }
  [data-legacy-reveal="left"] { --legacy-x: -28px; }
  [data-legacy-reveal="top"] { --legacy-y: -33px; }
  [data-legacy-reveal="right"] { --legacy-x: 28px; }
}
