body { margin: 0; font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  a { color: #2F6FED; }
  a:hover { color: #159485; }
  @keyframes nsvPulse { 0%,100% { opacity: .35; transform: scale(.85); } 50% { opacity: 1; transform: scale(1.2); } }
  @keyframes nsvDash { to { stroke-dashoffset: -240; } }
  @keyframes nsvFloat { 0%,100% { transform: translateY(0px); } 50% { transform: translateY(-10px); } }

  .hov-white:hover { color:#FFFFFF !important; }
  .hov-teal-btn:hover { background:#39D9C8 !important; }
  .hov-border-white:hover { border-color:rgba(255,255,255,0.6) !important; }
  .hov-border-blue:hover { border-color:#3D6FE0 !important; }
  .hov-border-teal:hover { border-color:#159485 !important; }
  .hov-teal-text:hover { color:#22C7B8 !important; }
  .hov-blue-btn:hover { background:#2951B3 !important; }

  /* ===== Police arabe (pages /ar/) ===== */
  [dir="rtl"] body { font-family: 'Cairo', 'Inter', sans-serif; }
  [dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3 { font-family: 'Cairo', 'Space Grotesk', sans-serif; }

  /* ===== Navigation : menu hamburger mobile ===== */
  .nsv-nav-toggle {
    display: none;
    background: none;
    border: none;
    width: 32px;
    height: 32px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
  }
  .nsv-nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: #FFFFFF;
    border-radius: 2px;
  }
  .nsv-cta-mobile-only { display: none; }

  @media (max-width: 860px) {
    .nsv-nav-links {
      display: none !important;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      flex-direction: column !important;
      align-items: flex-start !important;
      background: #0A0F1F;
      padding: 20px 32px 28px !important;
      gap: 16px !important;
      border-bottom: 1px solid rgba(255,255,255,0.08);
    }
    .nsv-nav-links.is-open {
      display: flex !important;
    }
    .nsv-lang-switch {
      border: none !important;
      padding: 0 !important;
      margin-top: 4px;
    }
    .nsv-nav-toggle {
      display: flex !important;
    }
    .nsv-cta-desktop {
      display: none !important;
    }
    .nsv-cta-mobile-only {
      display: inline-flex !important;
      margin-top: 4px;
    }
  }
