/* Final unified cinematic hero — scoped to homepage hero only */
.ns-hero-final{
  position:relative;
  width:100%;
  min-height:82vh;
  min-height:82svh;
  overflow:hidden;
  isolation:isolate;
  background:#080b11;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ns-hero-final__media{
  position:absolute;
  inset:0;
  z-index:-3;
  overflow:hidden;
  background:#0b1018;
}
/* Component isolation: homepage hero media is intentionally independent from newsroom/card media rules. */
.ns-hero-final__image{
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ns-hero-final__media > .ns-hero-final__image{
  width:100%!important;
  height:100%!important;
  display:block;
  object-fit:cover!important;
  object-position:center 46%!important;
  transform:scale(1.025);
  animation:nsHeroCamera 14s ease-in-out infinite alternate;
  will-change:transform;
  image-rendering:auto;
}
.ns-hero-final__overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(4,7,12,.10) 0%,rgba(4,7,12,.22) 35%,rgba(5,8,14,.72) 68%,rgba(5,8,14,.96) 100%),
    linear-gradient(90deg,rgba(4,7,12,.22),rgba(4,7,12,.04) 45%,rgba(4,7,12,.15));
}
.ns-hero-final__content{
  min-height:82vh;
  min-height:82svh;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  padding-top:90px;
  padding-bottom:clamp(42px,7vh,80px);
}
.ns-hero-final__badge{
  position:absolute;
  top:28px;
  right:max(22px,calc((100vw - 1240px)/2));
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 17px;
  border-radius:999px;
  border:1px solid rgba(235,194,112,.32);
  background:rgba(12,16,23,.55);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  color:#e8c477;
  font:800 11px/1.2 Vazirmatn,sans-serif;
  letter-spacing:.35px;
  opacity:0;
  animation:nsHeroFadeDown .65s ease-out .15s forwards;
}
.ns-hero-final__copy{
  max-width:760px;
}
.ns-hero-final__copy h1{
  margin:0;
  max-width:720px;
  color:#fffaf2;
  font-size:clamp(34px,4.4vw,62px);
  line-height:1.42;
  font-weight:900;
  text-shadow:0 2px 18px rgba(0,0,0,.24),0 8px 40px rgba(0,0,0,.18);
  opacity:0;
  transform:translateY(22px);
  animation:nsHeroReveal .85s cubic-bezier(.2,.7,.2,1) .30s forwards;
}
.ns-hero-final__copy p{
  max-width:680px;
  margin:17px 0 0;
  color:rgba(244,244,244,.80);
  font-size:clamp(14px,1.35vw,17px);
  line-height:2;
  opacity:0;
  transform:translateY(18px);
  animation:nsHeroReveal .8s cubic-bezier(.2,.7,.2,1) .47s forwards;
}
.ns-hero-final__actions{
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:25px;
  opacity:0;
  transform:translateY(16px);
  animation:nsHeroReveal .75s cubic-bezier(.2,.7,.2,1) .62s forwards;
}
.ns-hero-final .btn.gold{
  min-height:52px;
  padding:0 25px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#f0cf82,#d4a54d);
  color:#16130d;
  font-weight:900;
  box-shadow:0 12px 32px rgba(212,165,77,.18);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ns-hero-final .btn.gold:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px rgba(212,165,77,.24);
}
.ns-hero-final__link{
  position:relative;
  padding:11px 2px;
  color:#f6f1e8;
  font-weight:650;
  text-decoration:none;
}
.ns-hero-final__link::after{
  content:"";
  position:absolute;
  right:0;
  left:0;
  bottom:2px;
  height:1px;
  background:rgba(255,255,255,.35);
}
.ns-hero-final__pulse{
  width:min(380px,70vw);
  margin-top:37px;
  text-align:center;
  color:#d8ae5d;
  opacity:0;
  animation:nsHeroReveal .9s ease .82s forwards;
}
.ns-hero-final__pulse svg{
  display:block;
  width:100%;
  height:auto;
  overflow:visible;
}
.ns-pulse-path{
  fill:none;
  stroke:currentColor;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:520;
  stroke-dashoffset:520;
  filter:drop-shadow(0 0 7px rgba(218,177,96,.28));
  animation:nsPulseDraw 2.8s ease-in-out 1s infinite;
}
.ns-hero-final__pulse small{
  display:block;
  margin-top:3px;
  color:rgba(226,184,99,.88);
  font:700 10px/1.3 Arial,sans-serif;
  letter-spacing:3px;
}

@keyframes nsHeroCamera{
  0%{transform:scale(1.025) translate3d(0,0,0)}
  50%{transform:scale(1.075) translate3d(-1.15%,-.45%,0)}
  100%{transform:scale(1.115) translate3d(1.15%,-.9%,0)}
}
@keyframes nsHeroCameraMobile{
  0%{transform:scale(1.025) translate3d(0,0,0)}
  50%{transform:scale(1.065) translate3d(-1.55%,-.5%,0)}
  100%{transform:scale(1.105) translate3d(1.55%,-1%,0)}
}
@keyframes nsHeroReveal{
  to{opacity:1;transform:translateY(0)}
}
@keyframes nsHeroFadeDown{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes nsPulseDraw{
  0%{stroke-dashoffset:520;opacity:.40}
  35%{stroke-dashoffset:0;opacity:1}
  70%{stroke-dashoffset:0;opacity:1}
  100%{stroke-dashoffset:-520;opacity:.35}
}

html[data-lang="en"] .ns-hero-final__copy{text-align:left}
html[data-lang="en"] .ns-hero-final__actions{direction:ltr}
html[data-lang="en"] .ns-hero-final__badge{
  right:auto;
  left:max(22px,calc((100vw - 1240px)/2));
}

@media(max-width:760px){
  .ns-hero-final{
    min-height:86svh;
  }
  .ns-hero-final__content{
    min-height:86svh;
    padding:88px 21px 38px;
    justify-content:flex-end;
  }
  .ns-hero-final__media > .ns-hero-final__image{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:scale(1.025);
    transform-origin:center 46%;
    animation:nsHeroCameraMobile 13s ease-in-out infinite alternate;
    will-change:transform;
  }
  .ns-hero-final__overlay{
    background:linear-gradient(180deg,rgba(4,7,12,.04) 0%,rgba(4,7,12,.13) 32%,rgba(5,8,14,.68) 58%,rgba(5,8,14,.97) 100%);
  }
  .ns-hero-final__badge{
    top:18px;
    right:18px;
    min-height:36px;
    padding:0 13px;
    font-size:9px;
  }
  html[data-lang="en"] .ns-hero-final__badge{right:auto;left:18px}
  .ns-hero-final__copy h1{
    max-width:100%;
    font-size:clamp(31px,9vw,43px);
    line-height:1.47;
  }
  .ns-hero-final__copy p{
    margin-top:12px;
    max-width:95%;
    font-size:13px;
    line-height:1.9;
  }
  .ns-hero-final__actions{
    gap:14px;
    margin-top:20px;
    flex-wrap:wrap;
  }
  .ns-hero-final .btn.gold{
    min-height:49px;
    padding:0 21px;
  }
  .ns-hero-final__link{font-size:14px}
  .ns-hero-final__pulse{
    width:240px;
    margin:31px auto 0;
  }
  .ns-hero-final__pulse small{
    font-size:8px;
    letter-spacing:2.4px;
  }
}

@media(max-width:390px){
  .ns-hero-final__copy h1{font-size:29px}
  .ns-hero-final__copy p{font-size:12px}
}

@media(prefers-reduced-motion:reduce){
  .ns-hero-final__media > .ns-hero-final__image,
  .ns-hero-final__badge,
  .ns-hero-final__copy h1,
  .ns-hero-final__copy p,
  .ns-hero-final__actions,
  .ns-hero-final__pulse,
  .ns-pulse-path{
    animation:none!important;
  }
  .ns-hero-final__badge,
  .ns-hero-final__copy h1,
  .ns-hero-final__copy p,
  .ns-hero-final__actions,
  .ns-hero-final__pulse{
    opacity:1;
    transform:none;
  }
  .ns-pulse-path{stroke-dashoffset:0}
}
