/* ============ Footer ============ */
.footer { border-top: 1px solid var(--line); }
.footer-titleblock { display: flex; flex-wrap: wrap; }
.tb-field { padding: 14px 22px; border-right: 1px solid var(--line); }
.tb-field:last-child { border-right: none; }
.tb-label { display: block; font-family: var(--ff-mono); font-size: .64rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text-mute); margin-bottom: 3px; }
.tb-value { font-family: var(--ff-mono); font-size: .8rem; color: var(--text); }
.footer-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; padding-block: 22px; border-top: 1px solid var(--line); }
.footer-text { color: var(--text-mute); font-size: .82rem; font-family: var(--ff-mono); }
.footer-links { display: flex; gap: 20px; }
.footer-links a { font-family: var(--ff-mono); font-size: .8rem; color: var(--text-dim); transition: color var(--transition); }
.footer-links a:hover { color: var(--amber); }

.to-top { position: fixed; right: 22px; bottom: 22px; width: 42px; height: 42px; border-radius: var(--radius-sm); background: var(--amber); color: var(--on-amber); display: flex; align-items: center; justify-content: center; font-size: 1.1rem; opacity: 0; pointer-events: none; transform: translateY(8px); transition: all var(--transition); z-index: 90; box-shadow: var(--shadow); }
.to-top.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
