/* Closing CTA illustration — loaded after footer.css to keep the contact
   visual self-contained without affecting the shared footer shell. */
.site-footer__closing-visual {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 100%;
  min-height: clamp(420px, 42vw, 570px);
  place-items: center;
}

.site-footer__intelligence-art {
  display: none;
  position: relative;
  z-index: 1;
  width: min(100%, 740px);
  max-width: none;
  height: auto;
  overflow: visible;
  transform: translateX(clamp(-3rem, -4vw, -1.5rem));
}

.contact-hub-art { position: relative; z-index: 1; width: min(120%, 840px); height: auto; transform: translateX(-20%); overflow: visible; }
.contact-hub-art .hub-core, .contact-hub-art .hub-panel { transform-box: fill-box; transform-origin: center; }.contact-hub-art .hub-core { animation: consult-core-float 10s ease-in-out infinite alternate; }.contact-hub-art .hub-aura { transform-box: fill-box; transform-origin: center; animation: consult-core-breathe 8s ease-in-out infinite alternate; }.contact-hub-art .hub-route { stroke-width: 2.3; stroke-dasharray: 5 12; animation: consult-route-flow 11s linear infinite; }.contact-hub-art .hub-panel--one,.contact-hub-art .hub-panel--three,.contact-hub-art .hub-panel--five { animation: consult-module-float 9s ease-in-out infinite alternate; }.contact-hub-art .hub-panel--two,.contact-hub-art .hub-panel--four,.contact-hub-art .hub-panel--six { animation: consult-module-float 10s ease-in-out -3s infinite alternate; }
@media (max-width:899px){.contact-hub-art{width:min(100%,620px);transform:none}}@media(max-width:520px){.contact-hub-art{width:100%}.contact-hub-art .hub-panel--four,.contact-hub-art .hub-panel--six{display:none}}

@media (min-width: 900px) {
  .site-footer__intelligence-art {
    width: min(120%, 840px);
    transform: translateX(-20%);
  }
}

.site-footer__intelligence-art .consult-hub__core,
.site-footer__intelligence-art .consult-hub__module,
.site-footer__intelligence-art .consult-hub__routes {
  transform-box: fill-box;
  transform-origin: center;
}

.site-footer__intelligence-art .consult-hub__core { animation: consult-core-float 10s ease-in-out infinite alternate; }
.site-footer__intelligence-art .consult-hub__aura { transform-box: fill-box; transform-origin: center; animation: consult-core-breathe 8s ease-in-out infinite alternate; }
.site-footer__intelligence-art .consult-hub__routes { animation: consult-route-glow 7s ease-in-out infinite alternate; }
.site-footer__intelligence-art .consult-hub__route { stroke-width: 2.2; stroke-dasharray: 4 11; animation: consult-route-flow 11s linear infinite; }
.site-footer__intelligence-art .consult-hub__module--a { animation: consult-module-float 9s ease-in-out infinite alternate; }.site-footer__intelligence-art .consult-hub__module--b { animation: consult-module-float 10s ease-in-out -3s infinite alternate; }.site-footer__intelligence-art .consult-hub__module--c { animation: consult-module-float 9.5s ease-in-out -5s infinite alternate; }.site-footer__intelligence-art .consult-hub__module--d { animation: consult-module-float 11s ease-in-out -2s infinite alternate; }
@keyframes consult-core-float { from { transform: translate3d(0, -5px, 0) scale(1.03); } to { transform: translate3d(0, 5px, 0) scale(1.08); } } @keyframes consult-core-breathe { from { transform: scale(.93); opacity: .68; } to { transform: scale(1.05); opacity: 1; } } @keyframes consult-route-glow { from { opacity: .5; } to { opacity: 1; } } @keyframes consult-route-flow { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -60; } } @keyframes consult-module-float { from { transform: translate3d(0, -4px, 0); } to { transform: translate3d(0, 4px, 0); } }

@media (max-width: 899px) {
  .site-footer__closing-visual {
    width: min(100%, 580px);
    min-height: clamp(260px, 55vw, 380px);
    margin: clamp(1rem, 4vw, 1.75rem) auto 0;
  }

  .site-footer__intelligence-art { width: min(100%, 620px); transform: none; }
}

@media (max-width: 520px) {
  .site-footer__closing-visual { min-height: clamp(230px, 70vw, 300px); }
  .site-footer__intelligence-art { width: 100%; }
  .site-footer__intelligence-art .consult-hub__module--d { display: none; }
}
