/* Vazirmatn Self-Hosted Fonts */
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('/static/vendor/fonts/Vazirmatn-Variable.woff2') format('woff2-variations');
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/vendor/fonts/Vazirmatn-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/static/vendor/fonts/Vazirmatn-SemiBold.woff2') format('woff2');
}
@font-face {
  font-family: 'Vazirmatn';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/vendor/fonts/Vazirmatn-Bold.woff2') format('woff2');
}

/* JetBrains Mono Self-Hosted Fonts */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/vendor/fonts/JetBrainsMono-Regular.woff2') format('woff2');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/vendor/fonts/JetBrainsMono-Bold.woff2') format('woff2');
}

/* --- Universal Fluid Single-Line Header & Headings --- */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* ABSOLUTE STRICT GUARANTEE: Header elements NEVER break into two lines */
header,
header *,
header nav button,
header nav a,
header nav span,
header a,
header span,
header button {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

header nav {
  flex-wrap: nowrap !important;
}

/* Force all section titles and headings to display gracefully in a single line */
.single-line-title,
.hero-h1-single,
.section-h2-single,
.section-h3-single {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
}

.hero-h1-single {
  font-size: clamp(1.2rem, 3.8vw, 2.75rem) !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

.section-h2-single {
  font-size: clamp(1.05rem, 2.4vw, 1.85rem) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
}

.section-h3-single {
  font-size: clamp(0.95rem, 1.8vw, 1.35rem) !important;
  line-height: 1.35 !important;
}

@media (max-width: 640px) {
  .hero-h1-single {
    font-size: clamp(1.1rem, 4.5vw, 1.5rem) !important;
  }
  .section-h2-single {
    font-size: clamp(0.98rem, 3.6vw, 1.25rem) !important;
  }
}

