@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");
:root {
  --white: hsl(0, 0%, 100%);
  --slate-300: hsl(212, 45%, 89%);
  --slate-500: hsl(216, 15%, 48%);
  --slate-900: hsl(218, 44%, 22%);

  --space-200: 16px;
  --space-300: 24px;
  --space-500: 40px;

  --radius-lg: 20px;
  --radius-sm: 10px;

  --family-sans: "Outfit", sans-serif;

  --text-preset-1: 22px;
  --text-preset-2: 15px;

  --line-preset-1: 1.2;
  --line-preset-2: 1.4;

  --letter-preset-1: 0;
  --letter-preset-2: 0.2px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  height: 100vh;
  font-family: var(--family-sans);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: var(--text-preset-2);
  letter-spacing: var(--letter-preset-2);
  line-height: var(--line-preset-2);
  color: var(--slate-500);
  background: var(--slate-300);

  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
h2 {
  font-size: var(--text-preset-1);
  letter-spacing: var(--letter-preset-1);
  line-height: var(--line-preset-1);
  color: var(--slate-900);
  font-weight: 700;
}
img {
  max-width: 100%;
  display: block;
}
.card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: var(--space-200) var(--space-200) var(--space-500);
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 25px 25px rgba(0, 0, 0, 0.0477);
  width: 320px;
  height: 499px;
}
.card-image {
  border-radius: var(--radius-sm);
  overflow: hidden;
  aspect-ratio: 1/1;
  margin-bottom: var(--space-300);
}
.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.text {
  padding: 0 var(--space-200);

  text-align: center;
}
.text h2 {
  margin-bottom: var(--space-200);
}
