/* One footer design for every page, including the 404 page. */
.site_footer,
.site_footer * { box-sizing: border-box; }
.site_footer {
  width: 100%;
  margin-top: auto;
  border-top: 1px solid #29303b;
  background: #080c11;
  color: #b6bfcc;
  font-family: "Open Sans", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
}
.site_footer-inner { width: min(100%, 1180px); margin: 0 auto; padding: 56px 24px 20px; }
.site_footer-grid { display: grid; grid-template-columns: 1.4fr 0.8fr 1fr; gap: 56px; padding-bottom: 40px; }
.site_footer-grid > * { min-width: 0; }
.site_footer a { color: #e5e7eb; text-decoration: none; }
.site_footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.site_footer a:focus-visible { outline: 3px solid #fca5a5; outline-offset: 5px; border-radius: 3px; }
.site_footer .site_footer-brand {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 8px;
  color: #fff;
  font-family: "Roboto", Arial, sans-serif;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-decoration: none;
}
.site_footer-brand span { color: #ff6161; }
.site_footer-summary { max-width: 34ch; margin: 14px 0 12px; }
.site_footer-heading { margin: 8px 0 12px; color: #fff; font-size: 12px; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; line-height: 1.5; }
.site_footer-links { list-style: none; padding: 0; margin: 0; }
.site_footer-links a, .site_footer-email { display: inline-flex; align-items: center; min-height: 44px; }
.site_footer-email { max-width: 100%; overflow-wrap: anywhere; }
.site_footer-address { margin: 12px 0 0; font-style: normal; }
.site_footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid #252c36; padding-top: 20px; font-size: 13px; }
.site_footer-bottom p { margin: 0; }
.site_footer-social { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; white-space: nowrap; }
@media (max-width: 900px) {
  .site_footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
  .site_footer-about { grid-column: 1 / -1; }
  .site_footer-summary { max-width: 48ch; }
}
@media (max-width: 520px) {
  .site_footer-inner { padding: 36px 20px 20px; }
  .site_footer-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 28px; }
  .site_footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 12px; }
  .site_footer-heading { margin-top: 0; }
  .site_footer-bottom { align-items: flex-start; flex-direction: column; gap: 4px; }
}
