.site-footer,
.site-footer * { box-sizing: border-box; }

.site-footer {
  position: relative;
  margin-top: 0;
  padding: 0;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 12% 18%,rgba(255,49,87,.13),transparent 30%),
    linear-gradient(180deg,#0c0c0f 0%,#070708 100%);
  color: #aaaab3;
  font: 14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg,transparent,#ff3157,transparent);
  opacity: .55;
}

.site-footer .shell {
  width: min(1160px,calc(100% - 40px));
  margin-inline: auto;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(260px,1.65fr) repeat(3,minmax(130px,1fr));
  gap: clamp(36px,6vw,82px);
  padding: 72px 0 58px;
}

.footer-brand-block { max-width: 350px; }
.footer-logo { display: block; width: 168px; margin-bottom: 24px; }
.footer-logo img { display: block; width: 100%; height: auto; }
.footer-brand-block p { max-width: 330px; margin: 0 0 22px; color: #b7b7c0; font-size: 15px; line-height: 1.75; }
.footer-email { display: inline-flex; padding-bottom: 3px; border-bottom: 1px solid rgba(255,49,87,.65); color: #fff; font-weight: 700; text-decoration: none; transition: color .2s ease,border-color .2s ease; }
.footer-email:hover { color: #ff3157; border-color: #ff3157; }

.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.footer-column h2 { margin: 4px 0 9px; color: #fff; font-size: 12px; line-height: 1; text-transform: uppercase; letter-spacing: .16em; }
.footer-column a { display: inline-flex; align-items: center; gap: 8px; color: #aaaab3; text-decoration: none; transition: color .18s ease,transform .18s ease; }
.footer-column a:hover { color: #fff; transform: translateX(3px); }
.footer-health { display: inline-flex; align-items: center; gap: 9px; margin-top: 5px; color: #aaaab3; font-size: 13px; }
.footer-health strong { color: #c7c7ce; font-weight: 700; }
.footer-health-dot { width: 8px; height: 8px; flex: 0 0 8px; border-radius: 50%; background: #71717a; box-shadow: 0 0 0 4px rgba(113,113,122,.1); }
.footer-health.is-operational .footer-health-dot { background: #43d17a; box-shadow: 0 0 0 4px rgba(67,209,122,.1); }
.footer-health.is-operational strong { color: #72e39b; }
.footer-health.is-issue .footer-health-dot { background: #ff3157; box-shadow: 0 0 0 4px rgba(255,49,87,.12); }
.footer-health.is-issue strong { color: #ff6d88; }
.footer-bottom { display: flex; align-items: center; gap: 24px; padding: 24px 0 32px; border-top: 1px solid rgba(255,255,255,.09); color: #a7a7af; font-size: 12px; }

@media (max-width: 900px) {
  .footer-main { grid-template-columns: 1.4fr repeat(2,1fr); }
  .footer-column:last-child { grid-column: 2; }
}

@media (max-width: 600px) {
  .site-footer .shell { width: min(100% - 24px,1160px); }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 38px 24px; padding: 54px 0 42px; }
  .footer-brand-block { grid-column: 1 / -1; }
  .footer-column:last-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; padding: 22px 0 28px; }
}
