@font-face {
  font-family: "Vazirmatn";
  src: url("../fonts/Vazirmatn-Variable.woff2") format("woff2-variations");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --paper: #f4efe6;
  --paper-deep: #e9e0d3;
  --ink: #191816;
  --muted: #6e675f;
  --espresso: #4a2c21;
  --teal: #214d45;
  --terracotta: #a94f37;
  --white: #fffdf8;
  --line: rgba(25, 24, 22, .18);
  --radius: .45rem;
  --shadow: 0 .8rem 2.4rem rgba(42, 27, 20, .08);
  --shell: min(1280px, calc(100% - 2.5rem));
  --font-sans: Vazirmatn, IRANSansX, Tahoma, Arial, sans-serif;
  --font-display: Vazirmatn, Tahoma, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans); font-size: 17px; line-height: 1.8; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .2; background-image: radial-gradient(rgba(74,44,33,.22) .45px, transparent .45px); background-size: 5px 5px; z-index: -1; }
img { display: block; max-width: 100%; height: auto; }
figure { margin: 0; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, h4 { margin-block: 0 .55em; font-family: var(--font-display); line-height: 1.35; text-wrap: balance; }
p { margin-block: 0 1.2em; }
.shell { width: var(--shell); margin-inline: auto; }
.site-main { min-height: 60vh; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.screen-reader-text:focus, .skip-link:focus { top: 1rem; right: 1rem; width: auto; height: auto; clip: auto; padding: .6rem 1rem; background: var(--white); z-index: 10000; }
:focus-visible { outline: 3px solid var(--terracotta); outline-offset: 3px; }
::selection { background: var(--teal); color: var(--white); }
[hidden] { display: none !important; }
