:root {
  --neoline: #6b50a7;
  --neoline-dark: #281534;
  --ink: #30223a;
  --muted: #74667c;
  --zcorpa: #702f8a;
  --zcorpa-soft: #e9dcf0;
  --paper: #faf8fc;
  --white: #ffffff;
  --navy: #382045;
  --sky: #d7bce6;
  --lime: #779b83;
  --line: rgba(70, 39, 84, .15);
  --line-light: rgba(255, 255, 255, .25);
  --safe-x: clamp(44px, 5vw, 96px);
  --safe-y: clamp(30px, 4svh, 64px);
  --radius: 8px;
  --motion: 320ms;
  --ease: cubic-bezier(.22, .75, .2, 1);
  --shadow: 0 24px 70px rgba(56, 32, 69, .18);
}

@font-face { font-family: Vazirmatn; src: url('../fonts/vazirmatn-arabic.woff2') format('woff2'); font-display: swap; font-style: normal; font-weight: 100 900; }
@font-face { font-family: Vazirmatn; src: url('../fonts/vazirmatn-latin-ext.woff2') format('woff2'); font-display: swap; font-style: normal; font-weight: 100 900; unicode-range: U+0000-024F; }

*, *::before, *::after { box-sizing: border-box; }
html { background: #201428; scroll-behavior: smooth; scroll-snap-type: y mandatory; }
body { margin: 0; min-width: 320px; background: #201428; color: var(--ink); font-family: Vazirmatn, Tahoma, Arial, sans-serif; overflow-x: hidden; }
button, a { font: inherit; }
button { color: inherit; }
button:focus-visible, a:focus-visible, iframe:focus-visible { outline: 3px solid #efb6ff; outline-offset: 4px; }
[hidden] { display: none !important; }
noscript { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; background: var(--paper); }
