/* ═══════════════════════════════════════════════════════════
   هشت — سکشن قهرمان: اسلایدر عنوان + متن + تصویر
   ═══════════════════════════════════════════════════════════ */

.hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  padding-block: calc(var(--header-h) + 2.5rem) 4.5rem;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  transition:
    background-color var(--theme-dur) var(--ease-out),
    color var(--theme-dur) var(--ease-out);
}

.hero__bg,
.hero__media {
  transform: translateY(var(--plx, 0px));
  will-change: transform;
}

.hero__bg {
  position: absolute;
  inset: -6% 0;
  pointer-events: none;
  background:
    radial-gradient(38rem 38rem at 18% 42%, rgba(240, 180, 41, 0.07), transparent 65%),
    radial-gradient(30rem 30rem at 85% 80%, rgba(240, 86, 61, 0.05), transparent 60%),
    radial-gradient(var(--dot-grid) 1px, transparent 1px);
  background-size: auto, auto, 2.75rem 2.75rem;
}

.hero__inner {
  position: relative;
  width: 100%;
}

.hero__slider {
  position: relative;
}

.hero__slides {
  display: grid;
}

.hero-slide {
  grid-area: 1 / 1;
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  align-items: center;
  gap: clamp(1.75rem, 5vw, 4rem);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.8s var(--ease-out), visibility 0.8s;
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.hero-slide[data-accent="gold"]   { --accent: var(--c-gold);   --accent-soft: rgba(240, 180, 41, 0.7); }
.hero-slide[data-accent="spark"]  { --accent: var(--c-spark);  --accent-soft: rgba(240, 86, 61, 0.7); }
.hero-slide[data-accent="growth"] { --accent: var(--c-growth); --accent-soft: rgba(22, 181, 131, 0.7); }

.hero-slide__content > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
}

.hero-slide.is-active .hero-slide__content > * {
  opacity: 1;
  transform: none;
}

.hero-slide.is-active .hero-slide__content > :nth-child(1) { transition-delay: 0.12s; }
.hero-slide.is-active .hero-slide__content > :nth-child(2) { transition-delay: 0.24s; }
.hero-slide.is-active .hero-slide__content > :nth-child(3) { transition-delay: 0.36s; }
.hero-slide.is-active .hero-slide__content > :nth-child(4) { transition-delay: 0.48s; }

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-size: var(--fs-caption);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-dim);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.45rem 1.1rem;
  margin-bottom: clamp(1.1rem, 2.5vh, 1.9rem);
}

.hero__eyebrow-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--accent, var(--c-spark));
  box-shadow: 0 0 0.6rem var(--accent-soft, rgba(240, 86, 61, 0.7));
}

.hero__title {
  font-size: var(--fs-display);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.01em;
  margin-bottom: clamp(1rem, 2.5vh, 1.75rem);
}

.hero__title-line {
  display: block;
}

.hero__title-line--accent {
  color: var(--accent, var(--c-gold));
}

.hero__lede {
  max-width: 32rem;
  font-size: var(--fs-body-lg);
  color: var(--text-dim);
  margin-bottom: clamp(1.35rem, 3vh, 2.1rem);
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
}

/* تصویر اختصاصی هر اسلاید */
.hero-slide__media {
  position: relative;
  justify-self: center;
  width: min(100%, 26rem);
  aspect-ratio: 8 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--bg-card);
  opacity: 0;
  transform: scale(0.94) translateX(-1.5rem);
  transition:
    opacity 0.85s var(--ease-out) 0.15s,
    transform 0.85s var(--ease-out) 0.15s;
}

.hero-slide__media--landscape {
  width: min(100%, 34rem);
  aspect-ratio: 16 / 10;
}

.hero-slide__media--portrait {
  width: min(100%, 26rem);
  aspect-ratio: 8 / 9;
}

.hero-slide.is-active .hero-slide__media {
  opacity: 1;
  transform: none;
}

.hero-slide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.hero-slide__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(to top, var(--media-fade), transparent);
  pointer-events: none;
}

/*
  وکتور — المان جدا از قاب تصویر
  فقط خود فایل؛ بدون پس‌زمینه، قاب، گرادیان، سایه
*/
.hero-slide__vector-wrap {
  position: relative;
  justify-self: center;
  align-self: center;
  width: min(100%, 26rem);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  background-color: transparent;
  box-shadow: none;
  overflow: visible;
  opacity: 0;
  transform: scale(0.94) translateX(-1.5rem);
  transition:
    opacity 0.85s var(--ease-out) 0.15s,
    transform 0.85s var(--ease-out) 0.15s;
}

.hero-slide.is-active .hero-slide__vector-wrap {
  opacity: 1;
  transform: none;
}

.hero-slide__vector-wrap::before,
.hero-slide__vector-wrap::after {
  display: none !important;
  content: none !important;
}

.hero-slide__vector-wrap .hero-slide__vector {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(28rem, 72vh);
  object-fit: contain;
  object-position: center;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* سازگاری با کلاس قدیمی در صورت وجود */
.hero-slide__media.hero-slide__media--vector {
  width: min(100%, 26rem);
  height: auto;
  aspect-ratio: unset;
  margin: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.hero-slide__media.hero-slide__media--vector::before,
.hero-slide__media.hero-slide__media--vector::after {
  display: none !important;
  content: none !important;
}

.hero-slide--text-only {
  grid-template-columns: 1fr;
  max-width: 40rem;
}

/* ناوبری اسلایدر */
.hero__slider-nav {
  display: flex;
  gap: 0.6rem;
  margin-top: clamp(1.75rem, 4vh, 2.75rem);
}

.hero__dot {
  position: relative;
  width: 2.9rem;
  height: 0.9rem;
  padding: 0.35rem 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hero__dot::before {
  content: "";
  position: absolute;
  inset: 0.35rem 0;
  border-radius: 999px;
  background: var(--line-strong);
}

.hero__dot i {
  position: absolute;
  inset: 0.35rem 0;
  border-radius: 999px;
  background: var(--c-gold);
  transform: scaleX(0);
  transform-origin: right center;
  pointer-events: none;
}

.hero__dot.is-active i {
  animation: dot-progress var(--slide-dur, 6.5s) linear forwards;
}

.hero__slider.is-paused .hero__dot.is-active i {
  animation-play-state: paused;
}

@keyframes dot-progress {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.hero__scroll {
  position: absolute;
  bottom: 1.75rem;
  inset-inline-start: 50%;
  transform: translateX(50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
}

.hero__scroll-line {
  width: 1px;
  height: 2.75rem;
  background: linear-gradient(to bottom, var(--c-gold), transparent);
  animation: scroll-pulse 2.2s ease-in-out infinite;
}

.hero__scroll-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  color: var(--text-faint);
}

@keyframes scroll-pulse {
  0%, 100% { transform: scaleY(1); opacity: 1; }
  50%      { transform: scaleY(0.55); opacity: 0.45; }
}

@media (max-width: 56rem) {
  .hero {
    min-height: auto;
  }

  .hero-slide {
    grid-template-columns: 1fr;
  }

  .hero-slide__media {
    grid-row: 1;
    width: min(72vw, 18rem);
    aspect-ratio: 1;
  }

  .hero-slide__vector-wrap {
    grid-row: 1;
    width: min(72vw, 18rem);
  }

  .hero__scroll {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-slide__content > *,
  .hero-slide__media {
    transition-duration: 0.001s;
  }

  .hero__dot.is-active i {
    animation: none;
    transform: scaleX(1);
  }
}


/* ═══════════════════════════════════════════════════════════
   R18 — نور اولیه، نشانگر ثابت و گذار واقعی ذره‌ای
   ═══════════════════════════════════════════════════════════ */
.hero {
  --hero-light-a-rgb: 240, 180, 41;
  --hero-light-b-rgb: 240, 86, 61;
  --hero-light-a-alpha: .07;
  --hero-light-b-alpha: .05;
}

/* ساختار اولیه و پیش‌فرض نور Hero؛ جایگاه‌ها همیشه ثابت‌اند. */
.hero__bg {
  background:
    radial-gradient(38rem 38rem at 18% 42%, rgba(var(--hero-light-a-rgb), var(--hero-light-a-alpha)), transparent 65%),
    radial-gradient(30rem 30rem at 85% 80%, rgba(var(--hero-light-b-rgb), var(--hero-light-b-alpha)), transparent 60%),
    radial-gradient(var(--dot-grid) 1px, transparent 1px);
  background-size: auto, auto, 2.75rem 2.75rem;
}

.hero__slider {
  touch-action: pan-y;
  user-select: none;
  cursor: grab;
}
.hero__slider.is-dragging { cursor: grabbing; }
.hero__slides { overflow: visible; }
.hero-slide {
  will-change: opacity, transform;
  transform: translate3d(var(--drag-x, 0px), 0, 0);
}
.hero-slide.is-dragging,
.hero-slide.is-drag-preview {
  transition: none !important;
  visibility: visible;
  pointer-events: none;
}
.hero-slide.is-drag-preview { opacity: var(--drag-preview-opacity, 0); }

.hero__eyebrow { display: none !important; }
.hero__title {
  max-width: 11ch;
  margin-bottom: clamp(.85rem, 2vh, 1.35rem);
  font-size: clamp(2rem, 4.1vw, 3.75rem);
  line-height: 1.16;
}
.hero__lede {
  max-width: 30rem;
  margin-bottom: clamp(1.15rem, 2.6vh, 1.75rem);
  font-size: clamp(.94rem, 1.05vw, 1.02rem);
  line-height: 1.95;
}

/* هر نشانگر یک Slot کاملاً ثابت دارد. هیچ Width یا Flex-basis تغییر نمی‌کند. */
.hero__slider-nav {
  --nav-slot: 4rem;
  --nav-bar: 3rem;
  --nav-dot: .62rem;
  position: relative;
  display: flex;
  direction: rtl;
  justify-content: center;
  align-items: center;
  gap: .38rem;
  width: max-content;
  min-height: 1.8rem;
  margin: clamp(1.6rem, 3.7vh, 2.55rem) auto 0;
  overflow: visible;
}

.hero__dot {
  position: relative;
  flex: 0 0 var(--nav-slot);
  width: var(--nav-slot);
  min-width: var(--nav-slot);
  max-width: var(--nav-slot);
  height: 1.65rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  outline-offset: .18rem;
}

/* نقطه */
.hero__dot::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: var(--nav-dot);
  height: var(--nav-dot);
  border-radius: 50%;
  background: color-mix(in srgb, var(--text) 26%, transparent);
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  box-shadow: none;
  pointer-events: none;
}

/* خط خالی ثابت */
.hero__dot::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: var(--nav-bar);
  height: .34rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--c-gold) 18%, var(--line-strong));
  transform: translate(-50%, -50%) scaleX(0);
  transform-origin: center;
  opacity: 0;
  pointer-events: none;
}

/* پرشدگی */
.hero__dot i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  width: var(--nav-bar);
  height: .34rem;
  border-radius: 999px;
  background: var(--c-gold);
  transform: translate(-50%, -50%) scaleX(var(--slide-progress, 0));
  transform-origin: right center;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 .8rem rgba(240,180,41,.24);
}

.hero__dot.is-active::before { opacity: 0; transform: translate(-50%, -50%) scale(.45); }
.hero__dot.is-active::after  { opacity: 1; transform: translate(-50%, -50%) scaleX(1); }
.hero__dot.is-active i       { opacity: 1; }

/* خروج: نقطه و خط در همان Slot ثابت می‌مانند؛ فقط لایه‌ها تبدیل می‌شوند. */
.hero__dot.is-closing::before {
  animation: indicator-point-in-r18 760ms cubic-bezier(.22,1,.36,1) both;
}
.hero__dot.is-closing::after {
  animation: indicator-track-close-r18 760ms cubic-bezier(.45,0,.15,1) both;
}
.hero__dot.is-closing i {
  opacity: 1;
  animation: indicator-fill-empty-r18 760ms cubic-bezier(.45,0,.15,1) both;
}

/* ورود: نقطه بعدی در جای خودش محو می‌شود و خط در همان Slot باز می‌شود. */
.hero__dot.is-opening::before {
  animation: indicator-point-out-r18 760ms cubic-bezier(.22,1,.36,1) both;
}
.hero__dot.is-opening::after {
  animation: indicator-track-open-r18 760ms cubic-bezier(.22,1,.36,1) both;
}
.hero__dot.is-opening i {
  opacity: 0;
  transform: translate(-50%, -50%) scaleX(0);
}

@keyframes indicator-fill-empty-r18 {
  from { transform: translate(-50%, -50%) scaleX(1); transform-origin: left center; opacity: 1; }
  to   { transform: translate(-50%, -50%) scaleX(0); transform-origin: left center; opacity: 0; }
}
@keyframes indicator-track-close-r18 {
  0%, 44% { opacity: 1; transform: translate(-50%, -50%) scaleX(1); }
  100%    { opacity: 0; transform: translate(-50%, -50%) scaleX(0); }
}
@keyframes indicator-point-in-r18 {
  0%, 48% { opacity: 0; transform: translate(-50%, -50%) scale(.35); }
  100%    { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes indicator-point-out-r18 {
  0%      { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  52%,100%{ opacity: 0; transform: translate(-50%, -50%) scale(.35); }
}
@keyframes indicator-track-open-r18 {
  0%, 22% { opacity: 0; transform: translate(-50%, -50%) scaleX(0); }
  100%    { opacity: 1; transform: translate(-50%, -50%) scaleX(1); }
}

/* محتوای متنی: خروج کامل و ورود مجدد بدون دخالت در جایگاه. */
.hero-slide.is-outgoing .hero-slide__content > * {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity .38s ease, transform .38s ease !important;
  transition-delay: 0s !important;
}
.hero-slide.is-incoming-prep .hero-slide__content > *,
.hero-slide.is-incoming .hero-slide__content > * {
  opacity: 0;
  transform: translateY(18px);
  transition: none;
}
.hero-slide.is-incoming .hero-slide__content > * {
  animation: hero-content-enter-r18 .64s var(--ease-out) forwards;
}
.hero-slide.is-incoming .hero-slide__content > :nth-child(1) { animation-delay: .04s; }
.hero-slide.is-incoming .hero-slide__content > :nth-child(2) { animation-delay: .15s; }
.hero-slide.is-incoming .hero-slide__content > :nth-child(3) { animation-delay: .26s; }
.hero-slide.is-incoming .hero-slide__content > :nth-child(4) { animation-delay: .37s; }
@keyframes hero-content-enter-r18 {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Canvas ذرات روی قاب تصویر؛ خود تصویر در طول گذار فقط Visibility عوض می‌کند. */
.hero-particle-canvas {
  position: absolute;
  z-index: 20;
  display: block;
  pointer-events: none;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.hero-slide.is-particle-source .hero-slide__media img,
.hero-slide.is-particle-source .hero-slide__vector-wrap img,
.hero-slide.is-particle-target .hero-slide__media img,
.hero-slide.is-particle-target .hero-slide__vector-wrap img {
  visibility: hidden !important;
}
.hero-slide.is-particle-source .hero-slide__media,
.hero-slide.is-particle-source .hero-slide__vector-wrap,
.hero-slide.is-particle-target .hero-slide__media,
.hero-slide.is-particle-target .hero-slide__vector-wrap {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.hero > .hero__inner > .page-jump--down {
  margin-top: 1.75rem;
  margin-bottom: .25rem;
}

@media (max-width: 56rem) {
  .hero__title { max-width: 12ch; font-size: clamp(2rem, 9vw, 3.45rem); }
  .hero__lede { font-size: .98rem; }
  .hero__slider-nav {
    --nav-slot: 3.5rem;
    --nav-bar: 2.65rem;
    gap: .26rem;
    margin-top: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__dot.is-closing::before,
  .hero__dot.is-closing::after,
  .hero__dot.is-closing i,
  .hero__dot.is-opening::before,
  .hero__dot.is-opening::after,
  .hero-slide.is-incoming .hero-slide__content > * {
    animation: none !important;
  }
}
.hero-slide.is-incoming-prep .hero-slide__media,
.hero-slide.is-incoming-prep .hero-slide__vector-wrap {
  opacity: 0 !important;
  transform: none !important;
}

/* ═══════════════════════════════════════════════════════════
   R19 — بازگشت نشانگرهای اولیه + ذرات کامل قاب
   ═══════════════════════════════════════════════════════════ */

/* جایگاه مرکزی فعلی حفظ می‌شود؛ هر نشانگر یک نوار ثابت و هم‌اندازه است. */
.hero__slider-nav {
  --nav-slot: 2.9rem;
  --nav-bar: 2.9rem;
  position: relative;
  display: flex;
  direction: rtl;
  justify-content: center;
  align-items: center;
  gap: .6rem;
  width: max-content;
  min-height: 1.45rem;
  margin: clamp(1.6rem, 3.7vh, 2.55rem) auto 0;
  overflow: visible;
}

.hero__dot {
  position: relative;
  flex: 0 0 var(--nav-slot);
  width: var(--nav-slot);
  min-width: var(--nav-slot);
  max-width: var(--nav-slot);
  height: .9rem;
  padding: .35rem 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  outline-offset: .18rem;
}

/* خط پایهٔ اولیه؛ بدون نقطه و بدون تبدیل شکل. */
.hero__dot::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: .35rem 0;
  width: auto;
  height: auto;
  border-radius: 999px;
  background: var(--line-strong);
  opacity: 1;
  transform: none;
  animation: none !important;
  box-shadow: none;
  pointer-events: none;
}

.hero__dot::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

.hero__dot i {
  position: absolute;
  z-index: 2;
  inset: .35rem 0;
  width: auto;
  height: auto;
  border-radius: 999px;
  background: var(--c-gold);
  transform: scaleX(var(--slide-progress, 0));
  transform-origin: right center;
  opacity: 0;
  animation: none !important;
  transition: opacity .26s ease;
  box-shadow: none;
  pointer-events: none;
}

.hero__dot.is-active i {
  opacity: 1;
}

.hero__dot.is-opening::before,
.hero__dot.is-closing::before,
.hero__dot.is-opening i,
.hero__dot.is-closing i {
  animation: none !important;
}

/* Canvas باید بیرون قاب نیز قابل رسم باشد تا پاشش ذرات بریده نشود. */
.hero-particle-canvas {
  position: absolute;
  z-index: 30;
  display: block;
  pointer-events: none;
  border-radius: 0 !important;
  overflow: visible !important;
  max-width: none;
}

/* چون Canvas قاب و تصویر را باهم رندر می‌کند، کل عنصر مدیا پنهان می‌شود. */
.hero-slide.is-particle-source .hero-slide__media,
.hero-slide.is-particle-source .hero-slide__vector-wrap,
.hero-slide.is-particle-target .hero-slide__media,
.hero-slide.is-particle-target .hero-slide__vector-wrap {
  visibility: hidden !important;
  opacity: 0 !important;
  transform: none !important;
}

@media (max-width: 56rem) {
  .hero__slider-nav {
    --nav-slot: 2.65rem;
    --nav-bar: 2.65rem;
    gap: .45rem;
    margin-top: 1.25rem;
  }
}


/* ═══════════════════════════════════════════════════════════
   R20 — نوارهای دورگرد + پاشش بازتر ذرات
   ═══════════════════════════════════════════════════════════ */
.hero__slider-nav {
  --nav-slot: 3rem;
  --nav-bar: 3rem;
  gap: .58rem;
}

.hero__dot {
  height: 1rem;
  padding: .3rem 0;
  border-radius: 999px;
}

.hero__dot::before {
  inset: .3rem 0;
  border-radius: 999px;
  background: color-mix(in srgb, var(--line-strong) 84%, white 6%);
}

.hero__dot i {
  inset: .3rem 0;
  border-radius: 999px;
  box-shadow: 0 0 1rem rgba(240,180,41,.22);
}

.hero-particle-canvas {
  border-radius: 0 !important;
  overflow: visible !important;
  mix-blend-mode: normal;
}

@media (max-width: 56rem) {
  .hero__slider-nav {
    --nav-slot: 2.7rem;
    --nav-bar: 2.7rem;
    gap: .5rem;
  }
  .hero__dot {
    height: .95rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   R21 — بازگشت تصویر به گذار اولیه + جداسازی دو نور Hero
   ═══════════════════════════════════════════════════════════ */
.hero {
  --hero-image-light-opacity: 1;
  --hero-text-light-opacity: 1;
}

.hero__bg {
  background: radial-gradient(var(--dot-grid) 1px, transparent 1px) !important;
  background-size: 2.75rem 2.75rem !important;
}

.hero__bg::before,
.hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  transition: opacity 80ms linear;
}

/* نور سمت تصویر */
.hero__bg::before {
  opacity: var(--hero-image-light-opacity);
  background: radial-gradient(
    38rem 38rem at 18% 42%,
    rgba(var(--hero-light-a-rgb), var(--hero-light-a-alpha)),
    transparent 65%
  );
}

/* نور پایین بخش متن */
.hero__bg::after {
  opacity: var(--hero-text-light-opacity);
  background: radial-gradient(
    30rem 30rem at 85% 80%,
    rgba(var(--hero-light-b-rgb), var(--hero-light-b-alpha)),
    transparent 60%
  );
}

/* حذف کامل Canvas و کلاس‌های گذار ذره‌ای در صورت باقی‌ماندن Cache یا DOM قدیمی. */
.hero-particle-canvas {
  display: none !important;
}

.hero-slide.is-outgoing {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
}

.hero-slide.is-incoming-simple {
  opacity: 1 !important;
  visibility: visible !important;
}

.hero-slide.is-outgoing .hero-slide__content > * {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity .55s var(--ease-out), transform .55s var(--ease-out) !important;
  transition-delay: 0s !important;
}

.hero-slide.is-incoming-simple .hero-slide__content > * {
  opacity: 1 !important;
  transform: none !important;
}

.hero-slide.is-outgoing .hero-slide__media,
.hero-slide.is-outgoing .hero-slide__vector-wrap {
  opacity: 0 !important;
  transform: scale(.96) translateX(-.6rem) !important;
  transition: opacity .75s var(--ease-out), transform .75s var(--ease-out) !important;
}

.hero-slide.is-incoming-simple .hero-slide__media,
.hero-slide.is-incoming-simple .hero-slide__vector-wrap {
  opacity: 1 !important;
  transform: none !important;
}

/* R21.1 — خود اسلاید محو می‌شود؛ تصویر و قاب جداگانه افکت نمی‌گیرند. */
.hero-slide.is-outgoing .hero-slide__content > *,
.hero-slide.is-outgoing .hero-slide__media,
.hero-slide.is-outgoing .hero-slide__vector-wrap {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* R22 — تحویل بدون شکست نور پایین Hero به میدان مشترک. */
.hero__bg::before,
.hero__bg::after {
  transition: none !important;
  will-change: opacity;
}


/* R142 — transparent slide media: no normal image frame/background */
.hero-slide__media--transparent{background:transparent!important;border-color:transparent!important;box-shadow:none!important;overflow:visible!important}
.hero-slide__media--transparent::after{display:none!important}
.hero-slide__media--transparent img{object-fit:contain!important;background:transparent!important}

/* R150 — ویدئو از همان قاب رسانه تصویر استفاده می‌کند. */
.hero-slide__media--video video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  background:#000;
}
