/* ASHI-DEV V2 — لایه‌ی طراحی «امضا»: Obsidian · Graphite · Silver · Ivory · Crimson
   بعد از tokens.css و site.css بارگذاری می‌شود؛ فقط ظاهر را بازتعریف و بخش‌های جدید را استایل می‌کند. */
:root{--c1:var(--accent);--c2:var(--signature);--c3:var(--signature-deep);--bg:var(--surface-0);--tx:var(--text);--mu:var(--text-muted);--ln:var(--line);
 --fill:var(--fill-soft);--navbg:rgba(8,8,10,.72);--navbg2:rgba(8,8,10,.88);--card1:rgba(241,243,246,.06);--card2:rgba(241,243,246,.015);--ringc:rgba(201,206,214,.35)}
[data-theme=light]{--c1:var(--accent);--navbg:rgba(250,246,238,.8);--navbg2:rgba(250,246,238,.92);--card1:rgba(255,255,255,.9);--card2:rgba(255,252,246,.6);--ringc:rgba(60,50,35,.35)}
body{font-family:var(--font);line-height:var(--lh-body)}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:var(--grain);opacity:.035;mix-blend-mode:overlay}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--r-xs)}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:var(--z-toast);background:var(--surface-2);color:var(--text);padding:8px 16px;border-radius:var(--r-sm);border:1px solid var(--line-strong)}
.skip:focus{top:12px}

/* ---- نوار بالا ---- */
nav{backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);z-index:var(--z-nav)}
.logo{letter-spacing:.28em;font-weight:800;background:var(--metal-text);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-flex;align-items:center;gap:10px}
.logo img{height:28px;width:auto}
nav li a{position:relative;padding:4px 0}
nav li a::after{content:"";position:absolute;inset-inline:0;bottom:-2px;height:1px;background:var(--signature);transform:scaleX(0);transition:transform var(--t-med) var(--ease)}
nav li a:hover,nav li a.on{color:var(--text-strong)}nav li a:hover::after,nav li a.on::after{transform:scaleX(1)}
.nav-cta{display:inline-flex;align-items:center;padding:6px 18px;border-radius:var(--r-pill);border:1px solid var(--signature);color:var(--text-strong);font-size:var(--fs-sm);text-decoration:none;background:color-mix(in srgb,var(--signature) 18%,transparent);transition:background var(--t-fast),box-shadow var(--t-med)}
.nav-cta:hover{background:var(--signature);box-shadow:var(--crimson-glow)}
@media(max-width:780px){.nav-cta{display:none}}

/* ---- عنوان‌ها و دکمه‌ها ---- */
h1,h2{letter-spacing:-.01em}
.neon{background:var(--metal-text);background-size:100% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:none}
.tag{background:transparent;border-color:var(--line-strong);color:var(--accent);letter-spacing:.04em}
.type{color:var(--accent)}
.btn{border-radius:var(--r-pill);padding:12px 28px;transition:transform var(--t-med) var(--ease),box-shadow var(--t-med),background var(--t-fast)}
.btn.sm{padding:7px 18px;font-size:var(--fs-sm)}
.b1{background:var(--metal);color:#0a0a0c;box-shadow:var(--e-2)}
.b1:hover{box-shadow:0 14px 44px -12px rgba(220,225,235,.5)}
.b2{background:transparent;border:1px solid var(--signature);color:var(--text-strong)}
.b2:hover{background:color-mix(in srgb,var(--signature) 22%,transparent);box-shadow:var(--crimson-glow)}
.eb{display:block;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--signature);margin-bottom:var(--sp-2);font-weight:700}
.nebula i:nth-child(1){background:var(--signature-deep)}.nebula i:nth-child(2){background:var(--signature);opacity:.12}.nebula i:nth-child(3){background:var(--accent);opacity:.06}

/* ---- کارت‌ها ---- */
.card,.pjc,.faq,.pd-card,.est,.tq{background:linear-gradient(160deg,var(--card1),var(--card2));border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--e-1);transition:transform var(--t-med) var(--ease),border-color var(--t-med),box-shadow var(--t-med)}
.card:hover,.pjc:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--e-3)}

/* ---- درباره / بیانیه / آمار ---- */
.about{padding:var(--sp-9) 0 var(--sp-7)}
.about-cols{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--sp-7);align-items:start}
.about-lead{font-size:var(--fs-2xl);line-height:var(--lh-snug);font-weight:700;background:var(--metal-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.about-text{color:var(--text-muted);font-size:var(--fs-lg)}
.statement{padding:var(--sp-8) 0;text-align:center;border-block:1px solid var(--line);margin-block:var(--sp-7)}
.statement p{font-size:var(--fs-3xl);line-height:var(--lh-tight);font-weight:800;max-width:22ch;margin-inline:auto}
.statement p::first-line{color:var(--text-strong)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-5);padding:var(--sp-6) 0}
.stat{padding:var(--sp-4) 0;border-top:1px solid var(--line-strong);text-align:start}
.stat b{display:block;font-size:var(--fs-3xl);font-weight:800;background:var(--metal-text);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.stat span{color:var(--text-muted);font-size:var(--fs-sm)}
@media(max-width:780px){.about-cols{grid-template-columns:1fr;gap:var(--sp-5)}}

/* ---- فرایند کار: ستون مراحل (تب) + پنل جزئیات ---- */
.proc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:var(--sp-6);align-items:start}
.proc-l{list-style:none;display:grid;gap:var(--sp-2);margin:0;padding:0}
.ps-b{width:100%;display:flex;align-items:center;gap:var(--sp-4);text-align:start;background:transparent;border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);color:var(--text-muted);font:inherit;cursor:pointer;transition:all var(--t-fast)}
.ps-b i{font-style:normal;font-weight:800;font-size:var(--fs-sm);color:var(--accent);min-width:2ch}
.ps-b:hover{border-color:var(--line-strong);color:var(--text)}
.ps.on .ps-b,.ps-b[aria-selected=true]{background:var(--fill-hover);border-color:var(--signature);color:var(--text-strong)}
.ps.on .ps-b i{color:var(--signature)}
.ps-d{color:var(--text-muted);padding:var(--sp-2) var(--sp-4) var(--sp-3)}
.has-js .ps-d{display:none}
.proc-p{position:sticky;top:96px;padding:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(160deg,var(--card1),var(--card2));box-shadow:var(--e-2);min-height:220px}
.proc-p[hidden]{display:none}
.pn{display:block;font-size:var(--fs-xs);letter-spacing:var(--tracking-caps);color:var(--signature);font-weight:700;margin-bottom:var(--sp-3)}
.proc-p h3{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}
.proc-p p{color:var(--text-muted);font-size:var(--fs-lg)}
.pbar{height:2px;background:var(--line);border-radius:2px;margin-top:var(--sp-5);overflow:hidden}
.pbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--signature))}
@media(max-width:780px){.proc{grid-template-columns:1fr}.proc-p{position:static}}

/* ---- پروژه‌ها ---- */
.pf,.pf-bar{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-5)}
.pf-s{display:inline-flex;gap:var(--sp-2)}
.pf button,.pf-bar button,.pf-s button{background:transparent;border:1px solid var(--line);color:var(--text-muted);padding:5px 16px;border-radius:var(--r-pill);cursor:pointer;font:inherit;font-size:var(--fs-sm);transition:all var(--t-fast)}
.pf button:hover,.pf-bar button:hover{border-color:var(--line-strong);color:var(--text)}
.pf button.on,.pf-bar button.on{background:var(--text);color:var(--surface-0);border-color:var(--text)}
.pjg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-5)}
.pjc{overflow:hidden;padding:0}
.pjc-in{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.pjc-cv{aspect-ratio:16/10;background:var(--surface-2);overflow:hidden;display:grid;place-items:center}
.pjc-cv img{width:100%;height:100%;object-fit:cover;transition:transform var(--t-slow) var(--ease)}
.pjc:hover .pjc-cv img{transform:scale(1.05)}
.pjc-ic{font-size:3rem}
.pjc-b{padding:var(--sp-4) var(--sp-5) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);flex:1}
.pjc-b h3{font-size:var(--fs-lg)}.pjc-b p{color:var(--text-muted);font-size:var(--fs-sm);flex:1}
.more{color:var(--signature);font-size:var(--fs-sm);font-weight:700}.more::after{content:" ←";display:inline-block;transition:transform var(--t-fast)}
[dir=ltr] .more::after{content:" →"}.pjc:hover .more::after{transform:translateX(-4px)}[dir=ltr] .pjc:hover .more::after{transform:translateX(4px)}
.bd{display:inline-block;padding:2px 12px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-style:normal;border:1px solid var(--line-strong);color:var(--text-muted)}
.bd.st-live{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}
.bd.st-dev{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent)}

/* ---- صفحه‌ی جزئیات پروژه ---- */
.pd{padding:calc(64px + var(--sp-7)) 0 var(--sp-8)}
.pd-back{display:inline-block;color:var(--text-muted);text-decoration:none;font-size:var(--fs-sm);margin-bottom:var(--sp-5)}.pd-back:hover{color:var(--text)}
.pd-h h1{font-size:var(--fs-3xl);margin-bottom:var(--sp-3)}
.pd-lead{font-size:var(--fs-lg);color:var(--text-muted);max-width:62ch}
.pd-meta{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-top:var(--sp-5)}
.pd-hero{margin:var(--sp-6) 0;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--e-3)}.pd-hero img{display:block;width:100%;height:auto}
.pd-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--sp-7)}
.pd-blk{margin-bottom:var(--sp-6)}.pd-blk h2,.pd-gal-w h2,.pd-more h2{font-size:var(--fs-xl);margin-bottom:var(--sp-3)}
.pd-blk p{color:var(--text-muted);font-size:var(--fs-lg)}
.pd-card{padding:var(--sp-5);margin-bottom:var(--sp-4)}.pd-card h3{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);margin-bottom:var(--sp-3)}
.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chips span{padding:3px 12px;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:var(--fs-sm)}
.pd-gal-w,.pd-more{margin-top:var(--sp-8)}
.pd-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-4)}.pd-gal figure{border-radius:var(--r-md);overflow:hidden}.pd-gal img{width:100%;display:block;cursor:zoom-in}
@media(max-width:780px){.pd-grid{grid-template-columns:1fr;gap:var(--sp-4)}}

/* ---- نظرها (فقط تأییدشده‌ها رندر می‌شوند) ---- */
.tg:not(.ib){display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-5)}
.tq{padding:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-4);margin:0}
.tq blockquote,.tq p{font-size:var(--fs-lg);line-height:var(--lh-snug)}
.tq footer,.tq .who{display:flex;align-items:center;gap:var(--sp-3);color:var(--text-muted);font-size:var(--fs-sm);background:none;border:0;padding:0}
.av{width:40px;height:40px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--surface-3);color:var(--accent);font-weight:800;flex:none}

/* ---- برآورد قیمت (فقط با قیمت واقعی و فعال‌بودن نمایش داده می‌شود) ---- */
.est{padding:var(--sp-6)}
.est label{display:block;font-size:var(--fs-sm);color:var(--text-muted);margin:var(--sp-3) 0 var(--sp-1)}
.est select,.est input{width:100%;background:var(--surface-1);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:10px 14px;font:inherit}
.est output,.est .est-total{display:block;margin-top:var(--sp-5);font-size:var(--fs-2xl);font-weight:800}
.est-note{color:var(--text-muted);font-size:var(--fs-sm);margin-top:var(--sp-2)}

/* ---- وضعیت زنده (فقط نتیجه‌ی بررسی واقعی) ---- */
.status{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-muted)}
.status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--silver-700)}
.status.up::before{background:var(--ok);box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 60%,transparent);animation:pl 2.4s infinite}
.status.down::before{background:var(--bad)}
.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-inline-end:8px;animation:pl 2.4s infinite}
@keyframes pl{70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}

/* ---- زمین (جایگزین بدون WebGL) و تماس ---- */
.orbit.nogl{border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a2a32,#0a0a0d 70%);border:1px solid var(--line-strong);box-shadow:inset -20px -20px 60px rgba(0,0,0,.6),0 0 80px -20px color-mix(in srgb,var(--signature) 50%,transparent)}
.cta,.cbody{border-radius:var(--r-xl)}
input,textarea,select{font-family:inherit}
footer{border-top:1px solid var(--line);background:transparent}
footer .cp{color:var(--text-muted);font-size:var(--fs-sm)}
#lb{z-index:var(--z-modal)}

/* ---- حرکت: همه‌چیز با کاهش حرکت خاموش می‌شود ---- */
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
 .has-js .ps-d{max-height:none;opacity:1}.pulse,.status.up::before{animation:none}}

/* ---- امضای دیجیتال (پرتال) ---- */
.sigp{border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-1);padding:var(--sp-3)}
.sigp canvas{width:100%;height:160px;display:block;background:#fff;border-radius:var(--r-sm);touch-action:none;cursor:crosshair}
.sigp .acts{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}

/* ریتم عمودی: فاصله‌ی بخش‌ها فشرده‌تر و یکدست */
section{padding:var(--sp-8) 0}
.about{padding:0 0 var(--sp-5)}
.about-lead{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-6)}
.about-lead .statement{margin:0;padding:var(--sp-6) 0}
.about-lead .about-text{font-size:var(--fs-lg);font-weight:400;color:var(--text-muted)}
@media(max-width:780px){section{padding:var(--sp-7) 0}}
.pn{direction:ltr;unicode-bidi:isolate;text-align:start}
@media(max-width:520px){nav .tools{gap:4px}nav .tools .ib.tg,nav .tools .ib.adm span,nav .tools .ib.acct span{display:none}nav .logo span{max-width:30vw;overflow:hidden;text-overflow:ellipsis}}
html,body{overflow-x:clip}
.pf{align-items:center}.pf-l{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted);margin-inline-end:var(--sp-2)}
.pf-bar{flex-direction:column;align-items:stretch}.pf-bar .pf{margin-bottom:var(--sp-2)}

/* ---- پارالکس ظریف، نوار بارگذاری، انتقال نرم صفحه و مودال‌ها ---- */
.hero .ht{transform:translateY(calc(var(--py,0px) * -.5));opacity:var(--pf,1);will-change:transform}
.hero .orbit{transform:translateY(calc(var(--py,0px) * .4))}
html::before{content:"";position:fixed;top:0;inset-inline:0;height:2px;z-index:var(--z-toast);background:linear-gradient(90deg,transparent,var(--signature),var(--accent));transform:scaleX(0);transform-origin:left;opacity:0;transition:opacity var(--t-fast)}
html.net::before{opacity:1;transform:scaleX(.85);transition:transform 6s var(--ease),opacity var(--t-fast)}
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
body{animation:pgin .45s var(--ease) both}
@keyframes pgin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
#lb{display:flex;opacity:0;visibility:hidden;transition:opacity var(--t-med) var(--ease),visibility var(--t-med)}
#lb.on{opacity:1;visibility:visible}
#lb img{transform:scale(.97);transition:transform var(--t-med) var(--ease)}#lb.on img{transform:none}
.cmd,.cmd-b,#cp{animation:mdin .25s var(--ease) both}
@keyframes mdin{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
button.busy,.btn[aria-busy=true]{opacity:.7;pointer-events:none}
@media(prefers-reduced-motion:reduce){body,.cmd,.cmd-b,#cp{animation:none}html::before{transition:none}.hero .ht,.hero .orbit{transform:none;opacity:1}@view-transition{navigation:none}}
