/* Footer concept 1, approved 8 September. The original neutral newsletter stays. */
.site-footer[data-geiq56-footer-layout="10590"] {
  --footer-ink:#252936;
  --footer-muted:#505967;
  --footer-rule:#d9d8dc;
  --footer-accent:#b8002f;
  --footer-width:min(1440px, calc(100% - 96px));
  background:#faf9f7 !important;
  border-top:1px solid var(--footer-rule);
  padding:48px 0 88px !important;
  font-family:var(--font-body, Inter, system-ui, sans-serif);
  color:var(--footer-ink);
  backdrop-filter:none;
}
html[data-theme="dark"] .site-footer[data-geiq56-footer-layout="10590"] {
  --footer-ink:#f2eff4;
  --footer-muted:#c5becb;
  --footer-rule:#403b46;
  --footer-accent:#ff739a;
  background:#151318 !important;
}
.site-footer[data-geiq56-footer-layout="10590"]::before,
.site-footer[data-geiq56-footer-layout="10590"]::after { display:none !important; }
/* Only the newsletter's outer width/gaps join the new common alignment axis. */
html body .site-footer[data-geiq56-footer-layout="10590"] .footer__newsletter {
  width:var(--footer-width) !important;
  max-width:1440px !important;
  margin:0 auto 64px !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__grid {
  display:grid !important;
  grid-template-columns:minmax(0,1.42fr) minmax(0,1fr) minmax(0,1.22fr) minmax(0,.88fr) !important;
  gap:48px !important;
  width:var(--footer-width) !important;
  max-width:1440px !important;
  margin:0 auto 64px !important;
  padding:0 !important;
  align-items:start !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__grid > .wp-block-group {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:0 !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  text-align:left !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__grid > .wp-block-group > * {
  max-width:none;
  margin-inline:0 !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__logo.wp-block-site-logo {
  width:min(104px,100%) !important;
  max-width:none !important;
  margin:0 0 10px !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__logo a { display:block; width:100% !important; max-width:none !important; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__logo img {
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__slogan {
  font-family:var(--font-body, Inter, system-ui, sans-serif) !important;
  font-size:clamp(.875rem,1.05vw,1rem) !important;
  font-weight:500 !important;
  font-style:normal !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
  color:var(--footer-muted) !important;
  margin:0 0 24px !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__tagline {
  font-size:1rem !important;
  line-height:1.65 !important;
  max-width:31ch !important;
  color:var(--footer-muted) !important;
  margin:0 0 32px !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__col-title {
  display:flex !important;
  align-items:center;
  gap:18px;
  min-height:24px;
  font-family:var(--font-body, Inter, system-ui, sans-serif) !important;
  font-size:.75rem !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
  color:var(--footer-muted) !important;
  margin:0 0 24px !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__col-title::after {
  content:"";
  flex:1;
  border-top:1px solid var(--footer-rule);
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__links {
  list-style:none !important;
  display:flex;
  flex-direction:column;
  gap:0 !important;
  width:100%;
  padding:0 !important;
  margin:0 !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__links li {
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__links li::before { display:none !important; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__links a {
  display:flex;
  align-items:center;
  min-height:46px;
  padding:9px 0;
  font-size:1rem !important;
  line-height:1.5;
  font-weight:400;
  color:var(--footer-ink) !important;
  text-decoration:none;
  transition:color .18s ease, transform .18s ease;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__links a:hover {
  color:var(--footer-accent) !important;
  transform:translateX(3px);
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__useful-column a[href$="/contact/"] {
  color:var(--footer-accent) !important;
  font-weight:500;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__entities-column .footer__links { gap:20px !important; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__entities-column li + li {
  border-top:1px solid var(--footer-rule);
  padding-top:20px !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__entity-link {
  display:block !important;
  width:100%;
  padding:8px 0 !important;
  min-height:76px;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer-entity-logo {
  display:block;
  width:100% !important;
  max-width:290px !important;
  flex:none !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__socials {
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center;
  gap:12px 20px !important;
  margin:0 !important;
  padding:0 !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__socials .wp-social-link {
  background:none !important;
  color:var(--footer-ink) !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__socials a {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:0 !important;
  color:var(--footer-ink) !important;
  text-decoration:none;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__socials svg { width:28px; height:28px; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__socials .footer__social-label { font-size:.875rem !important; font-family:inherit; line-height:1.5 !important; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__socials a:hover { color:var(--footer-accent) !important; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__bottom {
  display:block !important;
  width:var(--footer-width) !important;
  max-width:1440px !important;
  padding:24px 0 0 !important;
  margin:0 auto !important;
  border-top:1px solid var(--footer-rule) !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__legal {
  display:flex;
  text-align:left !important;
  justify-content:space-between;
  align-items:baseline;
  flex-wrap:wrap;
  gap:16px 32px;
  width:100%;
  margin:0 !important;
  font-size:.8125rem !important;
  line-height:1.7;
  color:var(--footer-muted) !important;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__legal a {
  display:inline-block;
  padding-block:8px;
  color:var(--footer-muted) !important;
  text-underline-offset:4px;
}
.site-footer[data-geiq56-footer-layout="10590"] .footer__legal a:hover { color:var(--footer-accent) !important; text-decoration:underline; }
.site-footer[data-geiq56-footer-layout="10590"] .footer__bottom > p:empty { display:none; }
.site-footer[data-geiq56-footer-layout="10590"] a:focus-visible {
  outline:2px solid var(--footer-accent) !important;
  outline-offset:5px;
  border-radius:3px;
}
@media(max-width:1100px) {
  .site-footer[data-geiq56-footer-layout="10590"] { --footer-width:calc(100% - 64px); }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:44px 64px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__tagline { max-width:34ch !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__legal { align-items:flex-start; }
}
/* The legacy 460px horizontal flex basis must not become a tablet height. */
@media(max-width:768px) {
  .site-footer[data-geiq56-footer-layout="10590"] .footer__newsletter-form-wrap { flex:0 0 auto; }
}
@media(max-width:640px) {
  .site-footer[data-geiq56-footer-layout="10590"] { --footer-width:calc(100% - 48px); padding:32px 0 88px !important; }
  html body .site-footer[data-geiq56-footer-layout="10590"] .footer__newsletter { margin-bottom:40px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__grid { grid-template-columns:minmax(0,1fr) !important; gap:32px !important; margin-bottom:36px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__logo.wp-block-site-logo { width:min(104px,100%) !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__slogan { font-size:.875rem !important; margin-bottom:18px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__tagline { font-size:.9375rem !important; margin-bottom:18px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__col-title { margin-bottom:14px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__nav-column .footer__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__links a { font-size:.9375rem !important; min-height:48px; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer-entity-logo { width:min(270px,100%) !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__entities-column .footer__links { gap:14px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__entities-column li + li { padding-top:14px !important; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__legal { flex-direction:column; gap:4px; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__legal-links { display:block; }
  html body .site-footer[data-geiq56-footer-layout="10590"] .newsletter-form__input { font-size:16px !important; }
}
@media(prefers-reduced-motion:reduce) {
  .site-footer[data-geiq56-footer-layout="10590"] .footer__links a { transition:none; }
  .site-footer[data-geiq56-footer-layout="10590"] .footer__links a:hover { transform:none; }
}
