/* Shared public navigation and footer. Keep independent of each page's palette. */
.landing-footer { background: #0f172a; color: #cbd5e1; padding: 4rem 0 2rem; border-top: 1px solid #334155; font-size: .9rem; }
.landing-footer a { color: #cbd5e1; text-decoration: none; transition: color .2s; }
.landing-footer a:hover { color: #a5b4fc; }
.landing-footer .landing-footer-heading { color: #fff; font-size: .875rem; font-weight: 700; margin-bottom: 1rem; }
.landing-footer-description { max-width: 21rem; line-height: 1.8; }
.landing-footer-bottom { border-top: 1px solid #334155; padding-top: 1.5rem; }
.landing-footer a:focus-visible { outline: 3px solid #a5b4fc; outline-offset: 4px; border-radius: .25rem; }
.landing-nav { background: rgba(255,255,255,.96); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid #e2e8f0; min-height: 76px; }
.landing-nav .nav-link { color: #475569; font-size: .875rem; font-weight: 500; padding: .65rem .6rem; }
.landing-nav .nav-link:hover, .landing-nav .nav-link.active { color: #4f46e5; }
.landing-nav .landing-nav-login, .landing-nav .landing-nav-start { padding: .65rem 1rem; border-radius: .75rem; font-size: .875rem; font-weight: 600; white-space: nowrap; }
.landing-nav .landing-nav-login { border: 1px solid #6366f1; color: #4f46e5; }
.landing-nav .landing-nav-start { background: linear-gradient(135deg,#6366f1,#4f46e5); color: #fff; }
.landing-nav .landing-nav-login:hover { background: #eef2ff; }
.landing-nav .landing-nav-start:hover { background: #4338ca; box-shadow: 0 6px 18px #6366f133; }
.landing-nav a:focus-visible, .landing-nav button:focus-visible { outline: 3px solid #6366f1; outline-offset: 3px; }
.landing-nav[data-bs-theme="dark"] { background: rgba(6,10,19,.96); border-bottom-color: #334155; }
.landing-nav[data-bs-theme="dark"] .nav-link { color: #cbd5e1; }
.landing-nav[data-bs-theme="dark"] .nav-link:hover, .landing-nav[data-bs-theme="dark"] .nav-link.active, .landing-nav[data-bs-theme="dark"] .landing-nav-login { color: #a5b4fc; }
.landing-nav[data-bs-theme="dark"] .landing-nav-login:hover { background: #1e293b; }
@media (max-width: 1199.98px) {
    .landing-nav .navbar-collapse { padding: 1rem 0; max-height: calc(100dvh - 76px); overflow-y: auto; }
    .landing-nav .nav-link { padding: .65rem .25rem; }
    .landing-nav-actions { flex-wrap: wrap; margin-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .landing-footer a { transition: none; } }
