/* Homepage only. Font sizes, palette and shared stylesheet stay unchanged. */
body.nexito-home[data-page="home"] .nx-home-main {
  --nx-home-motion-ready: 1;
}

body.nexito-home[data-page="home"] .nx-home-main[data-nx-home-motion="active"] .nx-home-motion-pending {
  opacity: 0;
  transform: translateY(8px);
  transition: none !important;
}

body.nexito-home[data-page="home"] .nx-home-main[data-nx-home-motion="active"] [data-nx-reveal="revealing"] {
  will-change: opacity, transform;
}

/* The title and complete introduction fade in place, without character effects. */
body.nexito-home[data-page="home"] .nx-home-main[data-nx-home-motion="active"] [data-nx-effect="fade"].nx-home-motion-pending {
  transform: none;
}

/* Prose at EVERY viewport wraps at whole words, not automatic hyphens or letters.
   Font sizes and existing desktop/Persian justification remain unchanged. */
body.nexito-home[data-page="home"] .nx-home-main :is(h1, h2, h3, p, li) {
  -webkit-hyphens: none !important;
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  word-spacing: normal;
}

@media (max-width: 680px) {
  /* Forced justification on a phone leaves large gaps between English words.
     Keep Persian and desktop justification, with no mid-word breaks. */
  body.is-en.nexito-home[data-page="home"] .nx-home-main :is(p, li) {
    text-align: start !important;
    text-align-last: start;
    text-justify: auto;
  }
}

@media (prefers-reduced-motion: reduce), print {
  body.nexito-home[data-page="home"] .nx-home-main [data-nx-reveal] {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }
}
