[dir="rtl"] {
  text-align: right;
  direction: rtl;
}

.font-urdu {
  line-height: 2.1;
}

.reveal {
  opacity: 0;
}

.reveal.is-visible {
  animation: fadeUp 0.7s ease-out forwards;
}

/* No-JS: never leave content invisible if the reveal script can't run */
html.no-js .reveal {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    animation: none !important;
  }
}

@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}

.photo-placeholder {
  background-image: repeating-linear-gradient(
    135deg,
    rgba(22, 60, 44, 0.06),
    rgba(22, 60, 44, 0.06) 10px,
    rgba(217, 123, 63, 0.06) 10px,
    rgba(217, 123, 63, 0.06) 20px
  );
}

.progress-bar-fill {
  transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-photo-img {
  transition: opacity 1.4s ease-in-out;
}

::selection {
  background: #d97b3f;
  color: white;
}
