.site-footer{
  width:100%;
  margin-top:56px;
  background:#fff;
}

/* Desktop: one simple 2-column upper row.
   Left = 4 menu columns, right = SOCIALS.
   footer-brand spans BOTH columns, so its divider can never cut through SOCIALS. */
.footer-panel{
  width:min(1036px,100%);
  margin:0 auto;
  padding:24px 28px 20px;
  background:#efefef;
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  column-gap:34px;
  align-items:start;
}
.footer-columns{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:30px;
  min-width:0;
}
.footer-group h4,.social-title{
  margin:0 0 24px;
  color:var(--gb-navy);
  font-size:15px;
  font-weight:800;
}
.footer-links a{
  display:block;
  margin:0 0 21px;
  color:var(--gb-navy);
  text-decoration:none;
  font-size:15px;
  line-height:1.25;
  font-weight:700;
}
.footer-links a:hover,.footer-links a:focus-visible{
  color:#1689e8;
}
.footer-toggle{display:none}
.footer-socials{
  width:180px;
  min-width:0;
}
.social-grid{display:grid;gap:14px}
.social-link{
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--gb-navy);
  text-decoration:none;
  font-size:14px;
  font-weight:700;
}
.social-link:hover,.social-link:focus-visible{
  color:#1689e8;
}
.social-icon{
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  object-fit:contain;
}
.footer-brand{
  grid-column:1 / -1;
  width:100%;
  margin-top:22px;
  padding-top:26px;
  border-top:1px solid #d5d5d5;
  text-align:center;
}
.footer-brand img{
  display:block;
  width:196px;
  height:91px;
  margin:0 auto 17px;
}
.footer-brand p{
  margin:0;
  color:var(--gb-navy);
  font-size:12px;
  line-height:1.25;
  font-weight:600;
}

@media(max-width:900px) and (min-width:768px){
  .footer-panel{
    grid-template-columns:minmax(0,1fr) 165px;
    column-gap:24px;
  }
  .footer-columns{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px 34px;
  }
  .footer-socials{width:165px}
}

@media(max-width:767px){
  .site-footer{
    margin-top:36px;
    background:var(--mobile-bg);
  }
  .footer-panel{
    width:100%;
    padding:20px 20px 32px;
    display:block;
  }
  .footer-columns{display:block;padding:0}
  .footer-group{border-bottom:1px solid #d2d2d2}
  .footer-group h4{display:none}
  .footer-toggle{
    display:flex;
    width:100%;
    min-height:49px;
    align-items:center;
    justify-content:space-between;
    border:0;
    background:transparent;
    padding:0;
    color:var(--gb-navy);
    font-size:15px;
    font-weight:800;
    text-align:left;
    cursor:pointer;
  }
  .footer-toggle::after{content:"⌄";font-size:22px;line-height:1}
  .footer-toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
  .footer-links{display:none;padding:0 0 10px}
  .footer-group.is-open .footer-links{display:block}
  .footer-links a{margin:0;padding:8px 0 8px 8px;font-size:14px}

  .footer-socials{width:auto;margin:24px 0 0}
  .social-title{display:none}
  .social-grid{
    grid-template-columns:repeat(6,1fr);
    gap:12px 10px;
    justify-items:center;
  }
  .social-link span{display:none}
  .social-icon{width:24px;height:24px;flex-basis:24px}

  .footer-brand{margin-top:24px;padding-top:28px}
  .footer-brand img{width:196px;height:91px}
}
