/* GhostSEO footer rebuild v184
   Dedicated, late-loaded footer layer. Keep all selectors scoped to the real
   site footers so article-card/service-card footer elements cannot collide. */

html,
body{min-height:100%}

body.member-page,
body.public-page{min-height:100vh}

body.member-page{display:flex;flex-direction:column}
body.public-page{display:flex;flex-direction:column}

footer.gs-app-footer,
footer.v14-footer{
  position:relative;
  inset:auto;
  flex:0 0 auto;
  width:100%;
  max-width:none;
  min-height:0;
  margin:auto 0 0;
  padding:0;
  border:0;
  border-top:1px solid #e4e7ec;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  overflow:visible;
  color:#344054;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  z-index:2;
}

footer.gs-app-footer > .v14-app-shell,
footer.v14-footer > .v14-public-shell{
  width:min(1240px,calc(100% - 40px));
  max-width:1240px;
  min-height:72px;
  margin:0 auto;
  padding:15px 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  justify-content:stretch;
  gap:18px 28px;
}

footer.v14-footer > .v14-public-shell{
  width:min(1100px,calc(100% - 40px));
  max-width:1100px;
}

footer.gs-app-footer > .v14-app-shell > div,
footer.v14-footer > .v14-public-shell > div{
  min-width:0;
  margin:0;
  padding:0;
}

footer.gs-app-footer strong,
footer.v14-footer strong{
  display:block;
  margin:0;
  color:#1d2939;
  font:800 14px/1.25 Manrope,Inter,sans-serif;
  letter-spacing:-.01em;
}

footer.gs-app-footer span,
footer.v14-footer span{
  display:block;
  margin:4px 0 0;
  color:#667085;
  font-size:12px;
  font-weight:500;
  line-height:1.45;
}

footer.gs-app-footer nav,
footer.v14-footer nav{
  min-width:0;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px 18px;
  background:transparent;
  border:0;
}

footer.gs-app-footer nav a,
footer.v14-footer nav a{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  margin:0;
  padding:5px 0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#475467;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}

footer.gs-app-footer nav a:hover,
footer.gs-app-footer nav a:focus-visible,
footer.v14-footer nav a:hover,
footer.v14-footer nav a:focus-visible{
  color:#4338ca;
  background:transparent;
  text-decoration:none;
  outline:none;
}

html[data-theme="dark"] footer.gs-app-footer,
html[data-theme="dark"] footer.v14-footer{
  background:#0b1220;
  border-top-color:#28364a;
  color:#cbd5e1;
}

html[data-theme="dark"] footer.gs-app-footer strong,
html[data-theme="dark"] footer.v14-footer strong{
  color:#f2f4f7;
}

html[data-theme="dark"] footer.gs-app-footer span,
html[data-theme="dark"] footer.v14-footer span{
  color:#98a2b3;
}

html[data-theme="dark"] footer.gs-app-footer nav a,
html[data-theme="dark"] footer.v14-footer nav a{
  color:#cbd5e1;
}

html[data-theme="dark"] footer.gs-app-footer nav a:hover,
html[data-theme="dark"] footer.gs-app-footer nav a:focus-visible,
html[data-theme="dark"] footer.v14-footer nav a:hover,
html[data-theme="dark"] footer.v14-footer nav a:focus-visible{
  color:#c7d2fe;
}

@media (max-width:760px){
  footer.gs-app-footer > .v14-app-shell,
  footer.v14-footer > .v14-public-shell{
    width:calc(100% - 28px);
    min-height:0;
    padding:17px 0 19px;
    grid-template-columns:1fr;
    align-items:start;
    gap:10px;
  }

  footer.gs-app-footer nav,
  footer.v14-footer nav{
    justify-content:flex-start;
    gap:4px 16px;
  }

  footer.gs-app-footer nav a,
  footer.v14-footer nav a{
    min-height:30px;
  }
}

@media (max-width:420px){
  footer.gs-app-footer > .v14-app-shell,
  footer.v14-footer > .v14-public-shell{
    width:calc(100% - 22px);
  }

  footer.gs-app-footer nav,
  footer.v14-footer nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:14px;
    width:100%;
  }

  footer.gs-app-footer nav a,
  footer.v14-footer nav a{
    white-space:normal;
  }
}
