* {
  box-sizing: border-box;
}

:root {
  --paper: #fffaf0;
  --ink: #171319;
  --muted: #625b60;
  --pink: #ed1766;
  --teal: #008b8c;
  --gold: #f4a40c;
}

body {
  margin: 0;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

.page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 2rem;
  background:
    radial-gradient(circle at 11% 16%, rgba(237, 23, 102, 0.18), transparent 20rem),
    radial-gradient(circle at 89% 84%, rgba(0, 139, 140, 0.22), transparent 23rem),
    radial-gradient(circle at 86% 12%, rgba(244, 164, 12, 0.18), transparent 17rem),
    var(--paper);
}

.welcome-card {
  width: min(100%, 27rem);
  padding: 1.1rem;
  border: 2px solid var(--ink);
  border-radius: 1.35rem;
  background: rgba(255, 253, 247, 0.9);
  box-shadow: 0.55rem 0.55rem 0 var(--ink);
  text-align: center;
}

.artwork-frame {
  display: grid;
  place-items: center;
  height: 10.75rem;
  overflow: hidden;
  border: 1.5px solid var(--ink);
  border-radius: 0.85rem;
  background: #fff8e8;
}

.artwork-frame img {
  display: block;
  width: 8.8rem;
  height: auto;
  animation: float 5s ease-in-out infinite;
  transform: translateY(0.85rem);
}

@keyframes float {
  0%, 100% {
    transform: translateY(0.85rem);
  }

  50% {
    transform: translateY(0.35rem);
  }
}

.card-copy {
  padding: 1.55rem 0.75rem 0.7rem;
}

h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(3rem, 11vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.075em;
  line-height: 0.95;
}

.tagline {
  margin: 0.9rem 0 1.35rem;
  color: var(--muted);
  font-size: 1.04rem;
}

.cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.8rem 1.25rem;
  border: 1.5px solid var(--ink);
  border-radius: 0.6rem;
  background: var(--pink);
  box-shadow: 0.25rem 0.25rem 0 var(--gold);
  font-size: 1rem;
  font-weight: 800;
  text-decoration: none;
  color: #fff;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.cta-btn:hover {
  box-shadow: 0.1rem 0.1rem 0 var(--gold);
  transform: translate(0.15rem, 0.15rem);
}

.cta-btn:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .artwork-frame img {
    animation: none;
  }
}

@media (max-width: 420px) {
  .page {
    padding: 1rem;
  }

  .welcome-card {
    box-shadow: 0.35rem 0.35rem 0 var(--ink);
  }
}
