/* Keep the complete existing public header and navigation visible. */
html { scroll-padding-top: var(--site-header-offset, 150px); }
.site-header { position: sticky; top: 0; z-index: 100; background: #080808; box-shadow: 0 6px 18px rgba(0,0,0,.22); }
@media (max-width: 850px) { html { scroll-padding-top: var(--site-header-offset, 320px); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Reserve readable space for footer identity; let navigation wrap beside it. */
.footer .footer-top { display: grid; grid-template-columns: minmax(280px, 340px) minmax(0, 1fr); align-items: start; gap: 2.5rem; }
.footer .footer-top > div { min-width: 0; }
.footer .footer-name { line-height: 1.5; }
.footer .footer-tagline { max-width: 34ch; }
.footer .footer-links { min-width: 0; max-width: 100%; flex-wrap: wrap; white-space: normal; gap: 1rem 1.25rem; line-height: 1.6; }
.footer .footer-links a { line-height: 1.6; }
.footer .footer-contact { gap: .7rem; }
.footer .footer-contact a { white-space: nowrap; overflow-wrap: normal; }
@media (max-width: 1100px) {
  .footer .footer-top { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .footer .footer-links { justify-content: flex-start; }
}
