.site-footer {
  --footer-gutter: clamp(24px, 3.2vw, 64px);
  --gradient-mist: color-mix(in srgb, #eaf7ff, #0b1830 var(--theme-weight, 0%));
  --gradient-halo: color-mix(in srgb, #c3eeff, #103060 var(--theme-weight, 0%));
  --gradient-sky: color-mix(in srgb, #72caff, #1d54bc var(--theme-weight, 0%));
  --gradient-blue: color-mix(in srgb, #0758ff, #1c56ff var(--theme-weight, 0%));
  --gradient-cobalt: #0f41ff;
  --gradient-deep: color-mix(in srgb, #072dd1, #729bff var(--scene-weight, 0%));
  --gradient-night: color-mix(in srgb, #02145b, #d9e8ff var(--scene-weight, 0%));
  --gradient-shadow: color-mix(in srgb, #010619, #f1f6ff var(--scene-weight, 0%));
  --gradient-core: var(--scene-bg, #000);
  --footer-meta: color-mix(in srgb, #8b8b92, #000 var(--scene-weight, 0%));
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100vh;
  height: 100svh;
  min-height: 650px;
  overflow: clip;
  background: var(--page-bg, #fff);
  color: var(--scene-ink, #fff);
  font-family: 'Plus Jakarta Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.site-footer .footer-field {
  position: absolute;
  z-index: 0;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.site-footer .footer-fluid,
.site-footer .footer-fallback {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.site-footer .footer-fluid { z-index: 1; opacity: 0; }
.site-footer .footer-fallback { z-index: 0; opacity: 1; }
.site-footer.is-fluid .footer-fluid { opacity: 1; }
.site-footer.is-fluid .footer-fallback { opacity: 0; }

.site-footer .footer-intro {
  position: absolute;
  z-index: 2;
  top: 36.3%;
  right: var(--footer-gutter);
  left: var(--footer-gutter);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  color: var(--ink, #080808);
  font-size: clamp(17px, 1.45vw, 25px);
  font-weight: 450;
  line-height: 1.25;
  letter-spacing: -.035em;
}

.site-footer .footer-intro p { margin: 0; }
.site-footer .footer-talk { white-space: nowrap; }
.site-footer .footer-talk-arrow { display: inline-block; margin-left: .14em; }

.site-footer .footer-wordmark {
  position: absolute;
  z-index: 2;
  left: calc(var(--footer-gutter) - .7vw);
  bottom: 9.8%;
  margin: 0;
  color: var(--scene-ink, #fff);
  font-size: 14vw;
  font-weight: 450;
  line-height: .9;
  letter-spacing: -.08em;
  white-space: nowrap;
  transform: scaleX(1.13);
  transform-origin: 0 100%;
}

.site-footer .footer-wordmark::after {
  content: '';
  display: inline-block;
  width: .135em;
  height: .135em;
  margin-left: .055em;
  border-radius: 50%;
  background: currentColor;
}

.site-footer .footer-meta {
  position: absolute;
  z-index: 2;
  right: var(--footer-gutter);
  bottom: clamp(28px, 4.3svh, 46px);
  left: var(--footer-gutter);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: baseline;
  gap: 24px;
  color: var(--footer-meta, #8b8b92);
  font-size: clamp(12px, .96vw, 16px);
  font-weight: 450;
  line-height: 1.4;
  letter-spacing: -.025em;
}

.site-footer .footer-meta p { margin: 0; }
.site-footer .footer-disciplines { text-align: center; }
.site-footer .footer-socials { display: flex; justify-content: flex-end; gap: clamp(24px, 3.3vw, 56px); }
.site-footer .footer-socials > span { white-space: nowrap; }
.site-footer .footer-social-arrow { margin-left: .35em; }

@media (max-width: 700px) {
  .site-footer { --footer-gutter: 22px; }
  .site-footer .footer-intro { top: 30%; gap: 18px; font-size: clamp(15px, 4vw, 19px); }
  .site-footer .footer-intro p { max-width: 60%; }
  .site-footer .footer-wordmark { left: 18px; bottom: 124px; font-size: 27vw; transform: none; }
  .site-footer .footer-meta { bottom: 28px; grid-template-columns: 1fr auto; gap: 14px 16px; font-size: 11px; }
  .site-footer .footer-disciplines { grid-column: 1 / -1; grid-row: 1; text-align: left; font-size: 12px; }
  .site-footer .footer-copyright { grid-column: 1; grid-row: 2; }
  .site-footer .footer-socials { grid-column: 2; grid-row: 2; gap: 18px; }
}

@media (max-width: 360px) {
  .site-footer { --footer-gutter: 18px; }
  .site-footer .footer-intro { gap: 12px; font-size: 14px; }
  .site-footer .footer-wordmark { left: 14px; }
  .site-footer .footer-meta { gap: 14px 12px; font-size: 10px; }
  .site-footer .footer-socials { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .site-footer .footer-field,
  .site-footer .footer-fluid,
  .site-footer .footer-fallback { transform: none; }
}
