@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:100 900;src:url(/shahram-ahmadi/fonts/vazirmatn-arabic-wght-normal.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE??}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:100 900;src:url(/shahram-ahmadi/fonts/vazirmatn-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-200B,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2032-2033,U+2039-203A,U+20AC,U+2122,U+2190-2199,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn Fallback;src:local(Tahoma),local(Arial);size-adjust:104%;ascent-override:98%;descent-override:30%;line-gap-override:0%}:root{--font:"Vazirmatn", "Vazirmatn Fallback", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, Consolas, monospace;--bg:#f3efe6;--bg-2:#ebe6da;--card:#f8f5ef;--ink:#16181c;--ink-2:#4a4d55;--ink-3:#5c5f67;--line:#16181c21;--line-2:#16181c47;--grid-minor:#16181c0b;--grid-major:#16181c16;--accent:#c2380e;--accent-ink:#fff;--accent-2:#1f5fbf;--hatch:#16181c29;--shadow:0 1px 0 #fff9 inset, 0 18px 40px -24px #281e0a59;--portrait-blend:normal;--portrait-filter:none;--radius:2px;--gutter:clamp(16px, 4vw, 48px);--maxw:1240px;--ease:cubic-bezier(.2, .7, .1, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=blueprint]{--bg:#0b376f;--bg-2:#0a3163;--card:#0d3f7d;--ink:#eef5ff;--ink-2:#bcd3f5;--ink-3:#9dbbe4;--line:#dcecff33;--line-2:#dcecff6b;--grid-minor:#dcecff12;--grid-major:#dcecff26;--accent:#ffd23f;--accent-ink:#0b2a52;--accent-2:#7fd4ff;--hatch:#dcecff38;--shadow:0 0 0 1px #dcecff14, 0 18px 40px -24px #000a1eb3;--portrait-blend:normal;--portrait-filter:url(#cyanotype) contrast(1.08);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{min-height:100vh;font-family:var(--font);color:var(--ink);background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px), linear-gradient(var(--grid-minor) 1px, transparent 1px), linear-gradient(90deg, var(--grid-minor) 1px, transparent 1px);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-position:top;background-size:40px 40px,40px 40px,8px 8px,8px 8px;margin:0;font-size:17px;line-height:1.85;overflow-x:clip}:lang(en) body,html[lang=en] body{line-height:1.7}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-underline-offset:.3em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4{letter-spacing:-.01em;text-wrap:balance;margin:0 0 .5em;font-weight:800;line-height:1.25}h1{letter-spacing:-.025em;font-size:clamp(2.2rem,1.4rem + 3.6vw,4.6rem);font-weight:900}h2{font-size:clamp(1.7rem,1.2rem + 2vw,2.8rem)}h3{font-size:1.25rem}p{text-wrap:pretty;margin:0 0 1em}ul,ol{padding-inline-start:1.2em}.wrap{width:min(100% - 2 * var(--gutter), var(--maxw));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{inset-inline-start:12px;z-index:100;background:var(--ink);color:var(--bg);padding:10px 16px;position:absolute;top:-60px}.skip:focus{top:12px}.anno{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-size:.72rem;line-height:1.4}:lang(fa) .anno,.anno:lang(fa){font-family:var(--font);letter-spacing:0;font-size:.8rem;font-weight:500}.ltr{direction:ltr;unicode-bidi:isolate}.lead{color:var(--ink-2);max-width:62ch;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}.btn{--b:var(--ink);border:1.5px solid var(--b);color:var(--ink);font:inherit;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));background:0 0;align-items:center;gap:.6em;padding:.85em 1.35em;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background:var(--ink);color:var(--bg)}.btn-primary{--b:var(--accent);background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--ink);color:var(--bg);--b:var(--ink)}.btn svg{flex:none;width:1.15em;height:1.15em}.section{padding-block:clamp(64px,9vw,128px);position:relative}.section+.section{border-top:1px solid var(--line)}main>.section~.section{content-visibility:auto;contain-intrinsic-size:auto 900px}.sheet{background:var(--card);border:1px solid var(--line-2);box-shadow:var(--shadow);transition:transform .35s var(--ease), border-color .35s var(--ease), background .6s;padding:clamp(20px,3vw,32px);position:relative}.sheet:before,.sheet:after{content:"";border:1.5px solid var(--accent);pointer-events:none;width:14px;height:14px;transition:width .35s var(--ease), height .35s var(--ease);position:absolute}.sheet:before{top:-1px;border-inline-end:0;border-bottom:0;inset-inline-start:-1px}.sheet:after{bottom:-1px;border-inline-start:0;border-top:0;inset-inline-end:-1px}a.sheet{text-decoration:none;display:block}a.sheet:hover{color:inherit;border-color:var(--ink);transform:translateY(-4px)}a.sheet:hover:before,a.sheet:hover:after{width:40px;height:40px}.grid{gap:clamp(16px,2.4vw,28px);display:grid}@media (width>=720px){.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}@media (width>=1000px){.grid-4{grid-template-columns:repeat(4,1fr)}}@media (width>=640px) and (width<=999px){.grid-4{grid-template-columns:repeat(2,1fr)}}.prose{max-width:72ch}.prose h2{margin-top:1.6em;font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem)}.prose h3{margin-top:1.4em}.prose li{margin-bottom:.4em}.ticks{gap:0;margin:0;padding:0;list-style:none;display:grid}.ticks li{border-bottom:1px dashed var(--line-2);padding:.85em 0;padding-inline-start:2.2em;position:relative}.ticks li:before{content:"";inset-inline-start:.2em;background:var(--accent);width:1.1em;height:1px;position:absolute;top:1.45em;box-shadow:0 -4px 0 -.5px #0000}.ticks li:after{content:"";inset-inline-start:.2em;border-inline:1px solid var(--accent);width:1.1em;height:9px;position:absolute;top:calc(1.45em - 4px)}.table-wrap{border:1px solid var(--line-2);background:var(--card);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.95rem}table.data th,table.data td{text-align:start;border-bottom:1px solid var(--line);white-space:nowrap;padding:.7em 1em}table.data thead th{background:var(--bg-2);font-weight:600}table.data tbody tr:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}table.data a{font-weight:700;text-decoration:none}.faq details{border-bottom:1px solid var(--line-2)}.faq summary{cursor:pointer;padding:1.1em 0;padding-inline-end:2.4em;font-size:1.08rem;font-weight:700;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";inset-inline-end:.3em;background:linear-gradient(var(--accent), var(--accent)) center / 100% 2px no-repeat, linear-gradient(var(--accent), var(--accent)) center / 2px 100% no-repeat;width:18px;height:18px;transition:transform .3s var(--ease);margin-top:-9px;position:absolute;top:50%}.faq details[open] summary:after{transform:rotate(135deg)}.faq .answer{color:var(--ink-2);max-width:70ch;padding-bottom:1.2em}.chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chips a,.chips span{border:1px solid var(--line-2);background:var(--card);padding:.35em .9em;font-size:.92rem;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.chips a:hover{border-color:var(--accent)}.sheet-frame{border:1px solid var(--line-2);pointer-events:none;z-index:60;display:none;position:fixed;inset:8px}@media (width>=1100px){.sheet-frame{display:block}.sheet-frame:before{content:"";background:repeating-linear-gradient(90deg, var(--line-2) 0 1px, transparent 1px 10%) top / 100% 7px no-repeat, repeating-linear-gradient(90deg, var(--line-2) 0 1px, transparent 1px 10%) bottom / 100% 7px no-repeat, repeating-linear-gradient(0deg, var(--line-2) 0 1px, transparent 1px 10%) left / 7px 100% no-repeat, repeating-linear-gradient(0deg, var(--line-2) 0 1px, transparent 1px 10%) right / 7px 100% no-repeat;position:absolute;inset:0}.sheet-frame:after{content:"";background:var(--accent);transform-origin:top;width:3px;position:absolute;top:0;bottom:0;right:-1px;transform:scaleY(0)}@supports (animation-timeline:scroll()){.sheet-frame:after{animation:linear both progress;animation-timeline:scroll(root)}}}@keyframes progress{to{transform:scaleY(1)}}.cad-cursor{pointer-events:none;z-index:70;opacity:0;transition:opacity .3s;position:fixed;inset:0}.cad-cursor.on{opacity:1}.cad-cursor .cx,.cad-cursor .cy{background:var(--accent);opacity:.22;position:absolute}.cad-cursor .cx{height:1px;transform:translateY(var(--y,-10px));left:0;right:0}.cad-cursor .cy{width:1px;transform:translateX(var(--x,-10px));top:0;bottom:0}.cad-cursor b{transform:translate(calc(var(--x,-100px) + 14px), calc(var(--y,-100px) + 12px));font:600 10px/1 var(--mono);letter-spacing:.08em;color:var(--accent);white-space:pre;direction:ltr;position:absolute;top:0;left:0}.scanline{inset-inline:0;z-index:90;pointer-events:none;background:var(--accent);height:2px;box-shadow:0 0 12px 2px var(--accent), 0 0 40px 6px color-mix(in srgb, var(--accent) 50%, transparent);view-transition-name:scanline;display:none;position:fixed;top:0}.is-plotting .scanline{display:block}.is-plotting .site-header,.is-plotting main,.is-plotting .portrait,.is-plotting .photo img{view-transition-name:none!important}::view-transition-old(root){animation:none}::view-transition-new(root){animation:1.1s cubic-bezier(.65,0,.35,1) both plot-in}::view-transition-old(scanline){display:none}::view-transition-new(scanline){animation:1.1s cubic-bezier(.65,0,.35,1) both plot-line}::view-transition-group(scanline){animation:none}@keyframes plot-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes plot-line{0%{opacity:1;transform:translateY(0)}92%{opacity:1}to{opacity:0;transform:translateY(100vh)}}@view-transition{navigation:auto}.site-header{view-transition-name:site-header}main{view-transition-name:sheet}::view-transition-old(sheet){animation:.28s var(--ease) both sheet-out}::view-transition-new(sheet){animation:.5s var(--ease) both sheet-in}@keyframes sheet-out{to{opacity:0;transform:translateY(-14px)}}@keyframes sheet-in{0%{opacity:0;clip-path:inset(0 0 60%);transform:translateY(24px)}to{opacity:1;clip-path:inset(0);transform:none}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:reveal both var(--ease);animation-timeline:view();animation-range:entry entry 70%}.draw-on-scroll [pathLength]{stroke-dasharray:1;stroke-dashoffset:1px;animation:linear both draw;animation-timeline:view();animation-range:entry 10% cover 55%}}}@keyframes reveal{0%{opacity:0;clip-path:inset(0 0 30%);transform:translateY(36px)}to{opacity:1;clip-path:inset(0 0 -20%);transform:none}}@keyframes draw{to{stroke-dashoffset:0}}.gmap-frame{aspect-ratio:16/10;border:0;width:100%;display:block}.site-header.svelte-1elxaub{z-index:50;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px)saturate(1.2);border-bottom:1px solid var(--line);position:sticky;top:0}.bar.svelte-1elxaub{align-items:center;gap:20px;min-height:72px;display:flex}.brand.svelte-1elxaub{align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.mark.svelte-1elxaub{fill:none;width:40px;height:40px;stroke:var(--ink);stroke-width:2px;transition:transform .8s var(--ease);flex:none}.mark.svelte-1elxaub .dot:where(.svelte-1elxaub){fill:var(--accent);stroke:none}.brand.svelte-1elxaub:hover .mark:where(.svelte-1elxaub){transform:rotate(90deg)}.brand-text.svelte-1elxaub{line-height:1.3;display:grid}.brand-text.svelte-1elxaub strong:where(.svelte-1elxaub){white-space:nowrap;font-size:1.05rem;font-weight:800}.brand-text.svelte-1elxaub .anno:where(.svelte-1elxaub){white-space:nowrap;font-size:.68rem}.nav.svelte-1elxaub{margin-inline-start:auto;display:none}.nav.svelte-1elxaub ul:where(.svelte-1elxaub){gap:4px;margin:0;padding:0;list-style:none;display:flex}.nav.svelte-1elxaub a:where(.svelte-1elxaub){padding:8px 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:block;position:relative}.nav.svelte-1elxaub a:where(.svelte-1elxaub):after{content:"";inset-inline:12px;background:var(--accent);height:2px;transition:transform .3s var(--ease);position:absolute;bottom:2px;transform:scaleX(0)}.nav.svelte-1elxaub a:where(.svelte-1elxaub):hover:after,.nav.svelte-1elxaub a[aria-current=page]:where(.svelte-1elxaub):after{transform:scaleX(1)}.tools.svelte-1elxaub{align-items:center;gap:10px;margin-inline-start:auto;display:flex}.lang.svelte-1elxaub{border:1px solid var(--line-2);align-items:center;gap:6px;min-height:44px;padding:0 10px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.lang.svelte-1elxaub svg,.call.svelte-1elxaub svg{flex:none}.lang-full.svelte-1elxaub{display:none}.theme.svelte-1elxaub{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:6px 4px;font-size:.78rem;font-weight:600;display:inline-flex}.switch.svelte-1elxaub{border:1.5px solid var(--ink);background:linear-gradient(var(--line-2) 1px, transparent 1px) 0 0 / 6px 6px, linear-gradient(90deg, var(--line-2) 1px, transparent 1px) 0 0 / 6px 6px;width:42px;height:22px;position:relative}.switch.svelte-1elxaub i:where(.svelte-1elxaub){top:2px;background:var(--accent);width:15px;height:15px;transition:transform .5s var(--ease);position:absolute;inset-inline-start:2px}[data-theme=blueprint] .switch.svelte-1elxaub i:where(.svelte-1elxaub){transform:translate(19px)}[dir=rtl][data-theme=blueprint] .switch.svelte-1elxaub i:where(.svelte-1elxaub){transform:translate(-19px)}[data-theme=paper] .t-paper.svelte-1elxaub,[data-theme=blueprint] .t-bp.svelte-1elxaub{color:var(--accent)}.call.svelte-1elxaub{background:var(--ink);color:var(--bg);white-space:nowrap;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));align-items:center;gap:8px;padding:9px 14px;font-size:.92rem;font-weight:700;text-decoration:none;transition:background .25s;display:inline-flex}.call.svelte-1elxaub:hover{background:var(--accent);color:var(--accent-ink)}.call.svelte-1elxaub .num:where(.svelte-1elxaub){display:none}.burger.svelte-1elxaub{border:1px solid var(--line-2);color:var(--ink);cursor:pointer;background:0 0;place-items:center;width:44px;height:44px;display:grid}.t-paper.svelte-1elxaub,.t-bp.svelte-1elxaub{display:none}@media (width>=680px){.call.svelte-1elxaub .num:where(.svelte-1elxaub){display:inline}}@media (width>=860px){.t-paper.svelte-1elxaub,.t-bp.svelte-1elxaub,.lang-full.svelte-1elxaub{display:inline}.lang-short.svelte-1elxaub,.lang.svelte-1elxaub svg{display:none}}@media (width<=519px){.bar.svelte-1elxaub{gap:10px}.tools.svelte-1elxaub{gap:6px}.brand-text.svelte-1elxaub{display:none}}@media (width>=520px) and (width<=859px){.brand-text.svelte-1elxaub .anno:where(.svelte-1elxaub){display:none}}@media (width>=1180px){.nav.svelte-1elxaub{display:block}.tools.svelte-1elxaub{margin-inline-start:8px}.burger.svelte-1elxaub{display:none}}@media (width<=420px){.lang.svelte-1elxaub{padding:0 8px}.brand-text.svelte-1elxaub .anno:where(.svelte-1elxaub){display:none}.mark.svelte-1elxaub{width:34px;height:34px}}.drawer.svelte-1elxaub{width:100%;max-width:none;height:100dvh;max-height:none;padding:20px var(--gutter) 32px;background-color:var(--bg);background-image:linear-gradient(var(--grid-major) 1px, transparent 1px), linear-gradient(90deg, var(--grid-major) 1px, transparent 1px);color:var(--ink);background-size:40px 40px;border:0;margin:0;position:fixed;inset:0;overflow-y:auto}.drawer.svelte-1elxaub:popover-open{animation:svelte-1elxaub-drawer-in .45s var(--ease);flex-direction:column;display:flex}@keyframes svelte-1elxaub-drawer-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.drawer-head.svelte-1elxaub{border-bottom:1px solid var(--line-2);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.drawer-head.svelte-1elxaub button:where(.svelte-1elxaub){color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px}.drawer.svelte-1elxaub ul:where(.svelte-1elxaub){margin:16px 0 24px;padding:0;list-style:none}.drawer.svelte-1elxaub li:where(.svelte-1elxaub) a:where(.svelte-1elxaub){border-bottom:1px dashed var(--line-2);align-items:baseline;gap:14px;padding:12px 0;font-size:1.7rem;font-weight:800;text-decoration:none;display:flex}.drawer-foot.svelte-1elxaub{gap:10px;margin-top:auto;display:grid}.drawer-foot.svelte-1elxaub .btn:where(.svelte-1elxaub){justify-content:center}.site-footer.svelte-jz8lnl{border-top:2px solid var(--ink);background:var(--bg-2);padding-block:48px 32px;position:relative}.title-block.svelte-jz8lnl{border:1.5px solid var(--ink);display:grid}.cell.svelte-jz8lnl{border-bottom:1px solid var(--line-2);padding:22px}@media (width>=900px){.title-block.svelte-jz8lnl{grid-template-columns:1.3fr 1fr 1.6fr}.cell.svelte-jz8lnl{border-bottom:0;border-inline-end:1px solid var(--line-2)}.cell.svelte-jz8lnl:last-child{border-inline-end:0}}.name.svelte-jz8lnl{margin:6px 0 4px;font-size:1.5rem;font-weight:900}.roles.svelte-jz8lnl{color:var(--ink-2);font-size:.92rem}.phone.svelte-jz8lnl{color:var(--accent);letter-spacing:.02em;font-size:1.6rem;font-weight:800;text-decoration:none;display:inline-block}.note.svelte-jz8lnl{color:var(--ink-3);margin:4px 0 0;font-size:.85rem}ul.svelte-jz8lnl{gap:2px;margin:8px 0 0;padding:0;list-style:none;display:grid}.areas.svelte-jz8lnl ul:where(.svelte-jz8lnl){grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}li.svelte-jz8lnl a:where(.svelte-jz8lnl){padding:5px 0;font-size:.95rem;text-decoration:none;display:inline-block}.second.svelte-jz8lnl{margin-top:18px;display:block}.strip.svelte-jz8lnl{flex-wrap:wrap;align-items:center;gap:10px 26px;padding:14px 0 0;font-size:.85rem;display:flex}.strip.svelte-jz8lnl b:where(.svelte-jz8lnl){font-weight:700}.ig.svelte-jz8lnl{align-items:center;gap:6px;font-weight:600;text-decoration:none;display:inline-flex}.copy.svelte-jz8lnl{color:var(--ink-3);margin-inline-start:auto}.credit.svelte-jz8lnl{border-top:1px dashed var(--line-2);color:var(--ink-3);text-align:center;margin:14px 0 0;padding-top:12px;font-size:.85rem}.kenvin.svelte-jz8lnl{color:var(--accent);font-weight:800;text-decoration:none;animation:1.6s step-end infinite svelte-jz8lnl-kenvin-blink}.kenvin.svelte-jz8lnl:hover,.kenvin.svelte-jz8lnl:focus-visible{text-decoration:underline;animation-play-state:paused}@keyframes svelte-jz8lnl-kenvin-blink{0%,60%{opacity:1;text-shadow:0 0 8px color-mix(in srgb, var(--accent) 55%, transparent)}61%,to{opacity:.25;text-shadow:none}}
