/* Match the approved Diabetes footer without inheriting page-level type or tokens. */
body footer.ft {
  display: block;
  position: static;
  isolation: isolate;
  clear: both;
  flex: none;
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: auto;
  margin: 0;
  padding: 68px 24px 24px;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  background: #07301f;
  color: rgba(255, 255, 255, .68);
  font-family: -apple-system, 'Helvetica Neue', Arial, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: 0;
  text-align: left;
  transform: none;
}

body footer.ft,
body footer.ft * {
  box-sizing: border-box;
}

body footer.ft :is(p, h4, ul, li, a, strong) {
  font-family: inherit;
  font-style: normal;
}

body footer.ft .ft-in {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 35.2px;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

body footer.ft :is(.ft-br, .ft-col) {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

body footer.ft .ft-br img {
  display: block;
  width: 170px;
  height: auto;
  max-width: 100%;
  max-height: none;
  margin: 0 0 16px;
  padding: 11.2px 13.6px;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
}

body footer.ft .ft-br strong {
  display: block;
  max-width: none;
  margin: 0 0 8px;
  padding: 0;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.65;
}

body footer.ft .ft-br p {
  max-width: 36ch;
  margin: 0 0 16px;
  padding: 0;
  color: rgba(255, 255, 255, .68);
  font-size: 13.76px;
  font-weight: 400;
  line-height: 1.7;
}

body footer.ft .ft-soc {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8.8px;
  margin: 0;
  padding: 0;
}

body footer.ft .ft-soc a {
  margin: 0;
  padding: 5.12px 10.4px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 100px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-size: 12.16px;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
}

body footer.ft .ft-soc a:hover {
  background: rgba(255, 255, 255, .12);
}

body footer.ft .ft-col h4 {
  display: block;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  color: #fff;
  font-size: 11.52px;
  font-weight: 900;
  line-height: 1.65;
  text-transform: uppercase;
}

body footer.ft .ft-col ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

body footer.ft .ft-col ul li {
  margin: 0 0 7.2px;
  padding: 0;
  font-size: 16px;
  line-height: 1.65;
}

body footer.ft .ft-col ul a {
  color: rgba(255, 255, 255, .64);
  font-size: 13.44px;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color .15s;
}

body footer.ft .ft-col ul a:hover {
  color: #fff;
}

body footer.ft .ft-bot {
  max-width: 1180px;
  margin: 21.6px auto 0;
  padding: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 12.32px;
  font-weight: 400;
  line-height: 1.65;
  text-align: center;
}

@media (max-width: 1040px) {
  body footer.ft .ft-in {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
  }
}

@media (max-width: 720px) {
  body footer.ft {
    max-width: 100%;
    padding: 23.2px 16px 99.2px;
  }

  body footer.ft .ft-in {
    gap: 16px 14.4px;
    padding-bottom: 16px;
  }

  body footer.ft .ft-br {
    grid-column: 1 / -1;
    text-align: center;
  }

  body footer.ft .ft-br img {
    width: 112px;
    margin: 0 auto 9.6px;
    padding: 6.72px 8.8px;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
  }

  body footer.ft .ft-br strong {
    max-width: 290px;
    margin: 0 auto 5.6px;
    font-size: 13.76px;
    line-height: 1.35;
  }

  body footer.ft .ft-br p {
    max-width: 300px;
    margin: 0 auto 10.4px;
    font-size: 11.52px;
    line-height: 1.45;
  }

  body footer.ft .ft-soc {
    display: grid;
    grid-template-columns: repeat(3, max-content);
    justify-content: center;
    gap: 6.4px;
  }

  body footer.ft .ft-soc a {
    padding: 4.16px 7.36px;
    font-size: 10.24px;
  }

  body footer.ft .ft-col {
    padding: 13.6px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 12px;
    background: rgba(255, 255, 255, .035);
  }

  body footer.ft .ft-col h4 {
    margin-bottom: 8.8px;
    padding-bottom: 6.08px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    font-size: 10.56px;
  }

  body footer.ft .ft-col ul li {
    margin-bottom: 2.88px;
  }

  body footer.ft .ft-col ul a {
    font-size: 11.2px;
    line-height: 1.28;
  }

  body footer.ft .ft-col:nth-child(4) {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
    padding-bottom: 18.4px;
    background: rgba(255, 255, 255, .055);
    text-align: center;
  }

  body footer.ft .ft-col:nth-child(4) ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6.72px 10.4px;
    align-items: start;
  }

  body footer.ft .ft-col:nth-child(4) ul li {
    margin: 0;
  }

  body footer.ft .ft-col:nth-child(4) ul li:nth-child(n + 3) {
    grid-column: 1 / -1;
  }

  body footer.ft .ft-col:nth-child(4) ul a {
    display: block;
    padding: 7.68px 8px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 9px;
    background: rgba(255, 255, 255, .035);
    color: rgba(255, 255, 255, .8);
    overflow-wrap: anywhere;
  }

  body footer.ft .ft-bot {
    max-width: 330px;
    margin-top: 14.4px;
    font-size: 10.56px;
    line-height: 1.45;
  }
}

@media (max-width: 600px) {
  body footer.ft .ft-bot {
    padding-top: 12px;
  }
}
