/* SystemicIQ LAB-WEB-TYPE-001 universal safe presentation layer. */
html[lang="ar"], html[dir="rtl"] { direction: rtl; }
html[lang="en"], html[dir="ltr"] { direction: ltr; }

/* Titles and compact interface text are never justified. */
h1,h2,h3,h4,h5,h6,
[role="heading"], .title, .heading, .section-title, .card-title,
nav, nav *, header nav *, footer nav *,
button, [role="button"], .button, .btn, .badge, .chip, label,
input, select, textarea, code, pre, kbd, samp,
.metric, .kpi, .stat, .contact, .contact-info {
  text-align: start !important;
  text-align-last: auto;
}

/* Long-form reader copy. */
main p, article p, .prose p, .content p, .copy p, .body-copy p,
.lead, .description, .summary, .testimonial, .case-text, .disclosure,
article li, .prose li, .long-copy li {
  text-align: justify;
  text-align-last: start;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

html[lang="en"] main p, html[lang="en"] article p, html[lang="en"] .prose p {
  hyphens: auto;
}
html[lang="ar"] main p, html[lang="ar"] article p, html[lang="ar"] .prose p {
  hyphens: none;
}

/* Do not stretch a paragraph-like control accidentally. */
a.btn, a.button, nav a, footer a, .card > a:only-child { text-align: start !important; }

/* Coherent, restrained card motion. */
@media (hover:hover) and (pointer:fine) {
  .card, [class*="card-"] { transition: transform .18s ease, box-shadow .18s ease; }
  .card:hover, [class*="card-"]:hover { transform: translateY(-2px); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
