:root {
  --bg: #07111f;
  --bg-2: #0b1729;
  --surface: #0f1c2e;
  --surface-2: #132238;
  --surface-light: #f3f6fa;
  --surface-white: #ffffff;
  --text: #f7f9fc;
  --text-soft: #dce7f5;
  --text-dark: #132033;
  --muted: #94a7bf;
  --muted-dark: #64748b;
  --accent: #2f7df6;
  --accent-strong: #1e64d8;
  --accent-soft: #e8f1ff;
  --border: rgba(255, 255, 255, 0.11);
  --border-dark: rgba(19, 32, 51, 0.11);
  --radius-sm: .75rem;
  --radius: 1rem;
  --radius-lg: 1.5rem;
  --max-width: 1180px;
  --shadow: 0 20px 60px rgba(5, 16, 31, 0.17);
  --shadow-soft: 0 12px 36px rgba(17, 35, 61, 0.08);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 86px; overflow-x: clip; }
body {
  margin: 0;
  min-width: 0;
  overflow-x: clip;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: var(--text-dark);
  background: var(--surface-white);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
html[dir="rtl"] body { font-family: Tahoma, "Segoe UI", Arial, sans-serif; }
html[dir="rtl"] { letter-spacing: 0; }

img, svg { max-width: 100%; height: auto; display: block; }
a, button { font: inherit; }
button { color: inherit; }
a { color: inherit; }
p { margin-block: 0 1rem; }
ul { padding-inline-start: 1.2rem; }
::selection { background: var(--accent); color: #fff; }
:focus-visible { outline: 3px solid #78adff; outline-offset: 3px; }

.skip-link {
  position: fixed;
  inset-block-start: .75rem;
  inset-inline-start: .75rem;
  z-index: 1000;
  transform: translateY(-180%);
  background: #fff;
  color: #111827;
  padding: .7rem 1rem;
  border-radius: .6rem;
  box-shadow: var(--shadow-soft);
  text-decoration: none;
  font-weight: 700;
}
.skip-link:focus { transform: translateY(0); }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
