/* Reset */
* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Inter', sans-serif;
  background-color: hsl(0, 0%, 8%); /* Grey 900 */
  color: hsl(0, 0%, 100%); /* White */
  text-align: center;
  padding: 2rem;
}

/* Card */
.profile-card {
  max-width: 375px; /* Mobile design width */
  margin: 40px auto;
  background-color: hsl(0, 0%, 12%); /* Grey 800 */
  border-radius: 12px;
  padding: 2rem 1.5rem;
}

/* Profile image */
.profile-pic {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid hsl(0, 0%, 20%); /* Grey 700 */
  margin-bottom: 1rem;
}

/* Name */
.name {
  font-weight: 700;
  font-size: 1.375rem; /* ~22px */
  margin: 0;
}

/* Location */
.location {
  font-weight: 600;
  font-size: 0.9rem;
  color: hsl(75, 94%, 57%); /* Green */
  margin: 0.3rem 0 1rem;
}

/* Bio */
.bio {
  font-weight: 400;
  font-size: 14px;
  color: hsla(0, 0%, 100%, 0.85); /* white with opacity */
  margin-bottom: 1.5rem;
}

/* Links */
.social-links {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

/* Buttons */
.btn {
  background-color: hsl(0, 0%, 20%); /* Grey 700 */
  color: hsl(0, 0%, 100%);
  padding: 0.9rem 1rem;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.btn:hover,
.btn:focus {
  background-color: hsl(75, 94%, 57%); /* Green */
  color: hsl(0, 0%, 8%); /* Grey 900 */
  outline: none;
}

/* Responsive for desktop */
@media (min-width: 1024px) {
  .profile-card {
    max-width: 420px;
    padding: 3rem 2.5rem;
  }
  .profile-pic {
    width: 96px;
    height: 96px;
  }
  .name {
    font-size: 1.5rem;
  }
  .bio {
    font-size: 1rem;
  }
  .btn {
    font-size: 1rem;
    padding: 1rem 1.25rem;
  }
}
