html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #6f92b0;
}

*, *::before, *::after {
  box-sizing: border-box;
}

::selection {
  background: rgba(234, 228, 214, 0.35);
}

.stage {
  position: fixed;
  inset: 0;
  overflow: hidden;
  background: #6f92b0;
}

.bg {
  position: absolute;
  inset: 0;
  background-image: url('assets/website-background.png');
  background-size: cover;
  background-position: center;
}

.social-nav {
  position: absolute;
  top: clamp(18px, 3.5vw, 28px);
  left: clamp(18px, 3.5vw, 32px);
  display: flex;
  align-items: center;
  gap: clamp(16px, 3.2vw, 20px);
  flex-wrap: wrap;
}

.social-nav a {
  color: #eae4d6;
  display: inline-flex;
  transition: color 0.15s;
}

.social-nav a:hover {
  color: #ffffff;
}

.email-copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.email-btn {
  color: #eae4d6;
  display: inline-flex;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  transition: color 0.15s;
}

.email-btn:hover {
  color: #ffffff;
}

.email-copied {
  color: #eae4d6;
  font-family: system-ui, sans-serif;
  font-size: 13px;
  letter-spacing: 0.02em;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity 0.15s, transform 0.15s;
  pointer-events: none;
}

.email-copy.is-copied .email-copied {
  opacity: 1;
  transform: translateX(0);
}

.name {
  position: absolute;
  right: 3.2vw;
  bottom: 8vh;
  left: 3.2vw;
  line-height: 0.9;
  text-align: right;
}

.name span {
  display: block;
  font-family: Clarendon, 'Zilla Slab', Georgia, serif;
  font-weight: 700;
  color: #eae4d6;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 30px rgba(40, 60, 90, 0.25);
  font-size: clamp(40px, 10.5vw, 128px);
}

.name span.age-timer {
  margin-top: clamp(16px, 3.5vw, 32px);
  font-size: clamp(28px, 5.2vw, 56px);
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
  color: #eae4d6;
}

.name span.age-timer .colon {
  display: inline;
  margin: 0 0.06em;
  font-weight: 400;
  font-size: 0.7em;
  vertical-align: 0.05em;
}
