* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100vh;
  overflow: hidden;
}

body {
  position: relative;
}

.img-top-left {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(160px, 40vw, 400px);
  height: auto;
}

.img-bottom-right {
  position: absolute;
  bottom: 0;
  right: 0;
  width: clamp(140px, 40vw, 400px);
  aspect-ratio: 3 / 4;
  object-fit: cover;
  padding: clamp(10px, 3vw, 16px);
}

.contact {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: clamp(10px, 3vw, 16px);
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(10px, 3vw, 16px);
  font-family: "Times New Roman", Times, serif;
  font-size: clamp(10px, 2.5vw, 14px);
  text-align: left;
  text-transform: uppercase;
  max-width: 60vw;
}

@media (max-width: 600px) {
  .contact {
    flex-direction: column;
    max-width: 55vw;
  }
}

.contact p {
  cursor: pointer;
}

.email {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.email-text {
  display: inline-block;
  transform-origin: left bottom;
  transition: transform 0.3s ease;
}

.label {
  display: inline-block;
}

.label-text {
  display: inline-block;
  transform-origin: left bottom;
  transition: transform 0.3s ease;
}

.contact p:hover .label-text,
.contact p:hover .email-text {
  transform: rotate(-45deg);
}

.copied {
  margin-left: 6px;
  font-family: "Times New Roman", Times, serif;
  font-style: italic;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.copied.visible {
  opacity: 1;
}
