/* site-enhancements-2026-07 */
@media print {
    .js .fade-in { opacity: 1 !important; transform: none !important; }
}
@media (max-width: 768px) {
    nav:has(.nav-links.active) { align-items: flex-start; }
    nav:has(.nav-links.active) .logo { position: relative; z-index: 3; }
    nav:has(.nav-links.active) .menu-toggle {
        position: absolute;
        top: 1rem;
        right: 1.5rem;
    }
    nav:has(.nav-links.active) .nav-search {
        display: block;
        position: absolute;
        top: 4.5rem;
        left: 1.5rem;
        right: 1.5rem;
        margin: 0;
        z-index: 2;
    }
    nav:has(.nav-links.active) .nav-search input {
        width: 100%;
        font-size: 1rem;
    }
    nav:has(.nav-links.active) .search-results {
        max-height: 50vh;
        overflow-y: auto;
    }
}
.search-result-type, .back-link, .paper-category, .blog-category,
.blog-category-badge, .about-contact a, .audio-section h3,
.blog-link, .results-table th, .badge-live, .data-card-meta,
.detail-close:hover, .detail-usage a, .dataset-btn.secondary,
.citation-header, .software-install .prompt, .intro-text .highlight,
.research-card-journal, .blog-section-intro a:hover,
.media-headline:hover, .contact-value a, .bio-label,
.category-title, .publication-links a, .pub-list-citation a:hover,
.pub-list-links a, .prototype-label, .prototype-list-group h4 {
    color: #569253;
}
/* Scoped recolors (collision audit 2026-07-08): green only inside one
   page's container; unscoped versions would leak onto pages that
   style the same class differently (.blog-date is gray on the
   homepage; .blog-title a:hover is white on blog.html;
   .credential-value a is unstyled on about.html). */
.blog-content .blog-date,
.blog-item .blog-title a:hover,
.credential-block .credential-value a {
    color: #569253;
}

