#home-categories .grid > a {
  position: relative;
  isolation: isolate;
  min-height: 280px;
  justify-content: flex-start;
  overflow: hidden;
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  transition: color .35s ease, background-color .35s ease, transform .35s ease;
}
#home-categories .grid > a::after {
  position: absolute;
  z-index: -1;
  right: -.1em;
  bottom: -.28em;
  color: rgba(16, 16, 15, .045);
  font: 400 clamp(7rem, 10vw, 10rem)/1 Prata, serif;
  transition: color .35s ease, transform .5s ease;
}
#home-categories .grid > a:nth-child(1)::after { content: "01"; }
#home-categories .grid > a:nth-child(2)::after { content: "02"; }
#home-categories .grid > a:nth-child(3)::after { content: "03"; }
#home-categories .grid > a:nth-child(4)::after { content: "04"; }
#home-categories .grid > a:nth-child(5)::after { content: "05"; color: rgba(255,255,255,.045); }
#home-categories .grid > a::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  background: #8f6846;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}
#home-categories .grid > a:last-child::before { background: #c7aa7a; }
#home-categories .grid > a > span:first-child {
  position: relative;
  z-index: 1;
  min-height: 1.25rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .18em;
}
#home-categories .grid > a > div {
  position: relative;
  z-index: 1;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  padding-top: 1.75rem;
}
#home-categories .grid > a h3 {
  margin: 0;
  min-height: 3.25em;
  font-size: clamp(1.35rem, 1.65vw, 1.75rem);
  line-height: 1.22;
}
#home-categories .grid > a > div > span {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  margin-top: auto;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 1rem;
  opacity: .72;
  transition: color .25s ease, background-color .25s ease, transform .35s ease, opacity .25s ease;
}
#home-categories .grid > a:hover {
  z-index: 2;
  background: #fff;
  transform: translateY(-4px);
}
#home-categories .grid > a:last-child:hover { background: #24241f; }
#home-categories .grid > a:hover::before { transform: scaleX(1); }
#home-categories .grid > a:hover::after {
  color: rgba(143,104,70,.09);
  transform: translate(-.04em, -.04em);
}
#home-categories .grid > a:last-child:hover::after { color: rgba(199,170,122,.09); }
#home-categories .grid > a:hover > div > span {
  background: #8f6846;
  color: #fff;
  opacity: 1;
  transform: translateX(5px);
}
#home-categories .grid > a:last-child:hover > div > span {
  background: #c7aa7a;
  color: #10100f;
}

@media (max-width: 639px) {
  #home-categories .grid > a { min-height: 220px; }
  #home-categories .grid > a h3 { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  #home-categories .grid > a,
  #home-categories .grid > a::before,
  #home-categories .grid > a::after,
  #home-categories .grid > a > div > span { transition: none; }
}
