
  :root {
    --paper: #ffffff;
    --ink: #1a1a1a;
    --ink-soft: #4a4a4a;
    --orange: #e8590c;
    --blue: #1971c2;
    --chrome: #f1f0ec;
    --line: #e4e2dc;
    --display: "Lalezar", "Vazirmatn", system-ui, sans-serif;
    --body: "Vazirmatn", "Lalezar", system-ui, sans-serif;
    --gutter: clamp(16px, 5vw, 64px);
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--body);
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
  a { color: inherit; }
  a:focus-visible, button:focus-visible {
    outline: 3px solid var(--blue);
    outline-offset: 3px;
    border-radius: 12px;
  }
  .wrap { max-width: 1240px; margin: 0 auto; padding: 0 var(--gutter); }

  /* ---------- header ---------- */
  .top {
    position: sticky; top: 0; z-index: 10;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid transparent;
    transition: border-color .2s ease;
  }
  .top.scrolled { border-bottom-color: var(--line); }
  .top .wrap {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    padding-top: 16px; padding-bottom: 16px;
  }
  .brand {
    font-family: var(--display);
    font-size: 28px;
    text-decoration: none;
    display: inline-flex; align-items: center; gap: 10px;
    line-height: 1;
  }
  .dots i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
  .dots i:first-child { background: var(--orange); }
  .dots i:last-child { background: var(--blue); }
  .brand .dots { display: inline-flex; gap: 4px; }
  .nav { display: flex; align-items: center; gap: clamp(14px, 2.4vw, 32px); }
  .nav a { text-decoration: none; font-weight: 500; color: var(--ink-soft); }
  .nav a:hover { color: var(--ink); }

  /* ---------- buttons ---------- */
  .btn {
    font-family: var(--display);
    font-size: 20px;
    line-height: 1;
    text-decoration: none;
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 22px 12px;
    border-radius: 999px;
    border: 2px solid var(--ink);
    background: var(--paper);
    color: var(--ink);
    cursor: pointer;
    transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  }
  .btn svg { width: 20px; height: 20px; flex: none; }
  .btn:hover { background: var(--chrome); }
  .btn:active { transform: translateY(1px); }
  .btn.primary { background: var(--ink); color: var(--paper); }
  .btn.primary:hover { background: var(--orange); border-color: var(--orange); }
  .btn.small { font-size: 17px; padding: 10px 16px 8px; }
  .btns { display: flex; flex-wrap: wrap; gap: 12px; }

  

  footer .wrap {
    padding-top: 20px; padding-bottom: 20px;
    border-top: 1px solid var(--line);
    display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
    font-size: 14px; color: var(--ink-soft);
  }
  footer a { text-decoration: none; }
  footer a:hover { color: var(--ink); }
  footer nav { display: flex; gap: 20px; }

  
  h1, h2 { font-family: var(--display); font-weight: 400; letter-spacing: -.01em; }
  .ltr { direction: ltr; unicode-bidi: isolate; }
  .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  button, input, select, textarea { font: inherit; }
  input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
  footer nav { flex-wrap: wrap; }
  @media (max-width: 560px) {
    .brand { font-size: 24px; }
    .top .wrap { gap: 12px; }
    .nav { gap: 12px; }
    .nav a { font-size: 13px; }
    .btn.small { font-size: 16px; padding: 9px 14px 7px; }
  }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .btn, .top { transition: none; }
  }
