/* Shared interaction styling. Layout and icon dimensions remain page-owned. */
:root {
    --site-neon: #36c5d5;
    --site-neon-line: #69bdce;
    --site-rich-shadow: 0 10px 30px #0b202d0c;
    --site-neon-shadow: 0 16px 36px #0b202d18, 0 0 20px #36c5d51a;
}
html.dark-theme {
    --site-rich-shadow: 0 10px 30px #00000026;
    --site-neon-shadow: 0 16px 36px #00000030, 0 0 24px #36c5d526;
}
html body :is(.nh-service, .nh-project, .nh-blog, .journal-card, .blog-two__single, .portfolio-card, .about-capability, .about-process-card, .service-group, .webapp-list-card, .webapp-reason, .webapp-stack, .webapp-process-card, .webapp-industry, .contact-info__single) {
    border-radius: 18px;
    box-shadow: var(--site-rich-shadow);
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
html body :is(.nh-icon, .about-capability__icon, .services-two__icon, .webapp-process-card__icon, .service-group__icon, .contact-info__icon) {
    box-shadow: inset 0 0 0 1px #69bdce30, 0 4px 16px #10445a0a;
    transition: box-shadow .3s ease, transform .3s ease;
}
html body :is(.nh-service, .nh-project, .nh-blog, .journal-card, .blog-two__single, .portfolio-card, .about-capability, .about-process-card, .service-group, .webapp-list-card, .webapp-reason, .webapp-stack, .webapp-process-card, .webapp-industry, .contact-info__single):focus-within {
    border-color: var(--site-neon-line) !important;
    box-shadow: var(--site-neon-shadow) !important;
}
@media (hover: hover) and (pointer: fine) {
    html body :is(.nh-service, .nh-project, .nh-blog, .journal-card, .blog-two__single, .portfolio-card, .about-capability, .about-process-card, .service-group, .webapp-list-card, .webapp-reason, .webapp-stack, .webapp-process-card, .webapp-industry, .contact-info__single):hover {
        transform: translateY(-4px);
        border-color: var(--site-neon-line) !important;
        box-shadow: var(--site-neon-shadow) !important;
    }
    html body :is(.nh-service, .about-capability, .services-two__single, .webapp-process-card, .service-group, .contact-info__single):hover :is(.nh-icon, .about-capability__icon, .services-two__icon, .webapp-process-card__icon, .service-group__icon, .contact-info__icon) {
        box-shadow: inset 0 0 0 1px #69bdce80, 0 0 20px #36c5d530;
    }
    html body :is(.nh-service, .about-capability, .webapp-process-card, .service-group):hover .nh-svg {
        filter: drop-shadow(0 0 4px #36c5d550);
    }
}
/* A narrow light band adds motion without placing an overlay over content. */
html body :is(.nh-closing__panel, .journal-cta, .service-directory__cta, .portfolio-detail-page .portfolio-invitation) {
    border: 1px solid #69bdce50;
    background-image: linear-gradient(110deg, transparent 30%, #9adbea10 48%, transparent 66%), var(--site-dark-gradient);
    background-size: 250% 100%, 100% 100%;
    animation: site-neon-sweep 10s ease-in-out 2;
}
html body :is(.thm-btn, .journal-button, .portfolio-premium-button):focus-visible,
html body a:focus-visible,
html body button:focus-visible {
    outline: 2px solid var(--site-neon-line);
    outline-offset: 4px;
}
html body :is(.contact-page, .webapp-contact) :is(input, textarea, select):focus-visible {
    outline: 2px solid var(--site-neon-line);
    outline-offset: 2px;
}
/* Shared footer accents do not change its established icon geometry. */
html body .footer-modern .footer-widget__contact-list .icon {
    border-color: #69bdce50;
    box-shadow: inset 0 0 10px #36c5d50c;
}
html body .footer-modern .footer-widget__contact-list li:focus-within .icon {
    box-shadow: 0 0 14px #36c5d530;
}
@keyframes site-neon-sweep {
    0%, 100% { background-position: 100% 0, 0 0; }
    50% { background-position: 0 0, 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    html body :is(.nh-service, .nh-project, .nh-blog, .journal-card, .blog-two__single, .portfolio-card, .about-capability, .about-process-card, .service-group, .webapp-list-card, .webapp-reason, .webapp-stack, .webapp-process-card, .webapp-industry, .contact-info__single, .nh-icon, .about-capability__icon, .services-two__icon, .webapp-process-card__icon, .service-group__icon, .contact-info__icon, .nh-closing__panel, .journal-cta, .service-directory__cta, .portfolio-detail-page .portfolio-invitation) {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
}
