/* NeoShield homepage presentation hardening.
 * Extracted from former inline style attributes so CSP can enforce style-src 'self'.
 */
.nx-flash { margin-bottom: 14px; }
.nx-home-hero { margin-top: var(--space-4); }
.nx-home-h1 { margin: 0 0 var(--space-4); max-width: 16ch; text-wrap: balance; }
.nx-home-lede { margin: 0 0 var(--space-4); max-width: 56ch; }
.nx-m0 { margin: 0; }
.nx-trust-ai-note { margin-top: var(--space-4); max-width: var(--container-reading); }
.nx-final-cta { text-align: center; }
.nx-final-title { margin: 0 0 var(--space-3); text-wrap: balance; }
.nx-final-lede { margin: 0 auto var(--space-5); max-width: 56ch; }
.nx-hero-actions--center { justify-content: center; }
.nx-final-note { margin: var(--space-4) auto 0; max-width: 60ch; font-size: .9rem; }

/* Subtle presentation improvements that do not change behavior or information. */
.nx-final-cta, .nx-trust2 { position: relative; isolation: isolate; }
.nx-final-cta { border-radius: 24px; overflow: hidden; }
.nx-final-cta::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(circle at 50% 0%, color-mix(in srgb, currentColor 7%, transparent), transparent 58%);
}
.nx-tile, .nx-card, .nx-aud-card, .nx-plan, .nx-trust2-card {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (hover: hover) and (pointer: fine) {
  .nx-tile:hover, .nx-card:hover, .nx-aud-card:hover, .nx-plan:hover, .nx-trust2-card:hover {
    transform: translateY(-2px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .nx-tile, .nx-card, .nx-aud-card, .nx-plan, .nx-trust2-card { transition: none; }
}
