html {
  scroll-behavior: smooth;
}

body {
  background-color: #dedede;
  margin: 15px;
  font-size: 18px;
  font-family: Arial, sans-serif;
  padding: 5px;
}

h1 {
  text-align: center;
  font-size: 2rem;
}

.grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

figure {
  margin: 0;
  padding: 10px;
  border: 3px solid #000;
  background-color: #fff;
  text-align: center;
  border-radius: 50%;
  overflow: hidden;
}

img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}

figcaption {
  margin-top: 8px;
  font-weight: bold;
}

/* Tablet view */
@media (min-width: 772px) {
  .grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .grid figure:last-child {
    grid-column: span 2;
  }
}

/* Large screen view */
@media (min-width: 992px) {
  .grid figure {
    border-radius: 0;
  }

  .grid img {
    border-radius: 0;
  }

  .grid figure:nth-child(3n) {
    grid-column: span 2;
  }
}

/* Accessibility: reduced motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  body {
    background-color: #111;
    color: #ffe57f;
  }

  figure {
    background-color: #222;
    color: #ffe57f;
    border-color: #000;
  }
}
