/* ===================================================================
 * site-footer.css — canonical site footer CSS
 * =================================================================== */

.site-footer {
  max-width: 1400px;
  margin: 0 auto;
  padding: 32px;
  font-family: var(--mono, "Inconsolata", "Courier New", monospace);
  font-size: 11px;
  color: var(--ink-muted, #6b6760);
  border-top: none;
  background: transparent;
}

.site-footer-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: start;
}

@media (max-width: 720px) {
  .site-footer-inner { grid-template-columns: 1fr; }
}

.site-footer-col { display: flex; flex-direction: column; gap: 6px; }

.site-footer-col:last-child { text-align: right; }

@media (max-width: 720px) { .site-footer-col:last-child { text-align: left; } }

.site-footer-attribution {
  color: var(--ink-soft, #4a4640);
  font-size: 12px;
  letter-spacing: 0.04em;
}

.site-footer-tagline {
  color: var(--ink-muted, #6b6760);
  font-size: 10.5px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.site-footer-meta {
  color: var(--ink-soft, #4a4640);
  font-size: 11px;
  letter-spacing: 0.05em;
}

.site-footer-meta-sep, .site-footer-link-sep {
  color: var(--ink-muted, #6b6760);
  margin: 0 6px;
}

.site-footer-links a {
  color: var(--ink-muted, #6b6760);
  text-decoration: none;
  letter-spacing: 0.05em;
}

.site-footer-links a:hover { color: var(--red, #B22234); }

.site-footer { max-width: 1600px !important; padding: 40px 48px !important; }

.site-footer-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 64px !important;
  flex-wrap: wrap;
}

.site-footer-col { min-width: 0; flex: 1 1 320px; }

.site-footer-col:last-child { text-align: right; flex: 0 1 auto; min-width: 280px; }

@media (max-width: 760px) {
  .site-footer-inner { flex-direction: column !important; gap: 24px !important; }
  .site-footer-col:last-child { text-align: left; }
}

.site-footer-attribution, .site-footer-tagline, .site-footer-meta, .site-footer-links { white-space: normal; }

.site-footer { max-width: none !important; width: 100% !important; padding: 32px 48px !important; box-sizing: border-box; flex-shrink: 0; }

.site-footer-inner { max-width: none !important; }

.site-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 48px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  font-family: var(--mono, "Inconsolata", "Courier New", monospace);
  font-size: 11px;
  color: var(--ink-muted, #6b6760);
  background: transparent !important;
}

.site-footer-inner {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: none !important;
  flex-wrap: wrap !important;
}

.site-footer-col:first-child {
  text-align: left !important;
  align-items: flex-start !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.site-footer-col:last-child {
  text-align: right !important;
  align-items: flex-end !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.site-footer-attribution {
  color: var(--ink-soft, #4a4640) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

.site-footer-tagline {
  color: var(--ink-muted, #6b6760) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.site-footer-meta {
  color: var(--ink-soft, #4a4640) !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
}

.site-footer-meta-sep, .site-footer-link-sep {
  color: var(--ink-muted, #6b6760);
  margin: 0 8px;
}

@media (max-width: 720px) {
  .site-footer-inner { flex-direction: column !important; gap: 24px !important; }
  .site-footer-col:last-child { text-align: left !important; align-items: flex-start !important; }
}

.site-footer {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 32px 48px !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  font-family: var(--mono, "Inconsolata", "Courier New", monospace) !important;
  font-size: 11px !important;
  color: var(--ink-muted, #6b6760) !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.site-footer-row {
  width: 100% !important;
}

.site-footer-row-1 {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 32px !important;
  align-items: center !important;
}

.site-footer-col-left {
  text-align: left !important;
  color: var(--ink-soft, #4a4640) !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
}

.site-footer-col-center {
  text-align: center !important;
  color: var(--ink-muted, #6b6760) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.site-footer-col-right {
  text-align: right !important;
  color: var(--ink-soft, #4a4640) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
}

.site-footer-row-2 {
  text-align: center !important;
  font-family: var(--mono, "Inconsolata", "Courier New", monospace) !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
}

.site-footer-row-2 a {
  color: var(--ink-muted, #6b6760) !important;
  text-decoration: none !important;
}

.site-footer-row-2 a:hover { color: var(--red, #B22234) !important; }

.site-footer-link-sep {
  margin: 0 8px !important;
  color: var(--ink-muted, #6b6760) !important;
}

@media (max-width: 720px) {
  .site-footer-row-1 { grid-template-columns: 1fr !important; gap: 12px !important; }
  .site-footer-col-left, .site-footer-col-center, .site-footer-col-right { text-align: center !important; }
}

.site-footer {
  max-width: none !important;
  width: 100% !important;
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.site-footer-row {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}

