.skip-link,
body,
.mark b,
.mark small,
.header nav a,
.ticket > aside span,
.ticket-top,
.ticket h1,
.place,
.button,
.underlink,
.hero-photo figcaption,
.polaroid figcaption,
.eyebrow,
.timeline time,
.timeline small,
.hotel-ticket dt,
.hotel-ticket > aside {
  font-family: var(--font-serif);
}

body {
  font-size: 1.05rem;
}

.cables {
  z-index: 1;
  display: grid;
  place-items: center;
  align-self: center;
  min-width: 0;
}

.roots-illustration {
  width: min(82%, 430px);
  max-height: 720px;
  object-fit: contain;
  opacity: 0.96;
  filter: drop-shadow(0 18px 28px rgb(4 14 23 / 28%));
}

.ticket h1 {
  font-weight: 700;
  letter-spacing: -0.035em;
}

.hero-deck {
  font-style: normal;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.005em;
}

.ticket > aside {
  justify-content: space-around;
  overflow: hidden;
  padding-block: 20px;
}

.ticket > aside span {
  font-size: 0.72rem;
  letter-spacing: 0.15em;
}

.story-copy > p:not(.eyebrow),
.timeline p,
.venue-card address,
.hotel-ticket dd,
footer p {
  font-family: var(--font-serif);
  font-size: 1.15rem;
}

#story .heading > p:last-child,
#story .story-copy > p {
  font-size: clamp(1.2rem, 1.5vw, 1.35rem);
  line-height: 1.65;
}

#registry {
  scroll-margin-top: 32px;
}

@media (width <= 900px) {
  .cables {
    display: none;
  }
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  padding: 12px 18px;
  background: var(--paper);
  color: var(--navy);
  font-weight: 700;
  transform: translateY(-160%);
}

.skip-link:focus {
  transform: translateY(0);
}

.hero-photo img,
.polaroid img,
.gondola img,
.gallery img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.not-found {
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 32px;
  background: var(--navy);
}

.not-found article {
  max-width: 760px;
  padding: clamp(48px, 8vw, 92px);
  background: var(--paper);
  box-shadow: 12px 12px 0 var(--gold);
  text-align: center;
}

.not-found h1 {
  margin: 0;
  color: var(--navy);
  font: 600 clamp(3rem, 8vw, 6rem) / 0.95 var(--font-serif);
}

.not-found p {
  margin: 24px 0 34px;
  color: var(--muted);
  font: 1.25rem / 1.5 var(--font-serif);
}
