/* Local global-footer proposal. No home or header overrides. */
.es-site-footer {
  background:#15231c;
  color:#f4f7f3;
  font:400 1rem/1.5 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  overflow-wrap:break-word;
}
.es-site-footer *, .es-site-footer *::before, .es-site-footer *::after { box-sizing:border-box; }
.es-footer-container { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.es-footer-grid { display:grid; grid-template-columns:1.5fr 1.1fr 1.1fr .9fr; gap:48px; padding-block:48px 32px; }
.es-footer-grid > * { min-width:0; }
.es-site-footer p { margin:0; }
.es-site-footer a { color:inherit; text-decoration:none; }
.es-site-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.es-site-footer a:focus-visible { outline:3px solid #b5dd9f; outline-offset:4px; border-radius:3px; }
.es-footer-brand { display:inline-flex; align-items:center; min-height:44px; font-size:28px; font-weight:750; letter-spacing:-1px; }
.es-site-footer .es-footer-positioning { max-width:33ch; margin:12px 0 16px; color:#c1cbc4; }
.es-footer-contact { display:flex; flex-direction:column; align-items:flex-start; font-style:normal; color:#dce4dd; }
.es-footer-contact a { display:inline-flex; align-items:center; min-height:44px; }
.es-footer-contact span { display:block; padding-top:8px; font-size:.9375rem; color:#c1cbc4; }
.es-site-footer .es-footer-heading { min-height:44px; display:flex; align-items:center; margin:0 0 12px; font-size:1rem; line-height:1.4; font-weight:700; }
.es-site-footer ul { list-style:none; margin:0; padding:0; }
.es-site-footer li { margin:0; padding:0; }
.es-site-footer nav a { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; }
.es-footer-services a { font-weight:500; }
.es-footer-secondary, .es-footer-legal { color:#c1cbc4; }
.es-footer-secondary a, .es-footer-legal a { font-size:.9375rem; }
.es-footer-bottom { border-top:1px solid #3d4e42; padding-block:20px 24px; font-size:.875rem; color:#c1cbc4; }
@media(max-width:1000px) {
  .es-footer-grid { grid-template-columns:1fr 1fr; gap:32px; }
}
@media(max-width:640px) {
  .es-footer-container { width:calc(100% - 40px); }
  .es-footer-grid { grid-template-columns:1fr; gap:24px; padding-block:32px 24px; }
  .es-site-footer .es-footer-heading { min-height:0; margin-bottom:8px; }
  .es-site-footer .es-footer-positioning { max-width:36ch; margin-top:8px; }
  .es-footer-bottom { padding-block:18px 24px; }
}

/* Existing official logo, white treatment for the approved dark background. */
.es-site-footer .es-footer-logo { display:block; width:148px; height:auto; max-height:36px; object-fit:contain; filter:brightness(0) invert(1); }
.es-site-footer a[aria-disabled="true"] { cursor:default; }
.es-site-footer a[aria-disabled="true"]:hover { text-decoration:none; }
