@media (max-width: 620px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
  .mobile-bottom-nav {
    position: fixed; z-index: 1200; right: 0; bottom: 0; left: 0;
    display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); min-height: 66px;
    padding: 5px 6px calc(5px + env(safe-area-inset-bottom, 0px));
    border-top: 1px solid rgba(255,255,255,.1);
    background: rgba(9,13,22,.96); box-shadow: 0 -10px 30px rgba(0,0,0,.3);
    backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  }
  .mobile-bottom-nav a {
    position: relative; display: flex; min-width: 0; min-height: 55px; align-items: center;
    justify-content: center; flex-direction: column; gap: 3px; border-radius: 12px;
    color: #8f98ae; text-decoration: none; font-size: 11px; line-height: 1.15;
    transition: color .18s ease,background .18s ease,transform .18s ease;
    -webkit-tap-highlight-color: transparent;
  }
  .mobile-bottom-nav a:active { transform: scale(.95); }
  .mobile-bottom-nav .nav-icon {
    display: grid; width: 26px; height: 25px; place-items: center;
    font-size: 18px; line-height: 1;
  }
  .mobile-bottom-nav a.active {
    color: #f4eaff;
    background: linear-gradient(180deg,rgba(168,85,247,.2),rgba(236,72,153,.08));
  }
  .mobile-bottom-nav a.active::before {
    position: absolute; top: -5px; left: 50%; width: 28px; height: 3px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg,#8b5cf6,#ec4899,#38bdf8);
    content: ""; transform: translateX(-50%);
  }
}
@media (min-width: 621px) { .mobile-bottom-nav { display: none !important; } }

.footer-service-links {
  width: min(520px, calc(100% - 28px));
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.footer-service-links a {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  color: #d9def0;
  text-decoration: none;
  font-size: 13px;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.footer-service-links a:hover {
  border-color: rgba(168,85,247,.55);
  background: rgba(168,85,247,.1);
}
.footer-service-links a:active { transform: scale(.98); }
@media (max-width: 620px) {
  .footer-service-links {
    width: calc(100% - 28px);
    margin-bottom: 13px;
    gap: 8px;
  }
  .footer-service-links a {
    min-height: 44px;
    padding: 9px 7px;
    border-radius: 12px;
    font-size: 12px;
  }
}
