html, body { min-height: 100vh; display: flex; flex-direction: column; }
body { margin: 0; }
main, body > main { flex: 1 0 auto; }
#site-footer-container { width: 100%; margin-top: auto; }
.site-footer { background: #12181f; color: #8b96a3; padding: 40px 4% 24px; font: 14px/1.6 'IBM Plex Sans', sans-serif; }
.site-footer a { color: inherit; text-decoration: none; transition: color .2s ease; }
.site-footer .site-footer-inner,
.site-footer-inner { width: min(1180px, 100%); margin: auto; display: grid; grid-template-columns: 1.6fr .8fr 1fr 1.15fr; gap: 42px; align-items: start; }
.site-footer-logo { display: flex; align-items: center; gap: 10px; color: #fff; font: 700 20px/1.15 'Space Grotesk', sans-serif; text-decoration: none; }
.site-footer-logo b { color: #a9b2bd; font-weight: 500; }

/* Icon Container - Fixed Alignment & Sizing */
.site-footer-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  border-radius: 8px;
  background: #12181f;
  color: #ff5a1f;
  border: 1px solid rgba(255,255,255,.18);
  flex-shrink: 0;
  box-sizing: border-box;
  overflow: hidden;
}

/* SVG Icon Fix */
.site-footer-mark svg {
  display: block;
  width: 19px;
  height: 19px;
  max-width: 100%;
  max-height: 100%;
  fill: none;
  stroke: currentColor;
}

/* Font Icon / Iframe Fallback */
.site-footer-mark i, 
.site-footer-mark span {
  font-size: 18px;
  line-height: 1;
  color: #ff5a1f;
}

.site-footer-brand p { max-width: 295px; margin: 17px 0 0; color: #a9b2bd; font-size: 13px; line-height: 1.6; }
.site-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.site-footer-column strong { margin-bottom: 6px; color: #fff; font: 600 16px 'Space Grotesk', sans-serif; }
.site-footer-column a:hover { color: #fff; }
.site-footer-column span, .site-footer-column a { color: #8b96a3; font-size: 13px; line-height: 1.55; word-break: break-word; overflow-wrap: anywhere; }
.site-footer-copyright { width: min(1180px, 100%); margin: 36px auto 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.12); color: #6f7a87; text-align: center; font: 11px 'IBM Plex Mono', monospace; }

/* Responsive Footer Media Queries */
@media (max-width: 860px) {
  .site-footer { padding: 36px 5% 24px; }
  .site-footer .site-footer-inner,
  .site-footer-inner,
  .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 30px !important; }
  .site-footer-brand { grid-column: 1 / -1 !important; }
  .site-footer-brand p { max-width: 100% !important; }
}

@media (max-width: 640px) {
  .site-footer,
  footer.site-footer { padding: 40px 20px 24px !important; }
  .site-footer .site-footer-inner,
  .site-footer-inner,
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
  .site-footer-brand { grid-column: auto !important; }
  .site-footer-column { gap: 6px; }
  .site-footer-copyright { margin-top: 28px; }
}
