
:root{--navy:#07111f;--navy2:#0d213b;--text:#0f172a;--muted:#334155;--line:#dbe3ef;--white:#fff;--soft:#f4f7fb;--gold:#f59e0b;--gold2:#d97706;--green:#16a34a;--red:#dc2626;--blue:#2563eb;--max:1180px;--shadow:0 24px 80px rgba(2,8,23,.16);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.65}body[dir=rtl]{font-family:Tahoma,"Segoe UI",Arial,sans-serif}a{text-decoration:none;color:inherit}.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}.topbar{background:var(--navy);color:#cbd5e1;font-size:13px}.topbar-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.topbar strong{color:#fff}.status{display:inline-flex;align-items:center;gap:8px}.dot{width:8px;height:8px;border-radius:999px;background:var(--green);display:inline-block}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.08)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand img{width:218px;max-width:31vw;height:auto;display:block}nav ul{display:flex;align-items:center;gap:18px;list-style:none;padding:0;margin:0;font-size:14px;color:#334155;font-weight:750}nav a:hover{color:var(--gold2)}.nav-actions{display:flex;align-items:center;gap:10px}.lang{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:850}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-weight:850;border:1px solid var(--line);background:#fff;color:var(--text);transition:.18s}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(2,8,23,.12)}.btn.primary{background:var(--gold);border-color:var(--gold);color:#111827}.btn.dark{background:var(--navy);border-color:var(--navy);color:white}.btn.small{padding:9px 12px;font-size:13px}.hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(7,17,31,.97),rgba(7,17,31,.84) 47%,rgba(7,17,31,.58)),radial-gradient(circle at 82% 30%,rgba(245,158,11,.35),transparent 24rem),linear-gradient(135deg,#0f172a,#1e293b)}.hero:after{content:"";position:absolute;inset:auto -10% -28% auto;width:760px;height:760px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.06),rgba(255,255,255,.06) 1px,transparent 1px,transparent 18px);opacity:.45;transform:rotate(-12deg)}.hero-inner{position:relative;z-index:1;min-height:700px;display:grid;grid-template-columns:1.04fr .96fr;gap:36px;align-items:center;padding:80px 22px 76px}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:8px 13px;border-radius:999px;background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.32);color:#fde68a;font-weight:850;font-size:13px;margin-bottom:20px}h1,h2,h3{margin:0;line-height:1.08}h1{font-size:clamp(42px,6vw,76px);letter-spacing:-.045em;max-width:850px}h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em}h3{font-size:20px}p{margin:0;color:var(--muted)}.hero p{color:#dbeafe;font-size:19px;max-width:760px;margin-top:22px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.hero-card{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:28px;padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(16px)}.hero-img{height:440px;border-radius:22px;overflow:hidden;position:relative;background:#111}.hero-img img{width:100%;height:100%;object-fit:cover;filter:saturate(1.12) contrast(1.06)}.hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,17,31,.55),transparent 55%)}.hero-card h3{color:white;margin-top:20px}.hero-card p{color:#cbd5e1;font-size:15px;margin-top:8px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:-42px;position:relative;z-index:4}.stat{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:var(--shadow)}.stat strong{display:block;font-size:35px;line-height:1;color:var(--navy);letter-spacing:-.03em}.stat span{display:block;margin-top:8px;color:var(--muted);font-size:14px;font-weight:700}section{padding:78px 0}.soft{background:var(--soft)}.section-head{max-width:820px;margin-bottom:34px}.section-head.center{margin-left:auto;margin-right:auto;text-align:center}.section-head p{font-size:18px;margin-top:13px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 18px 50px rgba(15,23,42,.08);overflow:hidden}.card-body{padding:24px}.card-img{height:230px;background:#e2e8f0;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:.3s;filter:saturate(1.08) contrast(1.06)}.card:hover .card-img img{transform:scale(1.035)}.icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:#fff7ed;border:1px solid #fed7aa;color:var(--gold2);font-size:26px;margin-bottom:18px}.service,.product-card{padding:26px;min-height:255px;position:relative}.service p,.product-card p{margin-top:12px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.tag{padding:7px 10px;border-radius:999px;background:#eef2ff;color:#1e40af;font-size:12px;font-weight:850}.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:36px;align-items:start}.image-panel{min-height:470px;border-radius:28px;background:linear-gradient(135deg,rgba(7,17,31,.06),rgba(245,158,11,.08)),#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:28px;display:grid;align-content:end;position:relative;overflow:hidden}.image-panel:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.24),transparent 65%);top:-120px;right:-80px}body[dir=rtl] .image-panel:before{right:auto;left:-80px}.diagram{position:relative;z-index:1;display:grid;gap:16px}.diagram-box{padding:20px;border-radius:20px;background:rgba(255,255,255,.88);border:1px solid var(--line)}.diagram-box strong{display:block;margin-bottom:6px}.content-card{padding:32px}.pill-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.pill{padding:9px 12px;border-radius:999px;background:#eef2ff;color:#1e40af;font-size:13px;font-weight:850}.industry{padding:22px;border-radius:20px;border:1px solid var(--line);background:#fff;min-height:142px}.industry strong{display:block;margin-top:12px;color:var(--navy)}.projects{display:grid;gap:14px}.project{display:grid;grid-template-columns:145px 1fr;gap:18px;padding:20px;border-radius:22px;background:#fff;border:1px solid var(--line);align-items:start}body[dir=rtl] .project{grid-template-columns:1fr 145px}.project-tag{display:inline-flex;justify-content:center;align-items:center;min-height:54px;border-radius:16px;background:var(--navy);color:white;font-weight:900;text-align:center;padding:10px}.page-hero{background:linear-gradient(90deg,var(--navy),#10233d);color:#fff;padding:72px 0}.page-hero p{color:#dbeafe;font-size:19px;margin-top:14px;max-width:850px}.crumbs{font-size:13px;color:#fde68a;margin-bottom:18px;font-weight:800}.page-hero h1{font-size:clamp(38px,5vw,64px)}.standard-group{margin-bottom:28px}.standard-card{padding:20px;display:flex;flex-direction:column;gap:12px}.standard-card p{font-size:14px}.cta{color:white;background:linear-gradient(90deg,rgba(7,17,31,.97),rgba(15,23,42,.9)),radial-gradient(circle at top right,rgba(245,158,11,.42),transparent 20rem);border-radius:34px;padding:48px;overflow:hidden;position:relative}.cta p{color:#cbd5e1;font-size:18px;margin-top:14px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}.contact-card{padding:30px}.contact-item{padding:16px 0;border-bottom:1px solid var(--line)}.contact-item:last-child{border-bottom:0}.contact-item strong{display:block;color:var(--navy)}.contact-item span{color:var(--muted)}form{display:grid;gap:14px}label{display:grid;gap:7px;color:var(--text);font-weight:800;font-size:13px}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:var(--text)}textarea{min-height:150px;resize:vertical}.form-note{font-size:13px;color:var(--muted);margin-top:8px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo{border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(15,23,42,.08)}.photo img{width:100%;height:260px;object-fit:cover;display:block}.photo figcaption{padding:16px;font-weight:750;color:#1f2937}.note{padding:18px;border-radius:18px;background:#fff;border:1px dashed var(--line);color:var(--muted)}footer{background:var(--navy);color:#cbd5e1;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:26px;margin-bottom:32px}footer h3{color:white;margin-bottom:14px}footer p,footer a{color:#cbd5e1}footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.footer-logo{width:220px;max-width:100%;background:white;border-radius:12px;padding:8px;margin-bottom:14px}.copyright{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:13px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}[data-lang]{display:none}body.lang-en [data-lang=en]{display:revert}body.lang-fa [data-lang=fa]{display:revert}@media(max-width:1100px){nav ul{display:none}.hero-inner,.split,.contact-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.grid-4,.photo-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr}}@media(max-width:700px){.brand img{width:172px;max-width:52vw}.nav-actions .btn{display:none}.hero-inner{min-height:auto;padding-top:58px}.stats,.grid-2,.grid-3,.grid-4,.photo-grid{grid-template-columns:1fr}.project,body[dir=rtl] .project{grid-template-columns:1fr}.cta{padding:28px;border-radius:26px}section{padding:58px 0}.topbar-inner{padding-top:8px;padding-bottom:8px}.photo img{height:220px}.card-img{height:210px}}

/* v5 updates */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.product-list-card .card-body{display:flex;flex-direction:column;min-height:330px}
.product-card-img{height:260px;background:#fff}
.product-card-img img{object-fit:contain!important;padding:10px;background:#fff}
.card-actions{margin-top:auto;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px}
.btn.mini{padding:9px 13px;font-size:13px;border-radius:999px;background:#f8fafc}
.catalog-viewer{display:grid;gap:24px;margin-top:24px}
.catalog-page{margin:0;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(15,23,42,.08)}
.catalog-page img{display:block;width:100%;height:auto;background:#fff}
.catalog-page figcaption{padding:14px 18px;font-weight:750;color:#334155;border-top:1px solid var(--line)}
.hero-slideshow{height:330px;border-radius:22px;position:relative;overflow:hidden;background:#0f172a;border:1px solid rgba(255,255,255,.14)}
.hero-slideshow .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease,transform 5s ease;filter:saturate(1.08) contrast(1.06)}
.hero-slideshow .slide.active{opacity:1;transform:scale(1.04)}
.slide-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:7px}
.slide-dot{width:9px;height:9px;border-radius:999px;border:0;background:rgba(255,255,255,.45);cursor:pointer}
.slide-dot.active{background:#f59e0b}
.hero-card .hero-img{display:none}
@media(max-width:1020px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.product-grid{grid-template-columns:1fr}.product-card-img{height:230px}.hero-slideshow{height:280px}}

/* v6 additions */
.pioneer-grid{display:grid;gap:26px}
.pioneer-card{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:center;padding:28px;overflow:hidden}
.pioneer-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:24px;box-shadow:0 20px 55px rgba(15,23,42,.16)}
.pioneer-copy .role{font-weight:850;color:#0f172a;margin:8px 0 14px}
.pioneer-teaser{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:26px}
.mini-pioneer{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:18px}
.mini-pioneer img{width:96px;height:96px;object-fit:cover;border-radius:18px}
@media(max-width:760px){.pioneer-card{grid-template-columns:1fr}.pioneer-teaser{grid-template-columns:1fr}.mini-pioneer{grid-template-columns:72px 1fr}.mini-pioneer img{width:72px;height:72px}}


/* v7 corrections requested after visual review */
body.lang-en nav ul[data-lang="en"],
body.lang-fa nav ul[data-lang="fa"]{
  display:flex;
}
body.lang-en footer ul[data-lang="en"],
body.lang-fa footer ul[data-lang="fa"]{
  display:grid;
}
body.lang-en .btn[data-lang="en"],
body.lang-fa .btn[data-lang="fa"]{
  display:inline-flex;
}
body.lang-en label[data-lang="en"],
body.lang-fa label[data-lang="fa"]{
  display:grid;
}
body.lang-en .contact-item span[data-lang="en"],
body.lang-fa .contact-item span[data-lang="fa"],
body.lang-en .stat span[data-lang="en"],
body.lang-fa .stat span[data-lang="fa"],
body.lang-en figcaption[data-lang="en"],
body.lang-fa figcaption[data-lang="fa"]{
  display:block;
}
body.lang-en .pill[data-lang="en"],
body.lang-fa .pill[data-lang="fa"],
body.lang-en .tag[data-lang="en"],
body.lang-fa .tag[data-lang="fa"]{
  display:inline-flex;
}
.honor-contain{
  background:#fff;
}
.honor-contain img{
  object-fit:contain!important;
  background:#fff;
  padding:10px;
  transform:none!important;
  filter:saturate(1.04) contrast(1.02);
}
.section-head.center p:empty{
  display:none;
}

@media(max-width:1100px){
  body.lang-en nav ul[data-lang="en"],
  body.lang-fa nav ul[data-lang="fa"]{
    display:none;
  }
}


/* v8 corrections and Relevant Industrial Equipment */
body{color:#07111f}
p,.contact-item span,.card p,.section-head p,footer p,footer a{color:#334155}
footer p,footer a{color:#dbe3ef}
.contact-item span{display:block;color:#1f2937;font-weight:650}
.contact-card .contact-item strong{color:#07111f}
.availability{font-weight:900;color:#92400e!important;margin-top:12px}
.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.equipment-card{overflow:hidden;display:flex;flex-direction:column}
.equipment-img{height:280px;background:#fff;border-bottom:1px solid var(--line);display:grid;place-items:center}
.equipment-img img{max-width:100%;max-height:100%;object-fit:contain;padding:12px}
.equipment-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.equipment-body .btn{align-self:flex-start;margin-top:auto}
.equipment-placeholder{height:280px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:grid;place-items:center;border-bottom:1px dashed #cbd5e1}
.equipment-placeholder span{width:62px;height:62px;border-radius:999px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:28px;font-weight:950;color:#94a3b8}
#pioneers .pioneer-preview-grid,#pioneers .pioneer-cards{display:none!important}
@media(max-width:1020px){.equipment-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.equipment-grid{grid-template-columns:1fr}.equipment-img,.equipment-placeholder{height:240px}}

/* v8.1 hide homepage pioneer teaser cards */
#pioneers .pioneer-teaser{display:none!important}


/* v9 contact phone-number direction fix */
.phone-number{
  direction:ltr;
  unicode-bidi:isolate;
  white-space:nowrap;
  display:inline-block;
  font-weight:900;
  letter-spacing:.02em;
}
.contact-info-card{
  min-width:0;
}
.contact-info-card .contact-item span{
  line-height:1.85;
  overflow-wrap:normal;
}
body.lang-fa .contact-info-card{
  text-align:right;
}
body.lang-fa .contact-info-card .contact-item span[data-lang="fa"]{
  direction:rtl;
  unicode-bidi:isolate;
  font-weight:750;
}
body.lang-en .contact-info-card .contact-item span[data-lang="en"]{
  direction:ltr;
  unicode-bidi:isolate;
}
body.lang-fa .contact-grid{
  grid-template-columns:1.08fr .92fr;
}
body.lang-fa .contact-card{
  padding:34px;
}
@media(max-width:1060px){
  body.lang-fa .contact-grid{grid-template-columns:1fr}
}


/* v10 final bilingual contact/nav corrections */
body.lang-en [data-lang="fa"],
body.lang-fa [data-lang="en"]{
  display:none!important;
}

body.lang-en .contact-info-card strong[data-lang="en"],
body.lang-fa .contact-info-card strong[data-lang="fa"]{
  display:block!important;
}

body.lang-en .contact-info-card span[data-lang="en"],
body.lang-fa .contact-info-card span[data-lang="fa"]{
  display:block!important;
}

.phone-number{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  white-space:nowrap!important;
  display:inline-block!important;
  font-weight:900;
}

body.lang-fa .contact-info-card{
  text-align:right;
}

body.lang-fa .contact-info-card .contact-item span[data-lang="fa"]{
  direction:rtl;
  unicode-bidi:isolate;
  line-height:1.9;
}

body.lang-fa nav a,
body.lang-fa nav li{
  white-space:nowrap!important;
  word-break:keep-all!important;
}

body.lang-fa nav ul{
  gap:22px;
}

body.lang-fa nav a[href="equipment.html"]{
  min-width:max-content;
}


/* v11 corrections: reliable logo/images, trusted companies rolling bar, and public placeholder cleanup */
.trusted-clients{
  padding:86px 0;
  background:linear-gradient(180deg,#ffffff,#f4f7fb);
  overflow:hidden;
}
.trust-head{
  text-align:center;
  max-width:850px;
  margin:0 auto 34px;
}
.trust-title{
  font-size:clamp(34px,5vw,64px);
  letter-spacing:-.045em;
  margin:0;
  color:#07111f;
  animation:trustReveal 1.9s cubic-bezier(.19,1,.22,1) both;
  text-shadow:0 12px 40px rgba(15,23,42,.12);
}
.trust-head p{
  margin-top:14px;
  font-size:18px;
  color:#334155;
  animation:trustRevealSoft 2.2s cubic-bezier(.19,1,.22,1) .18s both;
}
@keyframes trustReveal{
  0%{opacity:0;filter:blur(16px);transform:perspective(900px) translateZ(-360px) scale(.72);letter-spacing:.24em}
  55%{opacity:.78;filter:blur(3px);transform:perspective(900px) translateZ(-60px) scale(.96);letter-spacing:.04em}
  100%{opacity:1;filter:blur(0);transform:perspective(900px) translateZ(0) scale(1);letter-spacing:-.045em}
}
@keyframes trustRevealSoft{
  0%{opacity:0;filter:blur(10px);transform:translateY(18px)}
  100%{opacity:1;filter:blur(0);transform:translateY(0)}
}
.trust-showcase{
  display:grid;
  grid-template-columns:310px 1fr;
  gap:20px;
  align-items:center;
}
.trust-stable{
  min-height:178px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(15,23,42,.10);
  padding:20px;
  display:grid;
  place-items:center;
  text-align:center;
  position:relative;
  z-index:2;
}
.trust-stable span{
  font-size:12px;
  font-weight:950;
  color:#92400e;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.trust-stable img{
  max-width:240px;
  width:100%;
  max-height:110px;
  object-fit:contain;
}
.logo-marquee{
  min-height:178px;
  display:flex;
  align-items:center;
  overflow:hidden;
  border-radius:28px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.86);
  box-shadow:0 24px 70px rgba(15,23,42,.08);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}
.logo-track{
  display:flex;
  gap:18px;
  align-items:center;
  width:max-content;
  animation:clientMarquee 36s linear infinite;
  padding:0 18px;
}
.logo-marquee:hover .logo-track{
  animation-play-state:paused;
}
.client-logo{
  width:190px;
  height:116px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:22px;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}
.client-logo img{
  max-width:100%;
  max-height:84px;
  object-fit:contain;
}
@keyframes clientMarquee{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
body.lang-fa .logo-track{
  animation-direction:reverse;
}
body.lang-fa .trust-head,
body.lang-fa .trust-stable{
  direction:rtl;
}
.equipment-card.placeholder{
  display:none!important;
}
@media(max-width:900px){
  .trust-showcase{grid-template-columns:1fr}
  .trust-stable{max-width:380px;margin:0 auto;width:100%}
  .client-logo{width:168px;height:106px}
}


/* v12: scroll counters, cinematic hero motion background, and trust-title reveal */
.hero{
  isolation:isolate;
}
.hero .wrap,
.hero-inner{
  position:relative;
  z-index:3;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(7,17,31,.98) 0%,rgba(7,17,31,.91) 36%,rgba(7,17,31,.73) 64%,rgba(7,17,31,.94) 100%),
    radial-gradient(circle at 15% 26%,rgba(245,158,11,.28),transparent 28rem),
    radial-gradient(circle at 82% 58%,rgba(37,99,235,.30),transparent 34rem);
  pointer-events:none;
}
.hero:after{
  z-index:2;
}
.hero-motion-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  opacity:.42;
  filter:saturate(1.16) contrast(1.08);
}
.hero-motion-track{
  position:absolute;
  top:8%;
  left:-8%;
  display:flex;
  gap:28px;
  width:max-content;
  animation:heroPhotoRoll 56s linear infinite;
  transform:rotate(-4deg);
}
.motion-frame{
  width:390px;
  height:260px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 34px 90px rgba(0,0,0,.40);
  background:#0f172a;
  flex:0 0 auto;
}
.motion-frame:nth-child(even){
  transform:translateY(112px);
}
.motion-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:brightness(.86) contrast(1.08);
}
@keyframes heroPhotoRoll{
  from{transform:translateX(0) rotate(-4deg)}
  to{transform:translateX(-50%) rotate(-4deg)}
}
body.lang-fa .hero-motion-track{
  animation-direction:reverse;
}
.hero h1,
.hero p,
.hero .eyebrow,
.hero-actions{
  text-shadow:0 6px 28px rgba(0,0,0,.55);
}
.stats{
  perspective:900px;
}
.stat{
  overflow:hidden;
  position:relative;
}
.stat:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.55) 48%,transparent 72%);
  transform:translateX(-140%);
  opacity:0;
}
.stats.in-view .stat:before{
  animation:statShine 1.05s ease forwards;
}
.stats.in-view .stat:nth-child(2):before{animation-delay:.08s}
.stats.in-view .stat:nth-child(3):before{animation-delay:.16s}
.stats.in-view .stat:nth-child(4):before{animation-delay:.24s}
.counter{
  display:inline-block;
  font-variant-numeric:tabular-nums;
  transform:translateY(8px) scale(.96);
  opacity:.72;
  transition:transform .7s cubic-bezier(.19,1,.22,1),opacity .7s ease;
}
.stats.in-view .counter{
  transform:translateY(0) scale(1);
  opacity:1;
}
@keyframes statShine{
  0%{opacity:0;transform:translateX(-140%)}
  20%{opacity:.75}
  100%{opacity:0;transform:translateX(140%)}
}
.trusted-clients .trust-title{
  animation:none!important;
  opacity:0;
  filter:blur(18px);
  transform:scale(.18) translateY(36px);
  letter-spacing:.28em;
}
.trusted-clients.in-view .trust-title{
  animation:trustGrowFocus 1.65s cubic-bezier(.16,1,.3,1) forwards!important;
}
.trusted-clients .trust-head p{
  opacity:0;
  transform:translateY(20px);
  filter:blur(8px);
}
.trusted-clients.in-view .trust-head p{
  animation:trustSubtitleIn 1.1s ease .48s forwards;
}
@keyframes trustGrowFocus{
  0%{opacity:0;filter:blur(22px);transform:scale(.18) translateY(46px);letter-spacing:.30em}
  48%{opacity:.85;filter:blur(4px);transform:scale(1.05) translateY(0);letter-spacing:.03em}
  100%{opacity:1;filter:blur(0);transform:scale(1) translateY(0);letter-spacing:-.045em}
}
@keyframes trustSubtitleIn{
  to{opacity:1;transform:translateY(0);filter:blur(0)}
}
@media(max-width:900px){
  .hero-motion-track{top:4%;left:-24%;gap:18px}
  .motion-frame{width:280px;height:190px;border-radius:22px}
  .hero-motion-bg{opacity:.32}
}
@media(prefers-reduced-motion:reduce){
  .hero-motion-track,.logo-track,.stats.in-view .stat:before,.trusted-clients.in-view .trust-title,.trusted-clients.in-view .trust-head p{
    animation:none!important;
  }
  .trusted-clients .trust-title,.trusted-clients .trust-head p{
    opacity:1!important;filter:none!important;transform:none!important;
  }
}


/* v13: make hero rolling background photos clearly visible while keeping text readable */
.hero:before{
  background:
    linear-gradient(90deg,rgba(7,17,31,.88) 0%,rgba(7,17,31,.76) 34%,rgba(7,17,31,.52) 64%,rgba(7,17,31,.74) 100%),
    radial-gradient(circle at 15% 26%,rgba(245,158,11,.22),transparent 28rem),
    radial-gradient(circle at 82% 58%,rgba(37,99,235,.22),transparent 34rem)!important;
}

.hero-motion-bg{
  opacity:.78!important;
  filter:saturate(1.24) contrast(1.12) brightness(1.08)!important;
}

.hero-motion-track{
  top:6%!important;
  left:-4%!important;
  gap:34px!important;
}

.motion-frame{
  width:440px!important;
  height:292px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 38px 105px rgba(0,0,0,.36)!important;
}

.motion-frame:nth-child(even){
  transform:translateY(128px)!important;
}

.motion-frame img{
  filter:brightness(1.05) contrast(1.14) saturate(1.15)!important;
}

.hero h1{
  text-shadow:0 5px 18px rgba(0,0,0,.72),0 18px 55px rgba(0,0,0,.45)!important;
}

.hero p,
.hero .eyebrow,
.hero-actions{
  text-shadow:0 4px 18px rgba(0,0,0,.78)!important;
}

.hero-card{
  background:rgba(15,23,42,.78)!important;
  backdrop-filter:blur(8px);
  border-color:rgba(255,255,255,.20)!important;
}

@media(max-width:900px){
  .hero-motion-bg{opacity:.58!important}
  .motion-frame{width:310px!important;height:210px!important}
}


/* v14: make hero background images stronger and clearer */
.hero:before{
  background:
    linear-gradient(90deg,rgba(7,17,31,.66) 0%,rgba(7,17,31,.50) 34%,rgba(7,17,31,.30) 64%,rgba(7,17,31,.42) 100%),
    radial-gradient(circle at 15% 26%,rgba(245,158,11,.13),transparent 28rem),
    radial-gradient(circle at 82% 58%,rgba(37,99,235,.12),transparent 34rem)!important;
}

.hero-motion-bg{
  opacity:1!important;
  filter:saturate(1.38) contrast(1.20) brightness(1.22)!important;
}

.hero-motion-track{
  top:4%!important;
  left:-7%!important;
  gap:42px!important;
}

.motion-frame{
  width:500px!important;
  height:330px!important;
  opacity:.96!important;
  border:1px solid rgba(255,255,255,.38)!important;
  box-shadow:0 42px 115px rgba(0,0,0,.30)!important;
}

.motion-frame:nth-child(even){
  transform:translateY(146px)!important;
}

.motion-frame img{
  filter:brightness(1.23) contrast(1.18) saturate(1.22)!important;
}

.hero h1{
  text-shadow:
    0 4px 10px rgba(0,0,0,.88),
    0 12px 34px rgba(0,0,0,.72),
    0 0 2px rgba(0,0,0,.96)!important;
}

.hero p,
.hero .eyebrow,
.hero-actions{
  text-shadow:
    0 3px 10px rgba(0,0,0,.90),
    0 10px 28px rgba(0,0,0,.70)!important;
}

/* Give only the text area a very subtle readability veil, not the whole background */
.hero .hero-copy,
.hero .hero-text,
.hero-content{
  background:linear-gradient(90deg,rgba(7,17,31,.36),rgba(7,17,31,.08));
  border-radius:28px;
}

.hero-card{
  background:rgba(15,23,42,.66)!important;
  backdrop-filter:blur(5px)!important;
}

@media(max-width:900px){
  .hero-motion-bg{opacity:.85!important}
  .motion-frame{width:340px!important;height:230px!important}
  .hero:before{
    background:
      linear-gradient(90deg,rgba(7,17,31,.78) 0%,rgba(7,17,31,.62) 48%,rgba(7,17,31,.50) 100%)!important;
  }
}


/* v16: desktop hero layout correction after longer headline */
.hero{
  overflow:hidden!important;
}

.hero .wrap{
  width:min(100% - 56px, 1280px)!important;
}

.hero-inner{
  grid-template-columns:minmax(0, .92fr) minmax(320px, .72fr)!important;
  gap:clamp(24px,3.6vw,54px)!important;
  align-items:center!important;
}

.hero-copy,
.hero-text,
.hero-content{
  max-width:705px!important;
  transform:translateX(-10px);
}

.hero h1{
  font-size:clamp(44px,4.55vw,72px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
  max-width:705px!important;
  overflow-wrap:normal;
  word-break:normal;
}

.hero p{
  max-width:660px!important;
}

.hero-card{
  max-width:520px!important;
  justify-self:end!important;
  transform:translateX(-8px);
}

.hero-slideshow{
  height:300px!important;
}

@media(min-width:1500px){
  .hero h1{
    font-size:clamp(52px,4.1vw,78px)!important;
  }
  .hero .wrap{
    width:min(100% - 80px, 1360px)!important;
  }
}

@media(max-width:1100px){
  .hero-inner{
    grid-template-columns:1fr!important;
  }
  .hero-copy,
  .hero-text,
  .hero-content,
  .hero h1,
  .hero p{
    max-width:100%!important;
    transform:none!important;
  }
  .hero-card{
    justify-self:stretch!important;
    max-width:100%!important;
    transform:none!important;
  }
}


/* v17: keep the hero title, description, and photo card fully inside the visible desktop hero area */
.hero{
  min-height:820px!important;
  padding:clamp(92px,9vh,126px) 0 clamp(96px,10vh,136px)!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
}

.hero .wrap{
  width:min(100% - 72px, 1320px)!important;
  margin-inline:auto!important;
}

.hero-inner{
  grid-template-columns:minmax(620px, 1fr) minmax(390px, 520px)!important;
  gap:clamp(28px,3vw,48px)!important;
  align-items:center!important;
  min-height:610px!important;
}

.hero-copy,
.hero-text,
.hero-content{
  max-width:760px!important;
  transform:none!important;
  align-self:center!important;
  position:relative!important;
  z-index:4!important;
}

.hero h1{
  max-width:760px!important;
  font-size:clamp(46px,3.65vw,66px)!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
  margin-bottom:28px!important;
}

.hero p{
  max-width:720px!important;
  font-size:clamp(17px,1.06vw,20px)!important;
  line-height:1.68!important;
  margin-bottom:28px!important;
}

.hero-card{
  width:100%!important;
  max-width:520px!important;
  align-self:center!important;
  justify-self:end!important;
  transform:none!important;
  position:relative!important;
  z-index:4!important;
}

.hero-slideshow{
  height:300px!important;
}

.motion-frame{
  z-index:0!important;
}

@media(min-width:1500px){
  .hero{
    min-height:850px!important;
  }
  .hero .wrap{
    width:min(100% - 96px, 1400px)!important;
  }
  .hero-inner{
    grid-template-columns:minmax(680px, 1fr) minmax(420px, 540px)!important;
  }
  .hero h1{
    font-size:clamp(52px,3.45vw,70px)!important;
    max-width:800px!important;
  }
}

@media(max-width:1180px){
  .hero{
    min-height:auto!important;
    padding:86px 0 92px!important;
  }
  .hero-inner{
    grid-template-columns:1fr!important;
    min-height:auto!important;
  }
  .hero-copy,
  .hero-text,
  .hero-content,
  .hero h1,
  .hero p{
    max-width:100%!important;
  }
  .hero-card{
    justify-self:stretch!important;
    max-width:680px!important;
  }
}


/* v18: The Team Behind TAKSAM page and Pioneers link bar */
.team-bar{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:20px;
  align-items:center;
  padding:24px 28px;
  color:#fff;
  background:linear-gradient(90deg,rgba(7,17,31,.98),rgba(15,35,61,.94)),radial-gradient(circle at right,rgba(245,158,11,.26),transparent 24rem);
  border-color:rgba(255,255,255,.12);
  box-shadow:0 24px 70px rgba(2,8,23,.20);
}
.team-bar:hover{transform:translateY(-2px);box-shadow:0 30px 90px rgba(2,8,23,.26)}
.team-bar h3{color:#fff;font-size:28px;letter-spacing:-.03em}
.team-bar p{color:#dbeafe;margin-top:8px;font-size:16px}
.team-bar-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--gold);color:#111827;font-weight:950;font-size:28px}
.team-member-grid{display:grid;gap:22px}
.team-member-card{display:grid;grid-template-columns:185px 1fr;gap:28px;align-items:center;padding:26px}
.team-member-photo img{width:185px;height:185px;object-fit:cover;border-radius:28px;box-shadow:0 18px 50px rgba(15,23,42,.16)}
.team-member-copy h2,.team-feature h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em}
.team-member-copy .role,.team-feature .role{font-weight:900;color:#0f172a;margin:8px 0 12px}
.team-feature{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:center;padding:34px;overflow:hidden}
.team-feature-photo img{width:240px;height:240px;object-fit:cover;border-radius:32px;box-shadow:0 24px 60px rgba(15,23,42,.18)}
.team-kicker{display:inline-flex;padding:8px 12px;border-radius:999px;background:#fff7ed;color:#92400e;border:1px solid #fed7aa;font-weight:950;font-size:13px;margin-bottom:14px}
.extended-team{align-items:stretch}
.extended-card{padding:26px}
.extended-card h3{font-size:24px;margin-bottom:12px;color:#07111f}
.extended-card p{font-size:16px}
body.lang-fa .team-bar,body.lang-fa .team-member-card,body.lang-fa .team-feature{text-align:right;direction:rtl}
@media(max-width:760px){
  .team-bar{grid-template-columns:1fr;padding:24px}
  .team-member-card,.team-feature{grid-template-columns:1fr}
  .team-member-photo img,.team-feature-photo img{width:100%;height:auto;aspect-ratio:1/1}
}


/* v19: team-page portrait crop correction */
.team-photo,
.team-member-photo,
.member-photo,
.profile-photo{
  background:#fff!important;
}

.team-photo img,
.team-member-photo img,
.member-photo img,
.profile-photo img,
.team-card img,
.team-profile img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
}

.team-card .team-photo,
.team-profile .team-photo,
.team-card .member-photo,
.team-profile .member-photo{
  overflow:hidden;
  display:grid;
  place-items:center;
}

/* Specific protection for portrait photos extracted from the team DOCX */
img[src*="sima"],
img[src*="fariborz"]{
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  padding:6px;
}


/* v20: Fariborz portrait framing correction */
.fariborz-portrait{
  object-fit:contain!important;
  object-position:center center!important;
  background:#f8fafc!important;
  padding:10px!important;
  border-radius:22px!important;
}

/* If the image is inside a fixed portrait frame, give it breathing room so the chin is visible. */
.team-card:has(.fariborz-portrait) .team-photo,
.team-profile:has(.fariborz-portrait) .team-photo,
.member-card:has(.fariborz-portrait) .member-photo,
.profile-card:has(.fariborz-portrait) .profile-photo{
  background:#f8fafc!important;
  padding:8px!important;
  overflow:hidden!important;
}

/* Fallback for browsers without :has() */
img.fariborz-portrait{
  max-width:100%!important;
  max-height:100%!important;
}


/* v21: Fariborz Sharifi supplied portrait - no crop, full image visible */
img.fariborz-portrait{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:#f8fafc!important;
  padding:0!important;
  border-radius:20px!important;
}

.team-card:has(img.fariborz-portrait) .team-photo,
.team-profile:has(img.fariborz-portrait) .team-photo,
.member-card:has(img.fariborz-portrait) .member-photo,
.profile-card:has(img.fariborz-portrait) .profile-photo{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
  display:block!important;
  background:#f8fafc!important;
  padding:10px!important;
}

/* Fallback if the browser does not support :has() */
.fariborz-portrait{
  object-fit:contain!important;
  object-position:center center!important;
}


/* v22: Fariborz portrait rebuilt as a square no-crop image; show the full face and chin */
img.fariborz-portrait{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important; /* safe now because the image file itself is a no-crop square */
  object-position:center center!important;
  display:block!important;
  padding:0!important;
  background:#f8fafc!important;
}

/* Keep the portrait frame courteous and spacious */
.team-card:has(img.fariborz-portrait) .team-photo,
.team-profile:has(img.fariborz-portrait) .team-photo,
.member-card:has(img.fariborz-portrait) .member-photo,
.profile-card:has(img.fariborz-portrait) .profile-photo{
  overflow:hidden!important;
  background:#f8fafc!important;
}

/* Extra fallback: if a generic rule targets this image, do not crop from the bottom */
.fariborz-portrait{
  object-position:center center!important;
}


/* v23: real Fariborz fix - overwrite the actual referenced image path and prevent chin cropping */
.team-member-photo img.fariborz-portrait,
img.fariborz-portrait{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important; /* safe because the image itself is now square with full portrait margins */
  object-position:center center!important;
  display:block!important;
  padding:0!important;
  background:#f8fafc!important;
}

.team-member-photo:has(img.fariborz-portrait){
  overflow:hidden!important;
  background:#f8fafc!important;
}


/* v24: Fariborz portrait final correction - one normal photo, no blur, no duplicate, no chin crop */
.team-member-photo:has(img.fariborz-portrait),
.team-photo:has(img.fariborz-portrait),
.member-photo:has(img.fariborz-portrait),
.profile-photo:has(img.fariborz-portrait){
  background:#f8fafc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.team-member-photo img.fariborz-portrait,
.team-photo img.fariborz-portrait,
.member-photo img.fariborz-portrait,
.profile-photo img.fariborz-portrait,
img.fariborz-portrait{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  padding:0!important;
  background:#f8fafc!important;
  border-radius:20px!important;
  filter:none!important;
}

/* Override older v22/v23 Fariborz rules that used cover on a square composite image. */
.team-member-photo img[src*="fariborz-sharifi"],
.team-photo img[src*="fariborz-sharifi"],
.member-photo img[src*="fariborz-sharifi"],
.profile-photo img[src*="fariborz-sharifi"]{
  object-fit:contain!important;
  object-position:center center!important;
  filter:none!important;
}


/* v25: restore core-team contributor photos and prevent local path-loading issues */
.team-member-photo,
.team-feature-photo{
  background:#f8fafc!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.team-member-photo img.team-portrait,
.team-feature-photo img.team-portrait{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#f8fafc!important;
  filter:none!important;
}

/* For Fariborz specifically, keep the full face and chin visible. */
.team-member-photo img.fariborz-portrait{
  object-fit:contain!important;
  object-position:center center!important;
}

@media(max-width:760px){
  .team-member-photo img.team-portrait,
  .team-feature-photo img.team-portrait{
    height:auto!important;
    aspect-ratio:1/1!important;
  }
}
