:root { font-family: 'Vazirmatn', Tahoma, sans-serif; }

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Vazirmatn', Tahoma, sans-serif;
  background:
    radial-gradient(circle at 15% 10%, #ecfdf5 0%, transparent 40%),
    radial-gradient(circle at 85% 90%, #f7fee7 0%, transparent 40%),
    #f4faf6;
  color: #1f2937;
}

/* hide scrollbar on nav */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* reveal animation */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.shown {
  opacity: 1;
  transform: translateY(0);
}

/* gentle float for hero emojis handled inline; add subtle bob */
@keyframes bob {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
header .absolute span { animation: bob 6s ease-in-out infinite; }

/* nicer number inputs in RTL */
input[type=number] { direction: ltr; text-align: right; }

::selection { background: #a7f3d0; }

/* smooth scrolling */
html { scroll-behavior: smooth; }