
.site-footer {
  box-sizing: border-box; width: min(1200px, 100%); margin: 112px auto 0; padding: 40px 32px 28px;
  background: linear-gradient(145deg, rgba(20, 48, 86, .72), rgba(1, 15, 31, .96)); border-radius: 24px 24px 0 0;
  border-top: 1px solid #65718466; color: #929ba9; font-size: .875rem; line-height: 1.7;
}
.footer-columns { display: grid; grid-template-columns: 1.05fr .85fr .85fr 1.25fr; gap: 28px; align-items: start; }
.footer-columns > * { min-width: 0; }
.site-footer h3 { margin: 0 0 16px; padding: 0; border: 0; color: #bac2cd; font-size: .95rem; line-height: 1.5; }
.site-footer p { margin: 0 0 16px; }
.site-footer a { color: #929ba9; text-decoration: none; }
.site-footer a:hover { color: #d4dae3; text-decoration: underline; text-underline-offset: 4px; }
.footer-product-logo { display: block; width: 170px; height: 112px; object-fit: contain; margin: 0 0 16px; }
.footer-brand > p { max-width: 280px; }
.footer-publisher { display: flex; align-items: center; gap: 8px; margin: 20px 0 6px; }
.footer-publisher img { width: 30px; height: 30px; object-fit: contain; }
.footer-publisher a { color: #a4aebd; }
.footer-contact { font-size: .8rem; }
.footer-link-group { padding-top: 8px; }
.footer-link-group ul { margin: 0; padding: 0; list-style: none; }
.footer-link-group li { margin: 0 0 10px; }
.footer-link-group a { display: inline-block; color: #929ba9; }
.footer-newsletter {
  padding: 22px; border: 1px solid #50627b66; border-top: 3px solid #66b6ff; border-radius: 10px;
  background: linear-gradient(145deg, #143056, #010f1f);
}
.footer-eyebrow { display: block; margin: 0 0 8px; color: #79a7cc; font-size: .65rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.site-footer .footer-newsletter h3 { margin-bottom: 10px; }
.site-footer .footer-subscribe {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px;
  padding: 10px 14px; border: 1px solid #5d9ee2; border-radius: 6px;
  background: linear-gradient(145deg, #347cc4, #24518b); color: #d4dae3; font-weight: 600; font-size: .8rem;
}
.site-footer .footer-subscribe:hover { background: linear-gradient(145deg, #4494df, #2c639e); text-decoration: none; }
.footer-subscribe svg { flex: 0 0 18px; }
.site-footer .footer-newsletter-note { margin: 12px 0 0; color: #8995a6; font-size: .75rem; }
.footer-bottom { display: flex; justify-content: space-between; align-items: baseline; gap: 16px 28px; flex-wrap: wrap; margin-top: 32px; padding-top: 20px; border-top: 1px solid #ffffff1a; font-size: .75rem; }
.site-footer .footer-bottom p { margin: 0; }
.footer-bottom nav { display: flex; gap: 12px 20px; flex-wrap: wrap; }
.footer-bottom a { color: #929ba9; }
.footer-back-top { white-space: nowrap; }
.footer-related { margin-top: 32px; padding-top: 24px; border-top: 1px solid #ffffff1a; }
.footer-related-products { display: flex; flex-wrap: wrap; gap: 32px; }
.footer-related-product { display: flex; align-items: flex-start; gap: 18px; flex: 1 1 280px; min-width: 0; }
.footer-related-logo { flex: 0 0 72px; border-radius: 8px; }
.footer-related-logo img { display: block; width: 72px; height: 72px; object-fit: contain; }
.site-footer .footer-related-product h4 { margin: 0 0 8px; padding: 0; border: 0; font-size: 1rem; line-height: 1.5; }
.footer-related-product h4 a { color: #bac2cd; }
.site-footer .footer-related-product p { margin: 0; max-width: 460px; font-size: .8rem; }
.footer-related-logo:focus-visible { outline: 2px solid #8bc8ff; outline-offset: 5px; }
@media (max-width: 1000px) {
  .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
}
@media (max-width: 600px) {
  .footer-related-products { flex-direction: column; gap: 24px; }
  .footer-related-product { flex-basis: auto; }
  .site-footer { margin: 80px auto 0; padding: 28px 20px 24px; border-radius: 20px 20px 0 0; }
  .footer-columns { gap: 28px 20px; }
  .footer-brand, .footer-newsletter { grid-column: 1 / -1; }
  .footer-product-logo { width: 150px; height: 99px; }
  .footer-brand > p { max-width: none; }
  .footer-link-group { padding-top: 0; }
  .footer-newsletter { padding: 20px; }
  .footer-bottom { margin-top: 28px; }
  .footer-bottom nav { gap: 12px 18px; }
}

.site-footer { border-top-color: rgba(90, 170, 255, .22); }
.site-footer, .site-footer * { box-sizing: border-box; }
.site-footer :where(div, span, p, li, label) { font-size: inherit; line-height: inherit; color: inherit; }
.site-footer p { text-align: left; }
.site-footer .footer-related-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .site-footer .footer-related-products { grid-template-columns: 1fr; } }
