.site-footer {
  padding: 72px 0 24px;
  border-top: 1px solid #ffffff0d;
  background: #09182b;
}
.site-footer-shell { width: min(100% - 40px, 1200px); margin: 0 auto; }
.site-footer-main {
  display: grid;
  grid-template-columns: 1.25fr .8fr 1fr 1fr;
  gap: clamp(28px, 5vw, 72px);
  padding-bottom: 48px;
}
.site-footer-brand > p { max-width: 330px; margin: 16px 0 18px; color: #aab8c899; font-size: 13px; line-height: 1.8; }
.site-footer-socials { display: flex; gap: 9px; margin-top: 22px; }
.site-footer-socials a, .site-footer-social-placeholder { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ffffff17; border-radius: 50%; background: #ffffff08; color: #c6ced8; }
.site-footer-socials a { transition: color .2s ease, border-color .2s ease; }
.site-footer-socials a:hover { border-color: #f5c45166; color: #f5c451; }
.site-footer-socials svg { display: block; width: 16px; height: 16px; }
.site-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.site-footer-column h2 { margin: 5px 0 4px; color: #f2f4f8; font: 700 14px Manrope, sans-serif; }
.site-footer-column > a, .site-footer-column > p { margin: 0; color: #aab8c899; font-size: 13px; line-height: 1.6; transition: color .2s ease; }
.site-footer-column > a:hover { color: #f5c451; }
.site-footer-contact > p { display: flex; align-items: flex-start; gap: 9px; }
.site-footer-contact > p svg { flex: 0 0 15px; width: 15px; height: 15px; margin-top: 2px; color: #f5c451; }
.site-footer-column .site-footer-apply { display: inline-flex; align-items: center; gap: 7px; margin-top: 3px; color: #f5c451; font-weight: 700; }
.site-footer-apply svg { width: 14px; height: 14px; }
.site-footer-map { height: 160px; overflow: hidden; border: 1px solid #ffffff1a; border-radius: 17px; }
.site-footer-map iframe { width: 100%; height: 100%; border: 0; filter: grayscale(1); transition: filter .25s ease; }
.site-footer-map:hover iframe { filter: grayscale(0); }
.site-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid #ffffff0d; color: #aab8c866; font-size: 11px; }
.site-footer-credit { color: #aab8c899; }
.site-footer-credit span { color: #f5c451; }
@media (max-width: 900px) {
  .site-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .site-footer { padding-top: 48px; }
  .site-footer-shell { width: min(100% - 30px, 1200px); }
  .site-footer-main { grid-template-columns: minmax(0, 1fr); gap: 30px; padding-bottom: 34px; }
  .site-footer-map { height: 190px; }
  .site-footer-bottom { align-items: flex-start; flex-direction: column; }
}
