/* Footer 1 — shared site footer. Uses tokens from site.css. */
.site-footer { background: #141617; color: #a59e92; padding: 10vh var(--gutter) 34px; font-size: .92rem; }
.site-footer .top { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; padding-bottom: 6vh; border-bottom: 1px solid rgba(255,255,255,.1); align-items: start; }
.site-footer .motto { grid-column: 1 / span 5; margin: 0; font: 300 clamp(1.6rem, 2.4vw, 2.2rem)/1.2 var(--serif); color: #e9e2d6; letter-spacing: -.01em; }
.site-footer .motto em { color: var(--gold-soft); }
.site-footer nav { grid-column: 6 / span 3; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; align-content: start; }
.site-footer nav a { text-decoration: none; color: #d6cfc3; font-size: .88rem; }
.site-footer nav a:hover { color: var(--gold-soft); }
.site-footer .footer-side { grid-column: 10 / span 3; display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-start; align-self: start; gap: 22px; }
.site-footer .guide-dock { min-height: 50px; }
.site-footer .to-top { color: #e9e2d6; font-size: .82rem; }
.site-footer .bottom { display: flex; justify-content: space-between; align-items: baseline; gap: 12px 28px; flex-wrap: wrap; padding-top: 24px; font-size: .78rem; }
.site-footer .estate { font: italic 400 .84rem/1.4 var(--serif); color: #8f887c; text-decoration: none; letter-spacing: .01em; }
.site-footer .estate:hover { color: var(--gold-soft); }
.site-footer .privacy { opacity: .55; }
.site-footer a.privacy { opacity: 1; color: #d6cfc3; }
/* the chapter control rests in the footer at the end of the page */
.guide.docked { position: static; box-shadow: none; }
@media (max-width: 900px) {
  .site-footer .top { grid-template-columns: 1fr; }
  .site-footer .top > * { grid-column: 1 / -1; }
  .site-footer .footer-side { align-items: flex-start; }
  .site-footer .bottom { flex-direction: column; }
}
