/* One public footer, independent of header interactions and page layouts. */
.ctg-site-footer{
  background:var(--ctg-public-surface-dark);
  color:var(--ctg-public-body-dark);
  font-family:var(--ctg-public-font-body);
  border-top:1px solid var(--ctg-public-card-border);
}
.ctg-site-footer *, .ctg-site-footer *::before, .ctg-site-footer *::after{box-sizing:border-box;}
.ctg-site-footer__shell{
  width:min(calc(100% - var(--ctg-public-gutter) * 2),var(--ctg-public-content-max));
  margin-inline:auto;
  padding-block:clamp(40px,4vw,56px) 24px;
}
.ctg-site-footer__composition{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,2fr);gap:clamp(32px,4vw,64px);}
.ctg-site-footer p{margin:0;}
.ctg-site-footer__brand{max-width:var(--ctg-public-measure-card);font-size:.875rem;line-height:1.7;}
.ctg-site-footer .ctg-site-footer__name{margin-bottom:16px;color:var(--ctg-public-heading-dark);font-family:var(--ctg-public-font-heading);font-size:var(--ctg-public-type-h3);font-weight:600;line-height:1.2;}
.ctg-site-footer .ctg-site-footer__brand-line{margin-top:16px;}
.ctg-site-footer a.ctg-site-footer__social-link{display:inline-flex;align-items:flex-end;gap:10px;min-height:44px;margin-top:0;padding:0;color:var(--ctg-public-body-dark);transition:color .2s ease;}
.ctg-site-footer a.ctg-site-footer__social-link:hover{color:var(--ctg-public-eyebrow-primary);}
.ctg-site-footer__social-icon{display:block;flex:none;width:24px;height:24px;background:currentColor;-webkit-mask:url("/assets/icons/devicon/linkedin-plain.svg") center/contain no-repeat;mask:url("/assets/icons/devicon/linkedin-plain.svg") center/contain no-repeat;}
/* Preserve the original badge pixels; black from the inverted white surface blends away. */
.ctg-site-footer__member-badge{display:block;width:180px;max-width:100%;height:auto;margin-top:16px;filter:grayscale(1) invert(1) brightness(1.25);mix-blend-mode:screen;opacity:.8;}
.ctg-site-footer__navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;}
.ctg-site-footer__group{min-width:0;}
.ctg-site-footer__label{color:var(--ctg-public-eyebrow-secondary);font-size:var(--ctg-public-type-eyebrow);font-weight:700;letter-spacing:.12em;line-height:1.5;}
.ctg-site-footer ul{list-style:none;padding:0;margin:14px 0 0;}
.ctg-site-footer a{display:flex;align-items:center;min-height:44px;padding-block:8px;color:var(--ctg-public-body-dark);font-size:.8125rem;line-height:1.5;text-decoration:none;overflow-wrap:break-word;}
.ctg-site-footer a:hover{color:var(--ctg-public-heading-dark);}
.ctg-site-footer a:focus-visible{outline:2px solid var(--ctg-public-focus-ring);outline-offset:var(--ctg-public-focus-offset);}
.ctg-site-footer__disclosures{margin-top:32px;max-width:var(--ctg-public-measure-note);font-size:.8125rem;line-height:1.6;}
.ctg-site-footer__disclosures p+p{margin-top:12px;}
.ctg-site-footer__legal{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:32px;padding-top:20px;border-top:1px solid var(--ctg-public-card-border);font-size:.75rem;line-height:1.6;}
.ctg-site-footer__contact{margin-left:auto;text-align:right;}
.ctg-site-footer .ctg-site-footer__legal a{display:inline;min-height:0;padding:0;font-size:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:1023px){
  .ctg-site-footer__composition{grid-template-columns:1fr;}
}
@media(max-width:767px){
  .ctg-site-footer__navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;}
}
