/* =========================================================================
   سایت عمومی — پارک علم و فناوری دانشگاه علوم پایه زنجان
   رنگ‌ها و فونت همان چیزی است که در دیزاین صفحه‌های ورود آمده بود، تا سایت و
   پنل و صفحه‌ی ورود یک خانواده به نظر برسند.
   ========================================================================= */

:root{
  --page:#f7f4f0; --card:#fdfcfb; --border:#eeebe7; --line:#f1eeea;
  --accent:#9e1c28; --accent-hover:#7a1520; --badge:#f7dfe2; --accent-soft:#e88a96;
  --text:#1c1917; --text2:#5a5653; --text3:#8f8b87;
  --ok:#1b6e4f; --ok-bg:#e4f2ec; --warn:#9a6712; --warn-bg:#fbf0da;
  --ink:#2d0a0e;
  --wrap:1280px;
  --r-sm:9px; --r:12px; --r-lg:16px; --r-xl:22px;
  --sh-sm:0 1px 2px rgba(28,25,23,.08);
  --sh:0 4px 20px rgba(28,25,23,.06);
  --sh-lg:0 18px 50px -28px rgba(28,25,23,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}

body{
  font-family:"Vazirmatn",Tahoma,sans-serif;
  background:var(--page); color:var(--text);
  line-height:1.95; font-size:15px; overflow-x:hidden;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
svg{width:1em;height:1em;flex-shrink:0}
::selection{background:var(--badge)}

.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px}
.num{font-variant-numeric:tabular-nums}
.ltr{direction:ltr;unicode-bidi:isolate}

/* پرش به محتوا — فقط وقتی با کیبورد فوکوس بگیرد دیده می‌شود. */
.skip{
  position:absolute;inset-block-start:-60px;inset-inline-start:16px;z-index:80;
  background:var(--accent);color:#fff;padding:10px 18px;border-radius:0 0 var(--r) var(--r);
  font-size:13.5px;font-weight:600;transition:inset-block-start .15s;
}
.skip:focus{inset-block-start:0}

/* ------------------------------------------------------------- دکمه‌ها */

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;font-size:14.5px;font-weight:600;line-height:1;
  padding:13px 24px;border-radius:var(--r);border:1px solid transparent;
  background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;
  transition:background-color .16s,color .16s,border-color .16s;
}
.btn:hover{background:var(--accent-hover);color:#fff}
.btn-sm{padding:9px 17px;font-size:13px;border-radius:var(--r-sm)}
.btn-lg{padding:15px 30px;font-size:15.5px}

.btn-out{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn-out:hover{background:var(--badge);color:var(--accent-hover);border-color:var(--accent-hover)}

.btn-ghost{background:var(--card);color:var(--text);border-color:var(--border)}
.btn-ghost:hover{background:var(--badge);color:var(--accent);border-color:var(--accent-soft)}

.btn-light{background:#fff;color:var(--accent)}
.btn-light:hover{background:var(--badge);color:var(--accent-hover)}

.btn-clear{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-clear:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}

.btn[disabled]{opacity:.5;cursor:not-allowed}

/* --------------------------------------------------------------- سربرگ */

.nav{
  position:sticky;inset-block-start:0;z-index:60;
  background:var(--card);box-shadow:var(--sh-sm);
}
/* سربرگ دقیقاً هم‌عرضِ محتوای صفحه است تا نشان و منو با متن یک‌تراز بمانند. */
.nav-in{display:flex;align-items:center;gap:22px;min-height:68px}

.brand{display:flex;align-items:center;gap:11px;min-width:0;max-width:330px}
.brand img{width:38px;height:38px;object-fit:contain;flex-shrink:0}
.brand-t{font-size:14px;font-weight:600;line-height:1.5;min-width:0;color:var(--text)}
/*
 * نام سایت می‌تواند دو خط باشد («خط دوم نام» در تنظیمات). هر خط یک span
 * است تا دقیقاً همان‌جا بشکند که مدیر خواسته، نه هرجا که عرضِ سربرگ تمام
 * شد. با یک خط، همان حالتِ قبل است.
 */
.brand-l{display:block}
/* نام کامل روی نمایشگر کوچک باید بشکند، نه اینکه صفحه را پهن کند. */
@media (max-width:1000px){.brand-t{font-size:13px}}

.menu{display:flex;align-items:center;gap:0;flex:1;min-width:0;justify-content:flex-start}
.mi{position:relative}
.mi>a{
  display:inline-flex;align-items:center;gap:5px;
  padding:9px 11px;border-radius:var(--r-sm);
  font-size:14px;font-weight:600;color:var(--text);
  transition:background-color .15s,color .15s;white-space:nowrap;
}
.mi>a:hover,.mi>a.on{background:var(--badge);color:var(--accent)}
.mi>a svg{width:13px;height:13px;opacity:.6}

.sub{
  position:absolute;inset-block-start:calc(100% + 6px);inset-inline-start:0;
  min-width:200px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);box-shadow:var(--sh-lg);padding:6px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .16s,transform .16s,visibility .16s;
}
.mi.has-sub:hover .sub,.mi.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:9px 12px;border-radius:var(--r-sm);font-size:13.5px;color:var(--text2)}
.sub a:hover{background:var(--badge);color:var(--accent)}

.nav-act{display:flex;align-items:center;gap:10px;margin-inline-start:auto;flex-shrink:0}

/* آیکن گردِ کاربر — همان چیزی که در دیزاین جای دکمه‌ی «ورود» نشسته. */
.uic{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:999px;flex-shrink:0;
  background:var(--page);color:var(--text);border:1px solid var(--border);
  transition:background-color .15s,color .15s,border-color .15s;
}
.uic svg{width:18px;height:18px}
.uic:hover{background:var(--badge);color:var(--accent);border-color:#e88a96}
.nav-cta{height:40px;padding-inline:22px;font-size:14px}

.navopen{display:none}
.burger{
  display:none;cursor:pointer;color:var(--text);
  width:40px;height:40px;border:1px solid #c8c4bf;border-radius:var(--r-sm);
}
.burger svg{width:20px;height:20px}
.burger:hover{background:var(--page);color:var(--accent)}

/* --------------------------------------------------------------- هیرو */

/* وقتی ویدیو و تصویری در کار نباشد، همین پس‌زمینه دیده می‌شود. عمداً یک
   طرحِ ساخته‌شده است نه یک مستطیل تیره، تا نبودِ ویدیو شبیه «چیزی لود نشد»
   به نظر نرسد. */
.hero{
  position:relative;display:flex;align-items:center;overflow:hidden;
  min-height:clamp(420px,66vh,600px);
  background:
    radial-gradient(1100px 520px at 88% -10%,rgba(158,28,40,.42) 0,transparent 62%),
    radial-gradient(760px 420px at 6% 108%,rgba(158,28,40,.22) 0,transparent 60%),
    linear-gradient(155deg,#3a0d12 0%,#240809 55%,#1a0608 100%);
  /* رنگ متن و پرده از همین دو متغیر می‌آید و با تمِ هر اسلاید عوض می‌شود. */
  --hero-fg:#fff;
  --hero-fg-soft:rgba(255,255,255,.86);
  transition:background-color .8s ease;
}
/* شبکه‌ی بسیار کم‌رنگ، فقط برای اینکه سطح یکدست و بی‌روح نباشد. */
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 78%);
}
/*
 * فیلمِ اسکرولی: خودِ سکشن یک نوارِ بلند است (چند برابر ارتفاع پنجره) و
 * صحنه داخلش می‌چسبد. هر پیکسلی که کاربر در این نوار پایین می‌رود، یک قدم
 * فیلم جلو می‌رود. طولِ نوار یعنی «فیلم در چند صفحه اسکرول تمام شود».
 */
.hero.has-media{min-height:0;display:block;overflow:visible}
.hero.has-media::before{display:none}
.hero-track{position:relative}
.hero.has-media .hero-track{height:var(--hero-track,320vh)}
.hero-stage{
  position:sticky;inset-block-start:0;height:100vh;height:100svh;
  display:flex;align-items:center;overflow:hidden;
}
/* حالتِ ساده: بدون فیلم، یا وقتی نباید چیزی پخش شود. یک صفحه، بدون چسب. */
.hero.hero-flat .hero-track,
.hero.hero-flat.has-media .hero-track{height:auto}
.hero.hero-flat .hero-stage{position:relative;height:auto;min-height:clamp(520px,78vh,720px)}

/* تمِ روشن: وقتی ویدیو به صحنه‌ی کرم‌رنگ می‌رسد، متن باید تیره شود. */
.hero.t-light{--hero-fg:#1c1917;--hero-fg-soft:#5a5653}

.hero-bg{position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(1100px 520px at 88% -10%,rgba(158,28,40,.42) 0,transparent 62%),
    linear-gradient(155deg,#3a0d12 0%,#240809 55%,#1a0608 100%);
}
.hero-bg img,.hero-bg canvas{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}

/* تا اولین فریمِ فیلم بیاید، پس‌زمینه‌ی طراحی‌شده دیده می‌شود؛ نه مستطیل
   سیاه، نه پرشِ یک‌لحظه‌ای تصویر. */
.hero-bg canvas{opacity:0;transition:opacity .45s ease}
.hero.film-on .hero-bg canvas{opacity:1}
.hero-still{opacity:0;transition:opacity .45s ease}
.hero.still-on .hero-still{opacity:1}

/* پرده‌ی روی ویدیو. روی صحنه‌ی تیره، تیره‌ترش می‌کند تا متن سفید بنشیند؛
   روی صحنه‌ی روشن، یک پرده‌ی شیریِ ملایم تا متن تیره خوانا بماند. بدون این،
   درست وسط گذارِ تاریک‌به‌روشن، متن روی زمینه‌ی هم‌رنگِ خودش گم می‌شد. */
.hero-bg::after{
  content:"";position:absolute;inset:0;z-index:2;transition:background .8s ease;
  background:linear-gradient(105deg,rgba(26,6,8,.72) 0%,rgba(26,6,8,.46) 48%,rgba(26,6,8,.18) 100%);
}
.hero.t-light .hero-bg::after{
  background:linear-gradient(105deg,rgba(250,247,243,.66) 0%,rgba(250,247,243,.34) 48%,rgba(250,247,243,.08) 100%);
}

.hero-in{position:relative;z-index:2;width:100%;padding-block:70px;color:var(--hero-fg)}

/*
 * در حالت فیلم، متن وسطِ قاب می‌نشیند و دکمه‌ها تا پایانِ فیلم نمی‌آیند —
 * همان چیدمانی که در نمونه‌ی ویدیویی سفارش‌دهنده بود. سکشن باید مثل یک
 * تیتراژ خوانده شود، نه مثل یک بنر پر از دکمه.
 */
/*
 * متن پایینِ قاب می‌نشیند، نه وسطش: عنصر اصلی هر فریم (درخت، ساختمان)
 * دقیقاً وسط کادر است و متنِ وسط‌چین رویش می‌افتاد.
 */
.hero.has-media .hero-stage{align-items:flex-end}
.hero.has-media .hero-in{text-align:center;padding-block:0 clamp(64px,13vh,132px)}
.hero.has-media .hero-slides{max-width:860px;margin-inline:auto}
.hero.has-media .hslide p{margin-inline:auto}
.hero.has-media .hero-cta{
  justify-content:center;margin-top:34px;
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .55s ease,transform .55s ease;
}
.hero.has-media.at-end .hero-cta{opacity:1;transform:none;pointer-events:auto}
/* نقطه‌ها در حالت فیلم معنی ندارند؛ خودِ اسکرول جای آن‌هاست. */
.hero.has-media .hero-dots{display:none}
.hero.hero-flat .hero-cta{opacity:1;transform:none;pointer-events:auto}
.hero.hero-flat .hero-dots{display:flex}

/* نوارِ پیشرفتِ فیلم — نازک، چسبیده به پایینِ صحنه. */
.hero-prog{
  position:absolute;z-index:3;inset-block-end:0;inset-inline:0;height:2px;
  background:rgba(255,255,255,.13);opacity:0;transition:opacity .3s;
}
.hero.film-on .hero-prog{opacity:1}
.hero-prog i{display:block;height:100%;width:0;background:var(--accent);opacity:.85}
.hero.t-light .hero-prog{background:rgba(28,25,23,.12)}

/* راهنمای اسکرول — تا اولین حرکتِ کاربر. */
.hero-hint{
  position:absolute;z-index:3;inset-block-end:30px;inset-inline-start:50%;
  transform:translateX(50%);display:flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:600;color:var(--hero-fg-soft);
  opacity:1;transition:opacity .4s ease;pointer-events:none;
}
.hero-hint svg{width:17px;height:17px;animation:hnudge 1.8s ease-in-out infinite}
.hero.moved .hero-hint{opacity:0}
@keyframes hnudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.hero-slides{max-width:730px;min-height:190px;position:relative}

.hslide{
  position:absolute;inset-block-start:0;inset-inline-start:0;width:100%;
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .55s ease,transform .55s ease,visibility .55s;
}
.hslide.on{opacity:1;visibility:visible;transform:none;position:relative}
.hslide h1{
  font-size:clamp(27px,4.4vw,44px);font-weight:800;line-height:1.55;
  margin:0 0 14px;color:var(--hero-fg);letter-spacing:-.01em;
  transition:color .5s ease;
}
.hslide p{
  font-size:clamp(14.5px,1.7vw,17px);line-height:2.1;margin:0;
  color:var(--hero-fg-soft);max-width:620px;transition:color .5s ease;
}

.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
/* دکمه‌ی دوم باید روی هر دو زمینه دیده شود، پس رنگش با تم عوض می‌شود. */
.btn-hero-2{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-hero-2:hover{background:rgba(255,255,255,.14);color:#fff;border-color:#fff}
.hero.t-light .btn-hero-2{background:var(--card);color:var(--accent);border-color:var(--accent)}
.hero.t-light .btn-hero-2:hover{background:var(--badge);color:var(--accent-hover)}

.hero-dots{display:flex;gap:8px;margin-top:34px}
.hero-dots button{
  width:26px;height:4px;border:none;border-radius:99px;padding:0;cursor:pointer;
  background:rgba(255,255,255,.32);transition:background-color .2s,width .2s;
}
.hero-dots button.on{background:#fff;width:44px}
.hero.t-light .hero-dots button{background:rgba(28,25,23,.22)}
.hero.t-light .hero-dots button.on{background:var(--accent)}

/* دکمه‌ی رد کردن — فقط تا وقتی ویدیو در حال پخش است دیده می‌شود. */
.hero-skip{
  position:absolute;z-index:2;inset-block-end:20px;inset-inline-end:24px;
  font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;
  padding:8px 16px;border-radius:99px;
  background:rgba(28,25,23,.34);color:#fff;border:1px solid rgba(255,255,255,.34);
  backdrop-filter:blur(4px);transition:background-color .16s,opacity .3s;
}
.hero-skip:hover{background:rgba(28,25,23,.55)}
.hero.t-light .hero-skip{
  background:rgba(253,252,251,.72);color:var(--text2);border-color:var(--border);
}
.hero.t-light .hero-skip:hover{background:#fff;color:var(--accent)}

/* سربرگِ شناور روی هیرو: تا وقتی بالای صفحه‌ایم شیشه‌ای است و روی ویدیو
   می‌نشیند؛ با اسکرول، سفید و معمولی می‌شود. */
body.has-hero .nav{background:transparent;box-shadow:none;
  transition:background-color .3s,box-shadow .3s,opacity .45s ease,transform .45s ease}

/*
 * تا فیلم در جریان است، سربرگ به کوچک‌ترین شکلش درمی‌آید: نشان پارک و یک
 * دکمه‌ی منو. صحنه تمام‌قد دیده می‌شود و در عین حال راه به بقیه‌ی سایت
 * بسته نمی‌ماند. در پایانِ فیلم — همان‌جا که دکمه‌ها می‌آیند — سربرگ کامل
 * برمی‌گردد.
 */
body.film-running .nav .brand-t,
body.film-running .nav .nav-act > .btn,
body.film-running .nav .uic{display:none}
.brand-mini{display:none;font-size:14px;font-weight:700;white-space:nowrap;line-height:1.5}
/* روی فیلم جا تنگ است؛ نام دوخطی همان‌جا هم دو خط می‌ماند ولی جمع‌وجورتر. */
.brand-mini .brand-l{white-space:nowrap}
body.film-running .brand-mini{display:block}
body.film-running .nav .menu{display:none}
body.film-running .nav .burger{display:grid;place-items:center}
body.film-running .nav-in{gap:12px;min-height:72px}
/* روی فیلم، نشان سفید و کمی بزرگ‌تر است — همان نسبت‌های artboard. */
body.film-running .brand img{width:44px;height:44px;filter:grayscale(1) brightness(3)}
body.film-running .brand-mini{font-size:15px;font-weight:600}
@media (max-width:1000px){
  body.film-running .brand img{width:34px;height:34px}
  body.film-running .brand-mini{font-size:13px;white-space:normal}
}

/*
 * منوی همبرگریِ روی فیلم — در دیزاین یک کارتِ سفیدِ کوچک زیر خودِ دکمه است،
 * نه کشوی تمام‌قد؛ چون صحنه نباید پشتش گم شود.
 */
body.film-running .navopen:checked ~ .menu{
  display:flex;position:absolute;inset-block-start:100%;inset-inline-end:24px;
  inset-block-end:auto;inset-inline-start:auto;
  width:auto;min-width:220px;max-height:min(70vh,560px);overflow-y:auto;
  flex-direction:column;align-items:stretch;gap:0;margin-block-start:8px;
  background:var(--card);border-radius:var(--r);padding:12px;
  box-shadow:0 8px 24px rgba(28,25,23,.18);transform:none;z-index:59;
}
@media (max-width:640px){
  body.film-running .navopen:checked ~ .menu{
    inset-inline:16px;min-width:0;
  }
}
body.film-running .navopen:checked ~ .menu .mi>a{
  padding:10px 14px;font-size:14px;font-weight:600;border-radius:var(--r-sm);
  justify-content:space-between;color:var(--text);
}
body.film-running .navopen:checked ~ .menu .mi>a:hover,
body.film-running .navopen:checked ~ .menu .mi>a.on{background:var(--badge);color:var(--accent)}
body.film-running .navopen:checked ~ .menu .mi>a svg{transform:none}
body.film-running .navopen:checked ~ .menu .sub{
  position:static;opacity:1;visibility:visible;transform:none;
  box-shadow:none;border:none;border-radius:0;margin:0;padding:0;min-width:0;
}
body.film-running .navopen:checked ~ .menu .sub a{
  padding:8px 28px 8px 14px;font-size:13px;font-weight:600;color:var(--text);
}
body.film-running .navopen:checked ~ .menu .sub a::before{content:'‹ '}
body.film-running .navopen:checked ~ .menu .sub a:hover{background:var(--badge);color:var(--accent)}
body.film-running .navopen:checked ~ .menu .menu-cta{display:flex;justify-content:center;margin-top:8px}

/* خودِ دکمه‌ی منو روی فیلم: قاب روشنِ نازک، مثل artboard. */
body.film-running .nav .burger{
  width:44px;height:44px;border-color:rgba(255,255,255,.35);color:#fff;
}
body.film-running .nav .burger:hover{background:rgba(255,255,255,.1);color:#fff}

body.has-hero .nav .brand-t,
body.has-hero .nav .brand-mini,
body.has-hero .nav .mi>a{color:rgba(255,255,255,.92)}
body.has-hero .nav .mi>a:hover,body.has-hero .nav .mi>a.on{background:rgba(255,255,255,.16);color:#fff}
body.has-hero .nav .burger{color:rgba(255,255,255,.9)}
body.has-hero .nav .btn{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4)}
body.has-hero .nav .btn:hover{background:#fff;color:var(--accent)}

/*
 * وقتی هیرو روشن شده ولی هنوز اسکرول نکرده‌ایم، متنِ سفیدِ سربرگ ناخواناست.
 * نکته: نام سایت حالا از spanهای .brand-l ساخته می‌شود، نه <b> و <i>؛ رنگ
 * را روی خودِ .brand-t می‌گذاریم تا هر دو خط آن را بگیرند.
 */
body.has-hero.hero-light .nav .brand-t,
body.has-hero.hero-light .nav .brand-mini,
body.has-hero.hero-light .nav .mi>a{color:var(--text2)}
body.has-hero.hero-light .nav .mi>a:hover,
body.has-hero.hero-light .nav .mi>a.on{background:var(--badge);color:var(--accent)}
body.has-hero.hero-light .nav .burger{color:var(--text2)}
body.has-hero.hero-light .nav .btn{background:var(--accent);border-color:transparent;color:#fff}

body.has-hero.scrolled .nav{background:var(--card);box-shadow:var(--sh-sm)}
/* سربرگِ سفیدِ پس از اسکرول: نام سایت باید تیره شود، هر دو خطش. */
body.has-hero.scrolled .nav .brand-t,
body.has-hero.scrolled .nav .brand-mini{color:var(--text)}
body.has-hero.scrolled .nav .mi>a{color:var(--text2)}
body.has-hero.scrolled .nav .mi>a:hover,
body.has-hero.scrolled .nav .mi>a.on{background:var(--badge);color:var(--accent)}
body.has-hero.scrolled .nav .burger{color:var(--text2)}
body.has-hero.scrolled .nav .btn{background:var(--accent);border-color:transparent;color:#fff}

/* =====================================================================
   بخش‌های صفحه‌ی اصلی — دقیقاً بر اساس آرت‌بورد Homepage.dc.html
   (فاصله‌ها، رنگ‌ها و ترتیب همان چیزی است که در دیزاین آمده)
   ===================================================================== */

.sec{padding-block:80px}
.sec-cream{background:var(--page)}
.sec-card{background:var(--card)}

/* عنوانِ بخش — وسط‌چین، با برچسبِ بالای آن. */
.sec-head{text-align:center;margin-bottom:48px}
.sec-head h2{font-size:clamp(24px,3vw,32px);font-weight:700;margin:0;line-height:1.55;color:var(--text)}
.sec-head p{margin:16px auto 0;font-size:16px;line-height:1.9;color:var(--text2);max-width:70ch}
.sec-head.light h2{color:#fff}
.sec-head.light p{color:#d8b7bb}

/* عنوانِ بخش با دکمه در کنارش. */
.sec-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.sec-bar h2{font-size:clamp(22px,2.6vw,28px);font-weight:700;margin:0;color:var(--text)}

.pill{
  display:inline-block;font-size:12px;font-weight:600;letter-spacing:.05em;
  border-radius:99px;padding:5px 14px;margin-bottom:16px;
  color:var(--accent);background:var(--badge);
}
.pill.out{background:transparent;border:1px solid var(--accent)}
.pill.soft{font-size:13px;padding:7px 18px;margin-bottom:20px}
.pill.dark{background:rgba(255,255,255,.14);color:var(--badge);padding:6px 14px;font-size:12px}
.sec-head.light .pill{background:rgba(255,255,255,.09);color:var(--badge);font-size:13px;padding:7px 18px;margin-bottom:24px}

.mid{text-align:center;margin-top:40px}

/* واترمارکِ نشانِ پارک روی بخش‌های تیره. */
.wm{
  position:absolute;pointer-events:none;filter:grayscale(1) brightness(2.6);opacity:.06;
  transform-origin:50% 50%;will-change:transform;
}
.wm-a{inset-block-start:-140px;inset-inline-start:-160px;width:560px}
.wm-b{inset-block-end:-180px;inset-inline-end:-140px;width:480px;opacity:.05}
.wm-c{inset-block-start:-120px;inset-inline-end:-100px;width:420px}

/* --------------------------------------------------------------- آمار */

.stats{
  position:relative;overflow:hidden;padding-block:96px 132px;
  background:radial-gradient(120% 100% at 50% 0%,#3a0c12 0%,#2d0a0e 45%,#1f070a 100%);
}
.stats .wrap{position:relative}
/* لبه‌ی مورب پایینِ بخش — همان چیزی که در دیزاین، تیره را به کرم می‌دوزد. */
.stats::after{
  content:"";position:absolute;inset-block-end:-46px;inset-inline:-4%;height:96px;
  background:var(--page);transform:rotate(-1.1deg);
}
.stat-card{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);
  /* برای حسِ عمقِ کارت‌ها هنگام هاور؛ بدون این، translateZ هیچ اثری ندارد. */
  perspective:1100px;
}
.stat{
  position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;
  padding:40px 20px;border-inline-end:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);
  transform-style:preserve-3d;
  transition:transform .4s cubic-bezier(.22,.9,.28,1), background-color .4s ease, box-shadow .4s ease;
}
.stat:last-child{border-inline-end:none}
.stat .ic,.stat .v,.stat .l{transition:transform .4s cubic-bezier(.22,.9,.28,1), color .4s ease}

/* کمی جلو می‌آید و بالا می‌رود — همان تکانِ ملایمِ درخواستی، در عمق.
   فقط روی دستگاه‌هایی که واقعاً ماوس دارند؛ روی موبایل، هاورِ چسبنده
   بعد از لمس آزاردهنده است. */
@media (hover:hover) and (pointer:fine){
  .stat:hover{
    transform:translate3d(0,-6px,38px);
    background:rgba(255,255,255,.06);
    box-shadow:0 26px 54px rgba(0,0,0,.42);
  }
  .stat:hover .ic{transform:translateZ(22px) scale(1.12)}
  .stat:hover .v{transform:translateZ(14px)}
  .stat:hover .l{color:#fff}
}
.stat .ic{color:var(--accent-soft);display:grid;place-items:center}
.stat .ic svg{width:26px;height:26px;stroke-width:1.6}
.stat .v{
  font-size:clamp(30px,3.4vw,42px);font-weight:700;color:#fff;line-height:1;
  display:flex;align-items:baseline;gap:2px;
}
.stat .v span{font-size:.55em;color:var(--accent-soft)}
.stat .u{font-size:13px;color:#b98f94}
.stat .l{font-size:15px;font-weight:600;color:var(--badge);line-height:1.6}

/* --------------------------------------------------------- اطلاعیه‌ها */

.arrows{display:flex;gap:10px}
.arrows button{
  width:40px;height:40px;display:grid;place-items:center;cursor:pointer;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-sm);
  color:var(--text);transition:background-color .16s,border-color .16s;
}
.arrows button:hover{background:var(--badge);border-color:var(--accent-soft)}
.arrows svg{width:18px;height:18px}

.ann-win{position:relative;overflow:hidden;border-radius:var(--r-lg)}
.ann-track{display:flex;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.ann{
  flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--sh-sm);min-height:280px;
}
.ann-t{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}
.ann-t h3{font-size:22px;font-weight:700;margin:0 0 16px;line-height:1.7}
.ann-t p{font-size:14px;line-height:1.9;color:var(--text2);margin:0 0 24px}
.ann-t .btn{align-self:flex-start}
.ann-im{
  position:relative;overflow:hidden;display:grid;place-items:center;
  background:linear-gradient(150deg,#8c1a24,#4a0e14 60%,#1a0608);
}
.ann-im img{width:100%;height:100%;object-fit:cover}
.ann-im img.mark{width:36%;height:auto;opacity:.16;filter:grayscale(1) brightness(2.6)}
.ann-dots{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px}
.ann-dots button{
  width:24px;height:8px;border:none;border-radius:99px;padding:0;cursor:pointer;
  background:var(--border);transition:width .2s,background-color .2s;
}
.ann-dots button.on{width:36px;background:var(--accent)}

/* ---------------------------------------------------- شرکت‌های برتر */

.co-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:center}
.co{
  flex-shrink:0;width:190px;height:100px;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--sh-sm);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  transition:border-color .16s,box-shadow .16s;
}
a.co:hover{border-color:var(--accent-soft);box-shadow:var(--sh)}
.co .mk{
  width:40px;height:40px;border-radius:var(--r-sm);background:var(--badge);
  color:var(--accent);display:grid;place-items:center;font-weight:700;font-size:16px;overflow:hidden;
}
.co .mk img{width:100%;height:100%;object-fit:contain}
.co .nm{font-size:13px;color:var(--text2);text-align:center;padding-inline:8px;line-height:1.6}

/* --------------------------------------------------- بنر جذب و پذیرش */

.band{
  position:relative;overflow:hidden;padding-block:80px;
  background:linear-gradient(135deg,#5c1119,#1a0608);
}
.band-in{position:relative;max-width:900px;text-align:center}
.band h2{font-size:clamp(26px,3.4vw,36px);font-weight:700;color:#fff;margin:0 0 16px;line-height:1.55}
.band p{font-size:17px;line-height:1.8;color:#f0d9db;margin:0 auto 36px;max-width:56ch}
.band .row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}
.btn-white{background:#fff;color:#5c1119;border-color:#fff}
.btn-white:hover{background:var(--badge);color:var(--accent-hover);border-color:var(--badge)}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-line:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}

/* --------------------------------------------------------- خدمات پارک */

.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* با یکی دو کارت، شبکه‌ی چهارستونی گوشه‌ی صفحه می‌ماند؛ وسط‌چینش می‌کنیم. */
.svc-grid.few,.ev-grid.few{grid-template-columns:repeat(auto-fit,minmax(240px,300px));justify-content:center}
.svc{
  display:flex;flex-direction:column;gap:16px;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r);padding:28px 24px 24px;
  box-shadow:var(--sh-sm);transition:border-color .18s,box-shadow .18s,transform .18s;
}
a.svc:hover{border-color:var(--accent-soft);box-shadow:var(--sh);transform:translateY(-3px)}
.svc-top{display:flex;align-items:center;justify-content:space-between}
.svc-ic{width:48px;height:48px;background:var(--badge);border-radius:var(--r-sm);
  color:var(--accent);display:grid;place-items:center}
.svc-ic svg{width:23px;height:23px}
.svc-n{font-size:30px;font-weight:700;color:#e6e2dd;line-height:1}
.svc h3{font-size:18px;font-weight:600;margin:0;line-height:1.5}
.svc p{margin:0;font-size:14px;line-height:1.8;color:var(--text2)}
.svc .go{
  display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;
  color:var(--accent);margin-top:auto;
}
.svc .go svg{width:15px;height:15px;transition:transform .16s}
a.svc:hover .go svg{transform:translateX(-3px)}

/* ------------------------------------------------------ رویدادهای پارک */

.grp{font-size:18px;font-weight:600;margin:48px 0 20px;color:var(--text)}
.sec .grp:first-of-type{margin-top:0}

.ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:56px}
.ev{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm);
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.ev:hover{border-color:var(--accent-soft);box-shadow:var(--sh);transform:translateY(-3px)}
.ev-im{
  position:relative;aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(135deg,#7a1520,#1a0608);
}
.ev-im img{width:100%;height:100%;object-fit:cover}
.ev-im img.mark{width:56%;height:auto;opacity:.14;filter:grayscale(1) brightness(2.6)}
.ev-tag{
  position:absolute;inset-block-start:12px;inset-inline-start:12px;background:var(--accent);
  color:#fff;font-size:12px;font-weight:600;border-radius:4px;padding:4px 12px;
}
/*
 * رویدادِ برگزارشده هم در فهرست می‌آید (تازه‌ترین‌ها نشان داده می‌شوند، نه
 * فقط پیشِ رو‌ها)، پس باید از رویدادِ باز قابل تشخیص باشد.
 */
.ev-done{
  position:absolute;inset-block-start:12px;inset-inline-end:12px;
  background:rgba(28,9,11,.62);color:#fff;font-size:11px;font-weight:600;
  border-radius:4px;padding:4px 10px;
}
.ev-b{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.ev-b h4{font-size:17px;font-weight:600;margin:0;line-height:1.6}
.ev-m{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text3);margin-top:auto;flex-wrap:wrap}
.ev-m .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}

.ev-rows{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.evr{
  display:flex;background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--sh-sm);transition:border-color .18s,box-shadow .18s;
}
.evr:hover{border-color:var(--accent-soft);box-shadow:var(--sh)}
.evr-im{
  width:112px;flex-shrink:0;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(135deg,#c8c4bf,#eeebe7);
}
.evr-im img{width:100%;height:100%;object-fit:cover}
.evr-im img.mark{width:60%;height:auto;opacity:.3}
.evr-b{padding:16px 20px;display:flex;flex-direction:column;gap:8px;justify-content:center}
.evr-b h4{font-size:16px;font-weight:600;margin:0;line-height:1.6}

/* ------------------------------------------------------- باکس اشتراک */

.sub-card{
  margin-top:56px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:32px;display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:28px;box-shadow:var(--sh-sm);
}
.sub-ic{
  width:56px;height:56px;flex-shrink:0;background:var(--badge);border-radius:var(--r);
  color:var(--accent);display:grid;place-items:center;
}
.sub-ic svg{width:26px;height:26px}
.sub-t h3{font-size:19px;font-weight:600;margin:0 0 6px}
.sub-t p{font-size:14px;line-height:1.8;color:var(--text2);margin:0}
.sub-form{display:flex;gap:12px;flex-wrap:wrap}
.sub-form input{
  width:200px;min-width:180px;height:48px;padding-inline:16px;font-family:inherit;font-size:15px;
  color:var(--text);background:var(--card);border:1.5px solid #c8c4bf;border-radius:var(--r-sm);
  text-align:start;
}
.sub-form input:focus{outline:none;border-color:var(--accent)}
.sub-form .btn{height:48px}
.sub-msg{margin-top:8px;font-size:12.5px;color:var(--text2)}
.sub-msg.err{color:#8f2a1e}
.sub-msg.ok{color:var(--ok)}

/* -------------------------------------------------------- درباره پارک */

.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1100px}
.about-im{
  background:var(--border);border-radius:var(--r);overflow:hidden;
  aspect-ratio:4/3;display:grid;place-items:center;
}
.about-im img{width:100%;height:100%;object-fit:cover}
.about-im img.mark{width:38%;height:auto;opacity:.35}
.about-t h2{font-size:clamp(22px,2.8vw,30px);font-weight:700;margin:0 0 16px;line-height:1.6}
.about-t p{font-size:16px;line-height:1.8;color:var(--text2);margin:0 0 28px}

/* --------------------------------------------------------------- اخبار */

.news-grid{display:grid;grid-template-columns:5fr 7fr;gap:24px}
.news-list{display:grid;grid-template-rows:repeat(3,1fr);gap:20px}
.nw{
  display:flex;background:#fff;border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--sh-sm);transition:border-color .18s,box-shadow .18s;
}
.nw:hover{border-color:var(--accent-soft);box-shadow:var(--sh)}
.nw-t{flex:1;padding:20px 22px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.nw-t h4{font-size:16px;font-weight:600;margin:0;line-height:1.7}
.nw-d{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--accent)}
.nw-d svg{width:14px;height:14px}
.nw-d.light{color:var(--badge)}
.nw-im{
  width:104px;flex-shrink:0;display:grid;place-items:center;overflow:hidden;
  background:linear-gradient(135deg,#c8c4bf,#eeebe7);
}
.nw-im img{width:100%;height:100%;object-fit:cover}
.nw-im img.mark{width:58%;height:auto;opacity:.32}

.nw-feat{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:480px;border-radius:var(--r-lg);overflow:hidden;padding:40px;
  background:linear-gradient(160deg,#8c1a24 0%,#4a0e14 55%,#1a0608 100%);
  box-shadow:var(--sh-lg);
}
.nw-feat .bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;
}
.nw-feat img.mark{
  position:absolute;inset-block-start:-60px;inset-inline-end:-70px;width:340px;height:auto;
  opacity:.09;filter:grayscale(1) brightness(2.6);
}
.nw-feat .pill,
.nw-feat h3,
.nw-feat p,
.nw-feat .nw-d{position:relative}
.nw-feat .pill{align-self:flex-start;margin-bottom:20px}
.nw-feat h3{font-size:clamp(22px,2.6vw,30px);font-weight:700;color:#fff;margin:0 0 16px;line-height:1.6}
.nw-feat p{font-size:15px;line-height:1.9;color:#e3c2c6;margin:0 0 20px;max-width:52ch}

/* --------------------------------------------------- خبرنامه (اصلی) */

.nl-box{
  margin-top:32px;background:#fdfcfb;border:1px solid #eeebe7;border-radius:16px;
  padding:36px 40px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.nl-info{max-width:420px}
.nl-info h3{font-size:17px;font-weight:700;color:#1c1917;margin:0 0 8px}
.nl-info p{font-size:13.5px;color:#5a5653;line-height:1.9;margin:0}

.nl-form{display:flex;gap:10px;flex-wrap:wrap;flex:1;max-width:420px;position:relative}
.nl-form input{
  flex:1;min-width:220px;height:46px;border:1px solid #e2ded8;border-radius:9px;padding:0 16px;
  font-family:inherit;font-size:13.5px;color:#1c1917;background:#fff;text-align:left;
}
.nl-form button{
  flex-shrink:0;height:46px;padding-inline:24px;border:none;border-radius:9px;background:var(--accent);
  color:#fff;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:background-color .15s;
}
.nl-form button:hover{background-color:var(--accent-hover)}
.nl-form button:disabled{opacity:.6;cursor:default}
.nl-err{flex-basis:100%;margin:2px 0 0;font-size:12.5px;color:#b3261e}

.nl-done{
  display:flex;align-items:center;gap:10px;background:#e5f0e7;border-radius:10px;padding:14px 20px;
}
.nl-done svg{color:#3a7a4a;flex-shrink:0}
.nl-done span{font-size:13.5px;color:#3a7a4a;font-weight:600}

@media (max-width:640px){
  .nl-box{padding:26px 22px}
  .nl-form{max-width:100%}
}

/* -------------------------------------------------------- ریسپانسیو */

@media (max-width:1000px){
  .sec{padding-block:64px}
  .stats{padding-block:72px 110px}
  .stat-card{grid-template-columns:repeat(2,1fr)}
  .stat{padding:28px 16px;border-block-end:1px solid rgba(255,255,255,.1)}
  .stat:nth-child(2n){border-inline-end:none}
  .svc-grid,.ev-grid{grid-template-columns:repeat(2,1fr)}
  .ev-rows{grid-template-columns:1fr}
  .sub-card{grid-template-columns:1fr;text-align:start}
  .about{grid-template-columns:1fr;gap:32px}
  .news-grid{grid-template-columns:1fr}
  .news-list{grid-template-rows:auto}
  .nw-feat{min-height:340px;padding:28px;order:-1}
  .ann{grid-template-columns:1fr}
  .ann-im{min-height:170px}
  .ann-t{padding:28px 24px}
}

@media (max-width:640px){
  .sec{padding-block:48px}
  /* نام کامل روی صفحه‌ی کوچک جا نمی‌شود؛ همان نام کوتاه می‌ماند. */
  body.film-running .brand-mini{font-size:12.5px;white-space:normal;max-width:62vw;line-height:1.5}

  /* رویدادهای ویژه روی موبایل نوارِ افقیِ اسنپ‌شونده می‌شوند — مثل دیزاین. */
  .ev-grid{
    display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:-18px;padding-inline:18px;gap:16px;
    scrollbar-width:none;
  }
  .ev-grid::-webkit-scrollbar{display:none}
  .ev-grid > .ev{flex:0 0 88%;scroll-snap-align:start}

  .sub-card{text-align:center}
  .sub-ic{margin-inline:auto}
  .sub-form{justify-content:center}
  .stats{padding-block:56px 92px}
  .stat{padding:22px 12px}
  .stat-card > .stat:last-child:nth-child(odd){grid-column:1/-1;border-block-end:none}
  .svc-grid,.ev-grid{grid-template-columns:1fr}
  .sub-form{flex-direction:column}
  .sub-form input,.sub-form .btn{width:100%}
  .co{width:calc(50% - 10px)}
  .band .row .btn{width:100%}
}

/* --------------------------------------------------------------- خالی */

.empty-s{
  border:1px dashed var(--border);border-radius:var(--r-lg);
  padding:46px 24px;text-align:center;color:var(--text3);font-size:14px;background:var(--card);
}

/* ---------------------------------------------------------------- پا */

.foot{position:relative;overflow:hidden;background:#1a0608;color:#e3c2c6}
.foot-in{
  position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;gap:48px;
  padding-block:64px 40px;border-block-end:1px solid rgba(255,255,255,.12);
}

.socials{display:flex;gap:9px;margin-top:20px}
.socials a{
  width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;
  background:rgba(255,255,255,.07);color:#c9bfc0;transition:background-color .16s,color .16s;
}
.socials a:hover{background:var(--accent);color:#fff}
.socials svg{width:17px;height:17px}

.foot-col h3{font-size:16px;font-weight:600;color:#fff;margin:0 0 20px}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.foot-col a{font-size:14px;color:#e3c2c6;transition:color .15s}
.foot-col a:hover{color:#fff}
.foot-contact ul{gap:16px}
.foot-contact li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.8;color:#e3c2c6}
.foot-contact svg{width:18px;height:18px;color:var(--accent-soft);flex-shrink:0;margin-top:5px}

.foot-news{
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding-top:24px;
}
.foot-news .lbl{font-size:12.5px;color:#e3c2c6;white-space:nowrap}
.foot-news .nl-form-sm{display:flex;gap:8px;flex:none;max-width:none;position:relative}
.foot-news .nl-form-sm input{
  width:200px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:9999px;padding:0 14px;
  font-family:inherit;font-size:12px;color:#fff;background:rgba(255,255,255,.06);text-align:left;
}
.foot-news .nl-form-sm input::placeholder{color:#a17e82}
.foot-news .nl-form-sm button{
  flex-shrink:0;height:36px;padding-inline:16px;border:none;border-radius:9999px;background:var(--accent);
  color:#fff;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background-color .15s;
}
.foot-news .nl-form-sm button:hover{background-color:var(--accent-hover)}
.foot-news .nl-form-sm button:disabled{opacity:.6;cursor:default}
.foot-news .nl-err{position:absolute;top:100%;inset-inline-start:0;margin-top:4px;font-size:11.5px;color:#e8a5ab}
.foot-news .nl-done-sm{font-size:12.5px;color:#8fd39f;font-weight:600}

.foot-end{padding-block:24px;font-size:13px;color:#a17e82;text-align:center}

/* ------------------------------------------------------------- موبایل */

@media (max-width:980px){
  .foot-in{grid-template-columns:1fr 1fr;gap:36px}
}

/* دکمه‌ی داخلِ کشو فقط روی موبایل دیده می‌شود. */
.menu-cta{display:none}

@media (max-width:1000px){
  /* از همین‌جا به پایین، سربرگ همان شکلی می‌شود که در artboard هست:
     نشان و نام، و یک دکمه‌ی منو. بقیه به داخل کشو می‌رود. */
  .nav .uic,.nav .nav-cta{display:none}
  .burger{display:grid;place-items:center}
  .menu-cta{display:flex;justify-content:center;margin-top:10px}
}

@media (max-width:1000px){
  .wrap{padding-inline:18px}
  .nav-in{min-height:62px;gap:14px}

  .menu{
    position:fixed;inset-block-start:62px;inset-inline:0;inset-block-end:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--card);padding:14px 18px 30px;overflow-y:auto;
    transform:translateX(-100%);transition:transform .22s ease;z-index:59;
  }
  .navopen:checked ~ .menu{transform:none}
  .mi>a{padding:13px 10px;font-size:15px;border-radius:var(--r-sm);justify-content:space-between}
  .mi>a svg{transform:rotate(-90deg)}
  .sub{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:none;border-inline-start:2px solid var(--border);
    border-radius:0;margin-inline-start:12px;padding:0 0 6px;
  }
  .sub a{padding:10px}

  .hero{min-height:auto}
  .hero-in{padding-block:56px}
  .hero-slides{min-height:210px}
  .foot-in{grid-template-columns:1fr 1fr;gap:32px;padding-block:48px 32px}
}

@media (max-width:640px){
  .foot-in{grid-template-columns:1fr;gap:30px}
  .foot-news{flex-direction:column;align-items:stretch;text-align:center}
  .foot-news .nl-form-sm{width:100%}
  .foot-news .nl-form-sm input{width:auto;flex:1}
}

@media (max-width:420px){
  .brand-t{font-size:12.5px}
  .brand img{width:32px;height:32px}
  .hero-cta .btn{width:100%}
}

/* کسانی که جنبش کمتر خواسته‌اند، نباید با اسلاید و ترنزیشن روبه‌رو شوند. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
}

/* سربرگ باید روی هیرو بنشیند، نه بالای آن. با fixed از جریان صفحه بیرون
   می‌رود و هیرو از y=0 شروع می‌شود؛ پدینگ خودِ هیرو متن را از زیرش درمی‌آورد. */
body.has-hero .nav{position:fixed;inset-block-start:0;inset-inline:0}
body.has-hero .hero-in{padding-block-start:110px}

@media (max-width:860px){
  /* روی موبایل اسکرول تندتر است؛ نوار کوتاه‌تر می‌شود تا فیلم کش نیاید. */
  .hero.has-media .hero-track{height:var(--hero-track-m,260vh)}
  .hero.hero-flat .hero-stage{min-height:min(86vh,700px)}
  body.has-hero .hero-in{padding-block-start:92px}
  .hero-skip{inset-block-end:14px;inset-inline-end:16px;font-size:11.5px;padding:7px 13px}
  .hero-hint{inset-block-end:16px;font-size:11.5px}
}

/* ==========================================================================
   صفحه‌های داخلی — درباره ما، تماس با ما، شفافیت
   اعداد از همان artboardها آمده‌اند (About/Contact/Transparency.dc.html).
   ========================================================================== */

/* عنصرِ hidden باید همیشه پنهان بماند، حتی وقتی کلاسش display می‌دهد. */
[hidden]{display:none !important}

/* کارتِ سفیدِ صفحه‌های داخلی — همان کادری که در artboardها هست. */
.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:0 1px 2px rgba(28,25,23,.06);
}

/* عنوانِ بخش در صفحه‌های داخلی: مثل sec-head اما راست‌چین. */
.sec-h{margin-bottom:24px}
.sec-h h1{font-size:clamp(24px,3vw,30px);font-weight:700;margin:0;color:var(--text);line-height:1.6}
.sec-h h2{font-size:clamp(20px,2.4vw,22px);font-weight:700;margin:0;color:var(--text);line-height:1.6}
.sec-h.start{text-align:start}

.tag{
  display:inline-block;font-size:12.5px;font-weight:600;white-space:nowrap;
  color:var(--accent);background:var(--badge);border-radius:99px;padding:5px 12px;
}

/* -------------------------------------------------------- درباره ما */

.ahero{position:relative;height:520px;overflow:hidden;background:#1a0608}
.ahero-plain{height:360px}
.ah-im{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;pointer-events:none}
.ah-im.on{opacity:1}
.ah-im img{width:100%;height:100%;object-fit:cover;filter:blur(2px)}
.ah-scrim{position:absolute;inset:0;background:rgba(20,5,7,.5);pointer-events:none}
.ah-mid{position:absolute;inset:0;display:grid;place-items:center;padding:0 24px;z-index:1}
.ah-mid h1{
  font-size:clamp(28px,4vw,42px);font-weight:700;color:#fff;margin:0;
  text-align:center;line-height:1.6;text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.ah-nav{
  position:absolute;inset-block-start:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:99px;border:none;z-index:2;cursor:pointer;
  background:rgba(255,255,255,.9);color:var(--text);display:grid;place-items:center;
}
.ah-nav:hover{background:#fff}
.ah-nav svg{width:20px;height:20px}
.ah-prev{inset-inline-end:24px}
.ah-next{inset-inline-start:24px}
.ah-dots{position:absolute;inset-block-end:20px;inset-inline-start:50%;transform:translateX(50%);display:flex;gap:8px;z-index:2}
.ah-dots button{
  width:8px;height:8px;border-radius:99px;border:none;padding:0;cursor:pointer;
  background:rgba(255,255,255,.45);transition:width .2s,background-color .2s;
}
.ah-dots button.on{width:24px;background:#fff}

.atext{padding-block:64px 0}
.atext-in{max-width:820px;margin-inline:auto;text-align:start;padding-inline:24px}
.alede{font-size:17px;line-height:2;color:#3d3a37;margin:0 0 20px}
.atext .prose{font-size:17px;line-height:2;color:#3d3a37}
.atext .prose p{margin:0 0 20px}
.atext .prose p:last-child{margin-bottom:0}
.atext-2{padding-block:0 64px}
.sec.atext + .avid-sec{padding-block-start:64px}

.avid-sec{padding:64px 24px}
.avid{
  position:relative;max-width:960px;margin-inline:auto;aspect-ratio:16/9;
  border-radius:var(--r-lg);overflow:hidden;background:#1a0608;
  display:grid;place-items:center;box-shadow:0 4px 16px rgba(28,25,23,.12);
}
.avid video,.avid-out img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avid-out{position:absolute;inset:0;background:#1a0608}
.avid-scrim{position:absolute;inset:0;background:rgba(26,6,8,.35)}
.avid-play{
  position:relative;z-index:1;width:76px;height:76px;border-radius:99px;border:none;cursor:pointer;
  background:rgba(255,255,255,.92);color:var(--accent);display:grid;place-items:center;
}
.avid-play:hover{background:#fff}
.avid-play svg{width:30px;height:30px;margin-inline-start:4px}
.avid-cap{position:absolute;inset-block-end:16px;inset-inline-start:20px;color:#fff;font-size:14px;font-weight:600;z-index:1}
.avid.playing .avid-scrim,.avid.playing .avid-play,.avid.playing .avid-cap{display:none}

/* نوارِ میان‌برِ بخش‌ها — زیرِ سربرگ می‌چسبد. */
.ajump{
  position:sticky;inset-block-start:68px;z-index:50;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;
  background:var(--card);border-bottom:1px solid var(--border);padding:14px 24px;
}
.ajump a{font-size:13px;font-weight:600;color:var(--text);padding:8px 16px;border-radius:99px;white-space:nowrap}
.ajump a:hover{background:var(--badge);color:var(--accent)}
#about-intro,#about-goals,#about-missions,#about-domains,#about-awards{scroll-margin-top:140px}

/* اهداف، وظایف و ماموریت‌ها، حوزه‌های فعالیت */
.alist{padding:0 24px 64px}
.ahero + .alist,.ajump + .alist,.atext:not(.atext-2) + .alist{padding-top:64px}
.alist-in{max-width:1000px;margin-inline:auto}
.adom .alist-in{max-width:1100px}
.alist .sec-h{text-align:center;margin-bottom:36px}
.alist .sec-h h2{font-size:24px}
.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.an-item{
  display:flex;align-items:flex-start;gap:12px;background:var(--card);
  border:1px solid var(--border);border-radius:12px;padding:18px 20px;
}
.an-no{
  flex-shrink:0;width:26px;height:26px;border-radius:99px;background:var(--badge);color:var(--accent);
  display:grid;place-items:center;font-size:12px;font-weight:700;
}
.an-tx{font-size:13.5px;line-height:1.9;color:#3d3936}
.ad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ad-card{
  aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;text-align:center;
}
.ad-ic{
  width:48px;height:48px;border-radius:12px;background:var(--badge);color:var(--accent);
  display:grid;place-items:center;flex-shrink:0;
}
.ad-ic svg{width:22px;height:22px}
.ad-t{font-size:13px;font-weight:600;color:var(--text);line-height:1.6}

@media (max-width:1000px){
  .ajump{inset-block-start:62px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:10px 16px}
  .ad-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:700px){
  .an-grid{grid-template-columns:1fr}
  .ad-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .alist{padding-inline:16px}
}

.awards{background:var(--card);border-top:1px solid var(--border)}
.awards .sec-h{text-align:center;margin-bottom:40px}
.aw-rail{position:relative}
.aw-view{overflow:hidden}
.aw-track{display:flex;gap:24px;transition:transform .4s ease}
.aw-card{
  flex:0 0 calc((100% - 48px) / 3);display:flex;flex-direction:column;align-items:center;gap:16px;
  background:var(--page);border:1px solid var(--border);border-radius:14px;padding:28px 20px;text-align:center;
}
.aw-card img{width:120px;height:120px;object-fit:contain;border-radius:10px;background:#fff}
.aw-card img.mark{opacity:.25;padding:14px}
.aw-card h4{font-size:15px;font-weight:600;color:var(--text);margin:0;line-height:1.6}
.aw-y{font-size:12px;color:var(--text3)}
.aw-nav{
  position:absolute;inset-block-start:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:99px;cursor:pointer;z-index:2;
  background:#fff;border:1px solid var(--border);color:var(--text);
  display:grid;place-items:center;box-shadow:0 2px 8px rgba(28,25,23,.1);
}
.aw-nav:hover{background:var(--badge);color:var(--accent)}
.aw-nav svg{width:18px;height:18px}
.aw-nav[disabled]{opacity:.4;cursor:not-allowed}
.aw-prev{inset-inline-end:-20px}
.aw-next{inset-inline-start:-20px}

/* ------------------------------------------------------- تماس با ما */

.cpage{padding-block:56px}
.c-sec{margin-block-start:56px}
.c-last{margin-block-end:0}

.c-top{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.c-info{padding:32px}
.c-info h3{font-size:18px;font-weight:600;margin:0 0 24px;color:var(--text)}
.c-list{display:flex;flex-direction:column;gap:20px}
.c-row{display:flex;align-items:flex-start;gap:12px}
.c-ic{
  width:40px;height:40px;flex-shrink:0;border-radius:var(--r-sm);
  background:var(--badge);color:var(--accent);display:grid;place-items:center;
}
.c-ic svg{width:18px;height:18px}
.c-lb{font-size:13px;color:var(--text3);margin-bottom:4px}
.c-vl{font-size:15px;color:var(--text);line-height:1.8}
.c-vl.num{font-variant-numeric:tabular-nums}

.c-pres{
  display:flex;flex-direction:column;align-items:flex-start;gap:16px;
  background:linear-gradient(150deg,#8c1a24,#4a0e14);border-radius:var(--r-lg);
  padding:32px;color:#fff;transition:box-shadow .2s;
}
.c-pres:hover{box-shadow:0 8px 24px rgba(28,25,23,.18);color:#fff}
.c-pres-ic{width:48px;height:48px;border-radius:10px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.c-pres-ic svg{width:22px;height:22px;color:var(--badge)}
.c-pres h3{font-size:18px;font-weight:600;margin:0;color:#fff}
.c-pres p{font-size:14px;line-height:1.8;color:#e3c2c6;margin:0}
.c-pres-go{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#fff;margin-block-start:auto}
.c-pres-go svg{width:16px;height:16px;transform:scaleX(-1)}

/* ------------------------------------------------- ارتباط با ریاست
   صفحه‌ی مستقل، با همان کارتِ تیره‌ی «تماس با ما» — اما اینجا کارت
   توضیح است نه پیوند، پس نه سایه‌ی کلیک می‌گیرد نه فلشِ رفتن. */
/* کارت به‌قدرِ متنش بلند می‌شود، نه به‌قدرِ فرمِ کناری. */
.pres-note{cursor:default;align-self:start}
.pres-note:hover{box-shadow:none}
.pres-li{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pres-li li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:14px;line-height:1.8;color:#e3c2c6;
}
.pres-li svg{width:16px;height:16px;flex-shrink:0;margin-block-start:5px;color:var(--badge)}
.pres-alt{font-size:13px;padding-block-start:4px}
.pres-alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ------------------------------------------------------- جذب و پذیرش */

.adm-page{padding-block:56px}
.adm-page .wrap{max-width:1140px}

.adm-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:stretch;margin-bottom:48px}
.adm-photo{
  position:relative;border-radius:18px;overflow:hidden;min-height:340px;
  background:var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;color:var(--text3);font-size:13px;
}
.adm-photo .ph-ic{width:56px;height:56px;border-radius:99px;background:#fff;display:grid;place-items:center}
.adm-photo .ph-ic svg{width:24px;height:24px}
.adm-photo-img img{width:100%;height:100%;object-fit:cover}

.adm-card{padding:32px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.adm-card h1{font-size:22px;font-weight:700;margin:0;line-height:1.6;color:var(--text)}
.adm-card p{font-size:13.5px;line-height:1.9;color:var(--text2);margin:0}

.adm-cta{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.adm-cta .btn{height:48px;width:100%}

.adm-terms{padding:36px;margin-top:24px}
.adm-terms h2{font-size:19px;font-weight:700;margin:0 0 16px;color:var(--text)}
.adm-terms .prose{font-size:14.5px;line-height:2;color:#3d3936}
.adm-terms .prose p{margin:0 0 16px}
.adm-terms .prose p:last-child{margin-bottom:0}

@media (max-width:1000px){
  .adm-hero{grid-template-columns:1fr}
  .adm-photo{min-height:220px}
}

.c-form{padding:32px}
.c-form form{display:flex;flex-direction:column;gap:20px}
.c-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fld label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.fld input,.fld textarea{
  width:100%;font-family:inherit;font-size:14px;color:var(--text);
  background:var(--page);border:1.5px solid var(--border);border-radius:var(--r-sm);outline:none;
}
.fld input{height:46px;padding-inline:14px}
.fld textarea{padding:12px 14px;resize:vertical;line-height:1.9}
.fld input:focus,.fld textarea:focus{border-color:var(--accent)}
.fld input.ltr{direction:ltr;text-align:right}
.c-form .btn{align-self:flex-start}
.c-err{margin:0;font-size:13px;color:var(--accent)}
.c-done{padding:32px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.c-done-ic{width:56px;height:56px;border-radius:99px;background:#f0f7f1;color:#2f6b45;display:grid;place-items:center}
.c-done-ic svg{width:26px;height:26px}
.c-done h3,.c-done h4{font-size:16px;font-weight:600;margin:0;color:var(--text)}
.c-done p{font-size:14px;color:var(--text2);margin:0}

.c-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.c-search{
  flex:1;min-width:240px;display:flex;align-items:center;gap:12px;
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  padding-inline:16px 4px;box-shadow:0 1px 2px rgba(28,25,23,.05);
}
.c-search svg{width:18px;height:18px;color:var(--text3);flex-shrink:0}
.c-search input{flex:1;border:none;outline:none;background:transparent;font-family:inherit;font-size:15px;color:var(--text);height:46px}

.c-pick{position:relative;flex-shrink:0;min-width:220px}
.c-pick>button{
  width:100%;height:54px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-inline:16px;font-family:inherit;font-size:14px;font-weight:600;color:var(--text);
  background:var(--card);border:1px solid var(--border);border-radius:10px;cursor:pointer;
  box-shadow:0 1px 2px rgba(28,25,23,.05);
}
.c-pick>button svg{width:16px;height:16px;color:var(--text3);transition:transform .15s}
.c-pick.open>button svg{transform:rotate(180deg)}
.c-pick-menu{
  position:absolute;inset-block-start:calc(100% + 6px);inset-inline:0;z-index:15;
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 12px 28px rgba(28,25,23,.14);overflow:hidden;max-height:320px;overflow-y:auto;
}
.c-pick-menu button{
  display:block;width:100%;text-align:start;padding:12px 16px;
  font-family:inherit;font-size:14px;color:var(--text2);background:transparent;border:none;cursor:pointer;
  border-block-start:1px solid #f0ece7;
}
.c-pick-menu button:first-child{border-block-start:none}
.c-pick-menu button:hover{background:var(--badge);color:var(--accent)}
.c-pick-menu button.on{background:var(--badge);color:var(--accent);font-weight:600}

.c-count{font-size:13px;color:var(--text3);margin:0 0 16px}

.c-tbl{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  overflow:hidden;box-shadow:0 1px 2px rgba(28,25,23,.06);
}
.c-th,.c-tr{display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1.6fr 1.2fr;gap:16px;align-items:center}
.c-th{padding:14px 24px;background:var(--page);border-bottom:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text3)}
.c-tr{padding:16px 24px;border-bottom:1px solid var(--border)}
.c-tr:last-of-type{border-bottom:none}
.c-nm{font-size:15px;font-weight:600;color:var(--text)}
.c-ro{font-size:14px;color:var(--text2)}
.c-ex{font-size:14px;color:var(--text2);font-variant-numeric:tabular-nums}
.c-em,.c-em a{font-size:13px;color:var(--accent);direction:ltr;text-align:right}
.cn{text-align:center}
.c-none{padding:56px 24px;text-align:center;color:var(--text3);font-size:15px}

.c-map{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--border);box-shadow:0 1px 2px rgba(28,25,23,.06)}
.c-map iframe{display:block;width:100%;height:420px;border:0}

.c-faq{background:var(--card);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(28,25,23,.06)}
.c-fq{border-bottom:1px solid var(--border)}
.c-fq:last-child{border-bottom:none}
.c-fq>button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 20px;font-family:inherit;font-size:15px;font-weight:600;color:var(--text);
  background:transparent;border:none;cursor:pointer;text-align:start;
}
.c-fq>button:hover{background:var(--page)}
.c-fq>button svg{width:18px;height:18px;color:var(--accent);flex-shrink:0;transition:transform .15s}
.c-fq.open>button svg{transform:rotate(180deg)}
.c-fq p{margin:0;padding:0 20px 18px;font-size:14px;line-height:1.9;color:var(--text2)}

/* ----------------------------------------------------- سوالات متداول */

.fq-jump{margin-bottom:40px}
.fq-cats{display:flex;flex-direction:column;gap:40px}
.fq-cat{scroll-margin-top:90px}
.fq-cat h2{
  display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--text);margin:0 0 16px;
}
.fq-dot{width:8px;height:8px;border-radius:99px;background:var(--accent);flex-shrink:0}

/* --------------------------------------------------------- شفافیت */

.tp{padding-block:48px}
.tp-head{margin-bottom:32px}
.tp-head h1{margin-bottom:8px}
.tp-head p{font-size:15px;line-height:1.8;color:var(--text2);margin:0}
.tp-jump{display:flex;gap:10px;margin-bottom:48px;flex-wrap:wrap}
.tp-jump a{
  height:40px;display:flex;align-items:center;padding-inline:18px;white-space:nowrap;
  font-size:13px;font-weight:600;color:var(--text);
  background:var(--card);border:1px solid var(--border);border-radius:99px;
}
.tp-jump a:hover{background:var(--badge);color:var(--accent)}

.tp-sec{margin-bottom:56px;scroll-margin-top:90px}
.tp-sec:last-of-type{margin-bottom:0}
.tp-sh{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:20px}
.tp-t{display:flex;align-items:center;gap:10px}
.tp-ic{width:36px;height:36px;flex-shrink:0;border-radius:var(--r-sm);background:var(--badge);color:var(--accent);display:grid;place-items:center}
.tp-ic svg{width:17px;height:17px}
.tp-t h2{font-size:20px;font-weight:700;color:var(--text);margin:0}
.tp-year{min-width:180px}
.tp-year>button{height:44px}

.tp-list{display:flex;flex-direction:column;gap:12px}
.tp-row{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  padding:18px 22px;box-shadow:0 1px 2px rgba(28,25,23,.06);
}
.tp-fic{width:44px;height:44px;flex-shrink:0;border-radius:9px;background:var(--page);color:var(--accent);display:grid;place-items:center}
.tp-fic svg{width:18px;height:18px}
.tp-ti{font-size:15px;font-weight:600;color:var(--text);line-height:1.7}
.tp-mt{font-size:12px;color:var(--text3);margin-top:4px}
.tp-row .tag{font-size:11px;padding:5px 12px}
.tp-dl{display:inline-flex;align-items:center;gap:6px;height:38px;padding-inline:16px;font-size:13px;white-space:nowrap}
.tp-dl svg{width:14px;height:14px}
.tp-none,.tp-empty{
  padding:48px 24px;text-align:center;color:var(--text3);font-size:14px;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
}

/* ------------------------------------------------------- واکنش‌گرایی */

@media (max-width:1000px){
  .ahero{height:320px}
  .ah-nav{inset-block-start:auto;inset-block-end:16px;transform:none;width:34px;height:34px}
  .ah-nav svg{width:16px;height:16px}
  .atext{padding-block:40px 0}
  .atext-2{padding-block:0 40px}
  .atext .prose,.alede{font-size:15px}
  .avid-sec{padding:40px 20px}
  .awards{padding-block:40px}
  .aw-track{transform:none !important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .aw-track::-webkit-scrollbar{display:none}
  .aw-card{flex:0 0 78%;scroll-snap-align:start}
  .aw-nav{display:none}

  .cpage,.tp{padding-block:24px}
  .c-top,.c-grid{grid-template-columns:1fr}
  .c-info,.c-pres,.c-form{padding:24px}
  .c-sec{margin-block-start:40px}
  .c-pick{min-width:100%}

  /* جدول کارکنان روی موبایل کارت می‌شود — همان کاری که دیزاین می‌کند. */
  .c-th{display:none}
  .c-tr{
    grid-template-columns:1fr auto;gap:6px 12px;padding:16px;
    grid-template-areas:"name ext" "role role" "mail mail" "area area";
  }
  .c-nm{grid-area:name}
  .c-ro{grid-area:role}
  .c-ex{grid-area:ext;text-align:end}
  .c-em{grid-area:mail}
  .c-tr>span:last-child{grid-area:area}

  .tp-jump{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .tp-jump::-webkit-scrollbar{display:none}
  .tp-sh{flex-direction:column;align-items:stretch}
  .tp-row{
    grid-template-columns:auto 1fr auto auto;column-gap:10px;row-gap:8px;padding:14px 16px;
    grid-template-areas:"icon title title title" "icon meta badge btn";
  }
  .tp-fic{grid-area:icon;width:36px;height:36px}
  .tp-fic svg{width:15px;height:15px}
  .tp-nm{grid-area:title;display:contents}
  .tp-ti{grid-area:title;font-size:14px}
  .tp-mt{grid-area:meta;font-size:11px}
  .tp-row .tag{grid-area:badge;justify-self:start;font-size:10px;padding:4px 9px}
  .tp-dl{grid-area:btn;height:32px;padding-inline:12px;font-size:12px;gap:4px}
  .tp-dl svg{width:12px;height:12px}
}

@media (max-width:640px){
  .ah-mid h1{font-size:22px}
  .aw-card{flex:0 0 86%}
}

/* ==========================================================================
   رویدادها — فهرست، صفحه‌ی رویداد، و بلیط (Events/EventSingle/EventRegular)
   ========================================================================== */

/* ------------------------------------------------- نوار رویدادهای ویژه */
.ev-band{position:relative;overflow:hidden;background:linear-gradient(160deg,#5c1119,#2d0a0e 60%,#1a0608)}
.ev-band-in{position:relative;padding-block:56px 64px}
.ev-band h1{font-size:clamp(24px,3vw,30px);font-weight:700;color:#fff;margin:0 0 8px}
.ev-band > .wrap > p,.ev-band-in > p{font-size:15px;line-height:1.8;color:#e3c2c6;margin:0 0 40px;max-width:60ch}

/*
 * همه‌ی کلاس‌های این نوار عمداً زیر .ev-band بسته شده‌اند.
 *
 * صفحه‌ی اصلی هم کارت رویداد دارد و بعضی نام‌ها (.ev-b) بین دو صفحه مشترک
 * بود؛ نتیجه این شد که کارت‌های روشنِ صفحه‌ی اصلی، ظاهرِ تیره‌ی این نوار را
 * می‌گرفتند. محدودکردن به .ev-band جلوی برخورد دوباره را می‌گیرد.
 */
.ev-band .ev-hero{display:grid;grid-template-columns:1fr 1.6fr;gap:24px;align-items:stretch}
.ev-band .ev-small{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:16px}
.ev-band .ev-s{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;padding:16px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  transition:background-color .15s;
}
.ev-band .ev-s:hover{background:rgba(255,255,255,.1)}

/* پوستر رویداد، پشتِ کارت؛ روی آن یک لایه‌ی تیره تا متن خوانا بماند. */
.ev-band .ev-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ev-band .ev-s .ev-bg{opacity:.55}
.ev-band .ev-b .ev-bg{opacity:.5}
.ev-band .ev-s::after,.ev-band .ev-b::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to top,rgba(26,6,8,.92) 12%,rgba(26,6,8,.45) 55%,rgba(26,6,8,.25));
}
.ev-band .ev-s > *:not(.ev-bg),.ev-band .ev-b > *:not(.ev-bg){position:relative;z-index:1}
.ev-band .ev-s:hover .ev-bg,.ev-band .ev-b:hover .ev-bg{opacity:.68}
.ev-band .ev-day{
  position:absolute;inset-block-start:14px;inset-inline-start:14px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:var(--r-sm);background:rgba(255,255,255,.14);color:var(--badge);
}
.ev-band .ev-day b{font-size:14px;font-weight:700;line-height:1}
.ev-band .ev-day i{font-size:9px;font-style:normal}
.ev-band .ev-s h4{font-size:13px;font-weight:600;color:#fff;margin:0 0 4px;line-height:1.5}
.ev-band .ev-loc{font-size:11px;color:#c79aa0}

.ev-band .ev-big{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ev-band .ev-b{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  border-radius:var(--r-lg);overflow:hidden;padding:28px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  transition:background-color .15s;
}
.ev-band .ev-b:hover{background:rgba(255,255,255,.1)}
.ev-band .ev-badge{
  align-self:flex-start;background:#fff;color:var(--accent);
  font-size:12px;font-weight:700;border-radius:99px;padding:6px 16px;margin-bottom:16px;
}
/* رویدادِ برگزارشده: نشانِ خنثی به‌جای نشانِ سفیدِ «رویداد ویژه». */
.ev-band .ev-badge.done{background:rgba(255,255,255,.16);color:#e3c2c6}
.ev-band .ev-s .ev-done{
  position:absolute;inset-block-start:14px;inset-inline-end:14px;z-index:2;
  background:rgba(255,255,255,.16);color:#e3c2c6;
  font-size:10px;font-weight:600;border-radius:99px;padding:3px 9px;
}
/* پوسترِ رویدادِ گذشته کمی محوتر است — بی‌آنکه متن ناخوانا شود. */
.ev-band .ev-s.done .ev-bg,.ev-band .ev-b.done .ev-bg{opacity:.42}
.ev-band .ev-s.done:hover .ev-bg,.ev-band .ev-b.done:hover .ev-bg{opacity:.58}
.ev-band .ev-b h2{font-size:20px;font-weight:700;color:#fff;margin:0 0 12px;line-height:1.6}
.ev-band .ev-meta{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#e3c2c6;margin-bottom:18px}
.ev-band .ev-meta span{display:flex;align-items:center;gap:6px}
.ev-band .ev-meta svg{width:15px;height:15px;flex-shrink:0}
.ev-band .ev-go{
  align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;
  height:40px;padding-inline:20px;font-size:13px;font-weight:600;
  color:#5c1119;background:#fff;border-radius:var(--r-sm);
}

/* ----------------------------------------------------- همه رویدادها */
.evs{padding-block:56px}
.evs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.evs-head .sec-h{margin-bottom:0}
.evs-head .sec-h p{font-size:14px;line-height:1.8;color:var(--text2);margin:8px 0 0;max-width:70ch}
.evs-filter{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}
.evs-filter a{
  height:38px;display:inline-flex;align-items:center;padding-inline:18px;white-space:nowrap;
  font-size:13px;font-weight:600;color:var(--text);
  background:var(--card);border:1px solid var(--border);border-radius:99px;
}
.evs-filter a:hover{background:var(--badge);color:var(--accent)}
.evs-filter a.on{background:var(--accent);border-color:var(--accent);color:#fff}

.evs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:40px}
.evc{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(28,25,23,.06);
  transition:box-shadow .15s,transform .15s;
}
.evc:hover{box-shadow:0 4px 16px rgba(28,25,23,.1);transform:translateY(-2px)}
.evc-im{
  position:relative;display:grid;place-items:center;aspect-ratio:3/4;
  background:linear-gradient(135deg,#c8c4bf,#eeebe7);overflow:hidden;
}
.evc-im img{width:100%;height:100%;object-fit:cover}
.evc-im img.mark{width:40%;height:auto;object-fit:contain;opacity:.28;filter:grayscale(1)}
.evc-tag{
  position:absolute;inset-block-start:10px;inset-inline-start:10px;
  background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:99px;padding:4px 10px;
}
.evc-b{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.evc-b h4{font-size:14px;font-weight:600;color:var(--text);margin:0;line-height:1.6}
.evc-m{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text3);margin-top:auto;flex-wrap:wrap}

.pager{display:flex;align-items:center;justify-content:center;gap:8px}
.pager a{
  min-width:40px;height:40px;padding-inline:4px;display:inline-flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:600;border-radius:var(--r-sm);
  background:var(--card);border:1px solid var(--border);color:var(--text);
}
.pager a:hover{background:var(--badge);border-color:var(--accent-soft);color:var(--accent)}
.pager a.on{background:var(--accent);border-color:var(--accent);color:#fff}
.pager a.off{opacity:.45;pointer-events:none}
.pager svg{width:18px;height:18px}

/* ------------------------------------------------- صفحه‌ی یک رویداد */
.evp{padding-block:48px}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text3);margin-bottom:24px;flex-wrap:wrap}
.crumbs a{color:var(--text3)}
.crumbs a:hover{color:var(--accent)}

.ev-top{display:grid;grid-template-columns:1.7fr 1fr;gap:28px;align-items:start;margin-bottom:48px}
.ev-info{display:flex;flex-direction:column;gap:20px}
.ev-info h1{font-size:clamp(22px,3vw,30px);font-weight:700;color:var(--text);margin:0;line-height:1.5}
.ev-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ev-card{
  display:flex;align-items:flex-start;gap:10px;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r);padding:16px;
}
.ev-ic{
  width:34px;height:34px;flex-shrink:0;border-radius:var(--r-sm);
  background:var(--badge);color:var(--accent);display:grid;place-items:center;
}
.ev-ic svg{width:15px;height:15px}
.ev-lb{font-size:11px;color:var(--text3);margin-bottom:3px}
.ev-vl{font-size:13px;font-weight:600;color:var(--text);line-height:1.6}
.ev-desc{
  font-size:15px;line-height:1.95;color:#3d3936;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r);padding:20px;
}
/* توضیح رویداد از ویرایشگر می‌آید، پس ممکن است تیتر و فهرست و جدول داشته باشد. */
.ev-desc > *:first-child{margin-block-start:0}
.ev-desc > *:last-child{margin-block-end:0}
.ev-desc p{margin:0 0 16px}
.ev-desc h2,.ev-desc h3{font-size:17px;font-weight:700;color:var(--text);margin:22px 0 12px;line-height:1.7}
.ev-desc h4{font-size:15.5px;font-weight:700;color:var(--text);margin:18px 0 10px}
.ev-desc ul,.ev-desc ol{margin:0 0 16px;padding-inline-start:22px}
.ev-desc li{margin-bottom:6px}
.ev-desc a{color:var(--accent);text-decoration:underline}
.ev-desc img{border-radius:var(--r-sm);margin:6px 0 16px}
.ev-desc table{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:14px}
.ev-desc th,.ev-desc td{border:1px solid var(--border);padding:8px 10px;text-align:start}
.ev-desc blockquote{
  margin:0 0 16px;padding:14px 18px;border-inline-start:3px solid var(--accent);
  background:var(--page);border-radius:8px;font-weight:600;color:var(--text);
}
.ev-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ev-stat{
  display:flex;align-items:center;gap:10px;background:var(--card);
  border:1px solid var(--border);border-radius:10px;padding:14px 16px;
}
.ev-cta{align-self:flex-start;height:46px;padding-inline:28px;display:inline-flex;align-items:center;gap:8px}
.ev-cta svg{width:16px;height:16px}
.ev-closed{
  margin:0;align-self:flex-start;font-size:13.5px;font-weight:600;color:var(--accent);
  background:var(--badge);border-radius:var(--r-sm);padding:12px 18px;
}

.ev-poster{
  width:100%;aspect-ratio:3/4;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(150deg,#8c1a24,#4a0e14 60%,#1a0608);
  display:grid;place-items:center;box-shadow:0 4px 16px rgba(28,25,23,.12);
}
.ev-poster img{width:100%;height:100%;object-fit:cover}
.ev-poster img.mark{width:26%;height:auto;object-fit:contain;opacity:.16;filter:grayscale(1) brightness(2.6)}

.ev-two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:48px}
.ev-list{padding:22px;border-radius:var(--r)}
.ev-list h3{font-size:15px;font-weight:700;color:var(--text);margin:0 0 14px}
/* فقط داخل همین کارت؛ .ev-rows در صفحه‌ی اصلی شبکه‌ی دوستونی است. */
.ev-list .ev-rows{display:flex;flex-direction:column;gap:10px}
.ev-ag,.ev-need{display:flex;gap:10px;font-size:13px;color:var(--text2);line-height:1.8}
.ev-ag .t{color:var(--accent);font-weight:600;flex-shrink:0;font-variant-numeric:tabular-nums}
.ev-need svg{width:14px;height:14px;color:var(--accent);flex-shrink:0;margin-top:5px}

/* ------------------------------------------------------- فرم ثبت‌نام */
.ev-reg{padding:32px;scroll-margin-top:90px}
.ev-err{
  margin:0 0 18px;font-size:13.5px;font-weight:600;color:#fff;
  background:var(--err,#9e1c28);border-radius:var(--r-sm);padding:12px 16px;
}
.ev-reg-h{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.ev-reg-h > span{font-size:14px;font-weight:600;color:var(--text)}
.ev-reg-act{display:flex;align-items:center;gap:10px}
.ev-count{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2)}
.ev-count input{
  width:70px;height:38px;text-align:center;font-family:inherit;font-size:14px;color:var(--text);
  background:var(--page);border:1.5px solid var(--border);border-radius:var(--r-sm);outline:none;
}
.ev-count input:focus{border-color:var(--accent)}

.ev-people{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
.ev-person{border:1px solid var(--border);border-radius:var(--r);padding:18px}
.ev-pn{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:14px}
.ev-person .c-grid{gap:14px}
.ev-person .fld input{height:44px}
.fld-wide{grid-column:1/-1}

.ev-sum{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:var(--page);border:1px solid var(--border);border-radius:10px;
  padding:16px 18px;margin-bottom:20px;font-size:13px;color:var(--text2);line-height:1.8;
}
.ev-sum b{font-size:18px;font-weight:700;color:var(--accent);white-space:nowrap}
.ev-free{
  display:flex;align-items:center;gap:10px;background:#f0f7f1;color:#2f6b45;
  border-radius:10px;padding:14px 18px;margin-bottom:20px;font-size:14px;font-weight:600;
}
.ev-free svg{width:18px;height:18px}
.ev-note{font-size:12.5px;line-height:2;color:var(--text3);margin:0 0 20px}
.ev-submit{width:100%;height:50px;font-size:15px}

/* ------------------------------------------------------------ بلیط */
.tk{padding-block:48px}
.tk-in{max-width:760px}
.tk-head{text-align:center;margin-bottom:28px}
.tk-ok{
  display:inline-grid;place-items:center;width:56px;height:56px;border-radius:99px;
  background:#f0f7f1;color:#2f6b45;margin-bottom:14px;
}
.tk-ok svg{width:26px;height:26px}
.tk-head h1{font-size:22px;font-weight:700;margin:0 0 10px;color:var(--text)}
.tk-head p{font-size:14px;line-height:2;color:var(--text2);margin:0}
.tk-code{font-weight:700;color:var(--accent);letter-spacing:.04em}

.tk-list{display:flex;flex-direction:column;gap:18px}
.tk-card{
  background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;
  box-shadow:0 8px 28px rgba(28,25,23,.08);
}
.tk-top{background:#1a0608;color:#fff;padding:20px 24px;display:flex;align-items:center;gap:12px}
.tk-top img{width:34px;height:34px;filter:grayscale(1) brightness(2.4);flex-shrink:0}
.tk-top span{display:block;font-size:12px;color:#c9a4a8}
.tk-top b{display:block;font-size:14.5px;font-weight:700}
.tk-body{padding:24px}
.tk-body h2{font-size:16.5px;font-weight:700;margin:0 0 18px;color:var(--text)}
.tk-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}
.tk-grid span{display:block;font-size:11px;color:var(--text3);margin-bottom:4px}
.tk-grid b{display:block;font-size:13px;font-weight:600;color:var(--text)}
.tk-grid b.ok{color:#2f6b45}
.tk-grid b.wait{color:#9a6a12}
.tk-note{font-size:12px;line-height:1.9;color:var(--text3);margin:0;border-top:1px dashed var(--border);padding-top:14px}
.tk-act{display:flex;gap:10px;justify-content:center;margin-top:24px;flex-wrap:wrap}

@media print{
  .nav,.foot,.tk-act,.skip{display:none !important}
  .tk{padding-block:0}
  body{background:#fff}
}

/* ------------------------------------------------------- واکنش‌گرایی */
@media (max-width:1100px){
  .evs-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:1000px){
  .ev-band-in{padding-block:32px 40px}
  .ev-band .ev-hero{grid-template-columns:1fr}
  .ev-band .ev-big{grid-template-columns:1fr}
  .ev-band .ev-b{padding:22px}
  .evs{padding-block:32px}
  .evs-grid{grid-template-columns:repeat(2,1fr);gap:14px}
  .evp,.tk{padding-block:24px}
  .ev-top{grid-template-columns:1fr}
  .ev-poster{max-width:320px;order:-1}
  .ev-cards{grid-template-columns:1fr 1fr}
  .ev-two{grid-template-columns:1fr}
  .ev-reg{padding:22px}
  .tk-grid{grid-template-columns:1fr 1fr}
}

@media (max-width:640px){
  .ev-band .ev-small{grid-template-columns:1fr 1fr}
  .ev-cards{grid-template-columns:1fr}
  .ev-stats{grid-template-columns:1fr}
  .evs-grid{grid-template-columns:1fr 1fr}
  .ev-reg-h{align-items:stretch;flex-direction:column}
  .ev-submit{height:46px}
}

/* بینِ ۱۰۰۰ تا ۱۳۰۰، منو هنوز کامل است ولی جا تنگ می‌شود. */
@media (min-width:1001px) and (max-width:1370px){
  .nav-in{gap:14px}
  .brand{max-width:230px}
  .brand-t{font-size:13px}
  /* مثل خودِ دیزاین، برچسب‌ها دو خطی می‌شوند تا منو جا شود. */
  .menu{gap:4px}
  .mi{flex:0 1 auto;min-width:0}
  .mi>a{
    display:flex;min-width:0;padding:8px 6px;font-size:13px;
    white-space:normal;text-align:center;line-height:1.5;justify-content:center;
  }
  .nav-cta{padding-inline:16px}
}

/* ==========================================================================
   واحدهای فناور و کارگزاران — Companies/Brokers.dc.html
   ========================================================================== */

.dir{padding-block:48px}
.dir-head{margin-bottom:32px}
.dir-head h1{margin-bottom:8px}
.dir-head p{font-size:15px;line-height:1.8;color:var(--text2);margin:0}

.dir-tbl{
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  box-shadow:0 1px 2px rgba(28,25,23,.06);overflow:hidden;
}
/*
 * عرضِ ستون‌ها ثابت است تا سرستون و ردیف‌ها هم‌تراز بمانند.
 *
 * فهرست کارگزاران شش ستون دارد و فهرست واحدهای فناور هفت‌تا (ستونِ «مرحله
 * استقرار» فقط آنجاست)، پس عرض‌ها از روی همان قالبِ پایه با یک قاعده‌ی
 * دوم برای حالتِ هفت‌ستونی تنظیم می‌شوند.
 */
.dir-th,.dir-tr{
  display:grid;grid-template-columns:56px 1fr 190px 150px 150px 140px;
  gap:16px;align-items:center;
}
.dir[data-dir-details] .dir-th,
.dir[data-dir-details] .dir-tr{
  grid-template-columns:52px 1fr 160px 142px 126px 120px 128px;
  gap:12px;
}
.dir-th{
  padding:14px 24px;background:var(--page);border-bottom:1px solid var(--border);
  font-size:12px;font-weight:600;color:var(--text3);
}
.dir-tr{padding:16px 24px;border-bottom:1px solid var(--border)}
.dir-tr:last-of-type{border-bottom:none}

.dir-av{
  width:40px;height:40px;border-radius:var(--r-sm);overflow:hidden;
  background:var(--badge);color:var(--accent);
  display:grid;place-items:center;font-weight:700;font-size:14px;
}
.dir-av img{width:100%;height:100%;object-fit:contain;background:#fff}
.dir-nm{font-size:15px;font-weight:600;color:var(--text)}
.dir-web a{font-size:14px;color:var(--accent)}
.dir-ph{font-size:14px;color:var(--text2);font-variant-numeric:tabular-nums}
.dir-dm,.dir-st{justify-self:center}
.dir-dm .tag,.dir-st .tag{font-size:12.5px;padding:6px 12px;white-space:nowrap}
/* مرحله‌ی استقرار رنگِ خنثی دارد تا با برچسبِ حوزه اشتباه نشود. */
.tag-st{background:var(--page);color:var(--text2);border:1px solid var(--border)}
.dir-act{justify-self:end}
.dir-act .btn{border-width:1.5px;height:36px;padding-inline:18px;font-size:13px}

/* ------------------------------------------------------ کارت جزئیات */
.modal{
  position:fixed;inset:0;z-index:100;padding:24px;
  background:rgba(28,9,11,.55);display:flex;align-items:center;justify-content:center;
}
.modal-card{
  background:var(--card);border-radius:var(--r-lg);max-width:560px;width:100%;
  max-height:85vh;overflow-y:auto;box-shadow:0 24px 60px rgba(28,25,23,.3);
}
.modal-h{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:22px 26px;border-bottom:1px solid var(--border);
}
.modal-id{display:flex;align-items:center;gap:14px;min-width:0}
.modal-id .dir-av{width:48px;height:48px;border-radius:10px;font-size:16px;flex-shrink:0}
.modal-h h2{font-size:19px;font-weight:700;color:var(--text);margin:0;line-height:1.6}
.modal-x{
  width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;cursor:pointer;
  background:transparent;border:none;border-radius:var(--r-sm);color:var(--text2);
}
.modal-x:hover{background:var(--page);color:var(--accent)}
.modal-x svg{width:20px;height:20px}
.modal-b{padding:22px 26px;display:flex;flex-direction:column;gap:20px}
.modal-b > p{font-size:14px;line-height:1.9;color:var(--text2);margin:0}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.modal-grid span{display:block;font-size:12px;color:var(--text3);margin-bottom:4px}
.modal-grid b{display:block;font-size:14px;font-weight:600;color:var(--text)}
.modal-grid a{color:var(--accent)}

@media (max-width:1000px){
  .dir{padding-block:24px}
  /* هر ردیف روی موبایل یک کارت می‌شود — همان کاری که دیزاین می‌کند. */
  .dir-th{display:none}
  .dir-tr,.dir[data-dir-details] .dir-tr{
    grid-template-columns:40px 1fr auto;gap:8px 12px;padding:16px;
    grid-template-areas:"av name name" "av web dm" "ph ph st" "act act act";
  }
  .dir-av{grid-area:av}
  .dir-nm{grid-area:name}
  .dir-web{grid-area:web;text-align:start}
  .dir-dm{grid-area:dm;justify-self:end}
  .dir-ph{grid-area:ph;text-align:start}
  .dir-st{grid-area:st;justify-self:end}
  .dir-act{grid-area:act;justify-self:stretch}
  .dir-act .btn{width:100%}
  .modal-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   پایگاه خبری — News/NewsArticle/Announcements/TechnoMag/Gallery/Videos
   ========================================================================== */

.nr{padding-block:48px}
.nr-head{margin-bottom:32px}
.nr-head h1{font-size:clamp(24px,3vw,32px);font-weight:700;color:var(--text);margin:0 0 8px;line-height:1.6}
.nr-head p{font-size:15px;line-height:1.8;color:var(--text2);margin:0;max-width:80ch}

/* قابِ باریک‌ترِ صفحه‌های خواندنی — متنِ بلند در عرضِ کامل خسته‌کننده است. */
.wrap-n{max-width:948px;margin:0 auto;padding-inline:24px}
.nr-narrow .wrap{max-width:1008px}

/* --------------------------------------------- نوار بالای صفحه‌ی اخبار */
.nr-hero{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;margin-bottom:48px}

.nr-lead{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:440px;border-radius:var(--r-lg);overflow:hidden;padding:36px;
  background:linear-gradient(160deg,#8c1a24,#4a0e14 55%,#1a0608);
  box-shadow:0 4px 16px rgba(28,25,23,.12);
}
/* تصویر شاخص پشتِ کارت می‌نشیند؛ لایه‌ی تیره روی آن، متن را خوانا نگه می‌دارد. */
.nr-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;z-index:0}
.nr-lead::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to top,rgba(26,6,8,.94) 15%,rgba(26,6,8,.5) 60%,rgba(26,6,8,.25));
}
.nr-lead > *:not(.nr-bg):not(.nr-wm){position:relative;z-index:1}
.nr-lead:hover .nr-bg{opacity:.58}
.nr-wm{
  position:absolute;inset-block-start:-60px;inset-inline-end:-70px;width:320px;
  opacity:.09;filter:grayscale(1) brightness(2.6);pointer-events:none;z-index:0;
}
.nr-ic{
  align-self:flex-start;display:grid;place-items:center;width:30px;height:30px;
  background:rgba(255,255,255,.14);color:var(--badge);border-radius:99px;margin-bottom:20px;
}
.nr-ic svg{width:14px;height:14px}
.nr-lead h2{font-size:clamp(20px,2.4vw,28px);font-weight:700;color:#fff;margin:0 0 14px;line-height:1.6}
.nr-lead p{font-size:15px;line-height:1.9;color:#e3c2c6;margin:0 0 18px;max-width:52ch}
.tm-lead h2{max-width:70ch}
.tm-lead p{max-width:60ch}
.nr-lead .nr-d{font-size:13px;color:#d8b7bb}
.nr-d{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.nr-2col{display:flex;flex-direction:column;gap:24px}
.nr-sec{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;flex:1;
  min-height:198px;border-radius:14px;overflow:hidden;padding:20px;
  background:var(--card);border:1px solid var(--border);box-shadow:0 1px 2px rgba(28,25,23,.06);
  transition:box-shadow .15s;
}
.nr-sec:hover{box-shadow:0 4px 16px rgba(28,25,23,.1)}
.nr-sec .nr-wm{inset-block-start:-30px;inset-inline-end:-40px;width:150px;opacity:.05;filter:grayscale(1)}
.nr-sec > *:not(.nr-wm):not(.nr-bg){position:relative;z-index:1}

/* کارتی که تصویر شاخص دارد، تصویر را پس‌زمینه می‌کند و متنش سفید می‌شود. */
.nr-sec.on-photo{border-color:transparent;background:#2d0a0e}
.nr-sec .nr-bg{opacity:.58}
.nr-sec.on-photo::after{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(to top,rgba(26,6,8,.92) 15%,rgba(26,6,8,.45) 62%,rgba(26,6,8,.2));
}
.nr-sec.on-photo:hover .nr-bg{opacity:.72}
.nr-sec.on-photo .nr-ic{background:rgba(255,255,255,.16);color:var(--badge)}
.nr-sec.on-photo h3{color:#fff}
.nr-sec.on-photo .nr-d{color:#e3c2c6}
.nr-sec .nr-ic{width:26px;height:26px;background:var(--badge);color:var(--accent);margin-bottom:12px}
.nr-sec .nr-ic svg{width:12px;height:12px}
.nr-sec h3{font-size:16px;font-weight:600;color:var(--text);margin:0 0 8px;line-height:1.6}
.nr-sec .nr-d{font-size:12px;color:var(--text3)}

/* ------------------------------------------------- شبکه‌ی کارت‌های خبر */
.nr-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-bottom:40px}
.nc{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(28,25,23,.06);
  transition:box-shadow .15s,transform .15s;
}
.nc:hover{box-shadow:0 4px 16px rgba(28,25,23,.1);transform:translateY(-2px)}
.nc-im{
  position:relative;display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;
  background:linear-gradient(135deg,#c8c4bf,#eeebe7);
}
.nc-im img{width:100%;height:100%;object-fit:cover}
.nc-im img.mark{width:44%;height:auto;object-fit:contain;opacity:.28;filter:grayscale(1)}
.nc-t{
  position:absolute;inset-block-start:10px;inset-inline-start:10px;
  display:grid;place-items:center;width:26px;height:26px;
  background:rgba(28,9,11,.55);color:#fff;border-radius:6px;
}
.nc-t svg{width:14px;height:14px}
.nc-b{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.nc-b h4{font-size:14px;font-weight:600;color:var(--text);margin:0;line-height:1.6}
.nc-d{font-size:11px;color:var(--text3);margin-top:auto}

/* ------------------------------------------------------- اطلاعیه‌ها */
.an-list{display:flex;flex-direction:column;gap:18px;margin-bottom:40px}
.an{
  display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:stretch;
  background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;
  box-shadow:0 1px 2px rgba(28,25,23,.06);transition:box-shadow .15s,border-color .15s;
}
.an:hover{box-shadow:0 4px 16px rgba(28,25,23,.1);border-color:var(--accent-soft)}
.an-im{
  position:relative;display:grid;place-items:center;width:280px;height:190px;
  border-radius:10px;overflow:hidden;background:linear-gradient(150deg,#8c1a24,#4a0e14 60%,#1a0608);
}
.an-im img{width:100%;height:100%;object-fit:cover}
.an-im img.mark{width:40%;height:auto;object-fit:contain;opacity:.18;filter:grayscale(1) brightness(2.6)}
.an-day{
  position:absolute;inset-block-start:12px;inset-inline-start:12px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:8px;background:var(--card);color:var(--accent);
}
.an-day b{font-size:16px;font-weight:700;line-height:1}
.an-day i{font-size:9px;font-style:normal;font-weight:600;margin-top:1px}
.an-b{display:flex;flex-direction:column;min-width:0}
.an-b h2{font-size:17px;font-weight:600;color:var(--text);margin:0 0 10px;line-height:1.7}
.an-b p{font-size:14px;line-height:1.85;color:var(--text2);margin:0;flex:1}
.an-go{align-self:flex-start;margin-top:16px;height:42px;padding-inline:20px}

/* ---------------------------------------------------------- تکنو مگ */
.nr-lead.tm-lead{min-height:380px;margin-bottom:40px}
.tm-cat{align-self:flex-start;margin-bottom:20px}

.tm-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.tm-chips a{
  height:38px;display:inline-flex;align-items:center;padding-inline:16px;white-space:nowrap;
  font-size:13px;font-weight:600;color:var(--text);
  background:var(--card);border:1px solid var(--border);border-radius:99px;
}
.tm-chips a:hover{background:var(--badge);color:var(--accent)}
.tm-chips a.on{background:var(--accent);border-color:var(--accent);color:#fff}

.tm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.tmc{
  display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r);overflow:hidden;box-shadow:0 1px 2px rgba(28,25,23,.06);
  transition:box-shadow .15s,transform .15s;
}
.tmc:hover{box-shadow:0 4px 16px rgba(28,25,23,.1);transform:translateY(-2px)}
.tmc-im{
  position:relative;display:grid;place-items:center;aspect-ratio:16/9;overflow:hidden;
  background:linear-gradient(135deg,#c8c4bf,#eeebe7);
}
.tmc-im img{width:100%;height:100%;object-fit:cover}
.tmc-im img.mark{width:38%;height:auto;object-fit:contain;opacity:.26;filter:grayscale(1)}
.tmc-cat{
  position:absolute;inset-block-start:10px;inset-inline-start:10px;
  font-size:11px;font-weight:600;color:var(--accent);background:var(--badge);
  border-radius:99px;padding:4px 12px;
}
.tmc-b{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}
.tmc-b h4{font-size:15px;font-weight:600;color:var(--text);margin:0;line-height:1.7}
.tmc-x{font-size:13px;line-height:1.8;color:var(--text2);flex:1}
.tmc-m{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text3);flex-wrap:wrap}

/* ------------------------------------------------------ فیلتر تاریخ */
.dfl-row{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.dfl{position:relative}
.dfl-btn{
  height:44px;display:flex;align-items:center;gap:8px;padding-inline:16px;cursor:pointer;
  font-size:14px;font-weight:600;color:var(--text);list-style:none;
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  box-shadow:0 1px 2px rgba(28,25,23,.05);
}
.dfl-btn::-webkit-details-marker{display:none}
.dfl-btn:hover{border-color:var(--accent-soft)}
.dfl-btn svg{width:16px;height:16px;color:var(--accent)}
.dfl[open] .dfl-btn{border-color:var(--accent-soft);background:var(--badge)}

.dfl-clear{
  height:44px;display:inline-flex;align-items:center;gap:6px;padding-inline:14px;
  font-size:13px;font-weight:600;color:var(--accent);background:var(--badge);border-radius:10px;
}
.dfl-clear:hover{background:var(--accent);color:#fff}
.dfl-clear svg{width:14px;height:14px}

.cal{
  position:absolute;inset-block-start:calc(100% + 8px);inset-inline-start:0;z-index:25;
  width:320px;max-width:calc(100vw - 48px);padding:20px;
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  box-shadow:0 16px 36px rgba(28,25,23,.16);
}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.cal-t{font-size:14px;font-weight:700;color:var(--text)}
.cal-nav{
  width:32px;height:32px;display:grid;place-items:center;
  background:var(--page);border-radius:8px;color:var(--text);
}
.cal-nav:hover{background:var(--badge);color:var(--accent)}
.cal-nav svg{width:16px;height:16px}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-w{text-align:center;font-size:11px;font-weight:600;color:var(--text3);padding:4px 0}
.cal-d{
  position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:600;color:var(--text);border-radius:8px;
}
.cal-d:hover{background:var(--badge);color:var(--accent)}
.cal-d.now{box-shadow:inset 0 0 0 1px var(--accent-soft)}
.cal-d.on{background:var(--accent);color:#fff;font-weight:700}
.cal-d i{
  position:absolute;inset-block-end:3px;width:4px;height:4px;
  border-radius:99px;background:var(--accent);
}

/* -------------------------------------------------- گالری‌ها (کارت‌ها) */
.gl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}
.glc{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  aspect-ratio:1;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(135deg,#c8c4bf,#8c1a24 60%,#4a0e14);
  box-shadow:0 1px 2px rgba(28,25,23,.08);transition:box-shadow .15s;
}
.glc:hover{box-shadow:0 6px 20px rgba(28,25,23,.16)}
.glc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.glc-wm{
  position:absolute;inset-block-start:50%;inset-inline-start:50%;width:46%;
  transform:translate(-50%,-50%);opacity:.16;filter:grayscale(1) brightness(2.6);
  pointer-events:none;z-index:0;
}
.glc-b{
  position:relative;z-index:1;padding:16px 14px 14px;
  background:linear-gradient(to top,rgba(20,7,9,.88),rgba(20,7,9,.35) 60%,transparent);
}
.glc-b h4{font-size:14px;font-weight:600;color:#fff;margin:0 0 6px;line-height:1.6}
.glc-d{font-size:11px;color:#e3c2c6}

.vd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}
.vdc{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;
  background:linear-gradient(135deg,#4a0e14,#1a0608 65%);
  box-shadow:0 1px 2px rgba(28,25,23,.08);transition:box-shadow .15s;
}
.vdc:hover{box-shadow:0 6px 20px rgba(28,25,23,.16)}
.vdc-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7;z-index:0}
.vdc-wm{
  position:absolute;inset-block-start:50%;inset-inline-start:50%;width:34%;
  transform:translate(-50%,-50%);opacity:.12;filter:grayscale(1) brightness(2.6);
  pointer-events:none;z-index:0;
}
.vdc-play{
  position:absolute;inset-block-start:50%;inset-inline-start:50%;z-index:1;
  transform:translate(-50%,-50%);width:52px;height:52px;border-radius:99px;
  background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;
}
.vdc-play svg{width:20px;height:20px}
.vdc:hover .vdc-play{background:rgba(255,255,255,.3)}
.vdc-b{
  position:relative;z-index:1;padding:16px 14px 14px;
  background:linear-gradient(to top,rgba(20,7,9,.92),rgba(20,7,9,.4) 60%,transparent);
}
.vdc-b h4{font-size:14px;font-weight:600;color:#fff;margin:0 0 6px;line-height:1.6}
.vdc-m{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#e3c2c6}

/* ------------------------------------------- صفحه‌ی یک خبر یا مقاله */
.na{padding-block:48px}
.na .crumbs .here{color:var(--text2)}
.na-pill{display:inline-flex;align-items:center;gap:6px;margin-bottom:18px;letter-spacing:normal}
.na-pill svg{width:13px;height:13px}
.na h1{font-size:clamp(21px,3.4vw,34px);font-weight:700;color:var(--text);margin:0 0 18px;line-height:1.5}
.na-meta{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text3);
  margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border);
}
.na-meta span{display:flex;align-items:center;gap:6px}
.na-meta svg{width:14px;height:14px}

.na-hero{
  margin:0 0 32px;border-radius:14px;overflow:hidden;aspect-ratio:16/8;
  background:linear-gradient(150deg,#8c1a24,#4a0e14 60%,#1a0608);
}
.na-hero{display:grid;place-items:center}
.na-hero img{width:100%;height:100%;object-fit:cover}
.na-hero img.mark{width:20%;height:auto;object-fit:contain;opacity:.16;filter:grayscale(1) brightness(2.6)}
.na-gal-main img.mark{width:16%;height:auto;object-fit:contain;opacity:.16;filter:grayscale(1) brightness(2.6)}

.na-gal{margin-bottom:32px}
.na-gal-main{
  position:relative;margin:0 0 12px;border-radius:14px;overflow:hidden;aspect-ratio:16/9;
  background:linear-gradient(150deg,#8c1a24,#4a0e14 60%,#1a0608);
}
.na-gal-main img{width:100%;height:100%;object-fit:cover}
.na-gal-n{
  position:absolute;inset-block-end:14px;inset-inline-end:14px;
  display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:99px;
  background:rgba(20,7,9,.65);color:#fff;font-size:12px;font-weight:600;
}
.na-gal-n svg{width:14px;height:14px}
.na-gal-main figcaption{
  position:absolute;inset-inline:0;inset-block-end:0;padding:28px 16px 14px;
  font-size:13px;color:#fff;background:linear-gradient(to top,rgba(20,7,9,.85),transparent);
}
.na-gal-main figcaption:empty{display:none}
.na-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.na-th{
  aspect-ratio:1;border-radius:8px;overflow:hidden;padding:0;cursor:pointer;
  background:var(--page);border:1px solid var(--border);
}
.na-th img{width:100%;height:100%;object-fit:cover}
.na-th.on{border:2px solid var(--accent)}

.na-vid{
  margin-bottom:32px;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#1a0608;
}
.na-vid video,.na-vid iframe{width:100%;height:100%;display:block;border:0;background:#1a0608}
.na-vlink{margin:0 0 24px}
.na-vlink a{font-weight:600}
.na-dur{font-size:13px;color:var(--text3);margin:-20px 0 28px}

.na-body{font-size:16px;line-height:2.1;color:#3d3936}
.na-body p{margin:0 0 22px}
.na-body h2,.na-body h3{font-size:20px;font-weight:700;color:var(--text);margin:32px 0 16px;line-height:1.7}
.na-body h4{font-size:17px;font-weight:700;color:var(--text);margin:26px 0 14px}
.na-body img{border-radius:var(--r);margin:8px 0 22px}
.na-body ul,.na-body ol{margin:0 0 22px;padding-inline-start:22px}
.na-body li{margin-bottom:8px}
.na-body a{color:var(--accent);text-decoration:underline}
.na-body table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:14px}
.na-body th,.na-body td{border:1px solid var(--border);padding:10px 12px;text-align:start}
.na-body blockquote,.na-q{
  margin:0 0 22px;padding:20px 24px;border-inline-start:3px solid var(--accent);
  background:var(--card);border-radius:8px;font-size:17px;font-weight:600;color:var(--text);
  line-height:1.95;
}

.na-foot{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;
  margin-top:40px;padding-top:24px;border-top:1px solid var(--border);
}
.na-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.na-tags span{font-size:12px;font-weight:600;color:var(--text2);background:var(--page);border-radius:99px;padding:6px 14px}
.na-share{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text3)}
.na-share button{
  width:36px;height:36px;display:grid;place-items:center;cursor:pointer;
  background:var(--page);border:none;border-radius:99px;color:var(--text2);
}
.na-share button:hover{background:var(--badge);color:var(--accent)}
.na-share svg{width:15px;height:15px}
.na-copied{color:var(--accent);font-weight:600}

.na-rel{margin-top:56px}
.na-rel h2{font-size:19px;font-weight:700;color:var(--text);margin:0 0 20px}
.na-rel-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ------------------------------------------------------------ دیدگاه‌ها */

.na-comments{margin-top:48px;padding-top:32px;border-top:1px solid var(--border)}
.na-comments h3{font-size:18px;font-weight:700;color:var(--text);margin:0 0 20px}

.na-c-list{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}
.na-c-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px 20px}
.na-c-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.na-c-name{font-size:13.5px;font-weight:700;color:var(--text)}
.na-c-date{font-size:11.5px;color:var(--text3)}
.na-c-text{font-size:13.5px;line-height:1.9;color:#3d3936;margin:0}
.na-c-empty{font-size:13px;color:var(--text3);margin:0}

.na-c-form{background:var(--page);border:1px solid var(--border);border-radius:14px;padding:22px}
.na-c-form h4{font-size:14px;font-weight:700;color:var(--text);margin:0 0 16px}
.na-c-form .c-grid{margin-bottom:12px}
.na-c-form .fld textarea{margin-bottom:12px}
.na-c-form .c-err{margin-bottom:12px;background:var(--badge);border-radius:8px;padding:10px 14px}
.na-c-form .c-done{padding:8px}

@media (max-width:640px){
  .na-c-form .c-grid{grid-template-columns:1fr}
}

/* ------------------------------------------------------------ واکنشی */
@media (max-width:1200px){
  .nr-grid{grid-template-columns:repeat(4,1fr)}
  .gl-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:1000px){
  .nr{padding-block:28px}
  .nr-hero{grid-template-columns:1fr;gap:20px;margin-bottom:32px}
  .nr-lead{min-height:300px;padding:24px}
  .nr-lead.tm-lead{min-height:280px}
  .nr-2col{flex-direction:row}
  .nr-grid{grid-template-columns:repeat(2,1fr)}
  .tm-grid,.na-rel-g{grid-template-columns:1fr}
  .gl-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .vd-grid{grid-template-columns:1fr;gap:16px}

  .an{grid-template-columns:1fr;gap:16px;padding:16px}
  .an-im{width:100%;height:170px}
  .an-go{align-self:stretch;width:100%}

  .dfl,.dfl-btn{flex:1}
  .cal{width:100%;padding:16px}

  .na{padding-block:24px}
  .na-thumbs{grid-template-columns:repeat(3,1fr)}
  .na-body{font-size:15px;line-height:2}
  .na-body blockquote,.na-q{font-size:15.5px;padding:16px 18px}
}

@media (max-width:560px){
  .nr-2col{flex-direction:column}
  .nr-grid{grid-template-columns:1fr}
}


/* ==========================================================================
   چارت سازمانی
   ========================================================================== */

.oc-page{padding-block:48px}

.oc-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:32px}
.oc-find{
  display:flex;align-items:center;gap:10px;flex:1;max-width:420px;height:46px;padding-inline:16px;
  background:var(--card);border:1px solid var(--border);border-radius:var(--r);
  box-shadow:0 1px 2px rgba(28,25,23,.05);
}
.oc-find:focus-within{border-color:var(--accent-soft)}
.oc-find svg{width:17px;height:17px;color:var(--text3);flex-shrink:0}
.oc-find input{
  flex:1;min-width:0;border:none;background:transparent;outline:none;
  font-family:inherit;font-size:14px;color:var(--text);
}
.oc-count{font-size:13px;color:var(--text3)}

/* چارتِ پهن، به‌جای شکستنِ صفحه، داخل همین قاب می‌لغزد. */
.oc-scroll{overflow-x:auto;padding-block-end:8px}

/*
 * چیدمانِ افقیِ درخت.
 *
 * هر <li> یک شاخه است و خط‌های اتصال با ::before و ::after کشیده می‌شوند —
 * بدون تصویر و بدون جاوااسکریپت. زیر همین چیدمان، ساختار HTML یک فهرستِ
 * تودرتوی معنادار می‌ماند، پس در چاپ و خوانشگر صفحه هم درست است.
 */
.oc{--oc-line:#c4b5ad;display:inline-flex;justify-content:center;min-width:100%;padding-block-start:4px}
/* فاصله‌ی کارت‌ها با padding است نه gap، تا خطِ افقیِ بینِ هم‌سطح‌ها یکسره بماند. */
.oc ul{display:flex;justify-content:center;gap:0;list-style:none;margin:0;padding:0;position:relative}
.oc li{
  position:relative;display:flex;flex-direction:column;align-items:center;
  padding-block-start:32px;padding-inline:14px;
}
.oc > ul > li{padding-block-start:0}

/* خط عمودیِ بالای هر گره */
.oc li::before{
  content:'';position:absolute;inset-block-start:0;inset-inline-start:50%;
  width:2px;height:32px;margin-inline-start:-1px;background:var(--oc-line);
}
.oc > ul > li::before{display:none}

/* خط افقیِ بینِ هم‌نیاکان */
.oc li::after{
  content:'';position:absolute;inset-block-start:0;inset-inline-start:0;
  width:100%;height:2px;background:var(--oc-line);
}
.oc > ul > li::after,.oc li:only-child::after{display:none}
.oc li:first-child::after{inset-inline-start:50%;width:50%}
.oc li:last-child::after{inset-inline-start:0;width:50%}

/* خط عمودیِ پایینِ گرهی که فرزند دارد */
.oc li > ul{margin-block-start:32px;position:relative}
.oc li > ul::before{
  content:'';position:absolute;inset-block-start:-32px;inset-inline-start:50%;
  width:2px;height:32px;margin-inline-start:-1px;background:var(--oc-line);
}

/* ------------------------------------------------------------ کارت فرد */
/*
 * کارتِ عمودی و وسط‌چین: تصویر بالا، نام و سمت زیرش. خطِ اتصال دقیقاً به
 * وسطِ کارت می‌رسد و کارت‌های هم‌سطح یک‌دست دیده می‌شوند.
 */
.oc-n{
  position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:236px;
  padding:20px 16px 18px;text-align:center;
  background:var(--card);border:1px solid var(--border);border-radius:16px;
  box-shadow:0 2px 10px -4px rgba(28,25,23,.12);transition:box-shadow .15s,border-color .15s,opacity .15s,transform .15s;
}
.oc-n::before{
  content:'';position:absolute;inset-block-start:-1px;inset-inline:22px;height:3px;border-radius:0 0 3px 3px;
  background:var(--accent);opacity:.85;
}
.oc-n:hover{box-shadow:0 10px 26px -10px rgba(28,25,23,.25);border-color:var(--accent-soft);transform:translateY(-2px)}

/* ریشه‌ی چارت پررنگ‌تر است تا سلسله‌مراتب از یک نگاه خوانده شود. */
.oc > ul > li > .oc-n{
  width:280px;background:linear-gradient(150deg,#5c1119,#2d0a0e 70%);border-color:transparent;
  box-shadow:0 14px 34px -14px rgba(92,17,25,.55);
}
.oc > ul > li > .oc-n::before{display:none}
.oc > ul > li > .oc-n .oc-av{
  width:96px;height:96px;background:rgba(255,255,255,.14);color:var(--badge);
  box-shadow:0 0 0 4px rgba(255,255,255,.18);
}
.oc > ul > li > .oc-n b{color:#fff}
.oc > ul > li > .oc-n i{color:#e3c2c6}
.oc > ul > li > .oc-n .oc-area{background:rgba(255,255,255,.12);color:var(--badge)}
.oc > ul > li > .oc-n .oc-c,.oc > ul > li > .oc-n .oc-c a{color:#d8b7bb}

.oc-av{
  width:84px;height:84px;flex-shrink:0;border-radius:50%;overflow:hidden;
  background:var(--badge);color:var(--accent);
  display:grid;place-items:center;font-size:22px;font-weight:700;
  box-shadow:0 0 0 4px var(--card),0 0 0 5px var(--border),0 6px 16px -6px rgba(28,25,23,.3);
}
/* چهره معمولاً بالای کادر است؛ بالای تصویر نگه داشته می‌شود. */
.oc-av img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}

.oc-t{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;width:100%;text-align:center}
.oc-t b{font-size:14px;font-weight:700;color:var(--text);line-height:1.6}
.oc-t i{font-size:12px;font-style:normal;color:var(--text2);line-height:1.7}
.oc-area{
  align-self:center;margin-block-start:6px;font-size:11px;font-weight:600;
  color:var(--accent);background:var(--badge);border-radius:99px;padding:3px 10px;
}
.oc-c{
  display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;
  margin-block-start:10px;padding-block-start:10px;border-top:1px dashed var(--border);
  font-size:11.5px;color:var(--text3);
}
.oc > ul > li > .oc-n .oc-c{border-top-color:rgba(255,255,255,.16)}
/* هر سطر: آیکن اول، بعد متن — برای تلفن و ایمیل یکسان. */
.oc-c span,.oc-c a{display:inline-flex;align-items:center;gap:6px;max-width:100%;min-width:0;color:inherit;direction:rtl}
.oc-c a bdi{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.oc-c a:hover{color:var(--accent)}
.oc-c svg{width:13px;height:13px;flex-shrink:0}

/* نتیجه‌ی جست‌وجو: غیرهم‌خوان‌ها کم‌رنگ می‌شوند، درخت سرِ جایش می‌ماند. */
.oc.searching .oc-n{opacity:.25}
.oc.searching .oc-n.hit{opacity:1;border-color:var(--accent);box-shadow:0 4px 16px rgba(158,28,40,.18)}

/*
 * چیدمانِ عمودی (تورفته).
 *
 * چارتِ افقی وقتی سازمان بزرگ می‌شود از عرض صفحه می‌زند بیرون و کاربر باید
 * افقی بلغزد تا رئیس را پیدا کند. اسکریپت عرض را می‌سنجد و اگر جا نشد همین
 * کلاس را می‌گذارد؛ روی موبایل هم همیشه همین چیدمان است.
 *
 * ساختار HTML یکی است — فقط شکلش عوض می‌شود.
 */
/*
 * چارتِ سازمانِ بزرگ از عرضِ صفحه می‌زند بیرون؛ این عادی است و همین‌جا افقی
 * می‌لغزد. اسکریپت، قاب را وسط می‌آورد تا رئیس اول دیده شود و این راهنما را
 * فقط وقتی نشان می‌دهد که واقعاً لغزیدن لازم باشد.
 */
.oc-hint{
  display:none;align-items:center;gap:7px;justify-content:center;
  margin-block-start:14px;font-size:12.5px;color:var(--text3);
}
.oc-scroll.can-scroll + .oc-hint{display:flex}
.oc-hint svg{width:15px;height:15px;color:var(--accent)}

@media (max-width:1000px){
  .oc-page{padding-block:28px}
  .oc-bar{margin-bottom:24px}
  .oc-find{max-width:none}
  .oc-scroll{overflow:visible}

  .oc,.oc ul{display:block}
  .oc{min-width:0;width:100%}
  .oc ul{gap:0}
  .oc li{display:block;padding:0 0 10px}
  .oc li::before,.oc li::after,.oc li > ul::before{display:none}
  .oc li > ul{
    margin-block-start:10px;padding-inline-start:16px;
    border-inline-start:2px solid var(--border);
  }
  /* موبایل: کارتِ افقی و جمع‌وجور — تصویر کنار متن. */
  .oc .oc-n,.oc > ul > li > .oc-n{
    width:100%;flex-direction:row;align-items:flex-start;text-align:start;gap:14px;padding:14px;
  }
  .oc-n::before{display:none}
  .oc-av,.oc > ul > li > .oc-n .oc-av{width:60px;height:60px;font-size:17px}
  .oc-t{align-items:flex-start;text-align:start}
  .oc-area{align-self:flex-start}
  .oc-c{align-items:flex-start}
  .oc-hint{display:none !important}
}

/*
 * روسای پیشین — تایم‌لاینِ عمودی.
 *
 * یک خطِ راهنما پشتِ کارت‌ها می‌گذرد و هر کارت با یک نقطه به آن وصل می‌شود؛
 * دقیقاً همان چیدمانی که در دیزاین است. روی موبایل خط و نقطه به سمتِ شروعِ
 * سطر (راست، چون RTL هستیم) نزدیک‌تر می‌آیند تا کارت‌های عریض جا شوند.
 */
.fp-timeline{position:relative;display:flex;flex-direction:column;gap:28px}
.fp-rail{
  position:absolute;top:8px;bottom:8px;inset-inline-start:40px;width:2px;background:var(--border);
}
.fp-item{position:relative;padding-inline-start:88px}
.fp-dot{
  position:absolute;top:6px;inset-inline-start:32px;width:18px;height:18px;border-radius:9999px;
  background:var(--accent);border:3px solid var(--page);box-shadow:0 0 0 2px var(--accent);
}
.fp-card{
  display:grid;grid-template-columns:110px 1fr;gap:20px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-sm);
}
.fp-photo{width:110px;height:110px;border-radius:var(--r);overflow:hidden;background:var(--page);flex-shrink:0}
.fp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.fp-ph{
  width:100%;height:100%;display:grid;place-items:center;background:var(--badge);color:var(--accent);
  font-size:26px;font-weight:700;
}
.fp-info{min-width:0}
.fp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.fp-head h2{font-size:16px;font-weight:700;color:var(--text);margin:0;line-height:1.6}
.fp-years{
  font-size:12px;font-weight:600;color:var(--accent);background:var(--badge);border-radius:9999px;
  padding:4px 12px;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.fp-facts{display:flex;flex-direction:column;gap:6px}
.fp-facts > div{display:flex;align-items:center;gap:8px}
.fp-facts svg{width:14px;height:14px;color:var(--accent);flex-shrink:0}
.fp-facts span{font-size:13px;color:var(--text2)}

@media (max-width:1000px){
  .fp-rail{inset-inline-start:16px}
  .fp-item{padding-inline-start:44px}
  .fp-dot{inset-inline-start:8px}
  .fp-card{grid-template-columns:1fr;justify-items:flex-start;text-align:start}
  .fp-photo{width:120px;height:120px}
}

/*
 * فضاهای فیزیکی.
 *
 * فیلترِ دسته‌بندی سمتِ کلاینت است: همه‌ی کارت‌ها در HTML هستند، فقط با
 * data-ps-category پنهان/آشکار می‌شوند — همان روشِ فیلترِ سالِ شفافیت.
 * دکمه‌های بزرگ فقط در دسکتاپ‌اند؛ زیر ۱۰۰۰px با یک کشویی (.c-pick) جا
 * عوض می‌کنند.
 */
.ps-pick{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:40px}
.ps-pick button{
  display:inline-flex;align-items:center;gap:8px;height:42px;padding-inline:18px;border-radius:9999px;
  border:1.5px solid var(--border);background:var(--card);color:var(--text);font-family:inherit;
  font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;
}
.ps-pick button.on{border-color:var(--accent);background:var(--accent);color:#fff}
.ps-count{
  font-size:11px;font-weight:700;color:var(--accent);background:var(--badge);border-radius:9999px;
  padding:2px 8px;font-variant-numeric:tabular-nums;
}
.ps-pick button.on .ps-count{background:rgba(255,255,255,.25);color:#fff}
.ps-dd{display:none;margin-bottom:32px}

.ps-list{display:flex;flex-direction:column;gap:32px}
.ps-card{
  display:grid;grid-template-columns:380px 1fr;gap:28px;background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:28px;box-shadow:var(--sh-sm);
}
.ps-card[hidden]{display:none}
.ps-gallery{position:relative;border-radius:var(--r);overflow:hidden;background:var(--page);aspect-ratio:4/3;order:1}
.ps-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.ps-gallery img.on{display:block}
.ps-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--text3);font-size:13px}
.ps-nav{position:absolute;inset-inline:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:10px}
.ps-nav button{
  width:32px;height:32px;border-radius:9999px;border:none;background:rgba(28,25,23,.55);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
}
.ps-nav button svg{width:15px;height:15px}
.ps-dots{display:flex;gap:5px}
.ps-dots span{width:6px;height:6px;border-radius:9999px;background:rgba(255,255,255,.5)}
.ps-dots span.on{background:#fff}

.ps-info{min-width:0;display:flex;flex-direction:column;order:2}
.ps-cat{
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--accent);
  background:var(--badge);border-radius:9999px;padding:4px 12px;width:fit-content;margin-bottom:10px;
}
.ps-info h2{font-size:19px;font-weight:700;color:var(--text);margin:0 0 12px;line-height:1.6}
.ps-info p{font-size:13.5px;line-height:1.9;color:var(--text2);margin:0 0 20px;flex:1}
.ps-addr{display:flex;align-items:flex-start;gap:8px;margin-bottom:20px}
.ps-addr svg{width:16px;height:16px;color:var(--accent);flex-shrink:0;margin-top:2px}
.ps-addr span{font-size:13px;color:var(--text2);line-height:1.8}
.ps-acts{display:flex;gap:10px;flex-wrap:wrap}
.ps-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding-inline:16px;border-radius:9999px;font-size:13px;font-weight:600}
.ps-btn svg{width:14px;height:14px}
.ps-btn.out{border:1px solid var(--border);background:#fff;color:var(--text)}
.ps-btn.out:hover{background:var(--page);color:var(--accent)}
.ps-btn.solid{border:none;background:var(--accent);color:#fff}
.ps-btn.solid:hover{background:var(--accent-hover)}

@media (max-width:1000px){
  .ps-pick{display:none}
  .ps-dd{display:block}
  .ps-card{grid-template-columns:1fr}
  .ps-gallery{order:-1}
  .ps-info{order:2}
}

/*
 * اعضا و کمیته‌ها — چهار برگه‌ی هم‌شکل (شورای فناوری، شورای راهبردی، کمیته
 * واگذاری اراضی، کمیته جذب و پذیرش): فهرستِ شبکه‌ایِ کارت‌های عضو.
 */
.cm-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.cm-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;background:var(--card);
  border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 18px;box-shadow:var(--sh-sm);
}
.cm-photo{width:96px;height:96px;border-radius:var(--r);overflow:hidden;background:var(--page);flex-shrink:0}
.cm-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cm-ph{width:100%;height:100%;display:grid;place-items:center;background:var(--badge);color:var(--accent);font-size:22px;font-weight:700}
.cm-card h2{font-size:15px;font-weight:700;color:var(--text);margin:4px 0 0;line-height:1.6}
.cm-role{font-size:12.5px;color:var(--text2)}
.cm-site{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--accent)}
.cm-site:hover{color:var(--accent-hover)}
.cm-site svg{width:13px;height:13px;flex-shrink:0}

@media (max-width:1000px){
  .cm-grid{grid-template-columns:1fr}
}

/* ============================================================ نمایشگر اسناد شفافیت
 *
 * سند داخل همین صفحه خوانده می‌شود: نه نمایشگرِ PDF مرورگر (که دکمه‌ی
 * دانلود و چاپ دارد)، نه لایه‌ی متنیِ قابل‌کپی — فقط تصویرِ صفحه‌ها.
 */

.tp-nodl{font-size:12px;color:var(--text3);white-space:nowrap}

html.docv-open{overflow:hidden}
.docv{
  position:fixed;inset:0;z-index:2000;background:rgba(28,10,12,.62);
  display:grid;place-items:center;padding:18px;
}
.docv-box{
  width:min(1180px,100%);height:min(94vh,100%);display:flex;flex-direction:column;
  background:var(--card);border-radius:16px;overflow:hidden;
  box-shadow:0 30px 80px rgba(28,10,12,.35);
  user-select:none;-webkit-user-select:none;
}
.docv-h{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 20px;border-bottom:1px solid var(--border);
}
.docv-t{margin:0;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.docv-x{
  border:none;background:none;font-size:25px;line-height:1;cursor:pointer;
  color:var(--text3);padding:0 4px;font-family:inherit;
}
.docv-x:hover{color:var(--accent)}
.docv-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  padding:9px 20px;border-bottom:1px solid var(--border);background:var(--page);
}
.docv-nav,.docv-zoom{display:flex;align-items:center;gap:8px}
.docv-bar button{
  width:30px;height:30px;border-radius:9px;border:1px solid var(--border);background:var(--card);
  color:var(--text2);font-size:16px;line-height:1;cursor:pointer;font-family:inherit;
}
.docv-bar button:hover{border-color:var(--accent);color:var(--accent)}
.docv-pg,.docv-zl{font-size:12.5px;color:var(--text2);min-width:96px;text-align:center}
.docv-zl{min-width:52px}
.docv-body{
  flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;
  gap:14px;padding:16px 12px 26px;background:#3a3331;
}
.docv-page{
  position:relative;flex:none;background:#fff;border-radius:4px;overflow:hidden;
  box-shadow:0 6px 20px rgba(0,0,0,.25);
}
.docv-page canvas{display:block;width:100%;height:100%}
/* روکشِ نامرئی روی هر صفحه: راست‌کلیک و کشیدن به خودِ بوم نمی‌رسد. */
.docv-shield{position:absolute;inset:0;display:block}
.docv-note{color:#f2eae8;font-size:14px;margin:40px 0;text-align:center}
.docv-note.err{color:#ffd3d3}
.docv-f{
  padding:10px 20px;border-top:1px solid var(--border);
  font-size:12px;color:var(--text3);text-align:center;
}
.docv-f.warn{color:var(--accent);font-weight:600}

@media (max-width:640px){
  .docv{padding:0}
  .docv-box{height:100vh;border-radius:0}
  .docv-pg{min-width:auto;font-size:12px}
}

/* چاپِ صفحه هم سند را همراه خود نمی‌برد. */
@media print{
  .docv{display:none !important}
}

/* ============================================================ دیوار ایده
 *
 * IdeaWall.dc.html: شبکه‌ی دوستونیِ ایده‌ها، و زیرش کارتِ ثبت ایده.
 * کارت‌ها دکمه‌اند نه لینک، چون متن کامل در پنجره باز می‌شود نه صفحه‌ی جدا.
 */

.iw{padding-block:56px}
.iw-wrap{max-width:1048px;margin:0 auto;padding-inline:24px}
.iw-head{text-align:center;margin-bottom:40px}
.iw-head h1{font-size:28px}
.iw-head p{font-size:14px;color:var(--text2);line-height:1.9;margin:12px 0 0}

.iw-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}
.iw-card{
  text-align:start;background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:20px;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:8px;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.iw-card:hover{border-color:var(--accent-soft);box-shadow:0 4px 14px rgba(28,25,23,.08)}
.iw-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.iw-card h2{font-size:15px;font-weight:700;color:var(--text);margin:0;line-height:1.8}
.iw-card p{
  font-size:13px;color:var(--text2);line-height:1.8;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.iw-more{font-size:11.5px;color:var(--accent);font-weight:600;margin-top:4px}
.iw-empty{
  background:var(--card);border:1px solid var(--border);border-radius:14px;
  padding:48px 24px;text-align:center;color:var(--text3);font-size:14px;margin-bottom:28px;
}
.iw .pager{margin-bottom:28px}

/* ---- فرم ثبت ایده ---- */
.iw-form{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:32px;margin-top:20px}
.iw-form h2{font-size:17px;font-weight:700;color:var(--text);margin:0 0 20px}
.iw-fields{display:flex;flex-direction:column;gap:16px}
.iw-fields label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:8px}
.iw-fields input[type=text],.iw-fields textarea{
  width:100%;border:1px solid #e2ded8;border-radius:9px;font-family:inherit;font-size:14px;
  color:var(--text);background:#fff;
}
.iw-fields input[type=text]{height:46px;padding:0 16px}
.iw-fields textarea{padding:12px 16px;resize:vertical;line-height:1.8;min-height:120px}
.iw-fields input:focus,.iw-fields textarea:focus{outline:2px solid var(--accent-soft);outline-offset:1px}
.iw-hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.iw-err{font-size:12.5px;color:var(--accent);background:var(--badge);border-radius:8px;padding:10px 14px}
.iw-send{
  align-self:flex-start;height:46px;padding-inline:28px;border:none;border-radius:99px;
  background:var(--accent);color:#fff;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;
}
.iw-send:hover{background:var(--accent-hover)}
.iw-ok{
  display:flex;align-items:center;gap:10px;background:#e5f0e7;border-radius:10px;padding:14px 18px;
}
.iw-ok svg{width:18px;height:18px;flex:none;stroke:#3a7a4a}
.iw-ok span{font-size:13.5px;color:#3a7a4a;font-weight:600}

/* ---- پنجره‌ی متن کامل ---- */
html.iwm-open{overflow:hidden}
.iwm{
  position:fixed;inset:0;background:rgba(28,9,11,.55);display:flex;align-items:center;
  justify-content:center;z-index:100;padding:24px;
}
.iwm-box{
  background:var(--card);border-radius:16px;max-width:520px;width:100%;
  box-shadow:0 24px 60px rgba(28,25,23,.3);max-height:80vh;display:flex;flex-direction:column;
}
.iwm-h{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:22px 26px;border-bottom:1px solid var(--border);
}
.iwm-h h2{font-size:16px;font-weight:700;color:var(--text);margin:0;line-height:1.8}
.iwm-x{
  width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;border-radius:8px;cursor:pointer;color:var(--text2);
}
.iwm-x:hover{background:var(--page)}
.iwm-x svg{width:18px;height:18px}
.iwm-b{padding:22px 26px;overflow-y:auto}
.iwm-b p{font-size:14px;line-height:2;color:var(--text);margin:0;white-space:pre-line}

@media (max-width:1000px){
  .iw-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .iw{padding-block:40px}
  .iw-form{padding:22px}
  .iwm{padding:14px}
}

/* ---- نمایشگر سند، درجا (داخل خودِ کارت صفحه) ---- */
.docv-in{
  position:static;inset:auto;background:none;display:block;padding:0;z-index:auto;animation:none;
}
.docv-in .docv-box{
  width:100%;height:auto;max-height:none;border:1px solid var(--border);
  border-radius:12px;box-shadow:none;
}
.docv-in .docv-h{padding:12px 16px}
.docv-in .docv-t{font-size:14px}
.docv-in .docv-bar{padding:8px 16px}
.docv-in .docv-body{max-height:74vh;padding:14px 10px 20px;background:var(--page)}
.docv-in .docv-page{box-shadow:0 2px 10px rgba(28,25,23,.12);border:1px solid var(--border)}
.docv-in .docv-note{color:var(--text3)}
.docv-in .docv-f{font-size:11.5px;padding:9px 16px}
.docv-full{
  border:1px solid var(--border);background:var(--card);border-radius:99px;cursor:pointer;
  font-family:inherit;font-size:12px;color:var(--text2);padding:6px 14px;white-space:nowrap;
}
.docv-full:hover{border-color:var(--accent);color:var(--accent)}
@media (max-width:640px){
  .docv-in .docv-body{max-height:70vh}
}
