.site-footer {
  flex-shrink: 0;
  padding: 4rem 0 2rem;
  background: #111827;
  color: #fff;
  font-family: Inter, Arial, sans-serif;
}

.site-footer > div {
  width: min(100% - 2rem, 80rem);
  margin-inline: auto;
}

.site-footer > div > div:first-child {
  display: grid;
  grid-template-columns: 1.25fr .75fr .75fr 1.25fr;
  gap: 2.5rem;
  margin-bottom: 2rem;
}

.site-footer h3,
.site-footer h4 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
}

.site-footer p { margin: 0; }
.site-footer ul { margin: 0; padding: 0; list-style: none; }
.site-footer li + li { margin-top: .5rem; }
.site-footer a { color: #9ca3af; text-decoration: none; }
.site-footer a:hover { color: #fff; }
.site-footer .text-gray-400 { color: #9ca3af; }
.site-footer .text-gray-500 { color: #6b7280; }
.site-footer .break-words { overflow-wrap: anywhere; }
.site-footer .flex { display: flex; }
.site-footer .items-start { align-items: flex-start; }
.site-footer .space-x-4 { gap: 1rem; }
.site-footer .mt-4 { margin-top: 1rem; }
.site-footer .mr-2 { margin-right: .5rem; }
.site-footer .mt-1 { margin-top: .25rem; }
.site-footer .text-sm { font-size: .875rem; }

.site-footer > div > div:last-child {
  padding-top: 2rem;
  border-top: 1px solid #1f2937;
  text-align: center;
}

html[dir="rtl"] .site-footer { text-align: right; }
html[dir="rtl"] .site-footer .mr-2 { margin-right: 0; margin-left: .5rem; }

@media (max-width: 1023px) {
  .site-footer > div > div:first-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 639px) {
  .site-footer { padding-top: 3rem; }
  .site-footer > div > div:first-child { grid-template-columns: 1fr; gap: 2rem; }
}
