/* NovaBytes: feedback de interacción, sin librerías ni efectos continuos. */
:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card){transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}
@media(hover:hover) and (pointer:fine){:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card):hover{transform:translateY(-4px);border-color:#38bdf8;box-shadow:0 12px 28px #0284c71c;background-color:#f0f9ff}}
:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card):is(:focus-within,:active,.nb-touch-feedback){border-color:#38bdf8;box-shadow:0 6px 20px #0284c725;background-color:#f0f9ff}
:is(.btn,.nb-footer-request):active{transform:scale(.98)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #38bdf8;outline-offset:4px}
.nb-platforms-compact .nb-platforms-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){.nb-platforms-compact .nb-platforms-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.nb-platforms-compact .nb-platforms-compact-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){:is(.nb-pf-card,.card,.nb-platforms-compact-grid>div,.nb-service-card,.btn,.nb-footer-request){transition:none!important;transform:none!important}}
