.site-header .site-links { display: none; }
html.torto-loading.torto-loaded { overflow: auto; }
.site-footer, .library-footer {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(300px, 1fr);
  align-items: start;
  gap: clamp(32px, 6vw, 90px);
}
.site-footer nav, .library-footer nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
.site-footer nav a, .library-footer nav a { width: auto; line-height: 1.45; }
.site-footer nav > div, .library-footer nav > div { display: flex !important; flex-direction: column; align-items: flex-start; gap: 12px; }
.site-footer nav > div > a, .library-footer nav > div > a { display: block !important; padding: 2px 0; white-space: normal; }
.site-footer nav > div > p, .library-footer nav > div > p { margin: 0 0 8px; font-weight: 600; letter-spacing: .12em; }
.site-footer nav, .library-footer nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.torto-loader { background: #f2ebdd; color: #202522; gap: 16px; }
.torto-loader img { filter: none; width: min(230px, 58vw); }
.torto-loader small { color: #65735b; }
.loader-track { width: 92px; height: 52px; border: 5px solid #f16447; border-radius: 50%; position: relative; margin-bottom: 10px; }
.loader-track::after { content: ''; position: absolute; inset: 6px; border: 2px solid #f16447; border-radius: 50%; }
.loader-track span { position: absolute; left: 50%; top: -9px; width: 12px; height: 12px; border-radius: 50%; background: #202522; transform-origin: 0 31px; animation: track-lap 1.4s linear infinite; }
@keyframes track-lap { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .loader-track span { animation: none; } }
@media (max-width: 720px) {
  .site-footer, .library-footer { grid-template-columns: 1fr; gap: 30px; }
  .site-footer nav, .library-footer nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
}
