/* The Studio canonical footer. Shared by every page on thestudio.io.
   One source of truth: edit here and the footer updates site-wide. */
footer {
  position: relative;
  padding: 70px 24px 46px;
  text-align: center;
  background: #ffffff;
  border-top: 1px solid #e8e8ed;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
}

/* Language switcher: flag pinned to the footer's bottom-right corner. */
footer .lang-switch {
  position: absolute;
  right: 22px;
  bottom: 18px;
  font-size: 24px;
  line-height: 1;
  text-decoration: none;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: transform 0.15s ease;
}
footer .lang-switch:hover { transform: scale(1.15); }
@media (max-width: 520px) {
  footer .lang-switch { right: 14px; bottom: 14px; font-size: 21px; }
}

footer .foot-brand {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 32px;
  color: #1d1d1f;
}

footer nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 26px;
  max-width: 560px;
  margin: 0 auto 30px;
}

footer nav a {
  color: #6e6e73;
  font-size: 14px;
  text-decoration: none;
}

footer nav a:hover { color: #1d1d1f; }

footer nav a.hiring-link {
  color: #b58520;
  font-weight: 700;
}
footer nav a.hiring-link:hover {
  color: #b58520;
  text-decoration: underline;
}

footer small {
  color: #aeaeb2;
  font-size: 13px;
}

/* Small provenance note some pages keep above the uniform footer
   (snapshot dates, data sources). */
.colophon-note {
  text-align: center;
  color: #6e6e73;
  font-size: 13px;
  line-height: 1.6;
  max-width: 660px;
  margin: 0 auto;
  padding: 0 24px 10px;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
}

/* Pulsing "live" dot used by the Dashboard links (footer + navs). */
.live-dot {  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #34c759;
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
  margin-right: 7px;
}
.live-dot::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid #34c759;
  opacity: 0;
  animation: live-pulse 1.6s ease-out infinite;
}
@keyframes live-pulse {
  0% { transform: scale(0.5); opacity: 0.9; }
  70% { transform: scale(1.1); opacity: 0; }
  100% { transform: scale(1.1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .live-dot::after { animation: none; }
}

/* Powered by ONE. (Dave's call Oct 2) */
footer .powered-by { font-size: 13px; color: #999; margin: 20px 0 12px; }
footer .powered-by a { color: #1d1d1f; font-weight: 700; text-decoration: none; }
footer .powered-by a:hover { color: #b58520; }

/* Footer variation B (Dave's call Oct 2): grouped columns,
   minimal hiring link pinned to the bottom-right corner. (Audit button removed Oct 3.) */
footer .col-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 34px 48px; max-width: 740px; margin: 0 auto 32px; text-align: left; }
footer .col h4 { font-size: 11px; text-transform: uppercase; letter-spacing: 0.1em; color: #aeaeb2; margin: 0 0 12px; font-weight: 700; }
footer .col h4 .col-ico { color: #c7c7cc; font-size: 11px; margin-right: 7px; vertical-align: 1px; }
footer .col a { display: block; color: #6e6e73; font-size: 14px; text-decoration: none; margin-bottom: 9px; }
footer .col a:hover { color: #1d1d1f; }
footer .hiring-min { position: absolute; right: 22px; bottom: 46px; font-size: 13px; color: #8e8e93; text-decoration: none; white-space: nowrap; }
footer .hiring-min:hover { color: #1d1d1f; }
footer .hiring-min .wave { display: inline-block; margin-right: 5px; filter: grayscale(1); transition: filter .2s; }
footer .hiring-min:hover .wave { filter: none; }
footer .mx-flag { display: inline-block; margin-left: 8px; vertical-align: -1px; opacity: .8; }
footer .legal-flag { white-space: nowrap; }
footer .mx-flag svg { display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.07); }
footer a.mx-flag svg rect { transition: fill .2s; }
footer a.mx-flag:hover svg rect:nth-child(1) { fill: #006847; }
footer a.mx-flag:hover svg rect:nth-child(2) { fill: #ffffff; }
footer a.mx-flag:hover svg rect:nth-child(3) { fill: #ce1126; }
footer a.mx-flag:hover { opacity: 1; }
/* Language flag sits left of the hiring pill, bottom-right. */
footer .lang-switch { left: auto; right: 152px; bottom: 22px; }
@media (max-width: 560px) {
  footer { padding: 48px 20px 40px; }
  footer .col-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 16px; max-width: 380px; margin: 0 auto 28px; text-align: left; }
  footer .col h4 { margin: 0 0 10px; }
  footer .col a { margin-bottom: 8px; }
  footer .hiring-min { right: 14px; bottom: 46px; font-size: 12px; }
  footer .lang-switch { left: auto; right: 130px; bottom: 19px; }
}
