.gk-foot {
  --ml-text: #f0f6fc;
  --ml-muted: #a3b9cb;
  --ml-dim: #8199ad;
  --ml-grad: linear-gradient(100deg, #7cb5ed 0%, #559ee2 34%, #34ee9d 100%);
  --ml-border: rgba(255, 255, 255, 0.13);
  --ml-max: 1240px;
  --ml-pad: max(20px, env(safe-area-inset-left));
  --ml-ease: cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  z-index: 1;
  color: var(--ml-text);
  font-family: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}

:root[data-theme="light"] .gk-foot {
  --ml-text: #0d1a24;
  --ml-muted: #3f566a;
  --ml-dim: #556d81;
  --ml-grad: linear-gradient(100deg, #1d62a8 0%, #2a76bd 40%, #00733f 100%);
  --ml-border: rgba(20, 60, 90, 0.14);
}

.gk-foot *,
.gk-foot *::before,
.gk-foot *::after {
  box-sizing: border-box;
}

.gk-foot .ml-footer {
  max-width: calc(var(--ml-max) + 2 * var(--ml-pad));
  margin: 88px auto 0;
  padding: 0 var(--ml-pad) calc(40px + env(safe-area-inset-bottom));
  background: none;
  border: 0;
}

.gk-foot .ml-footer-grid {
  display: grid;
  gap: 36px;
  padding: 44px 0 30px;
  border-top: 1px solid var(--ml-border);
  grid-template-columns: minmax(0, 1fr);
}

.gk-foot .ml-footer-brand p {
  margin-top: 14px;
  max-width: 18rem;
  color: var(--ml-muted);
  font-family: "Outfit", sans-serif;
  font-size: 1.125rem;
  font-weight: 300;
}

.gk-foot .ml-footer-brand .tl-note {
  max-width: 26rem;
  margin-top: 12px;
  color: var(--ml-dim);
  font-family: "Outfit", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6;
}

.gk-foot .ml-footer nav {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gk-foot .ml-footer h3 {
  margin-bottom: 10px;
  color: var(--ml-text);
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0;
}

.gk-foot .ml-footer nav a {
  width: fit-content;
  padding: 6px 0;
  color: var(--ml-muted);
  font-size: 0.9375rem;
  transition: color 0.2s ease;
}

.gk-foot .ml-footer nav a:hover {
  color: var(--ml-text);
}

.gk-foot .ml-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 24px;
  padding-top: 24px;
  border-top: 1px solid var(--ml-border);
  color: var(--ml-dim);
  font-size: 0.8125rem;
}

.gk-foot .ml-copy p {
  margin: 0;
}

.gk-foot .ml-copy-by {
  margin-left: auto;
  text-align: right;
}

.gk-foot .ml-copy-by a {
  color: var(--ml-muted);
  text-decoration: underline;
  text-decoration-color: var(--ml-border-blue);
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.gk-foot .ml-copy-by a:hover {
  color: var(--ml-text);
}

.gk-foot .ml-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  color: var(--ml-text);
  font-family: "Outfit", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.gk-foot .ml-logo-mark {
  width: 46px;
  height: auto;
  aspect-ratio: 500 / 308;
  transition: transform 0.45s var(--ml-ease);
}

.gk-foot .ml-logo:hover .ml-logo-mark {
  transform: rotate(-5deg) scale(1.06);
}

.gk-foot .ml-logo-text em {
  margin-left: 0.22em;
  font-style: normal;
  background: var(--ml-grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

@media (min-width: 640px) {
  .gk-foot .ml-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .gk-foot .ml-footer-grid {
    grid-template-columns: 1.7fr repeat(5, minmax(0, 1fr));
  }
}
