/* ===== صفحه اصلی سایت (لندینگ پیش از ورود) =====
   همه‌چیز زیر .home-landing اسکوپ شده و متغیرها پیشوند --hl- دارند تا با
   کلاس‌های عمومی برنامه (.card، .btn، .row، .brand، .topbar، .stat و ...)
   و متغیرهای تم روشن/تیره تداخل نکند.
   اندازهٔ همهٔ متن‌ها نسبت به طرح مرجع ۳ پیکسل بزرگ‌تر است. */
.home-landing{
  --hl-void:#06070C;
  --hl-void-2:#0A0C16;
  --hl-panel:#0D1020;
  --hl-indigo:#26307A;
  --hl-indigo-2:#3B48B4;
  --hl-saffron:#E8A33C;
  --hl-saffron-soft:#F4C77E;
  --hl-madder:#B3462F;
  --hl-silk:#F2E8D6;
  --hl-text:#EDE7DB;
  --hl-muted:#9A9FB5;
  --hl-hair:rgba(242,232,214,.12);
  --hl-r:16px;
  --hl-max:1180px;

  position:relative;
  color:var(--hl-text);
  font-size:18px; line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  /* خنثی کردن پدینگ #page-container تا صفحه تمام‌عرض روی زمینهٔ سایت بنشیند */
  margin:-18px;
  background:var(--hl-void);
}
.home-landing, .home-landing *{box-sizing:border-box}

/* زمینهٔ لندینگ کل صفحه را می‌پوشاند تا هیچ درزی با زمینهٔ سایت نماند */
.home-landing::after{
  content:""; position:fixed; inset:0; z-index:-1; background:var(--hl-void); pointer-events:none;
}
/* بافت تار و پود */
.home-landing::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.45;
  background:repeating-linear-gradient(112deg, rgba(242,232,214,.022) 0 1px, transparent 1px 8px);
}
.home-landing img, .home-landing svg{display:block; max-width:100%}
.home-landing a{color:inherit; text-decoration:none}
.home-landing .wrap{max-width:var(--hl-max); margin:0 auto; padding:0 22px; position:relative; z-index:1}
.home-landing .eyebrow{
  display:inline-flex; align-items:center; gap:9px; font-size:14.5px; letter-spacing:1.2px;
  color:var(--hl-saffron);
}
.home-landing .eyebrow::before{content:""; width:26px; height:1px; background:repeating-linear-gradient(90deg,var(--hl-saffron) 0 4px, transparent 4px 8px)}
.home-landing h1, .home-landing h2, .home-landing h3, .home-landing h4{margin:0; letter-spacing:-.6px; color:var(--hl-text)}
.home-landing .thin{font-weight:200}
.home-landing .seam{display:flex; align-items:center; justify-content:center; height:74px}
.home-landing .seam i{width:1px; height:100%; background:repeating-linear-gradient(180deg, var(--hl-hair) 0 5px, transparent 5px 11px)}
.home-landing .seam b{width:7px; height:7px; background:var(--hl-saffron); transform:rotate(45deg); margin:0 -4px; opacity:.75}

/* ===== سربرگ ===== */
.home-landing .lp-header{
  position:sticky; top:0; z-index:60; border-bottom:1px solid transparent;
  transition:background .3s, border-color .3s, backdrop-filter .3s;
}
.home-landing .lp-header.stuck{background:rgba(6,7,12,.82); backdrop-filter:blur(14px); border-color:var(--hl-hair)}
.home-landing .nav{display:flex; align-items:center; gap:14px; padding:15px 0}
.home-landing .logo{display:flex; align-items:center; gap:11px}
.home-landing .logo svg{width:38px; height:38px; flex:none}
.home-landing .logo b{font-size:18.5px; font-weight:800; display:block; line-height:1.4}
.home-landing .logo .sub{font-size:13.5px; color:var(--hl-muted); letter-spacing:.5px; display:block}
.home-landing .nav .links{display:none; gap:26px; margin-inline-start:26px; font-size:16.5px; color:var(--hl-muted)}
.home-landing .nav .links a{transition:color .2s}
.home-landing .nav .links a:hover{color:var(--hl-saffron)}
.home-landing .nav .sp{flex:1}
@media(min-width:900px){.home-landing .nav .links{display:flex}}
.home-landing .hl-btn{
  font-family:inherit; font-size:16.5px; font-weight:700; cursor:pointer; border:0;
  padding:10px 20px; border-radius:11px; white-space:nowrap;
  background:var(--hl-saffron); color:#1A1206;
  box-shadow:0 14px 34px -18px rgba(232,163,60,.95);
  transition:transform .2s, background .2s, color .2s, border-color .2s;
}
.home-landing .hl-btn:hover{transform:translateY(-2px); background:var(--hl-saffron-soft)}
.home-landing .hl-btn.ghost{background:transparent; color:var(--hl-text); border:1px solid var(--hl-hair); box-shadow:none}
.home-landing .hl-btn.ghost:hover{border-color:var(--hl-saffron); color:var(--hl-saffron)}
.home-landing .hl-btn.lg{padding:14px 28px; font-size:18px; border-radius:13px}
.home-landing .hl-btn:focus-visible{outline:2px solid var(--hl-saffron); outline-offset:3px}

/* ===== قهرمان ===== */
.home-landing .hero{position:relative; padding:70px 0 40px; overflow:hidden}
.home-landing .bokeh{position:absolute; inset:0; z-index:0; pointer-events:none; filter:blur(38px); opacity:.55}
.home-landing .bokeh i{position:absolute; border-radius:50%; animation:hl-float 22s ease-in-out infinite}
@keyframes hl-float{0%,100%{transform:translate(0,0)}50%{transform:translate(-18px,-26px)}}
.home-landing .hero-grid{position:relative; z-index:2; display:grid; gap:34px; grid-template-columns:1fr}
@media(min-width:980px){.home-landing .hero-grid{grid-template-columns:1.05fr .95fr; align-items:center; gap:50px}}
.home-landing .hero h1{font-size:clamp(35px,5.6vw,61px); line-height:1.24; margin:20px 0 18px; font-weight:200}
.home-landing .hero h1 strong{font-weight:900; color:var(--hl-silk)}
.home-landing .hero h1 .sf{color:var(--hl-saffron); font-weight:900; position:relative; white-space:nowrap}
.home-landing .hero h1 .sf::after{
  content:""; position:absolute; right:0; left:0; bottom:-2px; height:6px; border-radius:3px;
  background:repeating-linear-gradient(90deg,var(--hl-saffron) 0 8px, transparent 8px 15px);
  animation:hl-stitch 1.3s .6s both cubic-bezier(.2,.8,.2,1);
}
@keyframes hl-stitch{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0 0 0 0)}}
.home-landing .hero p.lead{color:var(--hl-muted); font-size:19.5px; max-width:50ch; margin:0}
.home-landing .hero .actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px}
.home-landing .trust{display:flex; gap:18px; flex-wrap:wrap; margin-top:22px; font-size:15px; color:var(--hl-muted)}
.home-landing .trust span{display:flex; align-items:center; gap:7px}
.home-landing .trust svg{width:15px; height:15px; color:var(--hl-saffron)}

/* هنر تار ابریشم */
.home-landing .thread-art{position:relative; margin:0}
.home-landing .thread-art svg{width:100%; height:auto; overflow:visible}
.home-landing .fiber{animation:hl-sway 9s ease-in-out infinite}
.home-landing .fiber:nth-child(2){animation-duration:11s; animation-delay:-2s}
.home-landing .fiber:nth-child(3){animation-duration:13s; animation-delay:-5s}
.home-landing .fiber:nth-child(4){animation-duration:10s; animation-delay:-3s}
@keyframes hl-sway{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(.35deg)}}
.home-landing .weave-line{stroke-dasharray:900; stroke-dashoffset:900; animation:hl-draw 2.4s .4s forwards cubic-bezier(.2,.8,.2,1)}
@keyframes hl-draw{to{stroke-dashoffset:0}}
.home-landing .dot{animation:hl-twinkle 3.4s ease-in-out infinite}
@keyframes hl-twinkle{0%,100%{opacity:.25}50%{opacity:1}}
.home-landing .zone{animation:hl-breathe 5.5s ease-in-out infinite}
@keyframes hl-breathe{0%,100%{opacity:.5; transform:scale(1)}50%{opacity:.95; transform:scale(1.06)}}
.home-landing .art-cap{
  display:flex; gap:18px; justify-content:space-between; margin-top:6px;
  font-size:14px; color:var(--hl-muted); letter-spacing:.3px;
}
.home-landing .art-cap b{color:var(--hl-madder); font-weight:600}
.home-landing .art-cap i{font-style:normal; color:var(--hl-saffron)}

/* ===== نوار اعداد ===== */
.home-landing .stats{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--hl-hair); border:1px solid var(--hl-hair); border-radius:var(--hl-r); overflow:hidden}
@media(min-width:760px){.home-landing .stats{grid-template-columns:repeat(4,1fr)}}
.home-landing .stats div{background:var(--hl-void-2); padding:20px 18px; text-align:center}
.home-landing .stats b{display:block; font-size:29px; font-weight:800; color:var(--hl-silk); font-variant-numeric:tabular-nums; letter-spacing:-1px}
.home-landing .stats span{font-size:14.5px; color:var(--hl-muted)}

/* ===== بخش‌ها ===== */
.home-landing section{position:relative; z-index:1}
.home-landing .head{margin-bottom:26px}
.home-landing .head h2{font-size:clamp(27px,3.4vw,37px); font-weight:800; margin:12px 0 8px}
.home-landing .head p{color:var(--hl-muted); margin:0; max-width:58ch; font-size:17.5px}

/* ماژول‌ها */
.home-landing .mods{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
@media(min-width:720px){.home-landing .mods{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1020px){.home-landing .mods{grid-template-columns:repeat(4,1fr)}}
.home-landing .mod{
  border:1px solid var(--hl-hair); border-radius:var(--hl-r); padding:16px 15px 14px;
  background:linear-gradient(180deg, rgba(38,48,122,.16), rgba(13,16,32,.6));
  opacity:0; transform:translateY(18px); cursor:pointer; text-align:right;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), opacity .5s, border-color .25s, background .25s;
}
.home-landing .mod.in{opacity:1; transform:none}
.home-landing .mod:hover{border-color:rgba(232,163,60,.45); background:linear-gradient(180deg, rgba(232,163,60,.10), rgba(13,16,32,.7))}
.home-landing .mod:focus-visible{outline:2px solid var(--hl-saffron); outline-offset:3px}
/* آیکون تصویری (ست ۴۳تایی)؛ اگر فایل تصویر نبود، آیکون برداری جایگزین می‌شود */
.home-landing .mod .ico{width:56px; height:56px; color:#9FB0E8; display:flex; align-items:center; justify-content:center}
.home-landing .mod .ico img{
  width:56px; height:56px; object-fit:contain;
  /* آیکون‌های ست روی زمینهٔ تیره ساخته شده‌اند؛ این فیلتر لبه‌ها را با زمینهٔ صفحه یکدست می‌کند */
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.55));
  transition:transform .25s, filter .25s;
}
.home-landing .mod:hover .ico img{transform:translateY(-2px) scale(1.05); filter:drop-shadow(0 8px 18px rgba(232,163,60,.35))}
.home-landing .mod:hover .ico{color:var(--hl-saffron)}
.home-landing .mod h3{font-size:17px; font-weight:700; margin:12px 0 4px}
.home-landing .mod p{margin:0; font-size:14.5px; color:var(--hl-muted); line-height:1.7}
.home-landing .mod .ico svg{width:56px; height:56px; transition:transform .28s cubic-bezier(.2,.8,.2,1), filter .28s}
.home-landing .mod:hover .ico svg{transform:translateY(-3px) scale(1.06); filter:drop-shadow(0 10px 18px rgba(79,174,224,.35))}
.home-landing .hl-defs{position:absolute; width:0; height:0; overflow:hidden}

/* مسیر کار */
.home-landing .flow{display:grid; gap:12px; grid-template-columns:1fr}
@media(min-width:760px){.home-landing .flow{grid-template-columns:repeat(3,1fr)}}
.home-landing .step{border:1px solid var(--hl-hair); border-radius:var(--hl-r); padding:22px 20px; background:var(--hl-void-2); position:relative}
.home-landing .step .n{
  width:38px; height:38px; border-radius:10px; display:grid; place-items:center; font-weight:800; font-size:17px;
  color:var(--hl-saffron); border:1px dashed rgba(232,163,60,.5); font-variant-numeric:tabular-nums;
}
.home-landing .step h3{font-size:18.5px; font-weight:700; margin:14px 0 6px}
.home-landing .step p{margin:0; color:var(--hl-muted); font-size:16px}

/* ثبت‌نام */
.home-landing .join{
  border:1px solid var(--hl-hair); border-radius:22px; overflow:hidden;
  display:grid; grid-template-columns:1fr;
  background:linear-gradient(150deg, rgba(38,48,122,.28), rgba(13,16,32,.9) 60%);
}
@media(min-width:900px){.home-landing .join{grid-template-columns:.95fr 1.05fr}}
.home-landing .join .pitch{padding:34px 30px; border-bottom:1px solid var(--hl-hair)}
@media(min-width:900px){.home-landing .join .pitch{border-bottom:0; border-inline-start:1px solid var(--hl-hair)}}
.home-landing .join .pitch h2{font-size:29px; font-weight:800; margin:14px 0 10px}
.home-landing .join .pitch p{color:var(--hl-muted); margin:0 0 20px; font-size:17px}
.home-landing .checks{display:flex; flex-direction:column; gap:11px; font-size:16px}
.home-landing .checks span{display:flex; gap:10px; align-items:flex-start; color:var(--hl-text)}
.home-landing .checks svg{width:19px; height:19px; flex:none; margin-top:5px; color:var(--hl-saffron)}
.home-landing .join .gate{padding:34px 30px; display:flex; flex-direction:column; justify-content:center}
.home-landing .gate h3{font-size:22px; font-weight:800; margin:0 0 10px}
.home-landing .gate p{color:var(--hl-muted); font-size:16px; margin:0 0 22px}
.home-landing .gate .hl-btn{width:100%; margin-bottom:12px}
.home-landing .note{font-size:14px; color:var(--hl-muted); text-align:center; margin:10px 0 0}

/* پرسش‌ها */
.home-landing .faq{border-top:1px solid var(--hl-hair)}
.home-landing .faq details{border-bottom:1px solid var(--hl-hair)}
.home-landing .faq summary{
  cursor:pointer; list-style:none; padding:18px 0; font-size:18px; font-weight:600;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.home-landing .faq summary::-webkit-details-marker{display:none}
.home-landing .faq summary::after{content:"+"; color:var(--hl-saffron); font-size:23px; font-weight:400; transition:transform .25s}
.home-landing .faq details[open] summary::after{transform:rotate(45deg)}
.home-landing .faq p{margin:0 0 20px; color:var(--hl-muted); font-size:16.5px; max-width:70ch}

/* پایان */
.home-landing .final{
  text-align:center; border:1px solid var(--hl-hair); border-radius:22px; padding:48px 26px;
  background:radial-gradient(700px 260px at 50% 0%, rgba(232,163,60,.12), transparent 70%), var(--hl-void-2);
}
.home-landing .final h2{font-size:clamp(27px,3.6vw,39px); font-weight:200; margin-bottom:12px}
.home-landing .final h2 strong{font-weight:900; color:var(--hl-saffron)}
.home-landing .final p{color:var(--hl-muted); margin:0 auto 26px; max-width:46ch; font-size:17.5px}
.home-landing .lp-footer{border-top:1px solid var(--hl-hair); margin-top:60px; padding:26px 0 40px}
.home-landing .fgrid{display:flex; gap:18px; justify-content:space-between; flex-wrap:wrap; align-items:center; color:var(--hl-muted); font-size:15px}
.home-landing .fgrid a:hover{color:var(--hl-saffron)}
.home-landing .pad{padding:56px 0}
@media(min-width:900px){.home-landing .pad{padding:76px 0}}

@media (prefers-reduced-motion: reduce){
  .home-landing, .home-landing *, .home-landing *::before, .home-landing *::after{animation:none !important; transition:none !important}
  .home-landing .mod{opacity:1; transform:none}
  .home-landing .weave-line{stroke-dashoffset:0}
}
