/* div.ir — base: فونت لوکال Vazirmatn (بدون گوگل‌فونت)، توکن‌ها، ریست، انیمیشن‌ها */
@font-face{
  font-family:'Vazirmatn';
  src:url('../fonts/Vazirmatn.woff2') format('woff2-variations'),
      url('../fonts/Vazirmatn.woff2') format('woff2');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --paper:#f4f2ed; --ink:#0e0e0c; --card:#fbfaf7;
  --line:#d6d3c9; --line2:#dbd8ce; --dash:#cfccc2; --tint:#eceade; --hov:#f0eee6; --off:#d0cdc2; --dash2:#c9c6bb; --side:#d9d6cc;
  --dark:#161613; --dark2:#1b1b17; --dline:#2b2b27; --dline2:#3a3a34; --ddash:#24241f; --dim:#4a4a44;
  --mono:ui-monospace,"SFMono-Regular","Cascadia Mono",Menlo,Consolas,"Liberation Mono","Courier New",Vazirmatn,monospace;
  --sans:Vazirmatn,system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}
input,textarea,select,button{font-family:inherit;font-size:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
img{max-width:100%;display:block}
h1,h2,h3,h4{line-height:1.35}
.mono{font-family:var(--mono)}
.ltr{direction:ltr}
.tl{text-align:left}
.tr{text-align:right}
.hidden{display:none!important}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.dark :focus-visible,.ghost :focus-visible{outline-color:var(--paper)}

@keyframes blink{0%,55%{opacity:1}56%,100%{opacity:0}}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes rise2{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes show{to{opacity:1}}
@keyframes grow{from{width:0}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.2}}
@keyframes slideIn{from{transform:translateX(-100%)}to{transform:none}}
@keyframes logIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* آشکارسازی هنگام اسکرول (با JS: کلاس in) */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.rv.in,.no-js .rv{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

.grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(244,242,237,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(244,242,237,.045) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.blink{animation:blink 1.1s step-end infinite}
.pulse{animation:pulse 2.2s infinite}
.cursor{display:inline-block;width:.45em;height:1em;background:currentColor;vertical-align:-.15em;margin-right:8px;animation:blink 1.1s step-end infinite}

/* توست */
.toast{position:fixed;bottom:20px;right:50%;transform:translateX(50%);z-index:99;background:var(--ink);color:var(--paper);border:1px solid var(--dline2);border-radius:4px;font:12.5px var(--mono);padding:11px 20px;box-shadow:0 14px 40px rgba(0,0,0,.4);animation:rise .3s both;max-width:92vw}
.toast.paper{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* پیام سیستمی (flash) */
.notice{font:12.5px/1.9 var(--mono);background:var(--ink);color:var(--paper);border-radius:3px;padding:13px 16px;margin-top:18px}
.notice.err{background:#fbfaf7;color:var(--ink);border:1px solid var(--ink)}

/* فرم‌های مشترک */
.lbl{font:11px var(--mono);opacity:.55;display:block;margin-bottom:7px;direction:ltr;text-align:right}
.inp,.sel,.ta{width:100%;border:1px solid var(--line);border-radius:3px;padding:12px 14px;font-size:14px;background:var(--card);outline:none;transition:border .15s;color:var(--ink)}
.inp:focus,.sel:focus,.ta:focus{border-color:var(--ink)}
.inp.ltr,.inp[type=email],.inp[type=tel],.inp[type=url]{direction:ltr;text-align:left;font-family:var(--mono)}
.sel{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%230e0e0c' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:left 14px center;padding-left:32px}
.ta{resize:vertical;line-height:1.9}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mt14{margin-top:14px}.mt16{margin-top:16px}.mt18{margin-top:18px}.mt20{margin-top:20px}.mt24{margin-top:24px}
/* فیلد تله‌ی ضد اسپم (نامرئی، بدون ایجاد اسکرول افقی) */
.hp{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;top:0;right:0;border:0;padding:0;margin:0}
